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

GMF编辑器中图元的前景色,字体,线条宽度的定制方法

    博客分类:
  • GMF
 
阅读更多

要让GMF编辑器中的图元更加生动,可以通过在gmfgraph中增加一些元素(比如前景色)来定制图元的显示形式,但是有些特征(比如字体)无法仅仅通过gmfgraph来完成,这就需要我们修改GMF生成的Diagram Code来达到所需要的效果。如下图所示:
 
   1.前景色:
      图中紫色的椭圆代表Method类型的元素,起前景色可以通过gmfgraph来定制:
     
    2.线条宽度(2),线条种类(LINE_SOLID):
    
    也可以通过修改MethodEditPart中的内部类MethodFigure的构造函数来完成1和2两个特征的定制:

public MethodFigure() {
    
this.setFill(true);
    
this.setFillXOR(false);
    
this.setOutline(true);
    
this.setOutlineXOR(false);
    
this.setLineWidth(2);
    this.setLineStyle(Graphics.LINE_SOLID);
    this.setForegroundColor(METHODFIGURE_FORE);
    createContents();
}


   3.字体: 要通过修改MethodNameEditPart的setLabelTextHelper方法来完成。
    

    protected void setLabelTextHelper(IFigure figure, String text) {
        
if (figure instanceof WrapLabel) {
            ((WrapLabel) figure).setText(text);
            
            FontData fd = new FontData();
            fd.setStyle(SWT.BOLD);
            ((WrapLabel) figure).setFont(new Font(null, fd));


        }
 else {
            ((Label) figure).setText(text);
        }

    }

  
     4.结点默认大小:由于图中两个黄色的“BEGINING"和"ENDING"结点中的文字不需要修改,因此这两个结点的默认大小可以根据字符串的宽度和高度来设置(GMF默认的高度和宽度是40,40)。修改BeginingEditPart中的createNodePlate方法(注:由于编辑器中的结点Shape是放在Plate上,Plate再放在画布上的,因此Plate的大小决定了编辑器中图元的大小,修改Shape没用)。

    protected NodeFigure createNodePlate() {
        DefaultSizeNodeFigure result 
= new DefaultSizeNodeFigure(getMapMode()
                .DPtoLP(EventConstant.BEGINING_DEFAULT_WIDTH), getMapMode().DPtoLP(EventConstant.BEGINING_DEFAULT_HEIGHT));
        
return result;
    }
分享到:
评论
1 楼 silence406 2008-07-24  
没做成,加了属性还用干什么吗?我的就不管用,我还重新生成了一遍代码都不行

相关推荐

    gmf 1.7 最新版的gmf

    3. **图元工厂**:GMF提供图元工厂,用于创建和管理图形元素,包括形状、连接线等,这些元素在编辑器中显示。 4. **编辑操作**:GMF能够自动处理常见的编辑操作,如拖放、剪切、复制、粘贴、撤销和重做等。 5. **...

    15 分钟学会 Eclipse GMF

    GMF是Eclipse Modeling Framework (EMF)的扩展,用于构建可定制的、高效的图形编辑器。EMF提供了一种模型到代码的生成机制,而GMF则专注于生成图形用户界面,使得开发人员能够专注于业务逻辑,而不是底层UI实现。 ...

    Eclipse插件 GMF

    在Eclipse插件GMF中,你还可以利用EMF(Eclipse Modeling Framework)的强大功能,如数据持久化、版本控制和互操作性,进一步提升模型的灵活性和可扩展性。 总结来说,Eclipse插件GMF是一个强大的建模框架,它允许...

    GMF数据表建模例子

    模型定义使用Ecore,图形定义使用GMF图元和图表,编辑器定义通过编辑器描述文件完成,最后通过GMF生成器生成代码并编译运行。 4. **数据库建模**:数据库建模是设计数据库结构的过程,包括实体关系模型(ER模型)、...

    GMF EMF

    - 在实际项目中,GMF可以帮助开发人员构建定制化的模型编辑环境,提高生产力。 通过深入研究GMF ѧϰ和GMF 学习这两个文件,你将能够掌握GMF的基本概念,理解其工作原理,并具备使用GMF创建自己的图形编辑器的能力...

    GMF实例解析.pdf

    GMF,全称是Graphical Modeling Framework,是Eclipse建模项目中的一个重要组成部分,它建立在GEF(Graphical Editor Framework)和EMF(Eclipse Modeling Framework)之上,为开发基于图形界面的编辑器提供了一种更...

    org.eclipse.gmf.rar

    本文将深入探讨GMF中的RAR(Runtime Architecture Resource)组件,以及其在模型驱动开发中的关键作用。 首先,我们需要理解RAR的含义。"org.eclipse.gmf.rar"是Eclipse GMF运行时架构资源的标识符,它是GMF的核心...

    GMF实例解析(PDF版)

    通过重构Taipan应用程序或插件,开发者不仅可以掌握GMF的基本操作,还能探索其高级特性,如动态模型更新、定制编辑行为和扩展图形元素。 #### 结论:GMF——图形化编辑器的未来 GMF的出现极大地推动了图形化编辑器...

    GMF教程.doc

    本教程是基于英文教程的实践与翻译,旨在帮助读者理解并掌握如何使用GMF创建一个Mindmap编辑器。 1. **创建GMF项目** - 在Eclipse中,通过`File` > `New` > `Project`,选择`New GMF Project`,创建名为`org....

    eclipse gef ve gmf

    VE是Eclipse中的一个可视化编辑器项目,旨在提供一种直观的方式来创建和编辑Java Swing和 SWT/JFace 应用程序。它允许开发者通过拖放的方式设计GUI界面,而不是手动编写XML代码或使用复杂的布局管理器。VE支持多种...

    eclipse GMF 制作简单工作流流程设计器(3)

    - 图形元素的定制,包括形状、连接线和属性编辑器,以便用户能够创建和修改工作流步骤。 - 编辑操作的实现,如拖放、剪切、复制、粘贴和撤销/重做功能。 - 图形的布局算法,确保工作流流程在界面上的合理排列。 - ...

    一个简单的GMF实例

    GMF允许开发人员通过模型驱动的方法来设计和实现复杂的图形编辑工具,它提供了丰富的功能,包括自动代码生成、图形布局和交互逻辑等。 【描述】: 虽然描述部分为空,我们可以推测这篇博文可能详细介绍了作者创建...

    GMF Tourial中文版(一)

    - 通过对**mindmap**应用的具体实现过程的学习,可以深入了解GMF的各个方面,包括模型的定义、编辑器的创建、图形元素的定制等。 - 在实际操作过程中,开发者可以逐步熟悉GMF的核心概念和技术细节,从而更好地掌握这...

    GMF 开发文档

    **GMF (Graphical Modeling Framework)** 是一种基于Eclipse的框架,用于构建图形编辑器。它为开发人员提供了创建和定制图形用户界面(GUI)的功能,使得创建复杂的模型变得更加简单。 #### 二、GMF项目开发流程 #...

    GMF Tutorial中文版

    【GMF Tutorial中文版】是一套面向初学者的Eclipse GMF(Graphical Modeling Framework)入门教程。GMF是Eclipse建模项目的一个子项目,它的主要目标是为Eclipse Modeling Framework (EMF)和Graphical Editing ...

    深入GMF/EMF/GEF

    主要是对自己做的项目的一些总结,包括如何自动添加图元、删除图元,建立连线,获得编辑器的EditPart,不打开编辑器,获取编辑器的EditPart,属性居中,自动保存图片等功能的实现。另外还有一些参考资料

    GMF介绍以及使用手册.rar

    在GMF中,有两个关键的文件类型:EMF(Eclipse Modeling Framework)模型和GMF元模型。EMF模型定义了业务数据的结构,而GMF元模型则描述了这些数据如何在图形界面上呈现。GMF元模型包括两部分:图形(Graphics)定义...

Global site tag (gtag.js) - Google Analytics