第一步:新建Editor,并继承自GraphicalEditorWithFlyoutPalette
比如:public class ActivityEditor extends GraphicalEditorWithFlyoutPalette
第二步:定义如下的静态变量
protected static final String PALETTE_DOCK_LOCATION = "Dock location"; //$NON-NLS-1$
protected static final String PALETTE_SIZE = "Palette Size"; //$NON-NLS-1$
protected static final String PALETTE_STATE = "Palette state"; //$NON-NLS-1$
protected static final int DEFAULT_PALETTE_SIZE = 130;
第三步:实现createPalettePage() 和createPaletteViewerProvider() 两个方法
protected CustomPalettePage createPalettePage() {
return new CustomPalettePage(getPaletteViewerProvider()) {
public void init(IPageSite pageSite) {
super.init(pageSite);
IAction copy = getActionRegistry().getAction(ActionFactory.COPY.getId());
pageSite.getActionBars().setGlobalActionHandler(
ActionFactory.COPY.getId(), copy);
}
};
}
protected PaletteViewerProvider createPaletteViewerProvider() {
return new PaletteViewerProvider(getEditDomain()) {
private IMenuListener menuListener;
protected void configurePaletteViewer(PaletteViewer viewer) {
super.configurePaletteViewer(viewer);
viewer.setCustomizer(new MyPaletteCustomizer());
viewer.addDragSourceListener(new TemplateTransferDragSourceListener(viewer));
}
protected void hookPaletteViewer(PaletteViewer viewer) {
super.hookPaletteViewer(viewer);
final CopyTemplateAction copy = (CopyTemplateAction)getActionRegistry()
.getAction(ActionFactory.COPY.getId());
viewer.addSelectionChangedListener(copy);
if (menuListener == null)
menuListener = new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
manager.appendToGroup(GEFActionConstants.GROUP_COPY, copy);
}
};
viewer.getContextMenu().addMenuListener(menuListener);
}
};
}
第四步:在测试插件时的时候,打开Palette视图就可以看到其中自己定义的选项了
分享到:
相关推荐
eclipse GEF的官方教程,适合初学者
在Eclipse中,GEF(Graphical Editing Framework)、VE(Visual Editor)和GMF(Graphical Modeling Framework)是三个重要的插件或框架,主要用于图形化界面设计和建模。 1. GEF(Graphical Editing Framework) ...
安装m2eclipse插件时会依赖gef插件和svn插件,压缩包内包含m2eclipse + gef + svn的全部插件安装包,可以直接离线安装,本人亲测,在Eclipse3.7下安装成功,可以新建Maven项目。 需要注意的是,在离线安装时,切记...
Eclipse GEF(Graphical Editing Framework)插件是Eclipse IDE中的一个重要组成部分,主要用于构建图形化用户界面,尤其是用于创建图形编辑器。它为开发者提供了一套完整的框架,用于开发基于模型的图形编辑工具,...
Eclipse GEF(Graphical Editing Framework)是一款强大的图形编辑框架,用于在Eclipse环境中开发图形化用户界面,尤其是用于创建可视化的建模工具和流程编辑器。本DEMO旨在指导开发者如何利用GEF来开发Eclipse插件...
GEF(Graphical Editing Framework)是Eclipse平台中的一个核心组件,主要用于创建图形化编辑器。这个插件极大地扩展了Eclipse的功能,允许开发者构建复杂的图形用户界面(GUI)应用,特别是对于那些需要可视化表示...
这个实例代码2是《Eclipse插件开发》教程中的一部分,旨在帮助初学者理解如何利用GEF来创建自定义的图形编辑器。在Eclipse插件开发中,GEF提供了一套强大的框架,使得开发者可以方便地构建出功能丰富的图形用户界面...
总之,Eclipse GEF和Draw2D是Eclipse生态中强大的图形编辑工具,结合RCP,可以创建出专业级的图形化应用程序。通过深入研究GEFAPI.CHM和draw2d_api-doc.CHM,开发者能够更好地掌握这两者的核心特性和用法,提升自己...
在Eclipse IDE中,GEF主要用于创建模型驱动的设计环境,例如流程设计器、UML类图编辑器等,使得开发者能够以图形化的方式操作和编辑复杂的系统模型,极大地提升了开发效率和用户体验。 GEF的核心概念主要包括模型...
本压缩包"GEF-SDK-3.4.0.zip"提供了GEF的软件开发工具包,帮助开发者在Eclipse环境中创建功能丰富的图形编辑工具。 1. **GEF介绍** GEF是Eclipse平台的一个核心部分,它提供了一套框架和服务,用于构建基于模型的...
Eclipse的GEF(Graphical Editing Framework)插件是一个强大的图形编辑框架,它为开发者提供了在Eclipse集成开发环境中创建可视化的图形界面和编辑器的能力。这个插件主要用于构建复杂的图形用户界面,如UML模型、...
Eclipse GEF(Graphical Editing Framework)是一个强大的开源框架,用于构建图形化编辑器和可视化应用程序。这个"eclipse_gef_example.rar"压缩包提供了一系列的例子,帮助开发者更好地理解和掌握GEF框架。以下是对...
ECLIPSE GEF 5.4.0是该框架的一个版本更新,它提供了丰富的功能,使得开发者能够便捷地创建可自定义的、交互式的图形编辑环境。 在Eclipse GEF 5.4.0中,主要包含以下几个关键知识点: 1. **图形模型**:GEF的核心...
安装方式:在eclipse目录下创建两个子目录myplugins和links,然后在myplugins目录下建三个子目录emf,gefruntime和ve,将emf-sdo-runtime-2.2.0.zip解压缩到emf目录下,将GEF-runtime-3.2.zip解压缩到gefruntime目录...
由于工作的需要,最近开始研究GEF(Graphical Editor Framework)这个框架,它可以用来给用户提供图形化编辑模型的功能,从而提升用户体验,典型的应用如图形化的流程设计器、UML类图编辑器等等。
Eclipse的GEF(Graphical Editing Framework)插件是一个强大的工具,用于在Eclipse集成开发环境中创建、编辑和展示图形用户界面。它为开发者提供了一种框架,支持创建可定制的、交互式的图形编辑器,使得开发人员...
通过简单易懂的方式,介绍了Eclipse GEF 框架原理。对GEF开发有极大的好处/
**Eclipse 3.4 可视化开发:GEF详解** **一、Eclipse GEF简介** Eclipse GEF(Graphical Editing Framework)是Eclipse平台中的一个核心组件,用于构建图形化编辑器和可视化工具。它为开发者提供了一套全面的API,...