在我的eclipse RCP 3.3应用程序中,我想根据当前编辑器脏标志启用或禁用"保存"工具栏按钮.
我正在尝试使用< enabledWhen >标签,但我无法使其正常工作.
这是plugin.xml中的代码部分:
你知道这应该是怎么回事吗?
工作台提供对"保存"和"全部保存"操作的支持,因此您无需像尝试那样自行实施.
建议的方法是在您的类中添加扩展ActionBarAdvisor的支持.确切的代码将取决于类的结构,但您需要的代码位如下.
在您的字段声明中:
private IWorkbenchAction saveAction; private IWorkbenchAction saveAllAction;
在你的makeActions方法中:
saveAction = ActionFactory.SAVE.create(window); register(saveAction); saveAllAction = ActionFactory.SAVE_ALL.create(window); register(saveAllAction);
在fillActionBars方法中:
IToolBarManager saveToolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT); saveToolbar.add(saveAction); saveToolbar.add(saveAllAction); coolBar.add(new ToolBarContributionItem(saveToolbar, "save"));
工作台将为您启用启用和禁用功能.
如果您确实想要实现自己的代码来执行此操作,那么您所采用的方法将起作用.您将需要更正XML(例如,instanceof元素正在检查所选对象是否为名为'activeEditor'的类的实例,这可能不是预期的).