当前位置:  开发笔记 > 编程语言 > 正文

在Eclipse RCP中,如何根据编辑器中的"脏"属性禁用保存工具栏按钮

如何解决《在EclipseRCP中,如何根据编辑器中的"脏"属性禁用保存工具栏按钮》经验,为你挑选了1个好方法。

在我的eclipse RCP 3.3应用程序中,我想根据当前编辑器脏标志启用或禁用"保存"工具栏按钮.

我正在尝试使用< enabledWhen >标签,但我无法使其正常工作.

这是plugin.xml中的代码部分:


 
    
     
 

你知道这应该是怎么回事吗?



1> user85259..:

工作台提供对"保存"和"全部保存"操作的支持,因此您无需像尝试那样自行实施.

建议的方法是在您的类中添加扩展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'的类的实例,这可能不是预期的).

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有