以编程方式在eclipse插件中输出/禁用菜单项

时间:2017-08-10 12:33:00

标签: eclipse-plugin eclipse-rcp menuitem jface popupmenu

我在eclipse中创建了一个弹出菜单和首选项页面。我想根据用户在首选项页面中存储的值启用/禁用菜单项。

我怎样才能实现它?

以下是代码。

Plugin.xml - 添加了一个菜单选项和与之关联的命令。

<extension
    point="org.eclipse.ui.commands">
    <command
        defaultHandler="com.eclipse.plugin.commands.ActionHandler"
        id="com.eclipse.plugin.commands.Action"
        name="Action">
    </command>
</extension>

<extension 
    point="org.eclipse.ui.menus">
    <menuContribution
        allPopups="false"
        locationURI="menu:org.eclipse.ui.main.menu">
        <menu
            id="Menu"
            label="CustomMenu">
            <command
                commandId="com.eclipse.plugin.commands.Action"
                label="Action"
                style="push"
                tooltip="">
            </command>
        </menu>
    </menuContribution>
 </extension>

以下处理程序用于执行单击菜单项的操作。

public class ActionHandler extends AbstractHandler {
    @Override
    public Object execute(ExecutionEvent event) throws ExecutionException {
        //some action here
        return null;
    }
}

当用户点击“确定”时,我需要停用菜单项。首选项页面上的按钮

public class CustomPreferences extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
        .....
        @Override
        public boolean performOk() {
        // Here i need to disable or gey out menu option
            super.performOk();
            return true;
        }
        .....
    }

我已经读过Handler可以用条件(activeWhen)定义,在这些条件下我们可以定义处理程序对命令有效的条件。 我们怎样才能在这里实现呢?

0 个答案:

没有答案