我有一个eclipse插件,其中有多个类,这些类对UI有所贡献。
通过已弃用的org.eclipse.ui.actionSets
完成贡献,并且类实现IWorkbenchWindowActionDelegate
,而这需要实现selectionChanged(IAction action, ISelection selection)
。
任何选择更改都会触发selectionChanged
方法(打开了另一个文件,在Project Explorer中选择了另一个项目,在编辑器中选择了一些文本(此操作会触发多次调用方法))。
是否存在过滤或可以用来限制selectionChanged
被观察对象的操作。例如,对于class A
,仅在编辑器中打开的文件发生更改时才触发selectionChanged
吗?
答案 0 :(得分:2)
不,没有办法对其进行过滤。
来自文本编辑器的选择是application.WorksheetFunction.IsFormula(range(c.address))
的实例,其他选择通常是ITextSelection
的实例,因此您可以检查这些实例以在代码中进行简单过滤。