`
popjxc
  • 浏览: 66877 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

GMF editor 移除不需要的工具栏

    博客分类:
  • GMF
 
阅读更多

GMF生成的图形编辑器功能还算强大,有很多工具栏和菜单,但是这些工具栏实在是太多了,有时候还真得给它们瘦瘦身。


1. 去除右键菜单项


在DiagramEditorContextMenuProvider类里的buildContextMenu的方法中可以去除:

 

TransactionUtil.getEditingDomain(
					(EObject) getViewer().getContents().getModel())
					.runExclusive(new Runnable() {

						public void run() {
							ContributionItemService
									.getInstance()
									.contributeToPopupMenu(
											DiagramEditorContextMenuProvider.this,
											part);
							menu.remove(ActionIds.ACTION_DELETE_FROM_MODEL);
							menu.remove(ActionIds.ACTION_DELETE_FROM_DIAGRAM); // 删除
							menu.appendToGroup("editGroup", deleteAction);
						}
});
 

 

2. 去除ToolBar和menu项

在XXXDiagramActionBarContributor类的init方法里去除:

 

IMenuManager fileMenu = bars.getMenuManager().findMenuUsingPath(
				IWorkbenchActionConstants.M_FILE);
		assert fileMenu != null;
		fileMenu.remove("pageSetupAction"); //$NON-NLS-1$
		IToolBarManager toolBarManager = bars.getToolBarManager();
		toolBarManager.remove("fontNameContributionItem");        //删除
		toolBarManager.remove("fontSizeContributionItem");           //删除
 

 

3. 去除PopupToolBar

在图形相应的XXXeditpart类里的createDefaultEditPolicies方法去除:

 

protected void createDefaultEditPolicies() {
		super.createDefaultEditPolicies();
		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
				new DiagramItemSemanticEditPolicy());
		installEditPolicy(EditPolicyRoles.CANONICAL_ROLE,
				new DiagramCanonicalEditPolicy());
		installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE,
				new DropObjectEditPolicy());
		removeEditPolicy(EditPolicyRoles.POPUPBAR_ROLE);  //删除

}
 
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics