首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

利用扩展点快速为工具栏加个上拉列表〔效果同:debug上拉〕

2012-11-15 
利用扩展点快速为工具栏加个下拉列表〔效果同:debug下拉〕对应的Actionpublic class CallAction extends Act

利用扩展点快速为工具栏加个下拉列表〔效果同:debug下拉〕



对应的Action
public class CallAction extends Actionimplements IMenuCreator, IWorkbenchWindowPulldownDelegate2 { IWorkbenchWindow window = null;private MenuManager dropDownMenuMgr;private Action firstAction;private Action secondAction;   public CallAction(){     setMenuCreator(this);} @Overridepublic void init(IWorkbenchWindow window) {this.window = window; }@Overridepublic void run(IAction action) {}  public void setEnabled( boolean enabled ){}@Overridepublic void selectionChanged(IAction action, ISelection selection) {}  class InnerAction extends Action{    private String text;    InnerAction(String text){    super(text);    this.text = text;    }    @Override    public void run() {    super.run();     if("One".equals(text)){    //do one something    secondAction.setEnabled(true);    }else{    //do two something    firstAction.setEnabled(true);    }    this.setEnabled(false);    }    }@Overridepublic void dispose() {   if(null != dropDownMenuMgr){dropDownMenuMgr.dispose();dropDownMenuMgr = null;}}@Overridepublic Menu getMenu(Control parent) { createDropDownMenuMgr(); return dropDownMenuMgr.createContextMenu(parent);    }private void createDropDownMenuMgr() {if (dropDownMenuMgr == null) {dropDownMenuMgr = new MenuManager();firstAction = new InnerAction("One");dropDownMenuMgr.add(firstAction);secondAction = new InnerAction("Two");dropDownMenuMgr.add(secondAction); }}@Overridepublic Menu getMenu(Menu parent) {return null;}}

热点排行