繁体   English   中英

如何在视图的工具栏中添加下拉按钮?

[英]How to add a pulldown button in a view's toolbar?

我需要在Eclipse插件的视图工具栏中添加一个下拉按钮

实际上工具栏中的按钮添加如下:

<extension point="org.eclipse.ui.viewActions">
  <viewContribution id="..." targetId="$MyViewId$">
    <action id="..."
            toolbarPath="action1"
            class="Class extending Action and implementing IViewActionDelegate">
    </action>
  </viewContribution>
</extension>

我已经明白了。 两种方式:一种使用org.eclipse.ui.viewActions扩展,另一种使用org.eclipse.ui.menus

使用org.eclipse.ui.viewActions扩展名(eclipse> = 3.5)

  • 动作的风格必须设置为pulldown
    <extension point="org.eclipse.ui.viewActions">
      <viewContribution id="..." targetId="$MyViewId$">
        <action id="..."
                toolbarPath="action1"
                class="xxx.MyAction"
                style="pulldown">
        </action>
      </viewContribution>
    </extension>
  • action类必须实现IViewActionDelegate (对视图工具栏有贡献的操作所必需)和IMenuCreator (定义菜单行为)。
    public class RetrieveViolationsViewActionDelegate implements IViewActionDelegate, IMenuCreator
    {
      private IAction action;
      private Menu menu;

      // IViewActionDelegate methods
      ...

      // IMenuCreator methods
      public void selectionChanged(IAction action, ISelection selection)
      {
        if (action != this.action)
        {
          action.setMenuCreator(this);
          this.action = action;
        }
      }

      public void dispose()
      {
        if (menu != null)
        {
          menu.dispose();
        }
      }

      public Menu getMenu(Control parent)
      {
        Menu menu = new Menu(parent);
        addActionToMenu(menu, new ClassImplemententingIAction());
        return menu;
      }

      public Menu getMenu(Menu parent)
      {
        // Not use
        return null;
      }



      private void addActionToMenu(Menu menu, IAction action)
      {
        ActionContributionItem item= new ActionContributionItem(action);
        item.fill(menu, -1);
      }
    }

使用org.eclipse.ui.menus(eclipse> = 3.3)

  • 将新的menucontribution添加到org.eclipse.ui.menus扩展点。
  • 将位置URI设置为toolbar:IdOfYourView
  • 向此扩展添加工具栏,并向此新工具栏添加新命令。
  • 将命令样式更改为pulldown
  • 创建一个新的menucontribution并将locationURI设置为menu:IdOfThePullDownCommand
  • 向此菜单添加命令。

更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM