如何从 RCP 中的布局中删除视图

How to remove a view from layout in RCP

我有一个应用程序,其中有不同的 perspective.In 一个视角 我想删除已添加到布局中的某些视图。 以下是我的片段:

这是我想要重置透视图时调用的片段

public void createInitialLayout(IPageLayout layout) {
        layout.setEditorAreaVisible(false);
        layout.setFixed(false);

        //I am dividing the whole layout into 4 parts.One is top left,top right,bottom left,bottom right.

        IFolderLayout topLeft = layout.createFolder(TOP_LEFT_ID, IPageLayout.LEFT, 0.25f, IPageLayout.ID_EDITOR_AREA);
        topLeft.addView(SpaceView.ID);
        topLeft.addView(RepositoryView.ID);

        IFolderLayout topRight = layout.createFolder(TOP_RIGHT_ID, IPageLayout.TOP, 0.25f, IPageLayout.ID_EDITOR_AREA);
        topRight.addView(ModuleView.ID);
        topRight.addView(ProjectChangeLogView.ID);
        topRight.addView(SearchViewPart.ID);

        IFolderLayout bottomLeft = layout.createFolder(BOTTOM_LEFT_ID, IPageLayout.BOTTOM, 0.70f, TOP_LEFT_ID);
        bottomLeft.addView(QueueView.ID);

        IFolderLayout bottomRight = layout.createFolder(BOTTOM_RIGHT_ID, IPageLayout.BOTTOM, 0.55f, TOP_RIGHT_ID);
        bottomRight.addView(Objects.ID);

    }

现在在重置透视图后,我想从 layout.Here 中删除某些视图(例如对象视图)我没有得到 bottomRight 的任何选项。delelte/removeView etc.So 怎么能我实现一样吗?

透视工厂只在透视第一次使用和复位时使用。它不能用于更改打开透视图的布局。

我不知道移动视图位置的简单方法。您可能需要通过以类似于拖放代码 (org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager)

的方式将 MPart 移动到新的 MPartStack 来修改 e4 应用程序模型