Eclipse:活动上下文以某种方式停用
Eclipse: Active Context somehow deactivated
我有一个 e3 RCP 应用程序。该应用程序由一个工具栏和两个视图组成。左边一个独立的,右边一个容器(经典的两列布局)。
我的应用程序布局按层次顺序排列:
- 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中的selection和右边打开的view是相连的。上下文状态应该保持持久,这意味着:要么选择了 TableViewer,要么相应的视图处于活动状态,这也应该打开(或保持)我的上下文的活动状态。但是,当 TableViewer 失去焦点时(例如右侧的视图处于活动状态),上下文将被停用。这不是我以编程方式完成的,这是 eclipse 正在做的事情(我在上下文服务上添加了一个侦听器来跟踪它),我想摆脱它。我想控制上下文的激活和停用。有什么想法吗?
我假设您正在使用 IContextService
激活上下文。
如果您使用类似 IContextService
的方法获得 IContextService
:
getSite().getService(IContextService.class);
然后内容服务特定于您的部分,当另一部分激活时将被停用。
正在使用
PlatformUI.getWorkbench().getAdapter(IContextService.class);
为您提供 workbench 上下文服务。在此服务中激活的上下文应该对所有部分保持活动状态。
我有一个 e3 RCP 应用程序。该应用程序由一个工具栏和两个视图组成。左边一个独立的,右边一个容器(经典的两列布局)。
我的应用程序布局按层次顺序排列:
- 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中的selection和右边打开的view是相连的。上下文状态应该保持持久,这意味着:要么选择了 TableViewer,要么相应的视图处于活动状态,这也应该打开(或保持)我的上下文的活动状态。但是,当 TableViewer 失去焦点时(例如右侧的视图处于活动状态),上下文将被停用。这不是我以编程方式完成的,这是 eclipse 正在做的事情(我在上下文服务上添加了一个侦听器来跟踪它),我想摆脱它。我想控制上下文的激活和停用。有什么想法吗?
我假设您正在使用 IContextService
激活上下文。
如果您使用类似 IContextService
的方法获得 IContextService
:
getSite().getService(IContextService.class);
然后内容服务特定于您的部分,当另一部分激活时将被停用。
正在使用
PlatformUI.getWorkbench().getAdapter(IContextService.class);
为您提供 workbench 上下文服务。在此服务中激活的上下文应该对所有部分保持活动状态。