一种生成widget的方法及装置的制作方法

文档序号:6579542阅读:158来源:国知局
专利名称:一种生成widget的方法及装置的制作方法
技术领域
本发明涉及互联网技术领域,特别是涉及一种生成widget的方法及装置。
背景技术
微件(Widget)是一个基于网络、可以嵌入网页或独立运行在PC桌面或其它类型 联网终端上的实用工具,当然,widget也可以称为微技。例如,时钟widget,可以在桌面上 显示当前的时间;天气widget,可以显示定制的地区的天气预报;CPU widget可以显示CPU 的占用比率;还有桌面搜索widget、股票widget等等。此外,widget不仅可以在PC桌面上 使用,还可以嵌入到网页中,如www. google, cn/ig就是由多个widget组成的。另外,还可 以运行在手机、数码相框、数字电视等嵌入式设备上。用户也可以制作自己的特有的widget 与大家共享,大大丰富了 widget的世界。随着终端和网络业务能力的增强,widget的应用 类型越来越丰富,用户开发的widget数量也越来越多。但是,本发明人在实现本发明的过程中发现,目前业界普遍认为widget仅是一种 能够执行简单逻辑、实现单一任务的小应用,在制作widget时,需要通过编写代码的方式 来实现,用户需要熟悉多方面的知识图像处理、HTML/XML、java等,使得开发widget的工 作量很大,因此在很大程度上限制了 widget的应用。

发明内容
本发明提供一种生成widget的方法及装置、一种运行widget的方法及widget引 擎以及一种客户端设备,以实现通过已有widget的组合重用来生成widget,减少widget开 发的工作量。为实现上述目的,本发明提供了如下方案一种生成widget的方法,包括获得源widget中的待重用元素的标识信息;生成所述待重用元素之间的逻辑关系;根据所述待重用元素的标识信息及所述逻辑关系,生成包括所述待重用元素的标 识信息及所述逻辑关系的widget。一种生成widget的装置,包括标识单元,用于获得源widget中的待重用元素的标识信息;逻辑关系生成单元,用于生成所述待重用元素之间的逻辑关系;widget生成单元,用于根据所述待重用元素的标识信息及所述逻辑关系,生成带 有所述待重用元素的标识信息及所述逻辑关系的widget。一种运行widget的方法,包括识别包括待重用元素的标识信息及逻辑关系的widget ;根据所述待重用元素的标识信息获得待重用元素;解析所述逻辑关系,将所述待重用元素插入到所述widget中,执行并渲染所述widget。一种widget引擎,包括 识别单元,用于识别包括待重用元素的标识信息及逻辑关系的widget ;获取单元,用于根据所述待重用元素的标识信息获得待重用元素;解析单元,用于解析所述逻辑关系,将所述待重用元素插入到所述widget中,执 行并渲染所述widget。一种客户端设备,包括生成widget的装置,用于获得源widget中的待重用元素的标识信息,生成所述待 重用元素之间的逻辑关系,根据所述待重用元素的标识信息及所述逻辑关系,生成带有所 述待重用元素的标识信息及所述逻辑关系的widget ;widget引擎,用于据所述待重用元素的标识信息获得待重用元素,解析所述逻辑 关系,将所述待重用元素插入到所述widget中,执行并渲染所述widget。根据本发明提供的具体实施例,本发明公开了以下技术效果本发明实施例能够获得源widget中的待重用元素的标识信息;生成所述待重用 元素之间的逻辑关系;根据所述待重用元素的标识信息及所述逻辑关系,生成带有所述待 重用元素的标识信息及所述逻辑关系信息的widget。因此,能够通过已有widget的组合重 用来生成新的widget,使得开发过程中无须编写代码,减少了 widget开发的工作量,有利 于widget技术的发展。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图 获得其他的附图。图1是本发明实施例提供的生成widget的方法的流程图;图2是本发明实施例提供的生成widget的另一方法的流程图;图3是本发明实施例提供的运行widget的方法的流程图;图4是本发明实施例提供的运行widget的另一方法的流程图;图5是本发明实施例提供的生成widget的第一装置的示意图;图6是本发明实施例提供的生成widget的第二装置的示意图;图7是本发明实施例提供的widget引擎的示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
参见图1,本发明实施例提供的生成widget的方法包括以下步骤SlOl 获得源widget中的待重用元素的标识信息;其中,所述源widget是指已有的widget,该已有的widget可以是按照现有技术的方法生成的,也可以是按照本发明实施例提供的方法生成的。所述待重用元素是指源widget中需要重用的元素,该待重用元素需要在新生成 的widget中使用。获得待重用元素的标识,是为了能够在运行新生成的widget时,能够唯 一确定地找到该待重用元素。S102 生成所述待重用元素之间的逻辑关系;所述待重用元素之间的逻辑关系是指,各待重用元素在新widget中的逻辑关系, 可以包括简单的组合关系,或者先后关系,或者复杂的协作关系等等。其中,所述组合关系 就是简单地将各个待重用元素拼凑在一起,组合成新的widget ;所述先后关系是指待重用 元素之间具有一定的先后关系,例如,将前一待重用元素的输出作为后一待重用元素的输 入;所述协作关系是指,各个待重用元素之间较复杂的逻辑关系,具体的可以结合实际应用 来确定。生成所述待重用元素之间的逻辑关系,就是要将各种逻辑关系表达成widget运 行装置能够识别的语言,以便于在运行该新生成的widget时,能够正常地解析该逻辑关 系。具体的生成方法有多种,例如,可以将所述逻辑关系写在widget的标记语言中,通过标 记语言的布局功能生成所述逻辑关系;也可以将所述逻辑关系写在配置文件中,用标签生 成所述逻辑关系;还可以将所述逻辑关系写在widget的脚本语言中,用脚本语言生成所述 逻辑关系,等等。S103 根据所述待重用元素的标识信息及所述逻辑关系,生成包括所述待重用元 素的标识信息及所述逻辑关系的widget。需要说明的是,为了实现上述方案,本发明实施例提供了一种生成widget的工 具,上述步骤SlOl至S103的执行主题均为该生成widget的工具。通常,在该生成widget 的工具中可以具有操作区、预览区及代码区,等等。其中,操作区用于对待重用元素进行操 作,预览区用于展示新生成的widget的效果,代码区用于展示新生成的widget对应的代码。另外需要说明的是,在获得所述待重用元素的标识信息,以及生成所述待重用元 素之间的逻辑关系时,都可以由所述工具自动生成widget可识别的代码,使得生成widget 的过程中不需要人为地编写代码。可见,本发明实施例能够通过已有widget的组合重用来生成新的widget,使得开 发过程中无须编写代码,减少了 widget开发的工作量,有利于widget技术的发展。其中,在获得所述源widget中的待重用元素的标识信息时,所述待重用元素可以 是由所述工具自动按照某种预置策略来获取(例如,选取源widget中的核心元素等)的, 然后获取待重用元素的标识信息;在本发明实施例中,待重用元素也可以是由用户选择的, 所述工具可以向用户提供选择待重用元素的入口。例如,所述工具可以识别源widget中的 元素,在识别出源widget中的元素后,向用户提示可以选择的元素(如用提示框的方式将 可以选择的元素突出显示等),如果用户想要重用某元素,则可以点击该元素,此时,所述工 具就会将该用户点击的元素确定为待重用元素,此时,所述指令中显示的所述用户选取的元素的标识信息为所述待重用元素的标识信息。同理,用户还可以选择该源widget中的其 他元素,或者其他源widget中的元素。同样,在生成所述待重用元素之间的逻辑关系时,所述逻辑关系可以是由所述工 具按照某种预置策略自动进行的(例如预先设置所述逻辑关系为简单的组合关系等);当 然,也可以是由用户来设定逻辑关系的,所述工具向用户提供设定逻辑关系的入口,然后通 过该入口接收用户设定待重用元素之间的逻辑关系信息的指令,此时,所述指令中显示的 所述用户设定的逻辑关系为所述待重用信息之间的逻辑关系,然后所述工具自动生成用户 设定的逻辑关系的代码。例如,如果用户想要设定组合关系,则可以选择好待重用元素后, 直接将所述待重用元素拖动到新widget的预览区。当所述工具检测到发生所述拖拽事件 之后,就可以确定所述逻辑关系为组合关系,同时可以采用前述各种方式来生成这种逻辑 关系的代码,生成相应的代码。又如,如果用户想要设定两个待重用元素之间的先后关系, 则可以先点击第一个待重用元素,然后将第一个待重用元素拖拽到 第二个待重用元素上, 当所述工具检测到这样的事件发生时,则可以判断出用户是要设定先后关系,然后便可以 自动将第一个待重用元素的输出数据作为第二个待重用元素的输入数据,并生成相应的代 码来表达该先后关系。其中,所述待重用元素可以包括所述源widget自身(重用整个源widget),或者 源widget中需要重用的节点,或者源widget中需要重用的变量或对象。也就是说重用信 息的粒度可以细化到节点甚至变量或对象。对于widget本身和widget中的节点而言,由于只要打开widget,便能够将其对应 的内容直观地展现在用户面前,因此,用户可以直接选择需要重用的widget或者widget中 的节点对应的内容。但是,对于widget中的变量或者对象(例如,脚本语言运行过程中创 建的变量或对象)而言,通常不是直接显示给用户的,因此用户可能无法直接获知widget 具有哪些变量或对象。因此,所述工具也可以识别出widget中的变量或对象,并提示给用户,这样,用户 就可以向选择其他元素一样来选择widget中的变量或对象了。当然,选择所述变量或对象 之后,可能并不会拖拽到预览区,而是拖拽到代码区,用户可以在代码区对变量或对象进行 编辑等操作。对于不同类型的待重用元素,需要采用相应的方法来进行标识。例如,可以采用如 下格式来标识待重用元素[widgetID,[NodeID, [ObjectID]]]。其中widgetID用于唯一标识作为待重用元素的源widget。所述待重用元素的标识信 息可以是系统分配的widget的标识符,也可以是widget的存放路径;利用这些标识信息, 可以在运行新widget时,找到该源widget。NodeID用于唯一标识widget中需要重用的节点。标记这种待重用元素时,标识 信息可以是节点ID,也可以用XPath语法来标识节点在源widget的DOM (Document Object Model,文档对象模型)树中的路径。有时,为了得到某些需要用户交互才能呈现的节点内 容,NodeID中还需要包含与用户交互的信息。其中,所述DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许 开发人员在树中导航寻找特定信息。由于它是基于信息层次的,因而DOM被认为是基于树 或基于对象的。
ObjectID用于标识widget中需要重用的变量或对象。由于源widget的DOM树 中不存在变量或对象,因此,为了标记变量或对象,可以为每个源widget构建一个扩展DOM 树,将与源widget的DOM树中与某节点关联的变量或对象(这里的变量或对象就是可以供 重用的变量或对象)作为此节点的叶节点,并保存该叶节点在该扩展DOM树中的路径。这 样,在运行新widget时,就可以通过该路径,找到源widget,再找到待重用的变量或对象相 关联的节点,进而找到待重用的变量或对象。获取到待 重用元素的标识信息后,还保存这些标识信息,具体的,可以将标识信息 保存在以下位置widget源文件的脚本区域里;widget源文件的配置文件里;widget源文 件的布局文件里。标识信息的保存形式也可以多种多样,例如,可以保存为字符串文本、脚 本变量、URL (Uniform Resource Locator,统一资源定位符)引用、标记语言(如HTML、XML) 中的标签或标签属性等等。获得待重用元素的标记信息,并生成各待重用元素之间的逻辑关系之后,便可以 生成带有所述待重用元素的标识信息及所述逻辑关系信息的widget 了。实际应用中,在最 终生成widget之前,还可以进行调整,例如,可以调整节点布局,和/或,添加新的业务逻辑 等等。所述调整可以是由所述工具自动完成,也可以由用户通过写代码的方式完成布局调
iF. ο在用户调整的情况下,所述调整节点布局具体表现为,用户可以在所述预览区以 拖动的方式来改变各个待重用元素的位置,所述工具可以对DOM树中的节点进行相应的调 整,所述添加新的业务逻辑具体表现为,用户可以在代码区以编辑代码的方式,来添加新的 业务逻辑。需要说明的是,在添加新的业务逻辑的过程中,虽然仍然需要用户编写一定的代 码,但是与现有技术中全部依靠编写代码来生成widget的方法相比,工作量还是大大降低 了。为了更好地理解本发明实施例提供的生成widget的方法,下面以用户选择待重 用元素并设定逻辑关系为例进行详细地介绍。参见图2,该方法包括以下步骤S201 用户选择源 widget ;S202 系统后台(即生成widget的工具)解析源widget,并通过⑶I界面呈现给 用户;S203 用户标识各待重用元素;S204 生成widget的工具判断待重用元素的类型;如果是节点,进入S206,如果是 变量或对象,进入S205 ;S205 用户设定重用变量或对象的逻辑关系,并进入S209 ;S206 生成widget的工具判断用户设定的逻辑关系,如果是简单的组合关系,进 入S208 ;如果是先后关系,则进入S207 ;S207 用户编排工作流程;S208 用户布局新widget中的节点;S209 生成widget的工具判断用户操作是否结束,如果是,则结束流程;否则,返 回 S203。
在按照本发明实施例所述的方法生成新的widget之后,可以在widget引擎中运 行所述新widget,与运行普通的widget不同,其运行需要依赖于源widget。为了实现在客 户端的widget引擎中运行所述新生成的widget,本发明实施例还提供了一种运行widget 的方法,参见图3,该方法包括以下步骤S301 识别带有待重用元素的标识信息及逻辑关系信息的widget ;该带有待重用元素的标识信息及逻辑关系信息的widget,就是按照本发明实施例 所述的方法生成的widget,为方便描述,下面称为新widget。S302 根据 所述待重用元素的标识信息获得待重用元素;由于所述widget中带有待重用元素的标识信息,可以唯一标识待重用元素,因 此,可以通过标识信息,定位到待重用元素所在的源widget,定位到源widget后可以找到 所需的待重用元素。因此该步骤S302具体可以包括根据所述待重用元素的标识信息,定 位到源widget ;运行所述源widget,并从所述源widget中获得所述待重用元素。S303 解析所述逻辑关系,将所述待重用元素插入到所述widget中,执行并渲染 所述 widget。所述逻辑关系可以简单以代码的方式存在,widget引擎可以直接解析代码,将 待重用元素插入到widget中;另外,所述逻辑关系也可以通过DOM树的方式来体现,则 widget引擎也可以解析DOM树,然后根据DOM树插入节点。对新widget进行渲染之后,便 可以将新widget的内容展现在用户面前。具体在解析所述逻辑关系时,可以采用多种方式,例如,可以包括从配置文件中 解析出所述逻辑关系;或者,可以将所述逻辑关系作为widget引擎的系统函数,提供给新 widget供脚本语言调用;或者,还可以将所述逻辑关系全部写在新widget的脚本区域里, 由脚本引擎来执行。参见图4,具体实现时,运行widget可以包括以下步骤S401 启动新 widget ;S402 解析识别待重用元素的标识信息;S403 启动运行源 widget ;S404 解析源widget内部结构;S405 判断提取类型,如果是提取节点,则进入S406,如果是提取变量或对象,则 进入S407 ;S406 在新widget中插入源widget中需要重用的节点,并进入S408 ;S407 在新widget中插入源widget中需要重用的变量或对象,并进入S408 ;S408 继续执行并渲染所述新widget。以上所述描述了本发明实施例提供的生成widget的方法,以及运行本发明实施 例所生成的widget的方法。需要说明的是,widget通常由HTML、JavaScript组成,解析 widget时可通过构建DOM树的方式实现。对于其它不符合W3C标准的widget (例如使用自 定义的XML标签制作的widget等),本发明实施例也适用,只要所述生成widget的工具能 够解析出源widget中的待重用节点或待重用变量与对象,均可按照本发明实施例中提到 的方法生成新widget ;只要widget运行装置(widget引擎)能够识别出待重用元素标识 信息,并且根据这些标识抽取出待重用元素插入到新widget中,都可以实现widget的组合重用。与本发明实施例提供的生成widget的方法相对应,本发明实施例还提供了一种生成widget的装置,参见图5,该装置包括以下单元标识单元TO01,用于获得所述源widget中的待重用元素的标识信息;逻辑关系生成单元TO02,用于生成所述待重用元素之间的逻辑关系;widget生成单元TO03,用于根据所述待重用元素的标识信息及所述逻辑关系,生 成包括所述待重用元素的标识信息及所述逻辑关系信息的widget。其中,可以由用户指定待重用元素,此时,标识单元TOOl可以包括以下子单元元素选取指令接收子单元TO011,用于接收用户在所述源widget中选取元素的指 令;此时,所述指令中显示的所述用户选取的元素的标识信息为所述待重用元素的标识信 肩、ο所述待重用元素之间的逻辑关系可以是由工具自动预置的,也可以由用户设定, 当需要由用户指定待重用元素之间的逻辑关系时,该装置还可以包括逻辑关系指令接收单元TO04,用于接收用户设定所述待重用元素之间逻辑关系的 指令;相应的,所述指令中显示的所述用户设定的逻辑关系为所述待重用信息之间的逻辑 关系。所述待重用元素的类型可以有多种,当所述源widget中的待重用元素为所述源 widget中需要重用的变量或对象时,由于源widget的DOM树中并不存在变量或对象,因此, 参见图6,标识单元TOOl可以包括以下子单元扩展DOM树构建子单元TO012,用于为源widget的DOM树构建扩展DOM树,将与所 述源widget的DOM树中的某节点关联的需要重用的变量或对象,作为该节点的叶节点;此 时,所述叶节点在所述扩展DOM树中的路径为所述待重用元素的标识信息。获得待重用元素的标识信息,还可以保存这些标识信息,并且待重用元素的标识 信息可以保存在多个位置,具体的,该装置还可以包括第一保存单元TO05,用于将所述待重用元素的标识信息保存在widget源文件的 脚本区域;或者,第二保存单元TO06,用于将所述待重用元素的标识信息保存在widget源文件的 配置文件中;或者,第三保存单元TO07,用于将所述待重用元素的标识信息保存在widget源文件的 布局文件中。另外,还可以将所述标识信息保存为多种形式,只要widget引擎能够识别即可, 具体的,该装置还可以包括保存形式确定单元TO08,用于将所述待重用元素的标识信息保存为字符串文本、 脚本变量、URL引用或标记语言中的标签或标签属性。逻辑关系生成单元TO02表达逻辑关系的具体方式也可以有多种,具体的,逻辑关 系生成单元TO02可以包括以下子单元第一生成子单元TO021,用于将所述逻辑关系写在widget的标记语言中,通过标记语言的布局功能生成所述逻辑关系;或者,
第二生成子单元TO022,用于将所述逻辑关系写在配置文件中,用标签生成所述逻 辑关系;或者,第三生成子单元TO023,用于将所述逻辑关系写在widget的脚本语言中,用脚本 语言生成所述逻辑关系。与本发明实施例提供的运行widget的方法相对应,本发明实施例还提供了一种 widget引擎,参见图7,该widget引擎在客户端实现,包括以下单元识别单元U701,用于识别包括待重用元素的标识信息及逻辑关系信息的widget ;获取单元U702,用于根据所述待重用元素的标识信息获得待重用元素;在本实施 例中,获取单元U702可以通过先根据所述待重用元素的标识信息,定位到所述源widget, 再运行所述源widget,并从所述源widget中获取所述待重用元素,最终以获得所述待重用 元素;解析单元U703,用于解析所述逻辑关系,将所述待重用元素插入到所述widget 中,执行并渲染所述widget。其中,解析单元U703可以包括以下子单元第一解析子单元U7031,用于从配置文件中解析出所述逻辑关系;或者,第二解析子单元U7032,用于通过脚本语言调用作为系统函数的逻辑关系;或者,第三解析子单元U7033,用于通过脚本引擎执行写在所述widget脚本区域的逻辑 关系。通过本发明实施例提供的装置,能够通过已有widget的组合重用来生成新的 widget,使得开发过程中无须编写代码,减少了 widget开发的工作量,有利于widget技术 的发展。此外,本发明实施例还提供了一种客户端设备,该客户端设备包括生成widget的装置,用于获得源widget中的待重用元素的标识信息,生成所述待 重用元素之间的逻辑关系,根据所述待重用元素的标识信息及所述逻辑关系,生成带有所 述待重用元素的标识信息及所述逻辑关系的widget ;widget引擎,用于据所述待重用元素的标识信息获得待重用元素,解析所述逻辑 关系,将所述待重用元素插入到所述widget中,执行并渲染所述widget。在本实施例中,也可以将生成widget的装置和widget引擎构成一个客户端设备, 通过这个客户端设备让开发者或用户共同进行体验如何生成widget。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 该程序在执行时,包括如下步骤获得源widget中的待重用元素的标识信息;生成所述待 重用元素之间的逻辑关系;根据所述待重用元素的标识信息及所述逻辑关系,生成带有所 述待重用元素的标识信息及所述逻辑关系的widget。所述的存储介质,如R0M/RAM、磁碟、光盘等。 以上对本发明所提供的一种生成widget的方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助 理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想, 在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本 发明的限制。
权利要求
一种生成widget的方法,其特征在于,包括获得源widget中的待重用元素的标识信息;生成所述待重用元素之间的逻辑关系;根据所述待重用元素的标识信息及所述逻辑关系,生成包括所述待重用元素的标识信息及所述逻辑关系的widget。
2.根据权利要求1所述的方法,其特征在于,所述获得源widget中的待重用元素的标 识信息包括接收用户在所述源widget中选取元素的指令,所述指令中显示的所述用户选取的元 素的标识信息为所述待重用元素的标识信息。
3.根据权利要求1所述的方法,其特征在于,所述生成所述待重用元素之间的逻辑关 系之前还包括接收用户设定所述待重用元素之间逻辑关系的指令,所述指令中显示的所述用户设定 的逻辑关系为所述待重用信息之间的逻辑关系。
4.根据权利要求1所述的方法,其特征在于,所述源widget中的待重用元素包括所述 源widget自身,所述待重用元素的标识信息包括系统分配的所述源widget的标识符,或者,所述源widget的保存路径。
5.根据权利要求1所述的方法,其特征在于,所述源widget中的待重用元素包括所述 源widget中需要重用的节点,所述待重用元素的标识信息包括所述节点的ID,或者,所述节点在所述源widget的文档对象模型DOM树中的路径。
6.根据权利要求1所述的方法,其特征在于,所述源widget中的待重用元素包括所 述源widget中需要重用的变量或对象,所述获得源widget中的待重用元素的标识信息包 括为源widget的DOM树构建扩展DOM树,将与所述源widget的DOM树中的某节点关联 的需要重用的变量或对象,作为该节点的叶节点,所述叶节点在所述扩展DOM树中的路径 为所述待重用元素的标识信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括将所述待重用元素的标识信息保存在widget源文件的脚本区域;或者,将所述待重用元素的标识信息保存在widget源文件的配置文件中;或者,将所述待重用元素的标识信息保存在widget源文件的布局文件中。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括将所述待重用元素的标识信息保存为字符串文本、脚本变量、统一资源定位符URL引 用或标记语言中的标签或标签属性。
9.根据权利要求1所述的方法,其特征在于,所述生成所述待重用元素之间的逻辑关 系包括将所述逻辑关系写在widget的标记语言中,通过标记语言的布局功能生成所述逻辑 关系;或者,将所述逻辑关系写在配置文件中,用标签生成所述逻辑关系; 或者,将所述逻辑关系写在widget的脚本语言中,用脚本语言生成所述逻辑关系。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述待重用元素之间的逻辑 关系包括组合关系、先后关系或协作关系。
11.一种生成widget的装置,其特征在于,包括标识单元,用于获得源widget中的待重用元素的标识信息; 逻辑关系生成单元,用于生成所述待重用元素之间的逻辑关系; widget生成单元,用于根据所述待重用元素的标识信息及所述逻辑关系,生成带有所 述待重用元素的标识信息及所述逻辑关系的widget。
12.根据权利要求11所述的装置,其特征在于,所述标识单元包括元素选取指令接收子单元,用于接收用户在所述源widget中选取元素的指令,所述指 令中显示的所述用户选取的元素的标识信息为所述待重用元素的标识信息。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括逻辑关系指令接收单元,用于接收用户设定所述待重用元素之间逻辑关系的指令,所 述指令中显示的所述用户设定的逻辑关系为所述待重用信息之间的逻辑关系。
14.根据权利要求11所述的装置,其特征在于,所述源widget中的待重用元素包括所 述源widget中需要重用的变量或对象,所述标识单元包括扩展DOM树构建子单元,用于为源widget的DOM树构建扩展DOM树,将与所述源widget 的DOM树中的某节点关联的需要重用的变量或对象,作为该节点的叶节点,所述叶节点在 所述扩展DOM树中的路径为所述待重用元素的标识信息。
15.根据权利要求11所述的装置,其特征在于,所述装置还包括第一保存单元,用于将所述待重用元素的标识信息保存在widget源文件的脚本区域; 或者,第二保存单元,用于将所述待重用元素的标识信息保存在widget源文件的配置文件中;或者,第三保存单元,用于将所述待重用元素的标识信息保存在widget源文件的布局文件中。
16.根据权利要求11所述的装置,其特征在于,所述装置还包括保存形式确定单元,用于将所述待重用元素的标识信息保存为字符串文本、脚本变量、 URL引用或标记语言中的标签或标签属性。
17.根据权利要求11所述的装置,其特征在于,所述逻辑关系生成单元包括第一生成子单元,用于将所述逻辑关系写在widget的标记语言中,通过标记语言的布 局功能生成所述逻辑关系; 或者,第二生成子单元,用于将所述逻辑关系写在配置文件中,用标签生成所述逻辑关系; 或者,第三生成子单元,用于将所述逻辑关系写在widget的脚本语言中,用脚本语言生成所述逻辑关系。
18.一种运行widget的方法,其特征在于,包括识别包括待重用元素的标识信息及逻辑关系的widget ; 根据所述待重用元素的标识信息获得待重用元素;解析所述逻辑关系,将所述待重用元素插入到所述widget中,执行并渲染所述 widget ο
19.根据权利要求18所述的方法,其特征在于,所述根据所述待重用元素的标识信息 获得所述待重用元素的步骤包括根据所述待重用元素的标识信息,定位到源widget ; 运行所述源widget,并从所述源widget中获得所述待重用元素。
20.根据权利要求18所述的方法,其特征在于,所述解析所述逻辑关系包括 从配置文件中解析出所述逻辑关系;或者,通过脚本语言调用作为系统函数的所述逻辑关系; 或者,通过脚本引擎执行写在所述widget脚本区域的逻辑关系。
21.—种widget引擎,其特征在于,包括识别单元,用于识别包括待重用元素的标识信息及逻辑关系的widget ; 获取单元,用于根据所述待重用元素的标识信息获得待重用元素; 解析单元,用于解析所述逻辑关系,将所述待重用元素插入到所述widget中,执行并 渲染所述widget。
22.根据权利要求21所述的widget引擎,其特征在于,所述获取单元进一步用于根据 所述待重用元素的标识信息定位到源widget,运行所述源widget,并从所述源widget中获 得所述待重用元素。
23.根据权利要求21所述的widget引擎,其特征在于,所述解析单元包括 第一解析子单元,用于从配置文件中解析出所述逻辑关系;或者,第二解析子单元,用于通过脚本语言调用作为系统函数的逻辑关系; 或者,第三解析子单元,用于通过脚本引擎执行写在所述widget脚本区域的逻辑关系。
24.一种客户端设备,其特征在于,包括生成widget的装置,用于获得源widget中的待重用元素的标识信息,生成所述待重用 元素之间的逻辑关系,根据所述待重用元素的标识信息及所述逻辑关系,生成带有所述待 重用元素的标识信息及所述逻辑关系的widget ;widget引擎,用于根据所述待重用元素的标识信息获得待重用元素,解析所述逻辑关 系,将所述待重用元素插入到所述widget中,执行并渲染所述widget。
全文摘要
本发明公开了一种生成widget的方法及装置,所述方法包括获得所述源widget中的待重用元素的标识信息;生成所述待重用元素之间的逻辑关系;根据所述待重用元素的标识信息及所述逻辑关系,生成包括所述待重用元素的标识信息及所述逻辑关系的widget。本发明还公开了一种运行widget的方法及widget引擎。通过本发明实施例,能够通过已有widget的组合重用来生成新的widget,使得开发过程中无须编写代码,减少了widget开发的工作量,有利于widget技术的发展。
文档编号G06F9/44GK101957749SQ20091016131
公开日2011年1月26日 申请日期2009年7月20日 优先权日2009年7月20日
发明者张 杰, 符海芳 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1