在读书笔记:Visual Studio DSL工具特定领域开发指南中介绍过图形DSL有几个重要内容必须要定义:域模型(域类和关系、约束)、符号、生成、序列化和工具集成。在MetaModelEngine:域模型定义中介绍了域模型定义相关内容,在MetaModelEngine:模型存储的概要说明中介绍了存储的问题,本篇接着介绍界面定义相关内容。
形状
MetaModelEngine支持几何形状、隔间形状和泳道三种形状,具体样式各自图形所示:
- 几何形状:通过几何形状的构成非常容易的查看形状所代表元素的信息
- Object、Port、Role、Relation都支持几何形状。Object形状一般为一个几何形状加上一些信息,Role形状一般为一条直线加上一些信息,Relation形状一般就是一个连接点
- 这些几何形状,可以通过一个符号编辑器进行定制,具备基本的画线等基本几何图形,以及设定图形的基本属性,例如颜色、线宽、填充、样式等
- 加入文本或者高级控件还可以与模型元素属性关联
- 可以在几何形状上自定义连接点和连接边
- 隔间形状:一种带有隔间的特殊几何形状,展现UI如下所示:
隔间用于显示链接到隔间形状实例对应元素的元素列表,例如UML中的类定义的属性和方法。
- 泳道:用来将图标分割成行或者列,一般在流程定义中使用。泳道属于图中使用的形状,分为横向和纵向两种泳道
属性窗口
通过元模型对象定义的Property,可以采用类似OpenExpressApp中的AutoUI功能来自动生成一个属性编辑窗口,基于这个窗口我们还可以修改布局
图形设计器
WPF:从WPF Diagram Designer Part 1学习控件模板、移动、改变大小和旋转
WPF:从WPF Diagram Designer Part 2学习面板、缩略图、框线选择和工具箱
WPF:从WPF Diagram Designer Part 3学习如何给设计器增加连接线功能
WPF:从WPF Diagram Designer Part 4学习分组、对齐、排序、序列化和常用功能
欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]