在OpenExpressApp make business engineers develop applications中说过先考虑使用EMF先实现一个TOGAF9的建模工具来综合的了解建模更方面的知识,由于没有怎么用过Eclipse,上周看了三本书Eclipse in Action、Eclipse Plug-ins (3rd Edition)、Eclipse Modeling Framework (2nd Edition),只是大概的看了一下,了解了Eclipse的编程环境、插件编写以及EMF的大致内容,知道以后有什么不知道的东西在哪里去查看具体内容而已。本周开始看Eclipse Modeling Project,目标是这周看完后能够自己基于模型做一个简单的图形编辑器。
GMP(Graphical Modeling Project)提供了一套生成组件以及运行时引擎来基于EMF和GEF开发图形编辑器。本篇主要介绍一下GMP中主要的GMF(Graphical Modeling Framework),认识一下GMF引擎的主要功能。
介绍
GMF是Eclipse中达到快速开发图形建模工具的一个重要框架,例如UML编辑器、ECore编辑器、流程编辑器都可以用它来做。
GMF分为两个组件:运行时引擎(the runtime)和工具(the tooling)。工具提供一种模型驱动方法来生成基于Eclipse的图形编辑器,引擎是一个经过验证的基于EMF和GEF的图形编辑器的应用框架。
架构组件
GMF图形编辑器依赖于GMF runtime组件,同时也直接使用了EMF、GEF和Eclipse平台:
运行时引擎带来的好处
在深入学习图形编辑器之间,先考虑一下运行时引擎带来的好处:
- 提供GMF图形编辑器一致的界面和使用方法
- 编辑器可以从头开始或者从现在的GMF SDK中生成
- 管理图形序列化,允许客户关注业务逻辑
- 容易加强其他功能,允许第三方扩展编辑器,也可以继承社区提供的一些编辑器
- 已集成了一些新的EMFT组件,例如验证、OCL
- 引擎经过良好的设计、编码、测试和部署
引擎的部分功能
- 可折叠的套间(Collapsed and Expanded Compartment)
直接编辑(Direct Editing)
图形助手(Diagram Assistants)
弹出工具条(Pop-up Bars)
连接处理器(Connection Handles)
图形编辑器主界面
通用工具
通用菜单命令
通用工具条
放大和布局
通用属性
打印
- 加强的打印对话框
- 全局或者每个图的页面设置选项
- 分页线
- 打印预览
SVG和剪贴板支持
支持导出多种不同格式,例如:SVG, GIF, BMP, and JPEG
支持系统剪贴板
参考
- Introducing the GMF Runtime
- Tutorial
- Development Guidelines
- Developer Resources
- Online Documentation
- Downloads
本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/517026,如需转载请自行联系原作者