MetaModelEngine:界面表示

简介:

 在读书笔记: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学习分组、对齐、排序、序列化和常用功能

 








 本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/518085,如需转载请自行联系原作者


相关文章
|
6月前
|
Java 数据库 数据安全/隐私保护
银行流水生成器在线制作,银行转账p图在线生成,java实现最牛的生成器【仅供学习用途】
本资料探讨银行系统核心技术,涵盖交易记录生成、电子回单加密验真及基于Java的财务管理系统开发。主要内容包括:交易记录实体类设计(不可变性与数字签名)
|
6月前
|
存储 Oracle 关系型数据库
Oracle存储过程插入临时表优化与慢查询解决方法
优化是一个循序渐进的过程,就像雕刻一座雕像,需要不断地打磨和细化。所以,耐心一点,一步步试验这些方法,最终你将看到那个让你的临时表插入操作如同行云流水、快如闪电的美丽时刻。
322 14
|
SQL 关系型数据库 分布式数据库
Citus 简介,将 Postgres 转换为分布式数据库
【10月更文挑战第4天】Citus 简介,将 Postgres 转换为分布式数据库
456 4
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
1499 20
|
分布式计算 关系型数据库 MySQL
MySQL超时参数优化与DataX高效数据同步实践
通过合理设置MySQL的超时参数,可以有效地提升数据库的稳定性和性能。而DataX作为一种高效的数据同步工具,可以帮助企业轻松实现不同数据源之间的数据迁移。无论是优化MySQL参数还是使用DataX进行数据同步,都需要根据具体的应用场景来进行细致的配置和测试,以达到最佳效果。
|
SQL 存储 前端开发
『GitHub项目圈选05』推荐6款本周 火火火火 的开源项目
『GitHub项目圈选05』推荐6款本周 火火火火 的开源项目
278 0
|
存储 SQL 缓存
一文带你了解MySQL之Doublewrite Buffer
上一篇文章MySQL之Adaptive Hash Index详解我们学习了InnoDB Adaptive Hash Index自适应哈希索引的工作原理。其本质是将频繁访问数据页的索引键值以“Key”放在缓存中,“Value”为该索引键值匹配完整记录所在页面(Page)的位置,通过缩短寻路路径(Search Path)从而提升MySQL查询性能的一种方式。今天我们就学习了解一下Doublewrite Buffer是什么?工作原理是怎样的?
579 0
|
小程序 前端开发 数据管理
微信小程序点餐系统的开发与实现
微信小程序点餐系统的开发与实现
1383 0
微信小程序点餐系统的开发与实现
|
消息中间件 Kafka
聊一下kafka的消费组
消费组使kafka中很重的概念,只有弄清楚消费组的概念,才能在项目中把它运用好,在kafka中,每个消费者都对应一个消费组,消费者可以是一个线程,一个进程,一个服务实例,如果kafka想要消费消息,那么需要指定消费那个topic的消息以及自己的消费组id(groupId),也可以直接指定那个主题的哪些分区,不然无法消费消息,消费组是一个逻辑上的概念,如下图是主题,分区,消费组,消费者的关系图。
264 0
|
存储 负载均衡 Nacos
SpringCloud微服务框架(通俗易懂,一秒上手)(2)
(一)认识微服务 服务架构演变 单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。

热门文章

最新文章