【问题标题】:Command activation in menu eclipse plugin菜单 eclipse 插件中的命令激活
【发布时间】:2016-08-31 14:07:06
【问题描述】:

我想在我的视图菜单中创建一个菜单,让用户通过选择我的菜单条目之一来选择如何显示视图。

所以,我确实添加了一个有助于我的视图的菜单,并在其中添加了两个样式为“Radio”的命令,我将两个命令指向相同的命令名称并在其中添加了两个不同的值。我声明了一个新命令,一个新处理程序,并且我的处理程序工作正常,因为我确实放置了一个 sysout“处理程序已执行”,并且每次我在视图中打开菜单时,都会执行“isEnabled”函数。

我的问题是,我无法点击我的收音机按钮,我不知道为什么。我的 plugin.xml 中没有警告,我不明白它拒绝工作的原因。

Commands proc "isEnabled" but it's impossible to select entries

如果您能帮助我,请提前感谢您,我感觉有点卡在这里:/

这是我的 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>

【问题讨论】:

  • 向我们展示您的代码。
  • 我添加了相关的plugin.xml部分,这就是你所需要的吗?
  • plugin.xml 上的样式是 push,但我必须像收音机一样使用它(这只是尝试解决我的问题的随机测试)。顺便说一句,它并没有改变任何东西。

标签: java eclipse eclipse-plugin eclipse-rcp


【解决方案1】:

所以我终于找到了我的答案,这有点明显。在我的处理程序类中,方法 isEnabled() 返回 false,这就是我的项目不可点击的原因。只好把它变成真的。

@Override
public boolean isEnabled() {
    System.out.println("isEnabled !");
    return false;
}

谢谢你btw ppl谁可能试图在我的plugin.xml中找到问题^^

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 2013-07-09
    • 2011-12-21
    • 1970-01-01
    • 2017-06-25
    • 2013-04-02
    相关资源
    最近更新 更多