【问题标题】:e4 RCP: programmatically open part in new windowe4 RCP:以编程方式在新窗口中打开部件
【发布时间】:2020-12-10 15:03:54
【问题描述】:

我想以编程方式在新的 MWindow 中打开 MPart。 类似于我将在现有窗口中某处的零件堆栈中创建零件,然后用鼠标手动将其拖走。

因此,一种方法是创建一个包含此部分的非渲染窗口。一旦它应该显示出来,我们就可以将它设置为正在渲染。但是:一旦我们关闭这个窗口,我们就不能把它带回来?!

【问题讨论】:

    标签: eclipse-rcp rcp e4


    【解决方案1】:

    这种方法对我有用:

    • 在设置为不渲染的e4xmi中定义一个空窗口
    • 一旦我们想要显示部件,我们就创建它(如果它尚未打开)并将其添加到窗口中
        MUIElement window = modelService.find(myWindowId, app);
        MPart part = (MPart) modelService.find(myPartId, application);
        if (part == null) {
            part = MBasicFactory.INSTANCE.createPart();
            part.setLabel(ProcedureFlowChartPart.PART_TITLE);
            part.setContributionURI("bundleclass://MyPartPath");
            part.setElementId(myPartId);
            ((MWindow) window).getChildren().add(part);
        }
        partService.showPart(part, PartState.ACTIVATE);
        window.setToBeRendered(true);
        modelService.bringToTop(window);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-05
      • 2017-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多