CN106815022A - 一种基于树型数据结构的通用ui界面生成方法及装置 - Google Patents

一种基于树型数据结构的通用ui界面生成方法及装置 Download PDF

Info

Publication number
CN106815022A
CN106815022A CN201710004600.9A CN201710004600A CN106815022A CN 106815022 A CN106815022 A CN 106815022A CN 201710004600 A CN201710004600 A CN 201710004600A CN 106815022 A CN106815022 A CN 106815022A
Authority
CN
China
Prior art keywords
configuration file
module
tree
data structure
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710004600.9A
Other languages
English (en)
Inventor
李晓平
洪炳沅
宫敬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China University of Petroleum Beijing
Original Assignee
China University of Petroleum Beijing
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China University of Petroleum Beijing filed Critical China University of Petroleum Beijing
Priority to CN201710004600.9A priority Critical patent/CN106815022A/zh
Publication of CN106815022A publication Critical patent/CN106815022A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Abstract

本发明涉及一种基于树型数据结构的通用UI界面生成方法及装置,其包括:在预设的基本树型结构上,用户根据自己的需求创建描述自己项目的个性化树型数据结构,完成整体数据框架和每个结点数据类型的定义,自动生成配置文件;解析完成的配置文件,获得整体树型数据结构和每个结点的配置信息;调用工具执行配置命令,获得控件属性数据,动态创建控件,生成具有针对性的个性化UI界面。本发明能实现终端UI界面定制,且具有良好的拓展性和通用性,简化代码结构,提高了UI界面开发效率。

Description

一种基于树型数据结构的通用UI界面生成方法及装置
技术领域
本发明涉及一种计算机技术应用领域,特别是关于一种用于UI界面个性定制的基于树型数据结构的通用UI界面生成方法及装置。
背景技术
工程计算软件都包含输入、计算和输出三个部分,其中计算部分主要涉及软件的工程背景,是工程师们所熟悉的;输入、输出部分往往只是涉及计算机编程的知识以及技巧,是工程师们所不熟悉的;现实中为了将工程师的专业能力转化成软件形成生产力,一般有两种做法:一种是工程师自己开发软件,但因为他们不熟悉编程技巧,所设计的软件不通用,用户界面不友好,最终的结果往往是半途而废。另一种是工程师与软件公司合作,软件公司负责包装,但这对于一般的工程师来说往往不具备条件。
此外,现有技术中,界面设计通常是根据用户UI界面的定制,需要对终端UI界面对应的程序代码进行修改、增加、删除等操作,也即对于不同的个性化UI控件而言,需逐一编写其对应的实现代码,降低了个性化UI控件代码的兼容性与扩展性。
发明内容
针对上述问题,本发明的目的是提供一种基于树型数据结构的通用UI界面生成方法及装置,其能实现终端UI界面定制,且具有良好的拓展性和通用性,简化代码结构,提高了UI界面开发效率。
为实现上述目的,本发明采取以下技术方案:一种基于树型数据结构的通用UI界面生成方法,其特征在于包括以下步骤:1)在预设的基本树型结构上,用户根据自己的需求创建描述自己项目的个性化树型数据结构,完成整体数据框架和每个结点数据类型的定义,自动生成配置文件;2)解析完成的配置文件,获得整体树型数据结构和每个结点的配置信息;3)调用工具执行配置命令,获得控件属性数据,动态创建控件,生成具有针对性的个性化UI界面。
所述步骤1)中,配置文件生成方法为:调用InputconfigC工具,创建或修改预设的配置文件,在基本树型结构基础上自由设置树的度和深度,完成整体数据框架和每个结点数据类型的定义;其中,InputconfigC工具为输入配置工具C版本。
所述InputconfigC工具包括四组快捷模块:第一组快捷模块用于建立配置文件;第二组快捷模块用于树形结构的维护;第三组快捷模块用于具体数据的展示;第四组快捷模块为退出。
所述创建配置文件的具体过程为:1.1)启动InputconfigC工具,通过第一组快捷模块新建文件名;1.2)通过第二组快捷模块创建根节点、子节点,并设置各节点中数据的类型;1.3)通过第三组快捷模块对创建的根节点和子节点进行保存后,由第四组快捷模块退出InputconfigC工具,完成配置文件创建。
所述修改配置文件的具体过程为:1.1)启动InputconfigC工具后,通过第一组快捷模块打开需要修改的配置文件;1.2)通过第二组快捷模块创建根节点、子节点,并设置各节点中数据的类型;1.3)通过第三组快捷模块对创建的根节点和子节点进行保存后,由第四组快捷模块退出InputconfigC工具,完成配置文件创建。
所述步骤1)中,生成的配置文件以ini格式文件进行存储。
所述步骤1)中,配置文件的解析过程为:2.1)检测是否存在预设及修改后的配置文件,存在则进入下一步,反之继续检测;2.2)调用CommFrame工具读取检测到的配置文件,进行解析;其中,CommFrame为通用框架。
所述步骤2.2)中,具体解析过程为:首先根据根节点创建一个窗体,每个一级子节点创建一个标签页,每个标签页中,再根据子节点的属性创建相应的输入控件;遍历结束后,调用刷新用户界面的显示。
一种基于树型数据结构的通用UI界面生成装置,其特征在于:该装置包括配置模块、解析模块和生成模块;所述配置模块是在预设的基本树型结构上,用户根据自己的需求创建描述自己项目的个性化树型数据结构,完成整体数据框架和每个结点数据类型的定义,自动生成配置文件;所述解析模块用于解析完成的配置文件,获得整体树型数据结构和每个结点的具体配置信息;所述生成模块用于调用工具执行配置命令,获得控件属性数据,动态创建控件,生成具有针对性的个性化UI界面。
所述配置模块内还设置有用于存储配置生成的ini格式文件的存储单元;所述解析模块内还设置有检测单元和读取单元,所述检测单元用于检测是否存在创建或修改后的配置文件;所述读取单元用于调用CommFrame工具读取检测到的配置文件,CommFrame为通用框架。
本发明由于采取以上技术方案,其具有以下优点:1、本发明具有良好的拓展性和通用性,简化代码结构,通过配置文件就能动态创建控件从而生成界面,不需要单独编写对应的程序代码。2、本发明简单易行,不需要专门的计算机编程知识以及技巧,工程师提供数据结构就生成具有针对性的个性化UI界面。
具体实施方式
下面结合实施例对本发明进行详细的描述。
本发明提供一种基于树型数据结构的通用UI界面生成方法,其包括以下步骤:
1)在预设的基本树型结构上,用户根据自己的需求创建描述自己项目的个性化树型数据结构,自由设置项目包含的诸如树的度和深度等各种信息,完成整体数据框架和每个结点数据类型的定义,自动生成配置文件;
其中,配置文件生成方法为:调用InputconfigC工具(输入配置工具C版本,Input表示输入,config代表配置,C是开发版本号,英文字母顺序,即第三个版本),创建或修改预设的配置文件,在基本树型结构基础上自由设置树的度和深度,完成整体数据框架和每个结点数据类型的定义;
生成的配置文件以ini格式文件进行存储。
InputconfigC工具包括四组快捷模块:第一组快捷模块用于建立配置文件,包括“新建”、“打开”、“保存”、“另存”以及“关闭”等功能;第二组快捷模块用于树形结构的维护,包括“更新”、“增加”、“根节点”、“删除”、“预览”;第三组快捷模块用于具体数据的展示,包括“数据保存”、“加载”;第四组快捷模块为退出“Exit”。
创建配置文件的具体过程为:
1.1)启动InputconfigC工具,通过第一组快捷模块新建文件名等必要信息。
1.2)通过第二组快捷模块创建根节点、子节点,并设置各节点中数据的类型。
1.3)通过第三组快捷模块对创建的根节点和子节点进行保存后,由第四组快捷模块退出InputconfigC工具,完成配置文件创建。
修改配置文件的过程与创建配置文件的过程类似,只有步骤1.1)不同,在修改配置文件时,启动InputconfigC工具后,通过第一组快捷模块打开需要修改的配置文件即可。剩余的过程与创建配置文件过程相同,在此不再赘述。
2)解析完成的配置文件,获得整体树型数据结构和每个结点的配置信息;
其中,配置文件的解析过程为:
2.1)检测是否存在预设及修改后的配置文件,存在则进入下一步,反之继续检测;
2.2)调用CommFrame(通用框架)工具读取检测到的配置文件,进行解析。
其中,解析过程实际上是树结构的遍历过程,具体解析过程为:首先根据根节点创建一个窗体(Form),每个一级子节点创建一个标签页(Tab),每个标签页中,再根据子节点的属性创建相应的输入控件。遍历结束后,调用刷新用户界面的显示。
3)调用工具执行配置命令,获得控件属性数据,动态创建控件,生成具有针对性的个性化UI界面。
本发明还提供一种基于树型数据结构的通用UI界面生成装置,其包括配置模块、解析模块和生成模块。其中:
配置模块是在预设的基本树型结构上,用户根据自己的需求创建描述自己项目的个性化树型数据结构,完成整体数据框架和每个结点数据类型的定义,自动生成配置文件;
解析模块用于解析完成的配置文件,获得整体树型数据结构和每个结点的具体配置信息;
生成模块用于调用工具执行配置命令,获得控件属性数据,动态创建控件,生成具有针对性的个性化UI界面。
上述实施例中,配置模块内还设置有存储单元,用于存储配置生成的ini格式文件。
上述各实施例中,解析模块内还设置有检测单元和读取单元。检测单元用于检测是否存在创建或修改后的配置文件;读取单元用于调用CommFrame工具读取检测到的配置文件。
上述各实施例仅用于说明本发明,各部件的结构、尺寸、设置位置及形状都是可以有所变化的,在本发明技术方案的基础上,凡根据本发明原理对个别部件进行的改进和等同变换,均不应排除在本发明的保护范围之外。

Claims (10)

1.一种基于树型数据结构的通用UI界面生成方法,其特征在于包括以下步骤:
1)在预设的基本树型结构上,用户根据自己的需求创建描述自己项目的个性化树型数据结构,完成整体数据框架和每个结点数据类型的定义,自动生成配置文件;
2)解析完成的配置文件,获得整体树型数据结构和每个结点的配置信息;
3)调用工具执行配置命令,获得控件属性数据,动态创建控件,生成具有针对性的个性化UI界面。
2.如权利要求1所述的一种基于树型数据结构的通用UI界面生成方法,其特征在于:所述步骤1)中,配置文件生成方法为:调用InputconfigC工具,创建或修改预设的配置文件,在基本树型结构基础上自由设置树的度和深度,完成整体数据框架和每个结点数据类型的定义;其中,InputconfigC工具为输入配置工具C版本。
3.如权利要求2所述的一种基于树型数据结构的通用UI界面生成方法,其特征在于:所述InputconfigC工具包括四组快捷模块:第一组快捷模块用于建立配置文件;第二组快捷模块用于树形结构的维护;第三组快捷模块用于具体数据的展示;第四组快捷模块为退出。
4.如权利要求3所述的一种基于树型数据结构的通用UI界面生成方法,其特征在于:所述创建配置文件的具体过程为:
1.1)启动InputconfigC工具,通过第一组快捷模块新建文件名;
1.2)通过第二组快捷模块创建根节点、子节点,并设置各节点中数据的类型;
1.3)通过第三组快捷模块对创建的根节点和子节点进行保存后,由第四组快捷模块退出InputconfigC工具,完成配置文件创建。
5.如权利要求3所述的一种基于树型数据结构的通用UI界面生成方法,其特征在于:所述修改配置文件的具体过程为:
1.1)启动InputconfigC工具后,通过第一组快捷模块打开需要修改的配置文件;
1.2)通过第二组快捷模块创建根节点、子节点,并设置各节点中数据的类型;
1.3)通过第三组快捷模块对创建的根节点和子节点进行保存后,由第四组快捷模块退出InputconfigC工具,完成配置文件创建。
6.如权利要求1所述的一种基于树型数据结构的通用UI界面生成方法,其特征在于:所述步骤1)中,生成的配置文件以ini格式文件进行存储。
7.如权利要求1所述的一种基于树型数据结构的通用UI界面生成方法,其特征在于:所述步骤1)中,配置文件的解析过程为:
2.1)检测是否存在预设及修改后的配置文件,存在则进入下一步,反之继续检测;
2.2)调用CommFrame工具读取检测到的配置文件,进行解析;其中,CommFrame为通用框架。
8.如权利要求7所述的一种基于树型数据结构的通用UI界面生成方法,其特征在于:所述步骤2.2)中,具体解析过程为:首先根据根节点创建一个窗体,每个一级子节点创建一个标签页,每个标签页中,再根据子节点的属性创建相应的输入控件;遍历结束后,调用刷新用户界面的显示。
9.一种基于树型数据结构的通用UI界面生成装置,其特征在于:该装置包括配置模块、解析模块和生成模块;所述配置模块是在预设的基本树型结构上,用户根据自己的需求创建描述自己项目的个性化树型数据结构,完成整体数据框架和每个结点数据类型的定义,自动生成配置文件;所述解析模块用于解析完成的配置文件,获得整体树型数据结构和每个结点的具体配置信息;所述生成模块用于调用工具执行配置命令,获得控件属性数据,动态创建控件,生成具有针对性的个性化UI界面。
10.如权利要求9所述的一种基于树型数据结构的通用UI界面生成装置,其特征在于:所述配置模块内还设置有用于存储配置生成的ini格式文件的存储单元;所述解析模块内还设置有检测单元和读取单元,所述检测单元用于检测是否存在创建或修改后的配置文件;所述读取单元用于调用CommFrame工具读取检测到的配置文件,CommFrame为通用框架。
CN201710004600.9A 2017-01-04 2017-01-04 一种基于树型数据结构的通用ui界面生成方法及装置 Pending CN106815022A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710004600.9A CN106815022A (zh) 2017-01-04 2017-01-04 一种基于树型数据结构的通用ui界面生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710004600.9A CN106815022A (zh) 2017-01-04 2017-01-04 一种基于树型数据结构的通用ui界面生成方法及装置

Publications (1)

Publication Number Publication Date
CN106815022A true CN106815022A (zh) 2017-06-09

Family

ID=59110196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710004600.9A Pending CN106815022A (zh) 2017-01-04 2017-01-04 一种基于树型数据结构的通用ui界面生成方法及装置

Country Status (1)

Country Link
CN (1) CN106815022A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020140940A1 (zh) * 2019-01-06 2020-07-09 阿里巴巴集团控股有限公司 代码的生成方法、装置、设备及存储介质
CN111596607A (zh) * 2020-04-14 2020-08-28 宝鸡石油机械有限责任公司 一种可配置文本和操作命令的上位机通用hmi界面设计方法
CN113448642A (zh) * 2020-03-11 2021-09-28 成都鼎桥通信技术有限公司 系统文件访问方法、装置和电子设备
CN117270854A (zh) * 2023-11-17 2023-12-22 江西格如灵科技股份有限公司 一种基于ugui的树形折叠结构页签创建方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005681A (zh) * 2006-01-17 2007-07-25 大唐移动通信设备有限公司 界面自动生成方法和界面自动生成系统
CN101334728A (zh) * 2008-07-28 2008-12-31 北京航空航天大学 一种基于xml文档描述的界面生成方法和平台
CN102193786A (zh) * 2010-03-11 2011-09-21 中国工商银行股份有限公司 一种自适应的图形用户界面构建装置及方法
CN106201458A (zh) * 2016-06-27 2016-12-07 上海波汇科技股份有限公司 一种灵活可配的界面生成方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005681A (zh) * 2006-01-17 2007-07-25 大唐移动通信设备有限公司 界面自动生成方法和界面自动生成系统
CN101334728A (zh) * 2008-07-28 2008-12-31 北京航空航天大学 一种基于xml文档描述的界面生成方法和平台
CN102193786A (zh) * 2010-03-11 2011-09-21 中国工商银行股份有限公司 一种自适应的图形用户界面构建装置及方法
CN106201458A (zh) * 2016-06-27 2016-12-07 上海波汇科技股份有限公司 一种灵活可配的界面生成方法和系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020140940A1 (zh) * 2019-01-06 2020-07-09 阿里巴巴集团控股有限公司 代码的生成方法、装置、设备及存储介质
CN111414166A (zh) * 2019-01-06 2020-07-14 阿里巴巴集团控股有限公司 代码的生成方法、装置、设备及存储介质
CN111414166B (zh) * 2019-01-06 2023-04-07 阿里巴巴集团控股有限公司 代码的生成方法、装置、设备及存储介质
CN113448642A (zh) * 2020-03-11 2021-09-28 成都鼎桥通信技术有限公司 系统文件访问方法、装置和电子设备
CN113448642B (zh) * 2020-03-11 2022-11-15 成都鼎桥通信技术有限公司 系统文件访问方法、装置和电子设备
CN111596607A (zh) * 2020-04-14 2020-08-28 宝鸡石油机械有限责任公司 一种可配置文本和操作命令的上位机通用hmi界面设计方法
CN111596607B (zh) * 2020-04-14 2021-07-13 宝鸡石油机械有限责任公司 一种可配置文本和操作命令的上位机通用hmi界面设计方法
CN117270854A (zh) * 2023-11-17 2023-12-22 江西格如灵科技股份有限公司 一种基于ugui的树形折叠结构页签创建方法和系统
CN117270854B (zh) * 2023-11-17 2024-02-23 江西格如灵科技股份有限公司 一种基于ugui的树形折叠结构页签创建方法和系统

Similar Documents

Publication Publication Date Title
CN106648587A (zh) 一种基于注解的Web应用代码生成方法
CN104268072B (zh) 图形化脚本编辑器及快速开发通信设备测试脚本的方法
CN106815022A (zh) 一种基于树型数据结构的通用ui界面生成方法及装置
US9053260B2 (en) Utilizing spreadsheet user interfaces with flowsheets of a CPI simulation system
CN102541521B (zh) 基于结构化查询语言的操作指令自动生成装置及方法
CN106293664A (zh) 代码生成方法及装置
CN111290778B (zh) Ai模型的包装方法、平台及电子设备
CN106844885B (zh) 基于bim技术的图框图签设计方法
CN104317589A (zh) 一种用于加载动态链接库的代码自动生成方法及装置
CN104750606B (zh) 一种基于反射的自动化测试方法
CN104731588B (zh) 页面布局文件生成方法和页面布局文件生成装置
US10095678B2 (en) Database user interfaces with flowsheets of a simulation system
CN103065000B (zh) 一种基于模型驱动工程进行SysML状态机图分析验证的方法
WO2017063389A1 (zh) 文档生成方法和装置
US20140208293A1 (en) SQL Visualizer
CN104834510A (zh) Can协议代码源文件的生成方法和装置
CN111259644A (zh) 富文本处理方法与编辑器、设备及存储介质
CN112433701A (zh) 工业软件开发项目实施流程、内容及代码生成方法及装置
CN104049974A (zh) 控件动态组装方法和系统
CN104063231B (zh) 一种基于hit‑tena的试验资源快速接入方法
JP5747698B2 (ja) 要件管理支援装置
US9098263B2 (en) Database application assembly and preparation
CN109298858A (zh) 一种基于Qt资源文件的Excel文档生成方法及系统
CN105446967A (zh) 一种多模态评价报告的生成方法
JP2008052356A (ja) ソースコード自動生成装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170609