GMP:了解GMF引擎功能Graphical Modeling Framework

简介:

OpenExpressApp make business engineers develop applications中说过先考虑使用EMF先实现一个TOGAF9的建模工具来综合的了解建模更方面的知识,由于没有怎么用过Eclipse,上周看了三本书Eclipse in ActionEclipse Plug-ins (3rd Edition)Eclipse Modeling Framework (2nd Edition),只是大概的看了一下,了解了Eclipse的编程环境、插件编写以及EMF的大致内容,知道以后有什么不知道的东西在哪里去查看具体内容而已。本周开始看Eclipse Modeling Project,目标是这周看完后能够自己基于模型做一个简单的图形编辑器。

  GMP(Graphical Modeling Project)提供了一套生成组件以及运行时引擎来基于EMFGEF开发图形编辑器。本篇主要介绍一下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

支持系统剪贴板

参考

 




















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


相关文章
|
18天前
|
人工智能 PyTorch 算法框架/工具
Ascend Extension for PyTorch是个what?
Ascend Extension for PyTorch 是针对华为昇腾处理器的PyTorch框架适配插件,旨在让PyTorch开发者能充分利用昇腾AI处理器的强大计算能力。此扩展通过最小化对原生PyTorch的改动,实现了对昇腾NPU的支持,包括动态图特性、自动微分等功能的完整继承,并提供了与原生PyTorch一致的使用体验。项目详情及源码可在昇腾社区获取。
Ascend Extension for PyTorch是个what?
|
4月前
|
人工智能 API C#
SimpleRAG:基于WPF与Semantic Kernel实现的一个简单的RAG应用
SimpleRAG是一款基于WPF与Semantic Kernel的RAG应用,支持OpenAI兼容的AI聊天与文本嵌入模型,演示了RAG技术在提升回答质量上的作用。可通过GitHub获取源码,配置所需模型API密钥后,在VS2022中以.NET 8环境编译运行。应用内置Sqlite数据库存储向量数据,便于离线使用与自定义扩展。如感兴趣,请支持并反馈使用体验。
57 1
SimpleRAG:基于WPF与Semantic Kernel实现的一个简单的RAG应用
构建 Rack-based 框架 (Rails/Grape/Sinatra) 的几个 Tricks
构建 Rack-based 框架 (Rails/Grape/Sinatra) 的几个 Tricks
|
XML 存储 SQL
Google Architecture Components应用框架初探
Google Architecture Components应用框架初探
328 0
Google Architecture Components应用框架初探
|
数据库 数据库连接 Android开发