Eclipse plugin 根据首选项中的值启用或禁用eclipse菜单-org.eclipse.ui.actionset
我有一个eclipse插件,其中我使用ActionSet创建了菜单Eclipse plugin 根据首选项中的值启用或禁用eclipse菜单-org.eclipse.ui.actionset,eclipse-plugin,Eclipse Plugin,我有一个eclipse插件,其中我使用ActionSet创建了菜单 <extension point="org.eclipse.ui.actionSets"> <actionSet description="My Sample" id="MySample.actionSet" label="My Sample" visible="true"> <menu id="mysample.actionset.menu1" label="My Samp
<extension point="org.eclipse.ui.actionSets">
<actionSet description="My Sample"
id="MySample.actionSet"
label="My Sample"
visible="true">
<menu
id="mysample.actionset.menu1"
label="My Sample">
<groupMarker
name="mysample.groupCreatesimilar">
</groupMarker>
</menu>
<action
class="org.mysample.actions.create.MyCreateCodeAction"
definitionId="MySample.myCreateCode.command"
id="MySample.myCreateCode.command"
label="Create Sample Code"
menubarPath="mysample.actionset.menu1/mysample.groupMarker2">
</action>
</actionSet>
</extension>
我需要根据首选项中的值启用或禁用其中一个菜单。当我使用下面的命令时,我能够实现这一点。但我不应该这样做。我必须让它与上面的代码(actionSet)一起工作。请建议如何做到这一点
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu?after=additions">
<menu
label="my label"
id="myMenu.menu1">
<command
commandId="MySample.myCreateCode.command"
mnemonic="S"
id="MySample.myCreateCode.command">
</command>
</menu>
</menuContribution>
</extension>
整个
操作集
应该出现在窗口/自定义透视图
对话框命令组可用性
选项卡中,在该选项卡中可以打开/关闭操作集
要启用/禁用单个操作,您可能需要在操作代码中调用action.setEnabled()
,类似于:
public class MyCodeCreateAction extends Action
{
MyCodeCreateAction()
{
super();
IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
setEnabled(prefs.getBoolean("preference"));
prefs.addPropertyChangeListener(new PropertyChangeListener());
}
private class PropertyChangeListener implements IPropertyChangeListener
{
@Override
public void propertyChange(final PropertyChangeEvent event)
{
if ("preference".equals(event.getProperty()))
{
final IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
setEnabled(prefs.getBoolean("preference"));
}
}
}
}
actionset
现在不推荐使用org.eclipse.ui.menus
作为创建菜单的推荐方式。我的应用程序是旧版应用程序,因此我无法更改为使用org.eclipse.ui.menus。在这种情况下,我是否可以不执行启用/禁用?请您再详细说明一下