【问题标题】:Grayed out option in popupmenu弹出菜单中的灰色选项
【发布时间】:2016-01-07 14:02:31
【问题描述】:

我正在构建一个 Eclipse 插件。当我右键单击表格中的项目时,会弹出一个带有选项的弹出菜单。如果选择了多个项目,我希望某个选择变灰。我尝试在我的 plugin.xml 文件的操作标记中使用 enableFor="1" 。

<extension point="org.eclipse.ui.popupMenus">
     <objectContribution         
            id="se.myproject.xxxxxx.ui.ReplaceItemAsReference"
            objectClass="se.xxxxx.xxxx.core.xxxxx.EntityItem">
         <action
               class="se.myproject.xxxxxx.ui.views.ReferenceAction"
               enablesFor="1"
               id="se.myproject.xxxxxx.ui.views.ReplaceItemAsReference"
               label="Do stuff"
               menubarPath="additions-ext">
         </action>       
     </objectContribution>      
</extension>

但它不会使选择变灰。我想知道我是否需要做一些额外的编码来实现这一点?

I want the result to look like this!

【问题讨论】:

  • 我认为这是(已弃用)org.eclipse.ui.popupMenus 扩展点。 'enablesFor="1"' 确实适用于此。 'class' 值应该是一个完全限定的类名(因此包括包),这可能会让它感到不安。
  • 谢谢!你猜对了。我使用的是 org.eclipse.ui.popupMenus。我将“类”更改为完全限定的类名,但它仍然无法正常工作。
  • 向我们展示整个扩展点,而不仅仅是“动作”
  • 我已经更新了我的问题。
  • 我看不出有什么明显的问题。 ReferenceAction 类是否正在做任何事情来改变 selectionChanged 方法中的启用?

标签: java eclipse plugins


【解决方案1】:

看起来这可能是一个 Eclipse 错误。 'Restore from Local History' 弹出菜单项以类似的方式声明,并且也保持启用以进行多选。

使用 '1' 声明 enablesFor 的其他菜单项确实有效,区别似乎是它们使用 &lt;menu&gt; 元素将菜单项放入子菜单中。

【讨论】:

  • 非常感谢您的帮助。否则我会花很多时间在这个上。我可以暂时放下这个。干杯!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-14
相关资源
最近更新 更多