gef ActionBarContributor

本文详细解析了GefActionBarContributor类的功能实现,包括构造函数、buildActions方法、contributeToToolBar方法以及全局动作键声明等核心部分。重点讨论了如何在编辑器中贡献工具栏和动作,以及如何在不同场景下实现特定功能如撤销、重做、选择全选等。同时,文章还介绍了如何注册全局动作和创建编辑器相关的动作,提供了实例代码供开发者参考。
摘要由CSDN通过智能技术生成

 

public class GefActionBarContributor extends ActionBarContributor {

 

public GefActionBarContributor() {

super(); 

}

 

protected void buildActions() {

// addRetargetAction(new UndoRetargetAction());

// addRetargetAction(new RedoRetargetAction());

// addRetargetAction(new DeleteRetargetAction());

// addRetargetAction(new RetargetAction(ActionFactory.SAVE.getId(), Messages.save));

// addRetargetAction(new RetargetAction(ActionFactory.SELECT_ALL.getId(), Messages.select_all));

// addRetargetAction(new ZoomInRetargetAction());

// addRetargetAction(new ZoomOutRetargetAction()); 

// addRetargetAction(new RetargetAction("abc","aaaaa"));

// b.getBundleContext().installBundle(location);

}

 

@Override

public void contributeToToolBar(IToolBarManager toolBarManager) {

// System.out.println(getAction(ActionFactory.UNDO.getId())+"...........");

// toolBarManager.add(getAction(ActionFactory.UNDO.getId()));

// toolBarManager.add(getAction(ActionFactory.REDO.getId()));

// toolBarManager.add(getAction(ActionFactory.DELETE.getId()));

// toolBarManager.add(getAction(ActionFactory.SAVE.getId()));

// toolBarManager.add(getAction(ActionFactory.SELECT_ALL.getId()));

//

// Action action= new Action("abc"){};

// action.setId("abc");

// getActionRegistry().registerAction(action);

// toolBarManager.add(action);

//

// toolBarManager.add(getAction(GEFActionConstants.ZOOM_IN));

// toolBarManager.add(getAction(GEFActionConstants.ZOOM_OUT));

// toolBarManager.add(new ZoomComboContributionItem(getPage()));

///这里先执行了,所以活动的为空

// System.out.println("活动的编辑器:"+this.getPage().getActiveEditor());

// DeleteAction action = new DeleteAction(this.getPage().getActiveEditor());

// toolBarManager.add(action); 

 

@Override

protected void declareGlobalActionKeys() {

 

}




@Override
protected void createActions() {
// TODO Auto-generated method stub
super.createActions();
IToolBarManager toolBarManager= this.getEditorSite().getActionBars().getToolBarManager();
DeleteAction action = new DeleteAction((IWorkbenchPart) this);
this.getActionRegistry().registerAction(action);
getSelectionActions().add(action.getId());
toolBarManager.add(action); 
toolBarManager.add(new Action("aa"){});
}

这种方式比较容易理解。可是它会在每个编辑器中生成一个  按钮。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值