CN101571800A - 控制界面中处理控件关系的方法和装置 - Google Patents

控制界面中处理控件关系的方法和装置 Download PDF

Info

Publication number
CN101571800A
CN101571800A CNA2008100670417A CN200810067041A CN101571800A CN 101571800 A CN101571800 A CN 101571800A CN A2008100670417 A CNA2008100670417 A CN A2008100670417A CN 200810067041 A CN200810067041 A CN 200810067041A CN 101571800 A CN101571800 A CN 101571800A
Authority
CN
China
Prior art keywords
control
relationship
relation
elementses
elements
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
CNA2008100670417A
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNA2008100670417A priority Critical patent/CN101571800A/zh
Publication of CN101571800A publication Critical patent/CN101571800A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种控制界面中处理控件关系的方法和装置,用于处理计算机软件的控制界面上的控件关系,其中的方法包括以下步骤:获取控件的信息,对同一控件的信息进行关联;在一个源控件和至少一个目的控件之间建立控制关系,形成一个关系元素;接收用户的操作指令,依所述操作指令对关系元素按照所述控制关系进行控制处理。本发明中的方法和装置能够实现处理一个源控件控制多个目的控件的关系。

Description

控制界面中处理控件关系的方法和装置
技术领域
本发明涉及一种涉及计算机软件技术领域,尤其涉及到控制界面上各控件元素之间关联度高的情况下的处理方法和装置。
背景技术
软件产品主要是通过控制界面中包含的用户可输入或操作数据的控件实现人机交互,例如,通常出现在对话框中或工具栏上的按钮、编辑框、滑动条等。控件又分为源控件和目的控件,源控件和目的控件之间是直接的控制关系,源控件是用于控制其他控件的控件,目的控件是被控制的控件。
在多层控制关系中会有某个控件既是一个控制关系中的源控件,又是另一控制关系中的目标控件,如此在涉及相关业务较多的情形,其控制软件界面控件元素众多,且各元素之间存在错综复杂的控制关系。例如,运行在CPCI平台上以光传输测试替代传统仪表的硬件模块SDH TESTER,据统计其控制界面共有13个页面,平均每个页面约有15个元素,各个页面的元素之间存在复杂的关系,如第一操作页面的第一控件和第二页面的第二控件、第三页面的第三控件有关联,即,在第一操作页面上操作第一控件会引起第二控件和第三控件的状态变化。传统的方法都是在第一控件元素的响应函数中直接操作第二控件元素和第三控件元素的状态。但在这种复杂的元素关系中,对某处的代码改动往往会影响到其它代码,同时大量的IF和ELSE语句也导致软件代码维护和扩展困难。
公开号为CN 101046745A的中国专利,此专利通过控件关系设置模块、排序模块和处理模块来对控件关系进行处理。其能够处理的关系:如图1所示,控件A控制控件B,控件B控制控件C;以及图2所示的控件A和控件B控制控件C。但对于图3中所示关系处理却存在局限性,控件A控制控件B、控件C、控件D,即,一个源控件控制多个目的控件的控制关系。而且该专利只能对单选框、复选框和下拉列表三种控件进行可用(Enable)和不可用(Disable)的状态处理,对于不能接收用户的输入的静态框、接收输入信息的编辑框等其它类型的控件却不能适用,对于下拉列表控件包含的内容及其当前的选择项也无法更新。
因此,现有技术还存在缺陷,有待于改进和发展。
发明内容
本发明解决的技术问题是提供一种控制界面中处理控件关系的方法和装置,该方法和装置能够实现一个源控件控制多个目的控件。
为解决上述技术问题,本发明采用以下方案:
一种控制界面中处理控件关系的方法,用于处理计算机软件的控制界面上的控件关系,包括以下步骤:S1、获取控件的信息,对同一控件的信息进行关联;S2、在一个源控件和至少一个目的控件之间建立控制关系,形成一个关系元素;S3、接收用户的操作指令,依所述操作指令对关系元素按照所述控制关系进行控制处理。
所述的方法,其中,所述信息包括所述控件的标识,所述步骤S2包括:S21、创建关系元素,所述关系元素包括一个源控件的标识和目的控件链表;S22、将与所述源控件有控制关系的目的控件添加到所述的目的控件链表中。
所述的方法,其中,所述步骤S3包括:S31、读取用户对所述源控件的操作指令;S32、根据操作指令,修改所述关系元素中控件的状态,以及处理相关的业务;S33、分别以所述关系元素中的目的控件为源控件的其他关系元素,与步骤S32同处理所述其他关系元素。
所述的方法,其中,所述步骤S3还包括:S34、判断所述其他关系元素是否已处理,若为是,则对所述其他关系元素不予处理;若为否,则与步骤S32同处理所述其他关系元素。
所述的方法,其中,在所述步骤S31之前加入步骤S30:创建用于存储所述关系元素的存储栈;执行步骤S31;所述步骤S32为:将所述关系元素存储在所述存储栈中,根据操作指令,修改所述关系元素中控件的状态,以及处理相关的业务;执行步骤S33;所述步骤S34为:判断所述其他关系元素是否在所述存储栈中,若为是,则对所述其他关系元素不予处理;若为否,则与步骤S32同处理所述其他关系元素。
所述的方法,其中,所述信息还包括所述控件所在页面的标识,所述步骤S3还包括:S34、根据关系元素中所述控件的标识,获取其所在的页面;S35、向所述页面发送更新消息,修改页面中相应控件的状态。
所述的方法,其中,所述步骤S3还包括:S30、保存所述源控件和目的控件的原状态,然后执行所述步骤S31至所述步骤S33;S34、如果所述相关业务处理失败,则恢复相应控件的原状态。
本发明还提供一种控制界面中处理控件关系的装置,包括用于接收用户操作指令的接收模块、用于获取控件的信息的信息模块,还包括与所述信息模块连接的关联模块,用于将同一控件的信息进行关联;与所述关联模块连接的关系元素创建模块,用于将一个源控件和至少一个目的控件之间建立控制关系而形成一个关系元素;与所述接收模块和关系元素创建模块连接的处理模块,用于依所述操作指令对关系元素按照所述控制关系进行控制处理。
所述的装置,其中,所述处理模块包括与所述关系元素创建模块连接的判断单元,用于在判断以所述关系元素中的目的控件为源控件的其他关系元素的状态已改变时,向所述处理模块发出不予处理的指令。
所述的装置,其中,所述判断单元包括:与所述关系元素创建模块连接的存储单元,用于存储所述状态已改变的其他关系元素;与所述存储栈连接的查找单元,用于在所述存储单元中查找到所述其他关系元素时,向处理模块发出不予处理的指令。
与现有技术相比,本发明通过在一个源控件和至少一个目的控件之间建立控制关系,形成一个关系元素实现了一个源控件控制多个目的控件的关系。
附图说明
图1是现有技术中能够处理的一种控制关系图;
图2是现有技术中能够处理的另一种控制关系图;
图3是本发明能够处理的控制关系图;
图4是本发明控制界面中处理控件关系的方法流程图;
图5是本发明一种实施方式中实现图4中步骤300的流程图;
图6是本发明另一种实施方式中实现图4中步骤300的部分步骤的流程图;
图7是本发明控制界面中处理控件关系的装置的结构图。
具体实施方式
下面结合具体实施方式和附图对本发明作进一步详细的描述。
本发明提供一种控制界面中处理控件关系的方法,如图4所示,包括以下步骤:
100、获取控件的信息,将同一控件的信息进行关联;
所述控件的信息至少包括控件的标识(ID)、控件所在页面的标识(PageID)、控件的类型(ControlType),控件的类型包括下拉列表、单选按钮、复选按钮、编辑框等。
200、在一个源控件和至少一个目的控件之间建立控件关系,形成一个关系元素(RelationElem);本步骤可通过以下步骤实现:
210、建立关系元素(CreateRelationElem),该关系元素包括一个源控件的标识和目的控件链表;
220、将与所述源控件有控制关系的目的控件添加到所述的目的控件链表中。通过建立关系元素,对控件按照一对多的存储关系进行存储,这样可以处理一个源控件对应多个目的控件的关系。
300、接收用户的操作指令,依所述操作指令对关系元素按照所述控制关系进行控制处理。如图5所示,本步骤由以下分步骤实现:
310、读取用户对所述源控件的操作指令;
320、根据操作指令,修改所述关系元素中控件的状态,以及处理相关的业务;修改控件状态包括:状态为显示或不显示,可用或不可用等,如果目的控件是下拉列表,还包括更新其列表内容和当前选择;如果目的控件是静态框或者编辑框,还包括更新其界面显示的内容;这就可以动态地更新下拉列表控件内容和当前选择的方法。所谓相关业务包括:向硬件模块发送动作指令等。
330、分别以所述关系元素中的目的控件为源控件的其他关系元素,与步骤320同处理所述其他关系元素。
340、遍历所述关系元素的目的控件链表、判断所述其他关系元素是否已处理,若为是,则对所述其他关系元素不予处理;若为否,则与步骤320同处理所述其他关系元素。这是为了在存在多级
Figure A20081006704100091
制关系时,解除多级制死环回。
如图3所示,当控制关系是控件A——>控件B——>控件E——>控件A这种多级控制关系时,所述步骤300可以通过以下分步骤实现:
301、创建用于存储所述关系元素的存储栈(RelationElemTempStack);
302、将所述关系元素存储在所述存储栈中;
303、保存所述源控件和目的控件的原状态;
304、根据操作指令,修改所述关系元素中控件的状态,以及处理相关的业务;
305、分别以所述关系元素中的目的控件为源控件的其他关系元素,与步骤302至304相同处理所述其他关系元素;
306、根据关系元素中所述控件的标识,获取其所在的页面,向所述页面发送更新消息;
307、如果所述相关业务处理失败,则恢复相应控件的原状态;步骤303到步骤307如图6所示;
308、判断所述其他关系元素是否在所述存储栈中,若为是,则对所述其他关系元素不予处理;若为否,则与步骤302至304相同处理所述其他关系元素。
本发明还提供控制界面中处理控件关系的装置,如图7所示,包括:用于接收用户操作指令的接收模块;用于获取控件的信息的信息模块;与所述信息模块连接的关联模块,用于将同一控件的信息进行关联;与所述关联模块连接的关系元素创建模块,用于在一个源控件和至少一个目的控件之间建立控制关系而形成一个关系元素;与所述接收模块和关系元素创建模块连接的处理模块,用于依所述操作指令对关系元素按照所述控制关系进行控制处理。所述处理模块包括与所述关系元素创建模块连接的判断单元,用于在判断以所述关系元素中的目的控件为源控件的其他关系元素的状态已改变时,向所述处理模块发出不予处理的指令。
作为上述装置的一种具体实施方式,所述判断单元包括:与所述关系元素创建模块连接的存储单元,用于存储所述状态已改变的其他关系元素;与所述存储栈连接的查找单元,用于在所述存储单元中查找到所述其他关系元素时,向处理模块发出不予处理的指令。该存储单元的作用与前述方法中的存储栈相同,但不限于存储栈的形式。
以下是本发明的最佳实施方式:
创建数据中心(DataCenter),该数据中心即控制界面中处理控件关系的装置,数据中心以链表形式存储多个关系元素,并维护一个存储栈(RelationElemTempStack)。
数据中心包括关系元素创建函数(CreateRelationElem),该函数用于创建关系元素,具体函数如下:CreateRelationElem(SourceID,PageID,ControlType),其中,SourceID是源控件的标识,PageID是源控件所在的页面的标识,ControlType是源控件的类型。
关系元素中存储源控件的标识,并以链表形式存储一个或者多个目的控件。数据中心还包括添加函数(RegisterDestControl),该函数将目的控件添加到关系元素的目的控件链表中,具体函数如下:RegisterDestControl(DestID,PageID,ControlType),其中,DestID是目的控件的标识,PageID是目的控件所在的页面的标识,ControlType是目的控件的类型。
通过这样的存储关系,可以处理一个源控件对应多个目的控件的关系,即,图3中控件A——>控件B,控件A——>控件C、控件A——>控件D的控制关系。
关系元素提供处理函数(Process),该函数负责具体的关系处理。假设第一操作页面的控件A和第二页面的控件B、第三页面的控件C有关联,处理时关系元素A的关系处理函数包括下面步骤:
10、将关系元素A添加到存储栈,保存第一关系元素A中源控件和目的控件的原状态。
20、按照用户的操作指令修改源控件和目的控件的状态;状态修改包括:改为显示或者不显示、可用或者不可用等;若目的控件是下拉列表,还包括更新其列表内容和当前选择;若目的控件是静态框或者编辑框,还包括更新其界面显示的内容。如有需要,根据源控件和目的控件的状态信息,进行相关业务处理,例如向硬件模块发送动作指令等业务。
30、如果状态修改失误、或者相关业务处理失败,则恢复相应的源控件或目的控件的原状态;
40、遍历关系元素A中目的控件链表,以控件B和控件C为源控件找到关系元素B和关系元素C,与步骤10至30相同处理关系元素B和关系元素C;
50、根据控件A的标识获取第一操作页面的标识,根据控件B的标识获取第二操作页面的标识,根据控件C的标识获取第三操作页面的标识;向所述页面发送页面更新消息;
60、遍历关系元素A的目的控件链表,按顺序在存储栈中查找以控件B和控件C为源控件的关系元素B和关系元素C;
如果存储栈中已有关系元素B,则不调用关系元素B的处理函数;
如果关系元素C和关系元素A已经在关系临时存储栈中,同样不调用C和关系元素A的关系处理函数。如果关系元素B不在关系临时存储栈中,则调用关系元素B的关系处理函数,逐层调用,直到最后一个关系元素E处理完毕。通过此步骤,可以处理多级控制关系,即,图3中控件A——>控件B——>控件E——>控件A的控制关系。
70、释放存储栈;
80、第一操作页面、第二操作页面、第三操作页面处理各自的页面刷新消息刷新界面。
应当理解的是,以上所提供的具体实施方式只是对本发明的说明,而不应当理解为对本发明的限制,对本领域的普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应为本发明所揭示的原理和特征,均属本发明的保护范围。

Claims (10)

1、一种控制界面中处理控件关系的方法,用于处理计算机软件的控制界面上的控件关系,包括以下步骤:
S1、获取控件的信息,对同一控件的信息进行关联;
S2、在一个源控件和至少一个目的控件之间建立控制关系,形成一个关系元素;
S3、接收用户的操作指令,依所述操作指令对关系元素按照所述控制关系进行控制处理。
2、根据权利要求1所述的方法,其特征在于,所述信息包括所述控件的标识,所述步骤S2包括:
S21、创建关系元素,所述关系元素包括一个源控件的标识和目的控件链表;
S22、将与所述源控件有控制关系的目的控件添加到所述的目的控件链表中。
3、根据权利要求1所述的方法,其特征在于,所述步骤S3包括:
S31、读取用户对所述源控件的操作指令;
S32、根据操作指令,修改所述关系元素中控件的状态,以及处理相关的业务;
S33、分别以所述关系元素中的目的控件为源控件的其他关系元素,与步骤S32同处理所述其他关系元素。
4、根据权利要求3所述的方法,其特征在于,所述步骤S3还包括:
S34、判断所述其他关系元素是否已处理,若为是,则对所述其他关系元素不予处理;若为否,则与步骤S32同处理所述其他关系元素。
5、根据权利要求4所述的方法,其特征在于,在所述步骤S31之前加入步骤S30:创建用于存储所述关系元素的存储栈;执行步骤S31;
所述步骤S32为:将所述关系元素存储在所述存储栈中,根据操作指令,修改所述关系元素中控件的状态,以及处理相关的业务;执行步骤S33;
所述步骤S34为:判断所述其他关系元素是否在所述存储栈中,若为是,则对所述其他关系元素不予处理;若为否,则与步骤S32同处理所述其他关系元素。
6、根据权利要求3所述的方法,其特征在于,所述信息还包括所述控件所在页面的标识,所述步骤S3还包括:
S34、根据关系元素中所述控件的标识,获取其所在的页面;
S35、向所述页面发送更新消息,修改页面中相应控件的状态。
7、根据权利要求3所述的方法,其特征在于,所述步骤S3还包括:
S30、保存所述源控件和目的控件的原状态,然后执行所述步骤S31至所述步骤S33;
S34、如果所述相关业务处理失败,则恢复相应控件的原状态。
8、一种控制界面中处理控件关系的装置,包括用于接收用户操作指令的接收模块、用于获取控件的信息的信息模块,其特征在于,
还包括与所述信息模块连接的关联模块,用于将同一控件的信息进行关联;
与所述关联模块连接的关系元素创建模块,用于将一个源控件和至少一个目的控件之间建立控制关系而形成一个关系元素;
与所述接收模块和关系元素创建模块连接的处理模块,用于依所述操作指令对关系元素按照所述控制关系进行控制处理。
9、根据权利要求8所述的装置,其特征在于,所述处理模块包括与所述关系元素创建模块连接的判断单元,用于在判断以所述关系元素中的目的控件为源控件的其他关系元素的状态已改变时,向所述处理模块发出不予处理的指令。
10、根据权利要求9所述的装置,其特征在于,所述判断单元包括:与所述关系元素创建模块连接的存储单元,用于存储所述状态已改变的其他关系元素;与所述存储栈连接的查找单元,用于在所述存储单元中查找到所述其他关系元素时,向处理模块发出不予处理的指令。
CNA2008100670417A 2008-04-29 2008-04-29 控制界面中处理控件关系的方法和装置 Pending CN101571800A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008100670417A CN101571800A (zh) 2008-04-29 2008-04-29 控制界面中处理控件关系的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008100670417A CN101571800A (zh) 2008-04-29 2008-04-29 控制界面中处理控件关系的方法和装置

Publications (1)

Publication Number Publication Date
CN101571800A true CN101571800A (zh) 2009-11-04

Family

ID=41231163

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008100670417A Pending CN101571800A (zh) 2008-04-29 2008-04-29 控制界面中处理控件关系的方法和装置

Country Status (1)

Country Link
CN (1) CN101571800A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135884A (zh) * 2011-03-18 2011-07-27 北京星网锐捷网络技术有限公司 控件联动方法、装置及系统
CN106202244A (zh) * 2016-06-28 2016-12-07 深圳中兴网信科技有限公司 网页消息返回方法和网页消息返回系统
CN106648715A (zh) * 2015-10-29 2017-05-10 阿里巴巴集团控股有限公司 加载弹窗控件的方法和系统
CN106850563A (zh) * 2016-12-28 2017-06-13 百富计算机技术(深圳)有限公司 访问支付终端的方法及装置
US9792006B2 (en) 2011-09-29 2017-10-17 Microsoft Technology Licensing, Llc Automatic lifecycle management for pages on a mobile application
CN110889013A (zh) * 2019-11-22 2020-03-17 北京锐安科技有限公司 一种基于xml的数据关联方法、装置、服务器及存储介质
CN110968315A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 元素数据结构的更改方法及装置、存储介质、处理器
CN112044061A (zh) * 2020-08-11 2020-12-08 腾讯科技(深圳)有限公司 游戏画面处理方法、装置、电子设备以及存储介质
CN114130016A (zh) * 2021-12-07 2022-03-04 腾讯科技(深圳)有限公司 一种控件资源管理方法和相关装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135884A (zh) * 2011-03-18 2011-07-27 北京星网锐捷网络技术有限公司 控件联动方法、装置及系统
US10528232B2 (en) 2011-09-29 2020-01-07 Microsoft Technology Licensing, Llc Automatic lifecycle management for pages on a mobile application
US9792006B2 (en) 2011-09-29 2017-10-17 Microsoft Technology Licensing, Llc Automatic lifecycle management for pages on a mobile application
CN108427592A (zh) * 2011-09-29 2018-08-21 微软技术许可有限责任公司 移动应用上的页面的自动生存期管理
CN106648715A (zh) * 2015-10-29 2017-05-10 阿里巴巴集团控股有限公司 加载弹窗控件的方法和系统
CN106202244A (zh) * 2016-06-28 2016-12-07 深圳中兴网信科技有限公司 网页消息返回方法和网页消息返回系统
CN106850563A (zh) * 2016-12-28 2017-06-13 百富计算机技术(深圳)有限公司 访问支付终端的方法及装置
CN110968315A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 元素数据结构的更改方法及装置、存储介质、处理器
CN110968315B (zh) * 2018-09-30 2023-12-26 北京国双科技有限公司 元素数据结构的更改方法及装置、存储介质、处理器
CN110889013A (zh) * 2019-11-22 2020-03-17 北京锐安科技有限公司 一种基于xml的数据关联方法、装置、服务器及存储介质
CN112044061A (zh) * 2020-08-11 2020-12-08 腾讯科技(深圳)有限公司 游戏画面处理方法、装置、电子设备以及存储介质
CN112044061B (zh) * 2020-08-11 2022-05-06 腾讯科技(深圳)有限公司 游戏画面处理方法、装置、电子设备以及存储介质
CN114130016A (zh) * 2021-12-07 2022-03-04 腾讯科技(深圳)有限公司 一种控件资源管理方法和相关装置
CN114130016B (zh) * 2021-12-07 2023-07-14 腾讯科技(深圳)有限公司 一种控件资源管理方法和相关装置

Similar Documents

Publication Publication Date Title
CN101571800A (zh) 控制界面中处理控件关系的方法和装置
CN101175284B (zh) 一种便携式电子设备的功能测试方法
CN110427385B (zh) 区块链数据更新方法、相关节点及区块链
CN100511156C (zh) 强制性地终止输入/输出操作阻止的线程的设备和方法
CA2495024A1 (en) System and method for adaptable provisioning of generic application content
CN100416686C (zh) 闪存及其在光驱中动态加载固件操作模块的方法
CN101694642B (zh) 数据卡的更新方法及装置
CN101256482A (zh) 一种嵌入式应用程序的开发系统及方法
CN113076144A (zh) 功放适配方法、终端设备、存储介质及计算机程序产品
CN110515793A (zh) 系统性能监控方法、装置、设备及存储介质
CN1326410C (zh) 获取移动终端更新能力信息的方法
CN100369519C (zh) 一种用于基站系统的操作维护系统和方法
CN101582071A (zh) 数据更新系统及方法
CN1329818C (zh) 基于纯文本的命令脚本文件的人机命令实现方法
CN101388792B (zh) 一种单板即插即用的处理方法、装置以及电信系统
CN100422931C (zh) 一种软件功能更新的方法及系统
CN100417095C (zh) 实现网管和网元配置操作的方法与系统
CN101694661B (zh) 一种统计报表生成方法、装置和统计服务器
CN1975701B (zh) 主机驱动外设的方法及系统
CN101465897B (zh) 一种ip电话机的参数配置方法
CN1801831A (zh) 加快手机启动响应速度的方法
CN102387137B (zh) 多个网络设备智能操作逻辑的实现方法和系统
JP2003280732A (ja) データ伝送装置、および、それを用いた制御システム
CN103036668A (zh) 一种基于命令行的机架式设备卡间配置同步方法
EP1583336A3 (en) Mobile terminal and key operation method capable of restoring operation environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20091104