Teamcenter进行菜单栏开发

在对Teamcenter进行二次开发的时候经常会对菜单进行扩展,Eclipse 提供了两种扩展点供用户添加菜单项到相应的位置。这两种扩展点为 org.eclipse.ui.commands(简称为 Commands 方式)和 org.eclipse.ui.actionSets(简称为 Actions 方式),我现在只写了用Commands方式实现的,为什么不用Actions可以参考这篇文章Eclipse Action与Command的区别

 菜单分为主菜单,上下文菜单,视图菜单
主菜单扩展:

 <extension
         point="org.eclipse.ui.menus">
      <menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions">
         <menu label="测试菜单" id="ceshi">
             <command 
                  icon="icon/alignmiddle.png"
                  commandId="com.service.handlers.handleone">
             </command>
         </menu>
         </menuContribution>
         
         <menuContribution locationURI="menu:ceshi">
            <menu label="菜单一">
                 <command 
                    icon="icon/alignmiddle.png"
                    commandId="com.service.handlers.handleone">
                </command>
                 <command 
                    icon="icon/alignmiddle.png"
                    commandId="com.service.handlers.handleone">
                </command>
            </menu>
        </menuContribution>
        <menuContribution locationURI="menu:ceshi">
            <menu label="菜单二">
                 <command 
                    icon="icon/alignmiddle.png"
                    commandId="com.service.handlers.handleone">
                </command>
                 <command 
                    icon="icon/alignmiddle.png"
                    commandId="com.service.handlers.handleone">
                </command>
            </menu>
        </menuContribution>
   </extension>

效果如下:

上下文菜单扩展:

<extension
         point="org.eclipse.ui.menus">
      <menuContribution locationURI="popup:org.eclipse.ui.popup.any?after=additions">
         <menu label="上下文菜单" id="shang">
              <command
               icon="icon/alignmiddle.png"
              commandId="com.service.handlers.handleone">
              </command>
               <command
               icon="icon/alignmiddle.png"
              commandId="com.service.handlers.handleone">
              </command>
              <command
               icon="icon/alignmiddle.png"
              commandId="com.service.handlers.handleone">
              </command>
        </menu>
         </menuContribution>
   </extension>

效果如下:

整个的plugin.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         point="org.eclipse.ui.commands">
          <command 
            icon="icon/alignmiddle.png"
              id="com.service.handlers.handleone" 
              name="子菜单一"/>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
        <handler
             class="com.service.handlers.handleone"
             commandId="com.service.handlers.handleone">
        </handler>
   </extension>
  
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution locationURI="popup:org.eclipse.ui.popup.any?after=additions">
         <menu label="上下文菜单" id="shang">
              <command
               icon="icon/alignmiddle.png"
              commandId="com.service.handlers.handleone">
              </command>
               <command
               icon="icon/alignmiddle.png"
              commandId="com.service.handlers.handleone">
              </command>
              <command
               icon="icon/alignmiddle.png"
              commandId="com.service.handlers.handleone">
              </command>
        </menu>
         </menuContribution>
   </extension>
  
    <extension
         point="org.eclipse.ui.menus">
      <menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions">
         <menu label="测试菜单" id="ceshi">
             <command 
                  icon="icon/alignmiddle.png"
                  commandId="com.service.handlers.handleone">
             </command>
         </menu>
         </menuContribution>
         
         <menuContribution locationURI="menu:ceshi">
            <menu label="菜单一">
                 <command 
                    icon="icon/alignmiddle.png"
                    commandId="com.service.handlers.handleone">
                </command>
                 <command 
                    icon="icon/alignmiddle.png"
                    commandId="com.service.handlers.handleone">
                </command>
            </menu>
        </menuContribution>
        <menuContribution locationURI="menu:ceshi">
            <menu label="菜单二">
                 <command 
                    icon="icon/alignmiddle.png"
                    commandId="com.service.handlers.handleone">
                </command>
                 <command 
                    icon="icon/alignmiddle.png"
                    commandId="com.service.handlers.handleone">
                </command>
            </menu>
        </menuContribution>
   </extension>
</plugin>

发布了13 篇原创文章 · 获赞 0 · 访问量 660

猜你喜欢

转载自blog.csdn.net/u014457991/article/details/104740352