我有一個e3 RCP應用程序。該應用程序由一個工具欄和兩個視圖組成。一個獨立的左側和一個容器右側(經典的兩列布局)。Eclipse:Active Context以某種方式被禁用
分層順序我的應用程序佈局:
- Perspective
|- View
|`- TableViewer
`- ViewContainer
`- View2 (multiple)
而且我在plugin.xml中定義的上下文:
<extension point="org.eclipse.ui.contexts">
<context
id="my.context.MY_ID"
name="MY_CONTEXT">
parentId="org.eclipse.ui.contexts.window">
</context>
</extension>
不管什麼時候在TableViewer中被選中,我被激活,一個特定的視圖會在視圖容器中打開。 TableViewer中的選擇和右側打開的視圖連接在一起。上下文狀態應該保持持久性,意思是:選擇TableViewer或者相應的視圖處於活動狀態,這也應該啓用我的上下文的活動狀態(或保留它)。但是,當TableViewer失去焦點時(例如右側的視圖處於活動狀態),則會取消激活上下文。這不是由我以編程方式完成的,這是eclipse正在做的事情(我已經在上下文服務中添加了一個監聽器來跟蹤這個),我想擺脫它。我想控制我的上下文的激活和停用。有任何想法嗎?
您是否使用'IContextService'來激活上下文?你最近怎麼樣?確切地說,是 –
。這是我如何激活我的上下文: 'IContextService contextService =(IContextService)getSite()。getService(IContextService.class); context = contextService.activateContext(MyConstants.CONTEXT);' – gossi