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

欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]

转载于:https://blog.51cto.com/zhoujg/517026

GMP:了解GMF引擎功能Graphical Modeling Framework相关推荐

  1. GMP:了解GMF引擎功能(Graphical Modeling Framework)

    在OpenExpressApp make business engineers develop applications中说过先考虑使用EMF先实现一个TOGAF9的建模工具来综合的了解建模更方面的知 ...

  2. GEF(Graphical Editing Framework)介绍

    在GMP:了解GMF引擎功能(Graphical Modeling Framework)中的架构组件中介绍了GMF依赖于GEF,本篇介绍一下GEF.GEF(Graphical Editing Fram ...

  3. opencascade造型引擎功能介绍

    opencascade造型引擎功能介绍 现今的CAD 系统大多通常都基于CAD 系统提供的二次开发包,用户根据要求定制符合自己要求的功能.AutoCAD就提供了AutoLISP.ADS 等都是比较通用 ...

  4. 关于Eclipse中的开源框架EMF(Eclipse Modeling Framework),第三部分

    Eclipse Modeling Framework(EMF)中包含了一个开放源代码的工具 JMerge,这个工具可以使代码生成更加灵活,可定制性更好.本文使用一个例子来展示如何将 JMerge 添加 ...

  5. 深度学习论文: PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization

    深度学习论文: PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization PaDiM: ...

  6. python自动寻路模板_Python实现的简单模板引擎功能示例

    本文实例讲述了Python实现的简单模板引擎功能.分享给大家供大家参考,具体如下: #coding:utf- 8 __author__="sdm" __author_email=' ...

  7. python3 模板引擎_Python实现的简单模板引擎功能示例

    本文实例讲述了Python实现的简单模板引擎功能.分享给大家供大家参考,具体如下: #coding:utf- 8 __author__="sdm" __author_email=' ...

  8. php模板引擎 例子,PHP实现简单的模板引擎功能示例

    本文实例讲述了PHP实现简单的模板引擎功能.分享给大家供大家参考,具体如下: php web开发中广泛采取mvc的设计模式,controller传递给view层的数据,必须通过模板引擎才能解析出来.实 ...

  9. .NET开源工作流ccflow流程引擎功能大全

    驰骋工作流引擎ccflow 概要说明 驰骋工作流引擎,工作流程管理系统:简称ccflow,驰骋一体化解决方案简称ccport. ccflow是济南驰骋信息技术有限公司向社会提供的一款100%开源软件, ...

最新文章

  1. django项目转pyc_问题网址.pycdjango生成的文件,如何修复?
  2. java线程同步以及对象锁和类锁解析(多线程synchronized关键字)
  3. Thinking in C++ Notes 名字控制
  4. 第十四章 架构师领导艺术(待续)
  5. linux 信号没有被处理方法,[计算机]Linux 信号signal处理机制.doc
  6. python方法调用方法_Python之方法调用
  7. java 递归求二进制,java-二进制搜索递归猜测数字
  8. cloverconfig机型修改_Clover的Config新手设置教程
  9. Android 旋转动画简单实现
  10. Foxmail设置方法
  11. AMS中控推送系统安装使用说明
  12. 二极管压降电压一览表
  13. python中sub的用法_python 正则表达式篇 - sub 用法
  14. 美式口语发音技巧:《发音总结》
  15. java股票接口怎么样获得?
  16. 思科cisco交换机如何查找环路及解决方法
  17. Android音频架构概览
  18. Html是网页制作的核心语言吗,html网页设计报告总结.doc
  19. 嵌入式MQTT连接主要流程
  20. python修改excel背景色,基于python的excel背景颜色控制

热门文章

  1. 注入技术--消息hook注入
  2. ELASTIC的备份与恢复
  3. 静态页中调用动态数据的三种办法
  4. System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
  5. 揭开AI产品PRD的面纱,浅谈其和互联网产品PRD的异同
  6. O2O上门实战复盘:10万元如何换来937个订单?
  7. 与姬十三探讨如何42天搞定2500万美金投资,创业秘密都在这里
  8. 啊啊啊...每次需求评审总被boss虐成狗?解药来了
  9. 14-python基础3-数据类型
  10. MySQL常用数据类型小结