在Eclipse插件中调用弹出菜单的操作

时间:2015-11-15 11:05:45

标签: java eclipse eclipse-plugin

在我目前的项目中,开发人员使用Domain特定语言编写高级规范,然后编译此规范并使用Java和Android等目标编程语言生成代码。开发人员主要编写四种规范(如下图所示):vocab.mydslarch.mydslinteraction.mydsldeploy.mydsl

enter image description here

现在,为了单独编译每个规范文件,我在Eclipse插件中开发了弹出菜单。供您参考,我正在显示一个词汇表规范的弹出菜单。在这里,开发人员右键单击,然后转到 IoTSuite 弹出菜单,然后再转到编译域规范弹出菜单。

enter image description here

此处,问题是当我右键单击vocab.mydsl时,所有四个弹出菜单都出现了。理想情况下,当我右键单击vocab.mydsl时,它应显示编译域规范弹出菜单。类似地,当我右键单击arch.mydsl时,它应显示编译架构规范弹出菜单。这也适用于其他规格。

我应该如何在Eclipse插件中启用此功能?如果您需要更多信息以便进一步明确,请告诉我。

plugin.xml的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IFile"
            id="org.example.helloworld.contribution1">
         <menu
               label="IoTSuite"
               path="additions"
               id="org.example.helloworld.menu1">
            <separator
                  name="group1">
            </separator>
         </menu>
         <action
               label="Compile Domain Spec"
               class="org.example.helloworld.popup.actions.GenerateVocabularyFramework"
               menubarPath="org.example.helloworld.menu1/group1"
               enablesFor="1"
               id="org.example.helloworld.newAction">
         </action>
         <action
               class="org.example.helloworld.popup.actions.GenerateArchitectureFramework"
               id="org.example.helloworld.action2"
               label="Compile Architecture Spec"
               menubarPath="org.example.helloworld.menu1/group1">
         </action>
         <action
               class="org.example.helloworld.popup.actions.GenerateInteractionFramework"
               id="org.example.helloworld.action3"
               label="Compile User Interaction Spec"
               menubarPath="org.example.helloworld.menu1/group1">
         </action>
         <action
               class="org.example.helloworld.popup.actions.GenerateDeploymentFramework"
               id="org.example.helloworld.action4"
               label="Compile Deployment Spec"
               menubarPath="org.example.helloworld.menu1/group1">
         </action>
      </objectContribution>
   </extension>

</plugin>

0 个答案:

没有答案