- 浏览: 131552 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
jingjieyiman:
引用
[url][/url][flash=200,200][ ...
Java 学习入门到高深 -
Technoboy:
...
AOP 的利器:ASM 3.0 介绍 -
kingkan:
非常支持,我有意愿加入。。。如果可以,请给我短消息,je我每天 ...
【征集】做一个管理人际关系的应用 -
夜之son:
csuzm0613 写道能否直接做成Android应用程序呢? ...
【征集】做一个管理人际关系的应用 -
gdwrx_winson:
谢谢异常哥的回复,目前的想法是做成一个web应用抛出异常的爱 ...
【征集】做一个管理人际关系的应用
转自http://blog.csdn.net/wu_07/archive/2009/06/21/4286300.aspx
GMF 经验点滴积累(二)-菜单工具栏篇 收藏
一、增加主菜单和工具栏项(printPreviewAction)
1、在plugin.xml中配置contributionItemProvider扩展点。
view plaincopy to clipboardprint?
<extension point="org.eclipse.gmf.runtime.common.ui.services.action.contributionItemProviders"><?gmfgen generated="true"?><contributionitemprovider class="providers.×ContributionItemProvider"><priority name="Low"></priority><partcontribution id="diagram.part.×DiagramEditorID"><partaction menubarpath="/file/print" id="printPreviewAction"></partaction></partcontribution></contributionitemprovider></extension>
2、在定义的×ContributionItemProvider.java中修改createAction方法,根据actionId.equals??的结果返回相应的Action。
view plaincopy to clipboardprint?
protected IAction createAction(String actionId,
IWorkbenchPartDescriptor partDescriptor) {
if (actionId.equals(PrintPreviewAction.ID)) {
return new RenderedPrintPreviewAction(
new EnhancedPrintActionHelper());
}
return super.createAction(actionId, partDescriptor);
}
二、删除ContextMenu子项(addGroup、autoSizeAction)
1、利用扩展点的方法
view plaincopy to clipboardprint?
<extension point="org.eclipse.gmf.runtime.common.ui.services.action.contributionItemProviders"><?gmfgen generated="true"?><contributionitemprovider class="providers.×ContributionItemProvider"><priority name="Low"></priority><popupcontribution class="diagram.part.DiagramEditorContextMenuProvider"><popupstructuredcontributioncriteria objectclass="..diagram.edit.parts.*DiagramEditPart"></popupstructuredcontributioncriteria><popuppredefineditem id="addGroup" remove="true"></popuppredefineditem><popuppredefineditem id="autoSizeAction" path="/formatMenu/" remove="true"></popuppredefineditem></popupcontribution></contributionitemprovider></extension>
2、直接编辑代码的方法
view plaincopy to clipboardprint?
public class CustomContextMenuProvider extends DiagramContextMenuProvider
{
public CustomContextMenuProvider (IWorkbenchPart part, EditPartViewer viewer) {
super(part, viewer);
// TODO Auto-generated constructor stub
}
public void buildContextMenu(IMenuManager menu) {
// SampleAction action = new SampleAction("Sample");
// menu.add(action);
super.buildContextMenu(menu);
}
// 过滤不需要的上下文菜单
public IContributionItem[] getItems() {
IContributionItem[] ic = super.getItems();
filterSystemPopMenu(ic);
return ic;
}
}
view plaincopy to clipboardprint?
//将DiagramEditor的configureGraphicalViewer方法中替换为自定义的ContextMenuProvider
protected void configureGraphicalViewer() {
super.configureGraphicalViewer();
IDiagramGraphicalViewer viewer = getDiagramGraphicalViewer();
/* customize popup menu */
ContextMenuProvider provider = new CustomContextMenuProvider(this, viewer);
viewer.setContextMenu(provider);
getSite().registerContextMenu(ActionIds.DIAGRAM_EDITOR_CONTEXT_MENU,
provider, viewer);
}
三、修改Diagram菜单和工具栏
view plaincopy to clipboardprint?
public class CustomDiagramActionBarContributor extends DiagramActionBarContributor {
/**
* 重载init方法
* @generated NOT
*/
//
public void init(final IActionBars bars) {
super.init(bars);
IActionBars bar=getActionBars();
IContributionItem[] items=bar.getMenuManager().getItems();
//IContributionItem[] items=bar.getToolBarManager().getItems();
for (IContributionItem i:items)
{
if (i.getId().equals("diagramMenu"))
{
SubContributionItem diagramMenu=(SubContributionItem)i;
IContributionManager diagramMenuMagager=(IContributionManager) diagramMenu.getInnerItem();
IContributionItem[] subDiagramsMenu=diagramMenuMagager.getItems();
//在diagramMenu下增加一个子菜单
diagramMenuMagager.add(new AboutAction());
for (IContributionItem j:subDiagramsMenu)
{
//删除arrangeMenu
if (j.getId().equals("arrangeMenu"))
{
diagramMenuMagager.remove(j);
}
}
}
}
}
/**
* @generated
*/
protected Class getEditorClass() {
return DfdDiagramEditor.class;
}
/**
* @generated
*/
protected String getEditorId() {
return DfdDiagramEditor.ID;
}
/**
* @generated NOT
*/
public static class AboutAction extends Action {
public AboutAction() {
setText("About");
setId("About");
}
public void run() {
MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
"About",
"This is a example.");
}
}
}
发表评论
-
暂存的多少钱
2010-08-20 15:34 939与配置管理工具集成 企业级大型项目,往往需要可靠稳 ... -
获取Eclipse平台插件路径
2010-04-19 19:26 1567很多时候,我们需要获取Eclipse平台中相关插件的信息,如位 ... -
Object CLass
2010-03-10 11:01 900Eclipse 中扩展点可能会需要Object Class的东 ... -
Eclipse Preferences 扩展点
2010-02-25 11:29 1001Preferences in the Eclipse Work ... -
Nature
2010-02-24 13:50 1531Nature和Builder的使用介绍 http://liu ... -
Mylyn简介
2010-02-21 17:46 1837Mylyn简介——一个不错的eclipse工具 ... -
GMF
2010-01-06 20:15 1290转自 http://blog.csdn.net/wu_07/a ... -
RCP构建
2009-11-29 20:02 917转自http://blog.csdn.net/xiaoxi ... -
Eclipse Nebula 部件入门2
2009-11-24 23:51 2086Eclipse Nebula 部件入门 Ec ... -
Eclipse Nebula 部件入门1
2009-11-24 23:49 1838转自https://www6.software ... -
Eclipse Nebula 部件入门
2009-11-24 23:47 2135转自https://www6.software.ibm.com ... -
SWT自定义组件之Slider
2009-11-24 00:10 1141转自http://www.blogjava.net/javag ... -
用SWT实现MSN风格的下拉框
2009-11-24 00:08 1046转自http://www.blogjava.net/j ... -
SWT控件的CompositeSize
2009-11-23 16:37 955在Window上所有的元件都是用畫出來的,所以redraw的觀 ... -
自定义控件资料
2009-11-23 12:42 843Eclipse官网对自定义控件 http://www.ecl ... -
开发Eclipse自定义控件
2009-11-23 12:40 900转自 http://www.ibm.com/developer ... -
GMF同一模型,多个Editor
2009-11-12 09:00 790转自http://yiliner.iteye.co ... -
Eclipse3.4版本以上打包
2009-11-11 18:22 1777我现在在编写一个JAVA工程,是提供给客户调用的API,但是我 ... -
RCP构建
2009-11-11 13:27 1147想分析插件对Eclipse本身插件的依赖,可以使用Deb ... -
Eclipse常见界面
2009-11-02 09:26 820Section的创建 Section input ...
相关推荐
工具定义模型则允许开发者设计工具栏、菜单等用户界面元素。 通过本教程,读者将逐步了解如何使用GMF来设计和实现图形化建模工具,包括如何创建模型,设计图形界面,以及集成编辑功能。同时,教程还探讨了GMF如何...
GMF(Generic Model Framework)是Eclipse平台下的一款强大的图形建模框架,它为开发者提供了构建图形用户界面(GUI)的工具,特别是用于创建复杂的图形编辑器和图表应用程序。GMF 1.7是最新的版本,它在前一版本的...
- **工具定义模型(tooling definition model)**:这是一个可选组件,用于定义调色板(palette)、菜单、工具栏等图形化或工具组件,旨在提供一致的用户体验,无论面对何种领域的模型。 #### 六、GMF的工作流程 - **...
【GMF教程】GMF(Graphics Modeling Framework)是Eclipse平台下的一个图形建模框架,用于构建基于模型的图形编辑工具。本教程是基于英文教程的实践与翻译,旨在帮助读者理解并掌握如何使用GMF创建一个Mindmap编辑器...
GMF(Generic Modeling Framework)是Eclipse平台下的一个开源项目,它为开发可扩展的图形化建模工具提供了基础框架。这个"GMF数据表建模例子"显然是一个利用GMF构建的数据库设计工具,可以帮助用户以图形化的方式...
Eclipse GMF(Graphics Modeling Framework)是Eclipse平台下的一个开源工具,用于构建图形化建模和编辑环境。本教程将带你快速掌握Eclipse GMF的核心概念和使用方法,让你在15分钟内对GMF有初步的认识。 一、...
- GMF广泛应用于软件建模、系统设计和架构等领域,因为它能快速生成专业级的图形编辑工具。 - 在实际项目中,GMF可以帮助开发人员构建定制化的模型编辑环境,提高生产力。 通过深入研究GMF ѧϰ和GMF 学习这两个...
EMF提供了一套强大的工具,用于创建和管理模型,而GMF RAR则负责将这些模型转化为直观的图形表示。 总结来说,"org.eclipse.gmf.rar"是Eclipse GMF框架中用于构建图形用户界面的关键组件,它为模型驱动的开发提供了...
4. **Tooling Definition Model(工具定义模型)**:接下来是定义编辑器工具栏中的各种工具,如添加状态、删除转换等操作。这一步骤对于增强编辑器的功能性至关重要。 5. **Mapping Model(映射模型)**:映射模型...
### GMF开发文档知识点...GMF提供了一套完整的工具链,使开发者能够轻松地构建图形化的编辑器。通过本文介绍的知识点,读者可以了解到GMF开发的关键步骤和技术要点,从而更好地掌握如何使用GMF进行图形编辑器的开发。
【GMF实例解析】 GMF,全称是Graphical Modeling Framework,是Eclipse建模项目中的一个重要组成部分,它建立在GEF(Graphical Editor Framework)和EMF(Eclipse Modeling Framework)之上,为开发基于图形界面的...
GMF的出现极大地推动了图形化编辑器的开发进程,它不仅简化了复杂的编程任务,还为开发者提供了强大的工具集,使得图形界面的设计与实现变得更加高效和直观。通过Taipan实例的深度分析,我们不仅能够深入了解GMF的...
GMF是一个命令行工具,它提供了丰富的地图制作功能,包括投影变换、数据导入导出、符号化、图层管理等。通过熟练掌握GMF,用户可以创建专业级别的地图,对地理信息进行可视化展示。 在学习GMF的过程中,首先要掌握...
Eclipse插件GMF,全称为Graphical Modeling Framework,是Eclipse平台上的一个重要组成部分,主要用于构建可视化的建模工具。这个框架提供了一种强大的方式,让开发者能够创建出具有图形界面的模型编辑器,用于设计...
### 图形建模框架GMF综述 #### 引言 在软件开发过程中,图形建模...无论是对于希望快速构建自定义建模工具的企业还是对于那些寻求深入研究图形建模技术的研究人员来说,GMF都是一个值得深入了解和探索的重要工具。
在Eclipse中,GEF(Graphical Editing Framework)、VE(Visual Editor)和GMF(Graphical Modeling Framework)是三个重要的插件或框架,主要用于图形化界面设计和建模。 1. GEF(Graphical Editing Framework) ...
总结来说,这个“一个简单的GMF实例”提供了学习和实践GMF技术的机会,帮助开发者理解如何利用GMF创建图形化编辑工具。通过阅读博文和研究提供的源码,可以深入理解GMF的工作原理,并能够将其应用到自己的项目中。
GMF(Graphical Modeling Framework)是Eclipse基金会推出的一个开源项目,主要用于构建图形化建模工具。这个"gmf-runtime-2.1.2.zip"压缩包文件包含了Eclipse图形化开发插件GMF的运行时组件,版本为2.1.2。此插件...