gmf

  • GMF树形布局 3 展开/折叠时更换Node图标
    GMF树形布局 3 展开/折叠时更换Node图标

    前一篇博客实现了展开/折叠,但是如果当节点折叠时图标可以发生变化,例如变成加号,那就直观了.这篇博客解决这个问题. 具体步骤如下: 1.首先,将两个图标文件放在diagram工程下的icons\custom下,并刷新这个工程,如下图所示: 2.修改Topic节点图标的地方,在TopicNameEditPart中的getLabelIcon()方法中,需要将它修改.具体思路是:检查其父类即TopicEditPart所对应的的模型的isExpanded成员变量,如果是false,则返回加号图像,否则,

    gmf, 树形, 布局, 展开, 折叠, 图标August 17

  • GMF树形布局 2 实现展开/折叠
    GMF树形布局 2 实现展开/折叠

    这一篇博客在上一篇的基础上,实现展开/折叠功能.期待的最终效果是,双击某一Node,其后面的Node与连线都隐藏:再双击时显示回来.并且折叠之后,保存关闭,下次打开时还处于折叠状态,可以正确展开. 有一个细节应当注意,如下图: 比如折叠了节点1之后再折叠节点0,之后再展开节点0的时候,节点1应当还是处于折叠状态. 具体步骤如下: 1.为了实现这个展开/折叠操作,并且方便以后实现图标的更换,可以在节点的模型文件中添加一个布尔型的变量expanded,用于标识展开状态.可以在模型文件中修改,然后重新

    gmf, 树形, 布局, 展开, 折叠August 17

  • GMF树形布局 1 初步实现
    GMF树形布局 1 初步实现

    通过与两位师弟共同钻研,终于实现了GMF的树形布局,并有展开/折叠功能,展开或者折叠时,相应节点的图标会发生相应的变化,用来标示节点是展开的还是折叠的.最终效果如下图: 图中节点1211与231就是处于折叠状态.当然,肯定还有不完善的地方. 这一篇博客初步实现树形布局.所用的示例代码是之前博客<GMF 教程 Mindmap 1>中的最终代码. 本文中所说的树形布局,主要是针对连线,并没有实现节点的自动布局.首先为连线创建一个布局管理器. 所谓连线的布局管理器,就是为连线添加转折点.本文限定树是

    gmf, 树形, 布局August 17

  • GMF 教程 Mindmap 5
    GMF 教程 Mindmap 5

    这一部分主要实现的是: 使用扩展的Plug-in为我们的Diagram添加一个自定义动作 Creating a Customization Plug-in 尽管可以给生成的代码添加备注@generated NOT来避免下次重新生成代码时覆盖我们修改的代码,除此之外,还可以使用一个新的Plug-in工程来将自定制(扩展)与生成的工程分离. 1.创建一个新的Plug-in工程,命名为org.eclipse.gmf.examples.mindmap.diagram.custom,使用默认的设置,不要A

    eclispe, gmf, mindmap, 教程March 17

  • GMF 教程 Mindmap 4
    GMF 教程 Mindmap 4

    这一部分主要实现的是: 替换图标 使用graphical definition添加一个混合图形 New Icons 1.替换图标.替换图标最简单的方法是将org.eclipse.gmf.examples.mindmap.edit\icons文件夹下的GIF的图像换了. 除了这个方法,比如想要替换Creation Tool Subtopic的默认图标,可以将准备好的图片Subtopic.gif放在/icons/full/obj16/Subtopic.gif目录下,然后在mindmap.gmftoo

    eclipse, gmf, mindmap, 教程March 16

  • GMF 教程 Mindmap 3
    GMF 教程 Mindmap 3

    Link Constraints 目前为止,工程运行一个Topic结点给自己连线,显然是没有意义的.接下来通过使用约束,避免这种现象. 1.打开mindmap.gmfmap,找到目前唯一的Link Mapping结点,右击,选择New Child > Link Constraints,然后右击这个Link Constraints,选择New Child > Source End Constraint,Language属性默认为ocl,设置Body属性为self <> opposit

    eclispe, gmf, mindmap, 教程March 15

  • GMF 教程 Mindmap 2
    GMF 教程 Mindmap 2

    对Step1做补充操作,主要增加的功能: 为Topic结点添加划分(compartment),实现结点嵌套,使得可以在结点上半部显示结点名称,在下半部可以添加新的内容(这里是加入Thread子结点) Graphical Definition 1.打开mindmap.gmfgraph,展开,右击Figure Gallery Default,选择New Child--Figure Descriptor,名称为RoundedTopicFigure.再右Figure Descriptor Rounded

    eclispe, gmf, mindmap, 教程March 13

  • GMF 教程 Mindmap 1
    GMF 教程 Mindmap 1

    本文是跟着英文教程做了一遍,并简单翻译.截图,做了一些补充,总算是实现了原文的效果.其中关于各种模型文件的介绍就略去了,想了解更多可查看原文. 这部分的内容就是从头创建一个GMF项目,实现一些小的功能. 下面每做好修改,都要及时保存. 创建项目 1.新建一个GMF项目: File--New--Project,找到New GMF Project: 工程名称是org.eclipse.gmf.examples.mindmap 点击Next,在下一步选中Show dashboard view for t

    eclipse, gmf, mindmap, 教程March 12

  • Eclipse安装GMF插件
    Eclipse安装GMF插件

    从接触GMF到现在已经一年多,不过这一年多的时间只有几个月的时间用过,剩下的时间都在做别的.当时用的Eclipse是导师给的3.6版本,已经装好GMF插件,挺好用的.之后自己试着自己在Eclipse 3.7中安装GMF插件,都以失败告终.貌似需要装的插件实在是太多了,它们之间有着各种依赖,先装哪个都不行. 现在,由于种种原因,需要将GMF拾起来,当然首先要给Eclipse安装GMF插件,终于找到了可行的办法,原来问题在于下载的Eclipse,应当选择RCP版本的. 在这里记录下来,以备以后查看.

    eclipse, gmf, 安装, 插件October 23

  • GMF中的小知识点

    1.根据EditPart得到标记模型:editpart.getModel(); 2.根据EditPart得到语义模型:((org.eclipse.gmf.runtime.notation.View) editpart.getModel()).getElement(); 3.创建图形后禁止改变图形大小:在相应的EditPart中添加或修改代码 /** * @generated NOT */ public EditPolicy getPrimaryDragEditPolicy() { EditPol

    gmfFebruary 18

  • GMF中的资源同步问题
    GMF中的资源同步问题

    这几天在GMF项目上遇到一个资源同步问题,当我打开一个diagram,在上边做一些修改后保存,然后继续做修改就会出现错误: The following file are out of synchronization with the workspace: 如下图: 但是,如果关闭之后再打开这个diagram,就恢复正常了. 直到现在我也搞不清为什么会出现这样的错误,我并没有直接对模型文件进行操作,都是从EditPart获得Model的. 由于是保存之后出现问题的,我找到了保存操作所在的.java

    gmf, 错误, 解决, 同步November 20

  • GMF之Shapes实例Part7:过滤右击菜单
    GMF之Shapes实例Part7:过滤右击菜单

    前边有至少两篇文章讲了添加右击菜单,一种是算是纯粹的用代码添加,另外一种是借助扩展点.借助扩展点的方法虽然比较简单,但是不够灵活,比如你想让某一菜单项在满足一定条件时才显示,或者想构造动态的菜单,那么就必须使用代码添加的方法了,并在构造菜单时做一个判断,满足条件才把这个菜单加上去. 现在看看我们的菜单,会发现总是有一些系统默认项,看上去不大清爽,如下图: 其实到现在只有两个菜单项是我们想要的:Delete From Model以及Change Image,其他的显示在那显得很多余,也很不美观.

    gmf, 过滤, 菜单November 14

  • GMF之Shapes实例Part6:给结点添加图片并实现保存

    之前给结点设置图片都不能保存,下次打开后还是原来的图片.接下来就是实现永久保存,其实就是给Shape结点所对应的模型元素添加一个属性ID,这个ID的值在创建模型时确定,并且,我们选择图片后将图片复制到一个确定的文件夹下,图片名就是ID名. 1.给AbstractShape模型添加属性ID:修改工程org.eclipse.myTest.shapes下的models下的shapes.ecore_diagram,这样它所对应的shapes.ecore文件也会改变,为AbstractShape添加属性I

    gmf, 图片, 永久存储October 6

  • GMF之Shapes实例Part5:使用扩展点为指定类型结点添加右击菜单并改变图片
    GMF之Shapes实例Part5:使用扩展点为指定类型结点添加右击菜单并改变图片

    在Part4中我们为节点添加了右击菜单,但是使用这种方式会给所有节点都添加菜单.如果我们只想给某种类型的结点添加菜单,就要使用扩展点方式了. 1.首先新建一个Action:在工程org.eclipse.myTest.shapes.diagram中的Actions包中新建一个类ChangeImageAction,并使它继承AbstractActionDelegate类并实现接口IObjectActionDelegate,在这个Action中首先选择图片,然后再给指定结点改变图片,其完整代码如下:

    gmf, 图片, 右击菜单, 扩展点October 6

  • GMF之Shapes实例Part2:设置背景图片或背景色
    GMF之Shapes实例Part2:设置背景图片或背景色

    1.在org.eclipse.myTest.shapes.diagram工程下的icons文件夹下新建一个文件件custom,将我们用作背景的图片放进去,本例中用的是background.jpg,之后,在Eclipse中刷新org.eclipse.myTest.shapes.diagram工程. 2.在org.eclipse.myTest.shapes.diagram工程的org.eclipse.myTest.shapes.diagram.part包下新建类BackGroundLayer.jav

    gmf, 图片, 背景August 24

  • GMF之Shapes实例Part1:创建一个GMF项目
    GMF之Shapes实例Part1:创建一个GMF项目

    接触GEF与GMF有一段时间了,感觉它们的功能还是很强大的,只是我学的比较慢.也许每个人的学习方法不一样,我比较习惯做简单的例子.今天下午也不干活了,写几篇关于GMF入门的博客.以后有时间会在该系列的前一篇博客的基础上更新. GEF与GMF比较经典的例子是Shapes,在这里我自己创建一个Shapes示例,其中包含6种连线(其中两条是后备用的).5种图形(也有两个是后备的),以后都是在它的基础上更新的. PS:我的Eclipse已经安装了GMF插件. 1.创建一个GMF项目: File→New→

    dashboard, gmf, 创建, 示例August 24

  • GMF中,设置模型在界面显示的位置

    在前一篇不通过GMF命令自动创建模型及其相关界面显示中,并没有设置每个模型在界面上显示时的位置, 当创建模型并在界面上显示时,程序模型都会显示在编辑器的左上角.在此篇中会讲述如何设置模型在界面上的位置 在图元模型notation中,具体以Node来说,有个属性叫 LayoutConstraint layoutConstraint 将其转化成BoundsImpl后将可以设置它的X,Y坐标. BoundsImpl bound= (BoundsImpl) node.getLayoutConstrain

    gmf, notation, 坐标设置July 16

  • 不通过GMF命令自动创建模型及其相关界面显示

    在GMF中,我们创建一个模型的基本流程是: 1.在GMF的Palette面板上的工具进行点击,产生对应的请求 2.当鼠标移到右侧的编辑器上时会根据请求产生对应的CreateElementCommand,当鼠标点击下去时,该命令被执行, 于是工具对应的业务模型,notation模型和对应的editpart全部生成,并在界面上展示出来,但是如何通过其他方式来 产生我们的模型及其UI显示呢. 现在我的程序中,是在Papyrus中,不点击右侧Palette的面板上的泳道工具,就能自动的在左侧的编辑器上创

    gmf, 自动创建模型July 15

  • Solution to the lack of org.eclipse.gef 0.0.0
    Solution to the lack of org.eclipse.gef 0.0.0

    When installing the ADT today, suggesting that "Cannot complete the install because one or more required items could not be found. Software being installed: Android Development Tools 0.9.6.v201002051504-24846 (com.android.ide.eclipse.adt.feature.grou

    eclipse, development tools, google, plug ins, available software, foreign language, gef, adt, gmf, feature group, webtools, smooth installation, language forumMay 21

  • Ubuntu install android development environment experience

    First, the first is to install the android sdk. Android sdk in Web search to find you the same person more than N write the article, said that from the above http://developer.android.com/sdk/index.html download, but the site generally can not get at

    eclipse, development tools, development environment, google, linux, baidu, platforms, new software, web search, terminal run, dl, emf, adt, gmf, feature group, webtoolsMay 14

  • jmerge finishing something

    Eclipse jmerge Learning: One of the most simple example 2008-08-06 09:37 last code generation aspects of the work to be done, given the need to merge the generated code and user manual modify the code, look at eclipse of jmerge, the Internet found a

    import java, lt xml, eclipse, java math, code generation, main string, merger, aa, public class test, test class, new generation, code coverage, test java, code target, string target, string source, public void method, code source java, target configuration, gmfMarch 18