2013-11-01 39 views
1

问候同胞Stackoverflownians视图的角度延伸的相对场,Eclipse RCP的 - 不工作

目前正在开发一个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视图,以便relative字段的stack值能够工作?

编辑:我看了在另一个插件项目

<view 
       id="org.eclipse.search.ui.views.SearchView" 
       minimized="false" 
       relationship="stack" 
       relative="dreisoft.tresos.launcher2.api.views.ErrorLog" 
       visible="false"> 
     </view> 

这似乎是工作,我已经看过了IPerspectiveFactorycreateInitialLayout是空的。尽管如此,这是有效的。

尊敬你的,

维拉德

+0

您的'IPerspectiveFactory'是否添加了“ProjectExplorer”视图? –

+0

IPerspectiveFactory的createInitialLayout为空。我会添加更多信息。 –

回答

1

这是有点奇怪。我刚才尝试过你的方法,但它对我也不适用。相反,采取一种程序化的方法。

就在你PerspectivecreateInitialLayout方法接收使用IPageLayout的,尝试创建一个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常数。