GMP:了解GMF引擎功能Graphical Modeling Framework
在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相关推荐
- GMP:了解GMF引擎功能(Graphical Modeling Framework)
在OpenExpressApp make business engineers develop applications中说过先考虑使用EMF先实现一个TOGAF9的建模工具来综合的了解建模更方面的知 ...
- GEF(Graphical Editing Framework)介绍
在GMP:了解GMF引擎功能(Graphical Modeling Framework)中的架构组件中介绍了GMF依赖于GEF,本篇介绍一下GEF.GEF(Graphical Editing Fram ...
- opencascade造型引擎功能介绍
opencascade造型引擎功能介绍 现今的CAD 系统大多通常都基于CAD 系统提供的二次开发包,用户根据要求定制符合自己要求的功能.AutoCAD就提供了AutoLISP.ADS 等都是比较通用 ...
- 关于Eclipse中的开源框架EMF(Eclipse Modeling Framework),第三部分
Eclipse Modeling Framework(EMF)中包含了一个开放源代码的工具 JMerge,这个工具可以使代码生成更加灵活,可定制性更好.本文使用一个例子来展示如何将 JMerge 添加 ...
- 深度学习论文: PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization
深度学习论文: PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization PaDiM: ...
- python自动寻路模板_Python实现的简单模板引擎功能示例
本文实例讲述了Python实现的简单模板引擎功能.分享给大家供大家参考,具体如下: #coding:utf- 8 __author__="sdm" __author_email=' ...
- python3 模板引擎_Python实现的简单模板引擎功能示例
本文实例讲述了Python实现的简单模板引擎功能.分享给大家供大家参考,具体如下: #coding:utf- 8 __author__="sdm" __author_email=' ...
- php模板引擎 例子,PHP实现简单的模板引擎功能示例
本文实例讲述了PHP实现简单的模板引擎功能.分享给大家供大家参考,具体如下: php web开发中广泛采取mvc的设计模式,controller传递给view层的数据,必须通过模板引擎才能解析出来.实 ...
- .NET开源工作流ccflow流程引擎功能大全
驰骋工作流引擎ccflow 概要说明 驰骋工作流引擎,工作流程管理系统:简称ccflow,驰骋一体化解决方案简称ccport. ccflow是济南驰骋信息技术有限公司向社会提供的一款100%开源软件, ...
最新文章
- django项目转pyc_问题网址.pycdjango生成的文件,如何修复?
- java线程同步以及对象锁和类锁解析(多线程synchronized关键字)
- Thinking in C++ Notes 名字控制
- 第十四章 架构师领导艺术(待续)
- linux 信号没有被处理方法,[计算机]Linux 信号signal处理机制.doc
- python方法调用方法_Python之方法调用
- java 递归求二进制,java-二进制搜索递归猜测数字
- cloverconfig机型修改_Clover的Config新手设置教程
- Android 旋转动画简单实现
- Foxmail设置方法
- AMS中控推送系统安装使用说明
- 二极管压降电压一览表
- python中sub的用法_python 正则表达式篇 - sub 用法
- 美式口语发音技巧:《发音总结》
- java股票接口怎么样获得?
- 思科cisco交换机如何查找环路及解决方法
- Android音频架构概览
- Html是网页制作的核心语言吗,html网页设计报告总结.doc
- 嵌入式MQTT连接主要流程
- python修改excel背景色,基于python的excel背景颜色控制
热门文章
- 注入技术--消息hook注入
- ELASTIC的备份与恢复
- 静态页中调用动态数据的三种办法
- System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
- 揭开AI产品PRD的面纱,浅谈其和互联网产品PRD的异同
- O2O上门实战复盘:10万元如何换来937个订单?
- 与姬十三探讨如何42天搞定2500万美金投资,创业秘密都在这里
- 啊啊啊...每次需求评审总被boss虐成狗?解药来了
- 14-python基础3-数据类型
- MySQL常用数据类型小结