Eclipse在“导航”菜单中隐藏操作或操作集

时间:2016-10-11 12:29:27

标签: eclipse plugins pde

我正在扩展一个扩展点org.eclipse.ui.actionSets,我在其中创建元素actionSet,其中包含action元素。这个asctionset放在eclipse的Navigate菜单中。例如:

<actionSet
    label="%CNavigationActionSet.label"
    description="%CNavigationActionSet.description"
    visible="false"
    id="xxx.ui.NavigationActionSet">
        <action
            class="xxx.opentype.OpenTypeAction"
            definitionId="xxx.navigate.opentype"
            helpContextId="xxxui.open_type_action"
            icon="icons/xxx.gif"
            id="xxx.ui.actions.OpenType"
            label="Open Element"
            menubarPath="navigate/open.ext2"
            toolbarPath="org.eclipse.search.searchActionSet/Search"
            tooltip="%OpenTypeAction.tooltip">
         </action>
</actionSet>

现在,我希望在Eclipse中满足某些条件时隐藏此操作。有没有办法在导航菜单中隐藏(将可见性设置为false等)? 现在最好的我想到的是在满足条件时禁用动作,但这还不够:

public class OpenTypeAction implements IWorkbenchWindowActionDelegate {
    //... some code

    @Override
    public void selectionChanged(IAction action, ISelection selection) {
            action.setEnabled(!areConditionsMet());
    }

    //... some code
}

/编辑:我的解决方案也是隐藏整个actionSet而不是动作,这可能吗? / Edit2:为了阐明我的条件 - 我的编辑器可以包含具有多个文件扩展名的文件,我想仅针对以特定文件扩展名结尾的文件显示此操作。

0 个答案:

没有答案