如何以编程方式访问Eclipse变量池?

时间:2017-01-11 08:10:27

标签: java eclipse eclipse-cdt eclipse-pde

我已通过org.eclipse.ui.handlers扩展点注册了一个处理程序,并添加了enabledWhen条件,该条件检查Eclipse变量池中的变量selection。这完全正常,但现在我想将此行为复制到我在视图中显示的SWT按钮。

我的问题如下:我如何访问Eclipse变量池,以便让selection变量监听选择事件,然后调用button.setEnabled(true/false)

1 个答案:

答案 0 :(得分:2)

您可以使用选择服务ISelectionService来监听选择更改。在视图或编辑器中,您可以使用:

ISelectionService selectionService = getSite().getService(ISelectionService.class);

然后您可以使用

public void addSelectionListener(ISelectionListener listener);

收听所有选择更改的方法,或者您可以使用

public void addSelectionListener(String partId, ISelectionListener listener);

收听特定部分的选择变化。