2015-11-08 113 views
-1

我用一个最小的模板制作了一个新的插件项目并定义了两个视图。 这是我的第一个观点:如何将两个视图添加到一个视角?

public class MyView extends ViewPart { 

    public MyView() { 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public void createPartControl(Composite parent) { 
     Text text = new Text(parent, SWT.BORDER); 
     text.setText("First view"); 
    } 

    @Override 
    public void setFocus() { 
     // TODO Auto-generated method stub 

    } 

} 

这是我的第二个观点:

public class SecondView extends ViewPart { 

    public SecondView() { 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public void createPartControl(Composite parent) { 
     Text text = new Text(parent, SWT.BORDER); 
     text.setText("Second view"); 
    } 

    @Override 
    public void setFocus() { 
     // TODO Auto-generated method stub 

    } 

} 

这是我的plugin.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<?eclipse version="3.4"?> 
<plugin> 

    <extension 
     id="application" 
     point="org.eclipse.core.runtime.applications"> 
     <application> 
     <run 
       class="com.rcptest.testez.Application"> 
     </run> 
     </application> 
    </extension> 
    <extension 
     point="org.eclipse.ui.perspectives"> 
     <perspective 
      name="RCP Perspective" 
      class="com.rcptest.testez.Perspective" 
      id="com.rcptest.testez.perspective"> 
     </perspective> 
    </extension> 
    <extension 
     point="org.eclipse.ui.views"> 
     <view 
      class="com.rcptest.testez.view.MyView" 
      id="com.rcptest.testez.view.MyView" 
      name="FirstView" 
      restorable="true"> 
     </view> 
     <view 
      class="com.rcptest.testez.view.SecondView" 
      id="com.rcptest.testez.view.SecondView" 
      name="SecondView" 
      restorable="true"> 
     </view> 
    </extension> 
    <extension 
     point="org.eclipse.ui.perspectiveExtensions"> 
     <perspectiveExtension 
      targetID="*"> 
     <view 
       id="com.rcptest.testez.view.MyView" 
       minimized="false" 
       ratio="0.3f" 
       relationship="top" 
       relative="org.eclipse.ui.editorss"> 
     </view> 
     <view 
       id="com.rcptest.testez.view.SecondView" 
       minimized="false" 
       ratio="0.5f" 
       relationship="bottom" 
       relative="org.eclipse.ui.editorss"> 
     </view> 
     </perspectiveExtension> 
    </extension> 

</plugin> 

当我运行应用程序,我只能看到我的第一个看法。我真的不知道我要去哪里错了。我怎样才能显示第二个视图?

编辑: 观点类:

public void createInitialLayout(IPageLayout layout) { 
     layout.addView("com.rcptest.testez.view.MyView", IPageLayout.TOP, 
        IPageLayout.RATIO_MAX, IPageLayout.ID_EDITOR_AREA); 
     layout.addView("com.rcptest.testez.view.SecondView", IPageLayout.BOTTOM, 
        IPageLayout.RATIO_MAX, IPageLayout.ID_EDITOR_AREA); 
    } 
+0

'com.rcptest.testez.Perspective'中有什么? –

+0

我用Perspective类中的方法修改了我的问题。 – ffs

回答

1

Perspective类是说,每个视图应该占用的空间(IPageLayout.RATIO.MAX),这是不可能的95%。

如果您还想要编辑器区域,则必须指定不超过100%(1.0)或更小的比例。例如:

layout.addView("com.rcptest.testez.view.MyView", IPageLayout.TOP, 
       0.3f, IPageLayout.ID_EDITOR_AREA); 
layout.addView("com.rcptest.testez.view.SecondView", IPageLayout.BOTTOM, 
       0.3f, IPageLayout.ID_EDITOR_AREA); 

注意:你可能需要做一个“复位透视”当你与修改后的视角重新运行测试。

+0

非常感谢,它工作!我确实想到,我应该给每个观点一定的观点,但是它没有更新。也许这不是最好的解决方案,但我删除了创建的运行时文件夹。 – ffs

相关问题