[英]Command activation in menu eclipse plugin
我想在“视图菜单”中创建一个菜单,以使用户可以通过选择菜单项之一来选择如何显示视图。
因此,我确实添加了一个有助于视图的菜单,并在其中添加了两个样式为“无线电”的命令,我将两个命令都指向了相同的命令名称,并在其中添加了两个不同的值。 我声明了一个新的命令,一个新的处理程序,并且我的处理程序工作正常,因为我确实将sysout设置为“ Handler Executed”,并且每次在视图中打开菜单时,都会执行“ isEnabled”功能。
我的问题是,我无法单击我的收音机按钮,也不知道为什么。 我的plugin.xml中没有警告,我不知道它拒绝工作的原因。
如果您能帮助我,请先谢谢您,我感觉有点卡在这里:/
这是我的plugin.xml。 扩展菜单:
<menuContribution
allPopups="false"
locationURI="menu:fr.sumo.ui.view.MyView">
<command
commandId="fr.sumo.ui.handlers.ShowTreeViewerHandler"
label="Command1"
style="push">
<parameter
name="fr.sumo.ui.commands.ShowTreeViewerHandler"
value="RuleTreeViewer">
</parameter>
</command>
<command
commandId="fr.sumo.ui.handlers.ShowTreeViewerHandler"
label="Command2"
style="push">
<parameter
name="fr.sumo.ui.commands.ShowTreeViewerHandler"
value="FileTreeViewer">
</parameter>
</command>
</menuContribution>
命令扩展:
<command
id="fr.sumo.ui.handlers.ShowTreeViewerHandler"
name="Show Rule TreeViewer">
<commandParameter
id="fr.sumo.ui.commands.ShowTreeViewerHandler"
name="fr.sumo.ui.commands.ShowTreeViewerHandler">
</commandParameter>
</command>
扩展处理程序:
<handler
class="fr.sumo.ui.handler.ShowRuleTreeViewerHandler"
commandId="fr.sumo.ui.handlers.ShowTreeViewerHandler">
</handler>
所以我终于找到了答案,这是显而易见的。 在我的处理程序类中,方法isEnabled()返回false ,这是我的项目不可点击的原因。 只是必须将其变为真实。
@Override
public boolean isEnabled() {
System.out.println("isEnabled !");
return false;
}
谢谢btw ppl,谁可能尝试在我的plugin.xml中查找问题^^
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.