GMF学习之十八链接线Editpart

原创 2013年12月03日 14:18:57

修改连线是否带有箭头的方案

1、从元模型的角度修改:

第一步:在图形模型中定义连线图形,代码例子如下:

1)带有关闭箭头的实线

<descriptors
        name="SolidLineClosedArrow">
      <actualFigure
          xsi:type="gmfgraph:PolylineConnection"
          name="SolidLineClosedArrow"
          targetDecoration="//@figures.0/@descriptors.0/@actualFigure/@children.0">
        <children
            xsi:type="gmfgraph:PolygonDecoration"
            name="ClosedArrow">
          <backgroundColor
              xsi:type="gmfgraph:ConstantColor"
              value="black"/>
          <template/>
          <template
              x="-1"
              y="1"/>
          <template
              x="-1"
              y="-1"/>
          <template/>
        </children>
      </actualFigure>
    </descriptors>

2)带有打开箭头的虚线

<descriptors
        name="DashedLineOpenArrow">
      <actualFigure
          xsi:type="gmfgraph:PolylineConnection"
          name="DashedLineOpenArrow"
          lineKind="LINE_DASH">
        <children
            xsi:type="gmfgraph:PolylineDecoration"
            name="OpenArrow">
          <template
              x="-1"
              y="1"/>
          <template/>
          <template
              x="-1"
              y="-1"/>
        </children>
      </actualFigure>
    </descriptors>

3)不带箭头的虚线

<descriptors
        name="DashedLine">
      <actualFigure
          xsi:type="gmfgraph:PolylineConnection"
          name="DashedLine"
          lineKind="LINE_DASH"/>
    </descriptors>

第二步:引用链接线

修改在属性面板中Target Decoration属性值。

第三步:重新生成图形编辑器代码

 2、从代码层面的角度修改

直接修改链接类*EditPart代码,加入代码例子如下:

		private RotatableDecoration createTargetDecoration() {
			PolygonDecoration df = new PolygonDecoration();
			df.setFill(true);
			df.setBackgroundColor(ColorConstants.black);
			PointList pl = new PointList();
			pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0));
			pl.addPoint(getMapMode().DPtoLP(-1), getMapMode().DPtoLP(1));
			pl.addPoint(getMapMode().DPtoLP(-1), getMapMode().DPtoLP(-1));
			pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0));
			df.setTemplate(pl);
			df.setScale(getMapMode().DPtoLP(7), getMapMode().DPtoLP(3));
			return df;
		}

燕十八老师讲的js,自己做的笔记,有点乱。供以后学习使用。。。。

javascript
  • Hxn_Fight
  • Hxn_Fight
  • 2015年04月01日 14:36
  • 1765

自己理解的GMF

GMF概况: GMF该框架是一个Eclipse建模项目的子项目,其目标是为Eclipse建模框架EMF和图形化编辑框架GEF提供一个统一的桥梁。GMF的一个目标就是允许一个图形化定义可以被很多领域复用...
  • xsdxs
  • xsdxs
  • 2015年11月16日 15:25
  • 1066

Sublime Text 2编辑器的妙用

Sublime Text 2 使用心得 一、 前言 作为一个前端,有一款好的开发利器是必不可少的,editplus、notepad++都是不错的工具,体积轻巧,启动迅速(dw太浮肿了)。最...
  • z10160
  • z10160
  • 2013年08月31日 09:49
  • 500

区块链技术学习笔记

上周末参加了一个区块链技术培训班,大致搞明白了以下问题:1、比特币为什么会衍生出挖矿、矿机这套产业链?为什么那么多人炒币?2、公有链、联盟莲、私有链的区别在此做个简单分享。1、比特币这种公有区块链的技...
  • russell_tao
  • russell_tao
  • 2017年07月04日 09:49
  • 1096

GMF学习历程(3)

不知不觉,距离上次写博客已经一个月了,这一个月忙着开题的事,这几天才开始接着研究GMF。目前已完成了界面的初步版本,按照惯例先上效果图。 目前的版本存在几个问题待研究和解决(只包括故障树编辑...
  • youmenderizi
  • youmenderizi
  • 2015年11月24日 10:34
  • 215

GMF学习历程(1)

最近由于实习需要,一直在研究GMF,就写下博客记录这其中走过的弯路吧,欢迎留言讨论,本人尚是新手,欢迎指正。 对于GMF初步,网上有很多资料,这里就不赘述了。在实现一个缺省的GMF项目过程中,也遇...
  • youmenderizi
  • youmenderizi
  • 2015年10月16日 11:40
  • 249

最全的MySQL基础【燕十八传世】

1.课前准备! 开启mysql服务:1).配置环境变量;2).net start mysql 将该sql文件导入到你的数据库中,以下所有操作都是基于该数据库表操作的!!! 【此笔记是本人看着...
  • qq_27229113
  • qq_27229113
  • 2017年07月16日 15:48
  • 479

visio_连接线样式设置:如箭头线

在使用visio画流程图的时候,如何把直线变成带箭头的“箭头线”呢? 如下:在默认为直线连接时,右键,选择“样式”,如下: 然后在弹出的选项中,选择“线条”,会弹出下一级菜单,再选择“箭头”,...
  • huangyanlong
  • huangyanlong
  • 2015年12月29日 09:04
  • 19870

燕十八视频--CSS

1,浏览器解析标准声明doctype:总共有三种类型,分别为:transitional,strict,frameset transitional:过渡型标准,这种标准允许使用表现层的标识,元...
  • qiechongpin
  • qiechongpin
  • 2016年01月10日 13:34
  • 396

ESP8266接线接线说明

esp8266系列的便准供电是3.3V电压,但是可以超过一点,但是绝对不能是5V奥!!!!!! 1、esp8266-01正常启动接线:CH-PD接VCC,GPIO0接VCC;烧录程序或者固件升级的接线...
  • qq_33114231
  • qq_33114231
  • 2017年04月28日 13:30
  • 2025
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GMF学习之十八链接线Editpart
举报原因:
原因补充:

(最多只允许输入30个字)