2013-02-20 53 views
1

我在Eclipse 4.2中創建了一個RCP。在我的RCP中,我有3個角度。
我在運行時創建了一個部分,並將其添加到如下所示的透視圖中。在eclipse Juno中添加所有MPerspective中的MPart

@Inject 
EPartService partService; 
@Inject 
MApplication application;  
... 

Mpart part = .... ;  
... 

List<MPartStack> stacks = modelService.findElements(application, null, MPartStack.class, null); 
stacks.get(0).getChildren().add(part); 
partService.showPart(part, PartState.ACTIVATE); 

但問題是當前打開的角度對添加的視圖,所以如果您切換視角等這一觀點將不會顯示有哪個是正確的,因爲我只是把它添加到第一個堆棧。
但我的要求是應該在每個角度添加,所以如果切換到其他角度它應該在那裏。

我越來越MPerspective的名單像以下:

List<MPerspective> mPerspective = modelService.findElements(application, null, MPerspective.class, null);  

但不知道如何添加它。

那麼如何在每個視角添加Part。

感謝

回答

0

在Eclipse 3.x中存在的StickyViews的概念,你可能仍然能夠通過兼容層使用它。 但是,Eclipse 4應用程序模型更加靈活,應該有幾種方法可以添加這種「粘性」MPart。

在下面的屏幕截圖中,您可以看到在Application.e4xmi中可以有多個透視堆棧,甚至是同一級別的Mpart或MPartStacks。在你上面的例子,你可以在MPart簡單地添加到第二MPartStack是在應用模型作爲自己的觀點堆棧同級別:

stacks.get(1).getChildren().add(part); 

Application.e4xmi