`

Eclipse GEF 创建浮动Palette

 
阅读更多

第一步:新建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视图就可以看到其中自己定义的选项了

0
0
分享到:
评论

相关推荐

    eclipse GEF的官方教程

    eclipse GEF的官方教程,适合初学者

    eclipse gef ve gmf

    在Eclipse中,GEF(Graphical Editing Framework)、VE(Visual Editor)和GMF(Graphical Modeling Framework)是三个重要的插件或框架,主要用于图形化界面设计和建模。 1. GEF(Graphical Editing Framework) ...

    m2eclipse+gef+svn插件离线安装包

    安装m2eclipse插件时会依赖gef插件和svn插件,压缩包内包含m2eclipse + gef + svn的全部插件安装包,可以直接离线安装,本人亲测,在Eclipse3.7下安装成功,可以新建Maven项目。 需要注意的是,在离线安装时,切记...

    eclipse gef 插件 最新版本

    Eclipse GEF(Graphical Editing Framework)插件是Eclipse IDE中的一个重要组成部分,主要用于构建图形化用户界面,尤其是用于创建图形编辑器。它为开发者提供了一套完整的框架,用于开发基于模型的图形编辑工具,...

    eclipse gef demo

    Eclipse GEF(Graphical Editing Framework)是一款强大的图形编辑框架,用于在Eclipse环境中开发图形化用户界面,尤其是用于创建可视化的建模工具和流程编辑器。本DEMO旨在指导开发者如何利用GEF来开发Eclipse插件...

    eclipse gef插件

    GEF(Graphical Editing Framework)是Eclipse平台中的一个核心组件,主要用于创建图形化编辑器。这个插件极大地扩展了Eclipse的功能,允许开发者构建复杂的图形用户界面(GUI)应用,特别是对于那些需要可视化表示...

    GEF入门实例代码2《Eclipse插件开发》中实例

    这个实例代码2是《Eclipse插件开发》教程中的一部分,旨在帮助初学者理解如何利用GEF来创建自定义的图形编辑器。在Eclipse插件开发中,GEF提供了一套强大的框架,使得开发者可以方便地构建出功能丰富的图形用户界面...

    Eclipse GEF+Draw2DAPI

    总之,Eclipse GEF和Draw2D是Eclipse生态中强大的图形编辑工具,结合RCP,可以创建出专业级的图形化应用程序。通过深入研究GEFAPI.CHM和draw2d_api-doc.CHM,开发者能够更好地掌握这两者的核心特性和用法,提升自己...

    eclipse GEF 插件

    在Eclipse IDE中,GEF主要用于创建模型驱动的设计环境,例如流程设计器、UML类图编辑器等,使得开发者能够以图形化的方式操作和编辑复杂的系统模型,极大地提升了开发效率和用户体验。 GEF的核心概念主要包括模型...

    eclipse插件 GEF-SDK-3.4.0.zip

    本压缩包"GEF-SDK-3.4.0.zip"提供了GEF的软件开发工具包,帮助开发者在Eclipse环境中创建功能丰富的图形编辑工具。 1. **GEF介绍** GEF是Eclipse平台的一个核心部分,它提供了一套框架和服务,用于构建基于模型的...

    Eclipse的GEF插件

    Eclipse的GEF(Graphical Editing Framework)插件是一个强大的图形编辑框架,它为开发者提供了在Eclipse集成开发环境中创建可视化的图形界面和编辑器的能力。这个插件主要用于构建复杂的图形用户界面,如UML模型、...

    eclipse_gef_example.rar

    Eclipse GEF(Graphical Editing Framework)是一个强大的开源框架,用于构建图形化编辑器和可视化应用程序。这个"eclipse_gef_example.rar"压缩包提供了一系列的例子,帮助开发者更好地理解和掌握GEF框架。以下是对...

    ECLIPSE GEF 5.4.0

    ECLIPSE GEF 5.4.0是该框架的一个版本更新,它提供了丰富的功能,使得开发者能够便捷地创建可自定义的、交互式的图形编辑环境。 在Eclipse GEF 5.4.0中,主要包含以下几个关键知识点: 1. **图形模型**:GEF的核心...

    eclipse gef+ve+emf下载

    安装方式:在eclipse目录下创建两个子目录myplugins和links,然后在myplugins目录下建三个子目录emf,gefruntime和ve,将emf-sdo-runtime-2.2.0.zip解压缩到emf目录下,将GEF-runtime-3.2.zip解压缩到gefruntime目录...

    Eclipse插件开发:GEF入门系列宝典_gef_

    由于工作的需要,最近开始研究GEF(Graphical Editor Framework)这个框架,它可以用来给用户提供图形化编辑模型的功能,从而提升用户体验,典型的应用如图形化的流程设计器、UML类图编辑器等等。

    eclipse的GEF插件

    Eclipse的GEF(Graphical Editing Framework)插件是一个强大的工具,用于在Eclipse集成开发环境中创建、编辑和展示图形用户界面。它为开发者提供了一种框架,支持创建可定制的、交互式的图形编辑器,使得开发人员...

    Eclipse GEF 框架原理分析

    通过简单易懂的方式,介绍了Eclipse GEF 框架原理。对GEF开发有极大的好处/

    eclipse3.4的可视化开发GEF

    **Eclipse 3.4 可视化开发:GEF详解** **一、Eclipse GEF简介** Eclipse GEF(Graphical Editing Framework)是Eclipse平台中的一个核心组件,用于构建图形化编辑器和可视化工具。它为开发者提供了一套全面的API,...

Global site tag (gtag.js) - Google Analytics