窗口状态管理器及方法、窗口管理系统及方法

文档序号:6482421阅读:135来源:国知局

专利名称::窗口状态管理器及方法、窗口管理系统及方法
技术领域
:本发明涉及窗口状态管理器及方法、窗口管理系统及方法。
背景技术
:随着软件产业的蓬勃发展,软件系统变得越来越复杂。为了提供给软件用户一个友好的操作界面,在软件的开发过程中,就需要提供图形化的用户界面。而在图形化的用户界面中,经常涉及到的就是应用窗口的操作。为实现软件的各种功能,常常需要打开各种应用窗口,通过应用窗口实现功能操作。而在不需使用相应功能时,则需关闭相应应用窗口。因此,在软件的开发过程中,就需要设计相应的应用窗口管理系统。例如,在申请号为00816055.4的中国专利申请中,就公开了一种窗口系统,描述了一种在一个屏幕上显示一个窗口的方法,其中该窗口具有一个通过它看得见置于下面的对象的背景。此外该中国专利申请还描述了当在一个窗口中进行绘制时,管理位于这样一个窗口下面的窗口的方法。由于在对于应用窗口的操作上,常常会涉及到单个应用窗口的各种状态转换,以及多个具有不同窗口状态的应用窗口之间的切换,因而在窗口的管理上,常常需要考虑当前焦点所在窗口与下一个焦点所在窗口之间的状态转换,也就是说,需要考虑各窗口间的上下文关系。此处,焦点所在窗口是指所有窗口中处于活动状态的那一个窗口,这时所有的用户操作都优先由这个窗口处理。而目前为实现窗口管理,通常的做法是使得每一个将成为焦点所在的窗4口都获得当前焦点所在窗口的状态,并根据当前焦点所在窗口的状态以及本身窗口的状态决定所采用的状态转换函数。然而,该种窗口管理的方法对于窗口本身来说,还需要关注其他窗口的状态以确定采用何种状态转换函数,因此在功能实现上较复杂。并且在窗口切换时可能还会遗漏一些窗口属性的切换,导致窗口切换出现错误。
发明内容本发明要解决的问题是现有技术软件中对应用窗口的管理,其实现方式较复杂,且易出错的问题。为解决上述问题,本发明提供一种窗口状态管理器,包括记录单元,用于查询并获取新焦点所在窗口的窗口状态;系统属性管理单元,用于存储当前焦点所在窗口的窗口状态以及存储各种状态转换所需的状态转换函数;控制单元,根据从记录单元获得的新焦点所在窗口的窗口状态以及从系统属性管理单元获得的当前焦点所在窗口的窗口状态,从系统属性管理单元中调用并执行所述两个窗口状态转换所需的状态转换函数。相应地,本发明还提供一种包括所述窗口状态管理器的窗口管理系统。本发明还提供一种窗口状态管理方法,包括查询并获取新焦点所在的应用窗口的窗口状态;获取当前焦点所在应用窗口的窗口状态;调用并执行所获得两个窗口状态转换所需的状态转换函数。相应地,本发明还提供一种包括所述窗口状态管理方法的窗口管理方法。与现有技术相比,上述窗口状态管理器及方法、窗口管理系统及方法具有以下优点对窗口本身来说,无需关注其他窗口的状态,只需声明自己的状态。而系统属性管理单元中,则存储各种状态转换所需的状态转换函数。则当控制单元获得了当前焦点和新焦点所在窗口的窗口状态后,就可以调用并执行相应的状态转换函数,以完成窗口切换。该状态转换过程中,各窗口无需参与转换过程,因而在功能实现上较简洁。另外,系统属性管理单元能够被不同项目复用,从而节约人力,加快软件开发速度。图l是本发明窗口状态管理器的一种实施方式示意图2是图1所示窗口状态管理器中系统属性管理单元与控制单元关系示意图3是本发明窗口状态管理方法的一种实施方式示意图;图4是图3所示方法中调用执行状态转换函数步骤的流程示意图。具体实施例方式参照图l所示,本发明窗口状态管理器的一种实施方式包括记录单元10,用于查询并获取新焦点所在窗口的窗口状态;系统属性管理单元20,用于存储当前焦点所在窗口的窗口状态以及存储各种状态转换所需的状态转换函数;控制单元30,根据从记录单元IO获得的新焦点所在窗口的窗口状态以及从系统属性管理单元20获得的当前焦点所在窗口的窗口状态,从系统属性管理单元20中调用并执行所述两个窗口状态转换所需的状态转换函数。所述记录单元10记录的新焦点所在窗口的窗口状态为窗口属性的状态,所述系统属性管理单元20存储的当前焦点所在窗口的窗口状态为窗口属性的状态。所述窗口的属性及每种属性的各种状态可预先定义。所述系统属性管理单元20包括若干核心逻辑单元,每一个核心逻辑单元控制一种窗口属性,所述核心逻辑单元中存储有相应窗口属性的当前状态以及该窗口属性的各种状态转换所需的状态转换函数。以下通过窗口管理的具体实现过程举例,进一步"i兌明上述的应用窗口管理系统。布支定当前焦点所在窗口为窗口A,而窗口B为新焦点所在窗口,则记录单元10会查询并获取窗口B的窗口状态,并发送给控制单元30。而系统属性管理单元20中存储有窗口A的窗口状态。而控制单元30则会从系统属性管理单元20中获得窗口A的窗口状态。其中,窗口A和窗口B的窗口状态都可以通过设置窗口状态函数来进行声明。则所有窗口状态函数合在一起就可表示各个窗口的窗口状态,假设窗口A和窗口B的窗口状态如表1所示表1<table>tableseeoriginaldocumentpage7</column></row><table>上述表1中,窗口A和窗口B的各自有3个窗口属性属性l、属性2、属性3,且各个窗口属性有两种状态状态1和状态2。控制单元30通过获取例如表1所示的各窗口的窗口状态信息,也就是获得了窗口A的各种属性的相应状态,以及窗口B的各种属性的相应状态。则根据表1所示的窗口状态,当焦点所在窗口从窗口A切换到窗口B时,属性1的状态从状态1转换到状态2,属性2的状态不变,而属性3的状态从状态2转换到状态1。则控制单元30就会从系统属性管理单元20中获取各个窗口属性对应的核心逻辑单元。该过程可以根据窗口属性与核心逻辑单元的映射关系来实现。而所述映射关系可以通过例如设置窗口属性所依赖的核心逻辑单元的函数来实现。例如,参照图2所示,假定系统属性管理单元20包括N个核心逻辑单元核心逻辑模块l、核心逻辑模块2、核心逻辑模块3......核心逻辑模块N。其中,核心逻辑模块l根据映射关系控制属性l,核心逻辑模块2根据映射关系控制属性2,核心逻辑模块3根据映射关系控制属性3。则结合上述表1获得的窗口A到窗口B的切换过程中,需要进行状态转换的窗口属性,控制单元30就会从系统属性管理单元20中调用核心逻辑单元1和核心逻辑模块2中相应的状态转换函数。例如,控制单元30从核心逻辑单元1中调用用于将属性1从状态1转换到状态2的状态转换函数1,从核心逻辑模块3调用用于将属性3从状态2转换到状态1的状态转换函数3。在控制单元30获得这些状态转换函数后,就会执行这些状态转换函数。在控制单元30调用并执行了状态转换函数1和状态转换函数3之后,其实也相当于完成了窗口A切换到窗口B所涉及的窗口属性的状态转换。并且,此时相应核心逻辑单元中存储的窗口状态也为窗口B对应的窗口状态。例如,核心逻辑单元1中存储的属性1的状态为状态2,核心逻辑单元3中存储的属性3的状态为状态1,而核心逻辑单元2中存储的属性2的状态不变,仍是状态2。根据上述说明可知,上述应用窗口管理系统对窗口本身来说,无需关注其他窗口的状态,只需声明自己的状态。而窗口之间切换所涉及的窗口状态的转换则可交由控制单元来完成。因而在功能实现上较筒洁。此外,上述应用窗口管理系统还可以防止窗口切换时,出现窗口属性状态转换的遗漏,在现有技术上窗口属性状态转换是靠窗口直接调用状态转换函数实现的,而上述应用窗口管理系统则可以通过工具来保证不会遗漏。例如以窗口属性为横轴,以窗口为纵轴,能够很容易地构建例如上述表1的窗口属性表,这个表里的数据可以通过工具填写和管理,假若窗口切换时,遗漏了窗口属性表中的某一项,工具能检查出来。参照图3所示,本发明窗口状态管理方法的一种实施方式包括步骤sl,查询并获取新焦点所在的应用窗口的窗口状态;步骤s2,获取当前焦点所在应用窗口的窗口状态;步骤s3,调用并执行所获得两个窗口状态转换所需的状态转换函数。其中,所述获取当前焦点和新焦点所在两个应用窗口的窗口状态为获取所述两个应用窗口的窗口属性的状态。其中,参照图4所示,调用并执行所获得两个窗口状态转换所对应的状态转换函数包括下列步骤步骤s31,根据所述两个应用窗口的窗口状态,获得需要进行状态转换的窗口属性;步骤s32,根据窗口属性与核心逻辑单元的映射关系,获得需要进行状态转换的窗口属性对应的核心逻辑单元;步骤s33,从获得的核心逻辑单元中调用并执行相应的状态转换函数。其中,当前焦点和新焦点所在窗口的窗口状态都可以通过设置窗口状态函数来进行声明。其中,所述映射关系可以通过例如设置窗口属性所依赖的核心逻辑单元9的函数来实现。其中,在调用并执行了状态转换函数后,当前焦点所在窗口的窗口属性的状态就由新焦点所在窗口的窗口属性的状态所替换。关于具体的窗口切换的说明可参考上述应用管理系统的举例说明,此处就不再赘述。虽然本发明已以较佳实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。权利要求1.一种窗口状态管理器,其特征在于,包括记录单元,用于查询并获取新焦点所在窗口的窗口状态;系统属性管理单元,用于存储当前焦点所在窗口的窗口状态以及存储各种状态转换所需的状态转换函数;控制单元,根据从记录单元获得的新焦点所在窗口的窗口状态以及从系统属性管理单元获得的当前焦点所在窗口的窗口状态,从系统属性管理单元中调用并执行所述两个窗口状态转换所需的状态转换函数。2.如权利要求1所述的窗口状态管理器,其特征在于,所述窗口状态为窗口的各个窗口属性的状态。3.如权利要求2所述的窗口状态管理器,其特征在于,所述系统属性管理单元包括若干核心逻辑单元,每一个核心逻辑单元控制一种窗口属性,所述核心逻辑单元中存储有相应窗口属性的当前状态以及该窗口属性的各种状态转换所需的状态转换函数。4.如权利要求3所述的窗口状态管理器,其特征在于,所述核心逻辑单元根据核心逻辑单元与窗口属性的映射关系控制所述窗口属性。5.—种包括权利要求1至4任一项所述的窗口状态管理器的窗口管理系统。6.—种窗口状态管理方法,其特征在于,所述状态管理方法包括查询并获取新焦点所在的应用窗口的窗口状态;获取当前焦点所在应用窗口的窗口状态;调用并执行所获得两个窗口状态转换所需的状态转换函数。7.如权利要求5所述的窗口状态管理方法,其特征在于,所述获取当前焦点和新焦点所在两个应用窗口的窗口状态为获取所述两个应用窗口的窗口属性的状态。8.如权利要求5所述的窗口状态管理方法,其特征在于,调用并执行所获得两个窗口状态转换所需的状态转换函数包括根据所述两个应用窗口的窗口状态,获得需要进行状态转换的窗口属性;根据窗口属性与核心逻辑单元的映射关系,获得需要进行状态转换的窗口属性对应的核心逻辑单元;从获得的核心逻辑单元中调用并执行相应的状态转换函数。9.如权利要求5所述的窗口状态管理方法,其特征在于,所述当前焦点所在窗口和新焦点所在窗口的窗口状态通过设置窗口状态函数来进行声明。10.—种包括权利要求6至9任一项所述的窗口状态管理方法的窗口管理方法。全文摘要一种窗口状态管理器及方法、窗口管理系统及方法。所述窗口状态管理器包括记录单元,用于查询并获取新焦点所在窗口的窗口状态;系统属性管理单元,用于存储当前焦点所在窗口的窗口状态以及存储各种状态转换所需的状态转换函数;控制单元,根据从记录单元获得的新焦点所在窗口的窗口状态以及从系统属性管理单元获得的当前焦点所在窗口的窗口状态,从系统属性管理单元中调用并执行所述两个窗口状态转换所需的状态转换函数。所述窗口状态管理器及方法、窗口管理系统及方法在功能实现上较简洁,且系统属性管理单元能够被不同项目复用,从而节约人力,加快软件开发速度,还可以防止窗口切换时,出现窗口属性状态转换的遗漏。文档编号G06F9/48GK101504607SQ20091004804公开日2009年8月12日申请日期2009年3月20日优先权日2009年3月20日发明者岚刘,昊殷,琦董申请人:华亚微电子(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1