Graoverings stackoverflownians,
目前正在开发Eclipse RCP应用程序。
我正在尝试在重置透视图时使视图显示在正确的位置。
在我的plugin.xml中:
<perspectiveExtension
targetID="the.perspective.id">
<view
id="the.first.view.id"
relationship="stack"
relative="org.eclipse.ui.navigator.ProjectExplorer"
visible="false">
</view>
<view
id="the.second.view.id"
relationship="left"
relative="org.eclipse.ui.navigator.ProjectExplorer"
visible="true">
</view>
</perspectiveExtension>
在视图扩展点中声明第一个和第二个视图的位置。
根据eclipse.org:
堆栈表示视图将与文件夹中的相对视图堆叠在一起
问题在于,当我重置透视图时,我将视图放在一个单独的位置(更确切地说,在右边)占据工作台的约50%。
我的plugin.xml中是否应再次声明ProjectExplorer视图,以便stack
字段的relative
值有效?
<view
id="org.eclipse.search.ui.views.SearchView"
minimized="false"
relationship="stack"
relative="dreisoft.tresos.launcher2.api.views.ErrorLog"
visible="false">
</view>
这似乎有效,我查看IPerspectiveFactory
,createInitialLayout
为空。尽管如此,这仍然有效。
尊敬你的,
维拉德
答案 0 :(得分:1)
这有点奇怪。我前一段时间尝试过你的方法,但对我来说也没用。相反,采取一种程序化的方法。
使用您在IPageLayout
createInitialLayout
方法中收到的Perspective
,尝试创建IPlaceholderFolderLayout
:
final IPlaceholderFolderLayout folder = layout.createPlaceholderFolder("main.editor.area", IPageLayout.TOP, 0.8f, layout.getEditorArea()); //$NON-NLS-1$
您可以借助这些参数将每个视图放在该文件夹中。 然后将您的视图添加到该文件夹:
folder.addPlaceholder("your.view.ID" + ":*"); //$NON-NLS-1$
我建议您制作ID的static final String
常量。