尝试使用Eclipse e4中的模型片段(XMI模型)创建应用程序菜单时。默认情况下,创建的菜单被禁用

时间:2015-09-08 15:01:17

标签: eclipse e4 eclipse-emf emf eclipse-emf-ecore

我实际上是将我的Workspace从3.x迁移到Eclipse e4版本。我使用模型碎片创建了一个新菜单,如下面link 下的“第7.6节。创建模型贡献”中所述。

通过这些步骤,菜单项已成功创建,但仍保持禁用状态:(即使默认情况下已选中启用[]复选框。

这背后的原因可能是什么?

我使用的Fragment.e4xmi代码是:

 <fragment:ModelFragments xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:commands="http://www.eclipse.org/ui/2010/UIModel/application/commands" xmlns:fragment="http://www.eclipse.org/ui/2010/UIModel/fragment" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_c8CZsFVoEeWXIM1iTwboYg">
 <fragments xsi:type="fragment:StringModelFragment" xmi:id="_ylQWEFYyEeWz-PkqHRIpVg" featurename="commands" parentElementId="org.eclipse.e4.legacy.ide.application">
<elements xsi:type="commands:Command" xmi:id="_CqXYcFYzEeWz-PkqHRIpVg" elementId="test_emf_project.command.sample" commandName="Sample"/>
  </fragments>
 <fragments xsi:type="fragment:StringModelFragment" xmi:id="_HPsk0FYzEeWz-PkqHRIpVg" featurename="Handlers" parentElementId="org.eclipse.e4.legacy.ide.application">
<elements xsi:type="commands:Handler" xmi:id="_KcOLMFYzEeWz-PkqHRIpVg" elementId="test_emf_project.handler.0" contributionURI="bundleclass://Test_EMF_Project/com.ami.launch.HandlerImplementation" command="_CqXYcFYzEeWz-PkqHRIpVg"/>
  </fragments>
  <fragments xsi:type="fragment:StringModelFragment" xmi:id="_Q9KvsFYzEeWz-PkqHRIpVg" featurename="menuContributions" parentElementId="org.eclipse.e4.legacy.ide.application">
  <elements xsi:type="menu:MenuContribution" xmi:id="_VRqDsFYzEeWz-PkqHRIpVg" elementId="test_emf_project.menucontribution.0" parentId="org.eclipse.ui.main.menu">
    <children xsi:type="menu:Menu" xmi:id="_gzz4QFYzEeWz-PkqHRIpVg" elementId="test_emf_project.menu.custommenu" label="Custommenu">
     <children xsi:type="menu:HandledMenuItem" xmi:id="_vHCtUFYzEeWz-PkqHRIpVg" elementId="test_emf_project.handledmenuitem.openDialog" label="Open Dialog" iconURI="" command="_CqXYcFYzEeWz-PkqHRIpVg"/>
   </children>
  </elements>
 </fragments>
</fragment:ModelFragments>

1 个答案:

答案 0 :(得分:0)

您的&#39;功能名称&#39;对于处理程序片段设置为Handlers - 它应该全部为小写handlers