打开Eclipse插件视图就像一个模态窗口

时间:2014-10-07 05:37:14

标签: java eclipse eclipse-plugin

我开发了一个eclipse RCP插件,它旨在作为Eclipse应用程序运行,并且可以作为独立的Eclipse产品提取。现在,我希望通过将其添加为插件来重用它,以便可以在eclipse中访问它。

我可以将它安装到我的eclipse工作区中,并可以通过 Window>查看视图。显示视图。但是,视图会打开编辑器下方的区域(以及控制台视图),而不是作为独立窗口打开。

请指出一种方式,在单独的窗口中打开视图,就像“搜索”窗口一样。

视图扩展了“ ViewPart ”并使用了复合材料。 以下 Plugin.xml 的相关位:

<extension id="application" point="org.eclipse.core.runtime.applications">
      <application>
         <run class="xxx.Application"></run>
      </application>
</extension>
<extension point="org.eclipse.ui.perspectives">
      <perspective name="xxxReview.perspective" class="extension.Perspective" id="xxxReview.perspective">
      </perspective>
</extension>
<extension point="org.eclipse.ui.views">
      <view class="view.xxxView" id="xxxView" name="xxxView" restorable="true">
      </view>
</extension>

2 个答案:

答案 0 :(得分:0)

如果您定义了自己的视角,则可以始终覆盖

public void createInitialLayout(IPageLayout layout) {
    layout.addStandaloneView(xxxView, false, IPageLayout.TOP, 0.04f, IPageLayout.ID_EDITOR_AREA);
    ...
}

如果您需要在某些本机Eclipse透视图中使用该视图,请尝试使用独立视图的perspectiveExtensions

<extension point="org.eclipse.ui.views"> 
  <view class="view.xxxView" id="xxxView" name="xxxView" restorable="true" />
</extension>

<extension point="org.eclipse.ui.perspectiveExtensions">
    <perspectiveExtension targetID="*">
        <view id="xxxView" visible="false" standalone="true"
            relative="org.eclipse.ui.views.ResourceNavigator" relationship="bottom" /> 
    </perspectiveExtension>
</extension>

http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fextension-points%2Forg_eclipse_ui_perspectiveExtensions.html

答案 1 :(得分:0)

最后通过扩展SWT Dialog来实现它。

public class xxxView extends Dialog {

    /** The file Name Text field. */
    private Text fileNameText;

    /** The constructor. **/
    protected xxxView(Shell parentShell) {
        super(parentShell);
    }

    /** Create Dialog View. **/
    protected Control createDialogArea(Composite parent) {

        //Added View components here.
    }
}