我已通过org.eclipse.ui.handlers
扩展点注册了一个处理程序,并添加了enabledWhen
条件,该条件检查Eclipse变量池中的变量selection
。这完全正常,但现在我想将此行为复制到我在视图中显示的SWT按钮。
我的问题如下:我如何访问Eclipse变量池,以便让selection
变量监听选择事件,然后调用button.setEnabled(true/false)
。
答案 0 :(得分:2)
您可以使用选择服务ISelectionService
来监听选择更改。在视图或编辑器中,您可以使用:
ISelectionService selectionService = getSite().getService(ISelectionService.class);
然后您可以使用
public void addSelectionListener(ISelectionListener listener);
收听所有选择更改的方法,或者您可以使用
public void addSelectionListener(String partId, ISelectionListener listener);
收听特定部分的选择变化。