【问题标题】:How to programatically access the Eclipse variable pool?如何以编程方式访问 Eclipse 变量池?
【发布时间】:2017-01-11 08:10:27
【问题描述】:
我已经通过org.eclipse.ui.handlers 扩展点注册了一个处理程序,并添加了一个enabledWhen 条件来检查Eclipse 变量池中的变量selection。这工作得很好,但现在我想将此行为复制到显示在视图中的 SWT 按钮。
我的问题如下:如何访问 Eclipse 变量池以获取 selection 变量以监听选择事件并随后调用 button.setEnabled(true/false)。
【问题讨论】:
标签:
java
eclipse
eclipse-cdt
eclipse-pde
【解决方案1】:
您使用选择服务ISelectionService 来监听选择更改。在视图或编辑器中,您可以使用:
ISelectionService selectionService = getSite().getService(ISelectionService.class);
然后你可以使用
public void addSelectionListener(ISelectionListener listener);
监听所有选择变化的方法,或者你可以使用
public void addSelectionListener(String partId, ISelectionListener listener);
聆听特定部分的选择变化。