Mindmap

GMF 教程 Mindmap 3

天大地大妈咪最大 提交于 2019-12-10 18:04:47
Link Constraints 目前为止,工程运行一个Topic结点给自己连线,显然是没有意义的。接下来通过使用约束,避免这种现象。 1、打开mindmap.gmfmap,找到目前唯一的Link Mapping结点,右击,选择New Child > Link Constraints,然后右击这个Link Constraints,选择New Child > Source End Constraint,Language属性默认为ocl,设置Body属性为self <> oppositeEnd,如下图所示: 2、重新设成mindmap.gmfgen和diagram代码,运行一下,可以发现不可以给Topic结点自己连线了。 Another Connection 领域模型中的Relationship元素用来指明Topic元素之间若干可能的关系。接下来将要实现支持画出这个连线。这个例子将会更完全地说明GMF中的Link Mapping可用的属性。 Graphical Definition 3、打开mindmap.gmfgraph,右击Figure Gallery,选择New Child > Figure Descriptor,命名为DashedLineOpenArrow。然后右击新建的Figure Descriptor,选择New Child > Polyline Connection

GMF 教程 Mindmap 5

妖精的绣舞 提交于 2019-12-10 17:53:25
这一部分主要实现的是: 使用扩展的Plug-in为我们的Diagram添加一个自定义动作 Creating a Customization Plug-in 尽管可以给生成的代码添加备注@generated NOT来避免下次重新生成代码时覆盖我们修改的代码,除此之外,还可以使用一个新的Plug-in工程来将自定制(扩展)与生成的工程分离。 1、创建一个新的Plug-in工程,命名为org.eclipse.gmf.examples.mindmap.diagram.custom,使用默认的设置,不要Activator类,也不用向导提供的任何模板。 Custom Actions 目前为止创建一个新的Subtopic的方法比较麻烦,需要频繁点击工具。现在希望给Topic结点添加右击菜单项Create Subtopic来实现这个操作,直接创建Subtopic结点,包括连线。 首先,我们要知道,org.eclipse.ui.bindings可以用来将Ctrl+I组合键(或者其他组合键)分配给我们的Action。可以通过修改diagram.custom工程的plugin.xml文件来实现。不过刚创建的新工程没有这个文件,不过没关系。 2、打开diagram.custom工程的MAINIFEST.MF,选择标签Extension,单击Add,添加org.eclipse.ui.bindings扩展点:

GMF 教程 Mindmap 2

 ̄綄美尐妖づ 提交于 2019-12-10 17:53:03
对Step1做补充操作,主要增加的功能: 为Topic结点添加划分(compartment),实现结点嵌套,使得可以在结点上半部显示结点名称,在下半部可以添加新的内容(这里是加入Thread子结点) Graphical Definition 1、打开mindmap.gmfgraph,展开,右击Figure Gallery Default,选择New Child——Figure Descriptor,名称为RoundedTopicFigure。再右Figure Descriptor RoundedTopicFigure,选择New Child——Rounded Rectangle,名称也是RoundedTopicFigure,并将Corner Width和Height属性都设置成12。 2、设置默认的边框颜色: 右击Rounded Rectangle RoundedTopicFigure,选择New Child——Foreground Color RGB Color,设置属性为R=220,G=220,B=250,如下图: 3、后面会重用TopicFigure矩形,作为sticky结点的图形。找到Figure Descriptor TopicFigure结点,将它命名为StickyNoteFigure,添加背景颜色为R=250,G=250,B=190