一种处理控件属性的方法及装置制造方法及图纸

技术编号:5168615 阅读:162 留言:0更新日期:2012-04-11 18:40
本申请公开了一种处理控件属性的方法,包括:在用户界面GUI控件的控件属性表中针对该GUI控件的各类属性预设属性索引,以及属性索引与属性处理方法之间的映射关系;在用户访问所述控件属性表时,根据用户指示确定用户指定处理的至少一个属性的属性索引;根据所述属性索引与属性处理方法之间的映射关系,获取对应所述至少一个属性的属性索引的属性处理方法;执行获得的属性处理方法并向用户返回执行结果。这在很大程度上避免了字符串匹配流程所带来的繁琐操作,有效提升了控件的属性访问效率,从而提高了系统的运行效率和软件平台的服务质量。

【技术实现步骤摘要】

本申请涉及计算机领域,特别涉及一种处理控件属性的方法及装置
技术介绍
现有技术下,软件平台通常会提供大量的控件(control)供客户端使用,所谓控 件即是指在图形用户界面(GUI)中的一种对象,是用户可与之交互以输入操作数据的对 象,用户可操作该对象来执行某一行为,例如,按钮、列表框、编辑框或者某个对话框中的静 态文本。每个控件通常都具有几十到上百个属性,例如,控件的名称、控件的大小、颜色,控 件在操作界面中的坐标位置等等,这其中既包含了控件本身特有的属性,也包含了继承自 父类控件的属性。客户端往往通过设置控件的属性值来使用各种控件。现有技术下,客户端在使用各种控件时,通常是按照控件属性表包含的各种属性 的属性名称来调用相应的处理代码,现有的控件属性表是保存一组属性名称及其属性处理 方法的指针的容器。设置或获取某控件的一个属性的取值时,根据属性名称在控件属性表 中查找该属性的处理方法指针,然后调用该属性的处理方法指针来设置或获取相应的属性 值。如果在某控件的控件属性表中找不到指定的属性,则进入该控件的父类控件,并在其父 类控件的控件属性表中继续查找,若仍找不到,则进入父类控件的父类控件进行查找,以此 类推,直到找到指定属性并进行相应处理或到达根控件仍不能匹配返回错误为止。然而,现有技术下,控件属性表中包含的属性名称均设置为字符串型,并且一个控 件包含的属性相当多,因此通过属性名称调用指定属性的处理代码是一个计算密集且繁琐 的过程,需要进行多次字符串匹配操作,这将会造成大量的系统开销,特别是在处理一个由 基类提供的属性时,需要层层递进地在各个父类控件的控件属性表中执行字符串匹配操作 来进行查找,这将会大大增加系统的运行负荷,从而严重降低软件平台中的各类控件的生 成效率,进而影响了系统的服务质量。
技术实现思路
本申请实施例提供一种处理控件属性的方法及装置,用以提高软件平台中,各类 控件的属性处理效率,从而提高系统的运行效率。本申请实施例提供的具体技术方案如下一种处理控件属性的方法,包括在用户界面GUI控件的控件属性表中针对该GUI控件的各类属性预设属性索引, 以及属性索引与属性处理方法之间的映射关系;在用户访问所述控件属性表时,根据用户指示确定用户指定处理的至少一个属性 的属性索引;根据所述属性索引与属性处理方法之间的映射关系,获取对应所述至少一个属性 的属性索引的属性处理方法;4执行获得的属性处理方法并向用户返回执行结果。一种用于处理控件属性的终端,包括设置单元,用于在用户界面GUI控件的控件属性表中针对该GUI控件的各类属性 预设属性索引,以及属性索引与属性处理方法之间的映射关系;存储单元,用于保存针对所述GUI控件的各类属性预设的属性索弓|,以及属性索 弓丨与属性处理方法之间的映射关系第一处理单元,用于在用户访问所述控件属性表时,根据用户指示确定用户指定 处理的至少一个属性的属性索引,并根据所述属性索引与属性处理方法之间的映射关系, 获取对应所述至少一个属性的属性索引的属性处理方法;第二处理单元,用于执行获得的属性处理方法并向用户返回执行结果。本申请实施例中,采用重新定义的属性索引访问控件属性表,在这很大程度上避 免了字符串匹配流程所带来的繁琐操作,有效提升了控件的属性访问效率,从而提高了系 统的运行效率和软件平台的服务质量附图说明图1A和图1B为本申请实施例中控件属性表示意图;图2为本申请实施例中用于处理控件属性的终端功能结构图;图3为本申请实施例中终端处理控件属性流程图。具体实施例方式客户端在使用各种控件时,通常是按照控件属性表包含的各种属性的属性名称来 调用相应的处理代码,现有的控件属性表是保存一组属性名称及其属性处理方法的指针的 容器。设置或获取某控件的一个属性的取值时,根据属性名称在控件属性表中查找该属性 的处理方法指针,然后调用该属性的处理方法指针来设置或获取相应的属性值。为了提高软件平台中各类控件的属性处理效率,本申请实施例中,在用户界面GUI 控件的控件属性表中针对该GUI控件的各类属性预设属性索引,以及属性索引与属性处理 方法之间的映射关系;在用户访问所述控件属性表时,根据用户指示确定用户指定处理的 至少一个属性的属性索引;根据所述属性索引与属性处理方法之间的映射关系,获取对应 所述至少一个属性的属性索引的属性处理方法;执行获得的属性处理方法并向用户返回执 行结果。本申请实施例中,以系统中的一个控件为例进行介绍,那么,参阅图1A所示,为该 控件设置对应的控件属性表时,采用的方法包含但不限于以下方式如图1A所示,设置了一个控件属性表(简称属性表),该控件属性表至少包括1) 保存继承属性表的数组(以下称为继承属性表);2) —对表示本属性表中属性索引的取值 起止范围的变量(以下称为最小属性索引和最大属性索引);3) —个保存属性方法项(即 属性的处理方法)的数组(以下称为属性方法表)。进一步地,本申请实施例中,还为控件的各类属性预设了可在系统内(即软件平 台内)对其进行唯一标识的属性全局ID,程序代码中一律使用属性全局ID来访问属性;较 佳地,将属性全局ID设置为整型,这样,可以在一定程度上提高访问控件属性表时的匹配效率。那么,如图1A所示,在控件属性表中还需要包含一个保存属性全局ID与属性索引之 间映射关系的映射表(以下称为属性全局ID映射表)。最后,还需要在控件属性表中定义一个全局字符串属性表,保存字符串型的属性 名称与属性全局ID之间的映射关系。本申请实施例中,每个控件的控件属性表在GUI系统初始化时随之进行初始化, 初始化过程包括加载本属性表直接继承的父类控件属性表的指针到继承属性表中;为控件属性表分配属性值索引起止范围,并将最小属性索引和最大属性索引保存 到属性表对应的存储位置;加载控件自身拥有的属性的处理方法及其属性索引到属性方法表中;进一步地,初始化过程还包括加载控件自身拥有的属性的属性全局ID及其在属性方法表中的属性索引到属性 全局ID映射表中;在全局字符串属性表中添加属性名称与属性全局ID映射项(即两者之间的映射 关系);参阅图1B所示,假设⑶I软件平台内只包含2个控件——Window和Button,其中 Button类是继承自Window类的子控件。并假定⑶I软件平台只提供了 13个属性。那么,参见图1B中的属性全局ID映射表,所有属性均分配一个属性全局ID,用于 使用属性全局ID替代属性名称访问。参见Window类属性表,GUI软件平台分配给该控件类的最小属性索引为1000,最 大属性索引为1999。在该类的属性方法表中,有7个属性可以由该类处理。在该类的继承 属性表中,由于该类为基类,没有父类,所以该表为空。在该类的属性全局ID映射表中,建 立起该类能处理的7个属性的属性全局ID及其相应的属性索引之间的对应关系。参见Button类属性表,GUI软件平台分配给该控件类的最小属性索引为2000,最 大属性索引为2999。在该类的属性方法表中,有6个属性可以由该类处理。在该类的继承 属性表中,由于该类继承自Window类,所以该表保存了 Window类属性表的指针(通过该指 针可以访问到Window类属性表)。在该类的属性全局ID映射表中,建立起该本文档来自技高网
...

【技术保护点】
一种处理控件属性的方法,其特征在于,包括:在用户界面GUI控件的控件属性表中针对该GUI控件的各类属性预设属性索引,以及属性索引与属性处理方法之间的映射关系;在用户访问所述控件属性表时,根据用户指示确定用户指定处理的至少一个属性的属性索引;根据所述属性索引与属性处理方法之间的映射关系,获取对应所述至少一个属性的属性索引的属性处理方法;执行获得的属性处理方法并向用户返回执行结果。

【技术特征摘要】
1. 一种处理控件属性的方法,其特征在于,包括在用户界面GUI控件的控件属性表中针对该GUI控件的各类属性预设属性索引,以及 属性索引与属性处理方法之间的映射关系;在用户访问所述控件属性表时,根据用户指示确定用户指定处理的至少一个属性的属 性索引;根据所述属性索引与属性处理方法之间的映射关系,获取对应所述至少一个属性的属 性索引的属性处理方法;执行获得的属性处理方法并向用户返回执行结果。2.如权利要求1所述的方法,其特征在于,所述根据用户指示确定用户指定处理的至 少一个属性的属性索引,包括若用户指示包含所述至少一个属性的属性索引,则直接获取该属性索引; 若用户指示包含所述至少一个属性的属性全局标识ID,则根据预设的属性全局ID与 属性索引之间的映射关系,获取对应所述属性全局ID设置的属性索引;若用户指示包含所述至少一个属性的属性名称,则根据预设的属性名称与属性全局ID 之间的映射关系,获取对应所述属性名称设置的属性全局ID,再根据预设的属性全局ID与 属性索引之间的映射关系,获取对应该属性全局ID设置的属性索引; 其中,属性全局ID用于在系统中唯一标识某一属性。3.如权利要求1或2所述的方法,其特征在于,根据所述属性索引与属性处理方法之间 的映射关系,获取对应所述至少一个属性的属性索引的属性处理方法时,包括将所述至少一个属性的属性索引分别与所述控件属性表中记录的最小属性索引和最 大属性索引进行比较,确定所述至少一个属性的属性索引的取值,归属于所述最小属性索引与最大属性索引 限定的取值区间时,根据所述至少一个属性的属性索引与所述最小属性索引的差值获取对 应的属性处理方法。4.如权利要求3所述的方法,其特征在于,若确定所述至少一个属性的属性索引的取 值,不归属于所述最小属性索引与最大属性索引限定的取值区间,则在当前访问的控件属 性表继承的父类控件属性表中继续查找,直至返回处理结果。5.如权利要求3所述的方法,其特征在于,根据所述至少一个属性的属性索引获得对 应的属性处理方法后,若获知对应该属性索引进一步设置有延迟处理标志,则暂停处理,并 在指定时机执行获得的属性处理方法。6.如权利要求3所述的方法,其特征在于,所述根据所述至少一个属性的属性索引与 所述最小属性索引的差值获取对应的属性处理方法,具体包括根据所述差值在属性方法 表中获取对应的属性处理方法。7. 一种用于处理控件属性...

【专利技术属性】
技术研发人员:唐红兵
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:KY[开曼群岛]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1