基于Qt的组件化图形平台系统结构[资料运用]_第1页
基于Qt的组件化图形平台系统结构[资料运用]_第2页
基于Qt的组件化图形平台系统结构[资料运用]_第3页
基于Qt的组件化图形平台系统结构[资料运用]_第4页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、组件化通用图形平台EISGraphex编写:胡剑锋审核:沈全荣批准:陈松林南京南瑞继保电气有限公司2005年9月组件化通用图形平台介绍1.概述组件化通用图形平台(EISGraphex)是一套图形类应用的支撑平台的核心库,提供对各种类型组件的管理和扩展、各种窗口的管理、消息机制、脚本管理、数据管理等机制,来提供满足有图形界面需求的开发支持,使得图形界面开发的统一性、一致性、扩展性。平台提供一套二次应用建模工具,可用来创建各种图形应用界面的系统,该系统不仅可以绘制一般的画面,还能用来搭建各种形式的窗体应用,如:框架窗体、普通窗体、对话框和弹出菜。组件化通用图形平台的特点如下:组件化。该方法保证一切

2、都以组件的形式存在,使用时只要将各种组件组织一番就可搭建形成一个非常漂亮的GUI应用系统,所以系统的使用也因此变得很方便。还有就是组件化方法还有效地增强了功能模块的复用性,应用建模人员只要一次建模,就可以多次使用,大大减少了某些不必要的重复劳动,如:各种图形复合组件等。二次开发。图形平台是一个开发环境,支持快速开发一个应用系统,提供模型的解释执行和编译执行,便于调试和发布。可视化。提供可视化方式实现多种窗口建模,数据建模,所见即所得。较强的可扩展性。可扩展性一方面是指平台的脚本支持功能,应用建模人员可以使用脚本语言任意扩充自己所需要的界面功能。另一方面主要表现在各种组件模型的扩充,尤其是各种应

3、用所需的图形复合组件,用户可以利用平台工具任意创建各种应用性质的复合组件。跨平台。采用C+和Qt开发,跨Sun Solaris和Windows等主流操作系统其它优点,如:可靠性好、简单易用等,这里就不一一列出了。当然,由于平台的定位相对较高,使用该系统需要用户具备一些基本的编程知识和技能,主要在脚本开发和应用接口组件创建时使用。2.系统总体架构组件化通用图形平台的主要目的是为各种具体的应用搭建和定制用户界面,支持工程维护人员和最终用户迅速便捷地创建复杂的、强大的、符合自己习惯的操作员界面显示。组件化通用图形平台是一个建模、组织、运行与图形界面相关的软件系统,包括GUI应用容器、工具集(数据建模

4、工具、图形组件构建工具、GUI应用界面构建容器)、基本组件库、脚本和应用编程接口等。构成一个GUI应用的基本实体要素是窗口、组件、公共数据和脚本,而这些要素分别由窗口管理、窗口、数据字典、脚本容器进行管理,这四个部分又可通过数据总线相互发生关系。所有这些元素均包含在GUI应用容器中进行解释运行。组件包含功能组件、应用接口组件和图形组件。功能组件用于实现某一特定、复杂的功能(如画面编辑组件、报表制作组件、GIS组件等);应用接口组件用于同后台应用系统进行数据通讯、数据类型转换等其他同具体应用关联的功能,应用接口组件主要由GUI应用开发人员通过编写代码实现;图形组件用于表现整个GUI应用的界面。公

5、共数据包含基本数据类型、复合数据类型、数据容器类型和数据对象树。复合数据由基本数据构成,数据容器用于管理某一类型的基本数据或复合数据,数据对象树表示了数据对象和数据容器之间的层次关系。公共数据的类型和对象由数据字典来实现管理。脚本包含组件脚本、窗口脚本、GUI应用脚本、全局脚本和系统函数。脚本的实体都包含在容器中。图1 系统结构图3图形平台开发库3.1平台支持类库系统支持类是支持系统运行的一些基本库,共提供6个动态连接库。 基本类库方式:动态连接库输出类:基本组件类(RBaseComponent):是所有组件的基类。功能组件类(RFunComponent):作为功能组件输出的接口类。是功能组件

6、在图形平台的代表。应用接口组件类(RAppComponent):作为应用接口组件输出的接口类。是应用接口组件在图形平台的代表。派生于基本组件类。图形组件类(RGraphComponent):是所有图形组件的基类。数据总线(RDataBus):数据总线的管理类。用于实现消息的分发、处理。公共数据基类(RDataObject):是所有公共数据的基本类,提供标准的设置、读取等服务。BOOL数据基类(RDataBool):图形平台提供的布尔型数据类型。INT数据基类(RDataInt):图形平台提供的整型数据类型。BYTE数据基类(RDataByte):图形平台提供的字节型数据类型。FLOAT数据基类

7、(RDataFloat):图形平台提供的浮点型数据类型。COLOR数据基类(RDataColor):图形平台提供的颜色型数据类型。容器数据基类(RDataList):图形平台提供的容器型数据类型。树型数据基类(RDataTree):图形平台提供的树型数据类型。数据对象管理类(RDataManage:同数据类型管理动态连接库一起构成数据字典。提供公共数据对象的管理,包括创建、删除和检索;其中创建方法的实现如下:首先判断要创建的是否基本数据或基本数据容器,若是,则直接new一个对应类型的对象,若否,则调用数据类型管理库的接口函数来创建一个对象,然后把得到的新对象加入到管理队列中,并把对象加入到QS

8、A中。 数据类型管理库方式:动态连接库。在数据建模后自动更新该动态库。输出类:数据类型管理类:实现数据类型的管理。向数据对象管理类提供创建复合数据和复合数据容器对象的方法;提供数据类型读目录方法;在初始化时,负责把数据字典内的所有数据类型加入到QSA中,最初的动态库中不含任何数据类型。 组件类库方式:动态连接库。输出类:基本图符类:一系列的基本图符类。包括线类、填充类、图片类等。界面组件类:一系列的窗口界面组件。包括按钮类、框架类等复合组件代表类:用于描述复合组件的类。框架窗口类:实现框架窗口。普通窗口类:实现带滚动条的窗口。对话框类:实现对话框。弹出菜单类:实现弹出菜单。 文件解析库方式:动

9、态连接库。输出类:APM文件解析类:提供对APM文件的读取和保存。WPM文件解析类:提供对WPM文件的读取和保存。GPM文件解析类:提供对GPM文件的读取和保存。DPM文件解析类:提供对DPM文件的读取和保存。解析过程中包括实体对象的创建,通过调用以上的动态库输出函数实现。 窗口组件管理库方式:动态连接库输出类:窗口对象管理类:提供对窗口对象的管理。窗口模板管理类:提供对窗口模板(包括基本窗口模板和应用窗口模板)的管理。图形组件对象管理类:提供对图形组件对象的管理。图形组件模板管理类:提供对图形组件模板的管理。功能组件对象管理类:提供对功能组件对象的管理。应用接口组件对象管理类:提供对应用接口

10、组件对象的管理。文件下载管理类(WEB服务端):提供WEB上文件的传输。文件下载客户端类(WEB客户端):提供WEB上文件的传输。枚举库管理类:提供对枚举数据的访问。 脚本管理库方式:动态连接库输出类:脚本函数类:提供QSA文件的管理、脚本函数的管理、检索。系统函数类:提供一系列的系统函数调用。该类库封装了所有的QSA类库。 guid跨平台生成器方式:动态连接库输出接口:CreateGuid(),输出一个全球唯一的标识ID。32关键功能组件功能组件是在图形平台的使用中,逐步积累的。但对于某些功能组件,平台必须在最初就提供。其中包括: 画面编辑功能组件:带窗口的功能组件,实现画面编辑功能。提供一

11、个WorkSpace作为其本身的主窗口,在其上创建一块块编辑画布。即可支持多文档的编辑。 组件选择组件:带窗口的功能组件,实现组件选择、浏览等功能。 定时功能组件:不带窗口的功能组件,产生各种定时事件。所有的功能组件均输出一个RfunComponent的派生类,作为在图形平台的代表。33开发工具 数据建模工具:方式:exe运行程序功能:用于复合数据模型的建立,每次更新,都将自动编译生成数据类型管理库。 组件建模工具:方式:exe运行程序功能:复合图形组件的建模。 工程组件管理工具:方式:exe运行程序功能:是组件建模工具的简化版。 GUI应用建模工具:方式:exe运行程序功能:用于构建GUI应

12、用模型的工具。 本节点GUI应用管理工具:方式:exe运行程序功能:用于管理本节点内所有的GUI应用模型。 部署工具:方式:exe运行程序功能:1,把组件库、基本窗口模板库进行打包成一个自解压的程序; 2,把GUI应用答包,(可以选择是否把平台的公用库一起打包)。4二次开发过程4.1基于平台开发的应用系统的结构一个复杂的多进程的应用系统需要多个应用模型,每个应用模型作为一个独立进程运行。如下图所示:其中,单个应用模型的结构一般包括如下几个部分: 窗口 - 展示给用户的界面 全局数据 暂态数据,中间数据 消息管理 消息增删改,发送和接受定义 脚本 事件处理,消息处理 应用接口组件 与应用的逻辑层的数据交互其结构如下图所示:每个应用存放在单独的一个目录中,包括如下文件: 一个应用模型文件 .apm 多个窗口文件 .wpm 一个脚本目录 script 一个组件个性化文件 .cpm 一个枚举文件 .epm 一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论