CN106815022A - 一种基于树型数据结构的通用ui界面生成方法及装置 - Google Patents
一种基于树型数据结构的通用ui界面生成方法及装置 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation 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界面生成方法,其特征在于包括以下步骤: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为通用框架。
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)
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)
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 | 上海波汇科技股份有限公司 | 一种灵活可配的界面生成方法和系统 |
-
2017
- 2017-01-04 CN CN201710004600.9A patent/CN106815022A/zh active Pending
Patent Citations (4)
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)
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 |