2014-10-07 65 views
0

我開發了一個eclipse RCP插件,該插件旨在作爲Eclipse應用程序運行,並且可以作爲獨立的Eclipse產品提取。現在,我想通過將其添加爲插件來重複使用它,以便可以在eclipse中訪問它。像模式窗口一樣打開Eclipse插件視圖

我可以將其安裝到我的eclipse工作區,並可以通過看到視圖窗口>顯示視圖。然而,視圖打開到編輯器下方的區域(與控制檯視圖一起),而不是作爲獨立窗口打開。

請指點一下,視圖在單獨的窗口中打開,就像'搜索'窗口一樣。

視圖延伸'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> 

回答

0

最後通過擴展SWT對話框使它工作。

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. 
    } 
} 
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

+0

我已經定義的透視如'layout.addStandaloneView( 「xxxView」,假,IPageLayout.TOP,IPageLayout.RATIO_MAX,IPageLayout.ID_EDITOR_AREA);'。這使得視圖在作爲應用程序打開時是獨立的。但是,如果在eclipse中將視圖直接打開(在將其安裝爲插件後),則會在父eclipse窗口(編輯器/控制檯區域)中打開。 – 2014-10-08 04:29:03