一种表单设计器控件的通用描述方法与流程

文档序号:12123864阅读:226来源:国知局
本发明涉及ERP系统领域,具体地说是一种表单设计器控件的通用描述方法。
背景技术
:随着企业信息化的不断深入,ERP系统已经涉及到企业经营和管理的方方面面,这必然带来ERP单据量的急剧增加,传统的手工编码的方式已经无法满足对单据开发速度和稳定性的要求,越来越多的ERP供应商开始通过表单设计器来实现单据的快速开发。使用表单设计器进行单据开发时所有的操作基本上都是围绕对控件和控件之间的关系来进行展开的,所以控件在表单设计器中占据了非常重要的位置,直接影响了表单设计器能否开发出功能强大、丰富多样的单据。随着ERP单据越来越复杂,越来越多的控件被加入到表单设计器中,然而传统的设计器中,表单设计器与控件集成往往采用硬编码的方式来实现,在表单设计器中新增、删除、修改控件都要对设计器上做大量的代码调整,维护的成本和难度非常高,大量的手工编码也直接导致表单设计器功能稳定性的下降。专利号为CN104267962A的专利文献公开了一种基于描述的界面UI控件配置方法,包括如下步骤:步骤一、对控件在图形化表单设计器中的属性和事件进行描述;步骤二、对控件的属性和事件在图形化表单设计器上关联的编辑器信息进行描述;步骤三、对控件属性在图形化表单设计器上编辑时的控制规则进行描述;步骤四、对控件在图形化表单设计器上生成的Xml元素结构进行描述;步骤五、对控件在生成部署引擎中的生成规则进行描述。但是该技术方案不能解决ERP系统中表单设计器与控件集成的问题。技术实现要素:本发明的技术任务是针对以上不足之处,提供一种表单设计器控件的通用描述方法,来解决表单设计器与控件集成往往采用硬编码的方式来实现,在表单设计器中新增、删除、修改控件都要对设计器上做大量的代码调整,维护的成本和难度非常高,大量的手工编码也直接导致表单设计器功能稳定性的下降的问题。本发明解决其技术问题所采用的技术方案是:一种表单设计器控件的通用描述方法,该方法是定义一组标准接口实现控件与表单设计器各组成部分之间的集成,标准接口包括控件整体描述接口、控件在工具箱面板内的描述接口、控件在设计视图面板内的描述接口、控件在属性面板内的描述接口以及控件在持久存储层内的描述接口;其中,控件整体描述接口涵盖与表单设计器各组装部分之间关系的描述;控件在工具箱面板内的描述接口用于将控件以预期的方式展示到工具箱面板中并对控件进行描述;控件在设计视图面板内的描述接口用于在设计视图面板上展示一个可视化的控件供用户操作;控件在属性面板内的描述接口用于属性面板中对控件进行展示和编辑;控件在持久存储层内的描述接口用于使用XML将表单设计器的设计结果保存到持久存储层中。作为优选,所述控件整体描述接口的具体描述如下:(1)、控件标识:用于唯一标识一个控件;(2)、控件在工具箱面板内的描述:用于描述控件在表单设计器的工具箱面板内的展示;(3)、控件在设计视图面板内的描述:用于描述控件在表单设计器的设计视图面板上的展示与行为;(4)、控件在属性面板内的描述:用于描述控件在表单设计器的属性面板内的展示与行为;(5)、控件在持久存储层内的描述:用于定义控件在表单设计器的属性面板中的存储格式。作为优选,所述控件在工具箱面板内的描述接口的具体描述如下:(1)、控件名称:表单设计器的工具栏面板中控件的显示名称;(2)、控件类别:表单设计器的工具栏面板中控件分组的依据;(3)、控件图标:表单设计器的工具栏面板中控件的图表路径;(4)、控件的显示顺序:表单设计器工具栏面案中控件的显示顺序。作为优选,所述控件在设计视图面板内的描述接口的具体描述如下:设计视图控件构造器,设计视图控件构造器用于创建控件在设计视图展示的图形控件。作为优选,所述控件在属性面板内的描述接口为了支持属性的嵌套需要定义以下接口:属性容器描述接口、属性描述接口、属性值校验规则接口、属性与设计视图面板内控件的映射接口以及属性与持久层节点值的映射接口;属性容器描述接口可以相互嵌套,对应到控件面板上就是一个嵌套的属性;其中,属性容器描述接口的具体描述如下:(1)、容器名称:用于属性容器在属性面板内展示的名称;(2)、容器类别:用于控制属性容器在属性面板内的哪个类别下显示,顶级容器此类别为空;(3)、是否显示:用于控制属性容器及子属性在属性面板内的可见性;(4)、显示顺序:用于控制属性容器在属性面板内的显示顺序;(5)、子容器描述集合:用于存储子属性容器描述的集合;(6)、子属性描述集合:用于存储子属性描述的集合。更优地,所述属性描述接口的具体描述如下:(1)、标识:用于在属性面板内唯一标识该属性;(2)、显示名:用于在属性面板内的显示的名称;(3)、描述:用于在属性面板内显示的对该属性的描述;(4)、类别:用于在属性面板内的哪个类别下展示;(5)、值类型:存储该属性的值类型;(6)、默认值:存储该属性的默认值;(7)、是否可见:用于控制该属性在属性面板中是否显示;(8)、是否只读:用来控制属性面板上该属性是否只读;(9)、显示顺序:用来控制在属性面板上的显示顺序;(10)、属性值编辑器:用来控制该属性在属性面板上用什么编辑器进行编辑;(11)、属性值校验规则集合:用来存储一组校验规则,来对属性值进行校验;(12)、属性与视图面板映射集合:用来存储一组映射,用来双向同步属性面板上的值和设计视图上控件的属性值;(13)、属性与持久层映射集合:用来存储一组映射,来双向同步属性面板上的属性值和持久层中对应节点的属性值。更优地,所述定义属性值校验规则接口是为了当属性面板中的属性值发生变化后,要对属性值的合法性进行校验,定义属性值校验规则接口的具体描述如下:(1)、校验规则:一个描述校验规则的表达式,如果是自定义校验,指定校验器的调用方式;(2)、校验失败提示:校验失败的提示信息。更优地,所述属性与设计视图面板内控件的映射接口是为了当属性面板中的属性值发生变化或设计视图面板内的控件属性发生变化后,对两者进行同步,属性与设计视图面板内控件的映射接口的具体描述如下:(1)、属性面板属性路径:用于在属性面板上查找属性;(2)、设计面板控件属性路径:用于在设计视图面板上查找可视化控件的属性;(3)、转换器:通过转换器处理属性面板上属性值和设计面板控件属性值不一致的情况。更优地,所述属性与持久存储层节点值的映射接口是为了当属性栏面板中的属性值发生变化后,将变化保存到持久层,或者通过持久层加载控件的时候需要将持久层内的数据映射到属性面板上,属性与持久存储层节点值的映射接口的具体描述如下:(1)、属性面板属性路径:用于在属性面板上查找属性;(2)、持久存储层属性节点路径:用于在持久存储层的控件结构中查找对应节点;(3)、转换器:处理属性面板中的值和持久存储层中的值不一致的情况。作为优选,所述控件在持久存储层内的描述接口中的持久存储层采用XML格式对控件进行存储并定义元素节点描述接口和属性节点描述接口用于描述控件的XML结构;其中,定义元素节点描述接口的具体描述如下:(1)、标签名:用于定义XML元素节点的标签名;(2)、子元素集合:元素内子元素的集合;(3)、子属性集合:元素属性的集合;属性节点描述接口的属性名用于定义XML属性节点的名称。本发明的表单设计器控件的通用描述方法和现有技术相比,具有以下有益效果:本发明为表单设计器控件定义了标准接口来描述表单设计器控件本身的属性以及与表单设计器各组成部分之间的关联,表单设计器可以通过解析控件的描述与定义,快速对控件进行集成,大量减少表单设计器控件变更时带来的编码量,大大提高了表单设计器开发和维护的效率,当控件的定义和描述发生变化后,表单设计器可以将这些变更快速应用到设计器的各个组成部分上。故本发明具有设计合理、使用方便、一物多用等特点,因而,具有很好的推广使用价值。附图说明下面结合附图对本发明进一步说明。附图1为表单设计器结构框图;附图2为表单设计器控件的整体架构图。具体实施方式下面结合附图和具体实施例对本发明作进一步说明。实施例1如附图1和2所示,本发明的表单设计器控件的通用描述方法,该方法是定义一组标准接口实现控件与表单设计器各组成部分之间的集成,标准接口包括控件整体描述接口、控件在工具箱面板内的描述接口、控件在设计视图面板内的描述接口、控件在属性面板内的描述接口以及控件在持久存储层内的描述接口;其中,控件整体描述接口涵盖与表单设计器各组装部分之间关系的描述;控件在工具箱面板内的描述接口用于将控件以预期的方式展示到工具箱面板中并对控件进行描述;控件在设计视图面板内的描述接口用于在设计视图面板上展示一个可视化的控件供用户操作;控件在属性面板内的描述接口用于属性面板中对控件进行展示和编辑;控件在持久存储层内的描述接口用于使用XML将表单设计器的设计结果保存到持久存储层中。控件整体描述接口的具体描述如下:(1)、控件标识:用于唯一标识一个控件;(2)、控件在工具箱面板内的描述:用于描述控件在表单设计器的工具箱面板内的展示;(3)、控件在设计视图面板内的描述:用于描述控件在表单设计器的设计视图面板上的展示与行为;(4)、控件在属性面板内的描述:用于描述控件在表单设计器的属性面板内的展示与行为;(5)、控件在持久存储层内的描述:用于定义控件在表单设计器的属性面板中的存储格式。控件在工具箱面板内的描述接口的具体描述如下:(1)、控件名称:表单设计器的工具栏面板中控件的显示名称;(2)、控件类别:表单设计器的工具栏面板中控件分组的依据;(3)、控件图标:表单设计器的工具栏面板中控件的图表路径;(4)、控件的显示顺序:表单设计器工具栏面案中控件的显示顺序。控件在设计视图面板内的描述接口的具体描述如下:设计视图控件构造器,设计视图控件构造器用于创建控件在设计视图展示的图形控件。控件在属性面板内的描述接口为了支持属性的嵌套需要定义以下接口:属性容器描述接口、属性描述接口、属性值校验规则接口、属性与设计视图面板内控件的映射接口以及属性与持久层节点值的映射接口;属性容器描述接口可以相互嵌套,对应到控件面板上就是一个嵌套的属性;其中,属性容器描述接口的具体描述如下:(1)、容器名称:用于属性容器在属性面板内展示的名称;(2)、容器类别:用于控制属性容器在属性面板内的哪个类别下显示,顶级容器此类别为空;(3)、是否显示:用于控制属性容器及子属性在属性面板内的可见性;(4)、显示顺序:用于控制属性容器在属性面板内的显示顺序;(5)、子容器描述集合:用于存储子属性容器描述的集合;(6)、子属性描述集合:用于存储子属性描述的集合。属性描述接口的具体描述如下:(1)、标识:用于在属性面板内唯一标识该属性;(2)、显示名:用于在属性面板内的显示的名称;(3)、描述:用于在属性面板内显示的对该属性的描述;(4)、类别:用于在属性面板内的哪个类别下展示;(5)、值类型:存储该属性的值类型;(6)、默认值:存储该属性的默认值;(7)、是否可见:用于控制该属性在属性面板中是否显示;(8)、是否只读:用来控制属性面板上该属性是否只读;(9)、显示顺序:用来控制在属性面板上的显示顺序;(10)、属性值编辑器:用来控制该属性在属性面板上用什么编辑器进行编辑;(11)、属性值校验规则集合:用来存储一组校验规则,来对属性值进行校验;(12)、属性与视图面板映射集合:用来存储一组映射,用来双向同步属性面板上的值和设计视图上控件的属性值;(13)、属性与持久层映射集合:用来存储一组映射,来双向同步属性面板上的属性值和持久层中对应节点的属性值。定义属性值校验规则接口是为了当属性面板中的属性值发生变化后,要对属性值的合法性进行校验,定义属性值校验规则接口的具体描述如下:(1)、校验规则:一个描述校验规则的表达式,如果是自定义校验,指定校验器的调用方式;(2)、校验失败提示:校验失败的提示信息。属性与设计视图面板内控件的映射接口是为了当属性面板中的属性值发生变化或设计视图面板内的控件属性发生变化后,对两者进行同步,属性与设计视图面板内控件的映射接口的具体描述如下:(1)、属性面板属性路径:用于在属性面板上查找属性;(2)、设计面板控件属性路径:用于在设计视图面板上查找可视化控件的属性;(3)、转换器:通过转换器处理属性面板上属性值和设计面板控件属性值不一致的情况。属性与持久存储层节点值的映射接口是为了当属性栏面板中的属性值发生变化后,将变化保存到持久层,或者通过持久层加载控件的时候需要将持久层内的数据映射到属性面板上,属性与持久存储层节点值的映射接口的具体描述如下:(1)、属性面板属性路径:用于在属性面板上查找属性;(2)、持久存储层属性节点路径:用于在持久存储层的控件结构中查找对应节点;(3)、转换器:处理属性面板中的值和持久存储层中的值不一致的情况。控件在持久存储层内的描述接口中的持久存储层采用XML格式对控件进行存储并定义元素节点描述接口和属性节点描述接口用于描述控件的XML结构;其中,定义元素节点描述接口的具体描述如下:(1)、标签名:用于定义XML元素节点的标签名;(2)、子元素集合:元素内子元素的集合;(3)、子属性集合:元素属性的集合;属性节点描述接口的属性名用于定义XML属性节点的名称。实施例2通过一个实际的实施场景,使本发明的上述目标、优点更加清晰易懂。实施过程包括两个阶段,分别为:控件定义阶段和表单设计器集成阶段。假设我们是要新增一个按钮控件,具体的实施流程如下:控件定义阶段1、定义按钮在工具箱面板的描述属性名称值控件名称按钮控件类别输入控件控件图标Button.png。控件的显示顺序102、定义按钮在属性面板中的描述,我们假设有以下属性:尺寸:显示在“布局”类别下,尺寸下又包含宽度和高度;文本:显示在“常规”类别下,用来设置按钮上显示的文本;下面我们开始对这些属性进行描述:3、定义按钮在持久层的描述,按钮在持久层的结构如下:<ButtonText=”按钮文本”><SizeWidth=“80”Height=”28”/></Button>为了描述这个结构我们要对该结构的所有元素和属性进行定义:(二)、表单设计器集成阶段(1)、表单设计器通过读取控件在工具箱面板上的描述,将控件显示到工具箱中;(2)、当用户将按钮从工具箱拖动到设计视图面板时,设计器做以下三项工作:①、根据控件在设计视图内的描述,在设计视图上上创建可视化控件;②、根据控件在持久层内的描述创建一段XML片段放入到内存中;③、根据控件在属性面板内的描述;(3)、当用户修改属性栏中的属性值时,表单设计器做以下三项工作:①、根据属性面板内的属性校验规则,对属性值的合法性进行校验;②、根据属性面板内的属性与设计视图面板的映射规则,修改设计视图面板内可视化控件的属性值;③、根据属性面板内的属性与持久层映射规则,修改内存中的XML节点值;(4)、当用户在设计视图面板对可视化控件进行调整时,根据属性面板内的属性与设计视图面板的映射规则,将变化同步到属性面板内的属性上,此时会触发属性面板内的属性值的变化,再去执行上述步骤(2)中的处理。通过上面具体实施方式,所述
技术领域
的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的两种具体实施方式。在公开的实施方式的基础上,所述
技术领域
的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。除说明书所述的技术特征外,均为本专业技术人员的已知技术。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1