CN101208651A - 图形用户界面管理 - Google Patents

图形用户界面管理 Download PDF

Info

Publication number
CN101208651A
CN101208651A CNA2006800073398A CN200680007339A CN101208651A CN 101208651 A CN101208651 A CN 101208651A CN A2006800073398 A CNA2006800073398 A CN A2006800073398A CN 200680007339 A CN200680007339 A CN 200680007339A CN 101208651 A CN101208651 A CN 101208651A
Authority
CN
China
Prior art keywords
subwindow
pattern
window
classification
subwindows
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
CNA2006800073398A
Other languages
English (en)
Inventor
R·罗西
T·斯沃恩森
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101208651A publication Critical patent/CN101208651A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

图形用户界面(GUI)被呈现在包括父窗口以及根据显示方案绘制在该父窗口内的多个子窗口的显示器上。当这些子窗口中一个的大小被改变时,其它子窗口中的一个或多个的大小被改变以维持该显示方案。

Description

图形用户界面管理
背景
诸如个人数字助理(PDA)、袖珍PC、蜂窝电话、手持式游戏系统、手持式电子测试设备等手持式计算设备通常包括显示器。这些手持式计算设备中的许多在其显示器上提供图形用户界面(GUI)。遗憾的是,由于这些手持式计算设备中的显示器尺寸较小,使得在诸如台式计算机用显示器等较大显示器上使用的图形用户界面对于这些手持式设备往往并不是最优的。在GUI包括多个窗口时该问题尤为尖锐。
附图简述
图1示出了包括其上绘制有图形用户界面(GUI)的显示器的计算设备的一个示例。
图2示出了图1的显示器和GUI以及用于控制该GUI的GUI管理模块的一个示例。
图3示出了图2的GUI管理模块的子窗口模块的一个示例。
图4示出了图2的GUI管理模块的窗口管理模块的一个示例。
图5示出了用于控制图1和2的GUI的操作流程的一个示例。
图6示出了用于控制图1和2的GUI的操作流程的另一示例。
图7示出了用于控制图1和2的GUI的操作流程的另一示例。
说明
以下说明对可在于计算设备的显示器上呈现并管理图形用户界面(GUI)时使用或可与其结合使用的各种工艺及技术的实现及其它进行了阐述。
根据在此说明的一些实现,GUI以具有界定的子窗口呈现区域的父窗口的形式被绘制在计算设备的显示器上。绘制在子窗口呈现区域内的是若干子窗口。子窗口呈现区域内的每个子窗口与一特定过程相关联。如在此使用的,过程可以是通过子窗口接收和/或传递信息和/或通过子窗口与用户交互和/或为用户所控制的任何程序、进程、服务等。即,每个子窗口为其相关联的过程呈现一GUI。例如,一个子窗口可呈现用于数据库程序的GUI,另一子窗口可呈现用于自动股票行情服务的GUI,另一子窗口可呈现用于电子邮件程序的收件箱的GUI,而又一子窗口GUI可呈现用于电子邮件程序中的搜索功能的GUI等。
每个子窗口可以用若干视觉/功能模式中的一种来显示。即,在任意给定时间,子窗口将根据从其可用的若干视觉/功能模式中选出的一种视觉/功能模式来显示。每种模式可指定以下内容,诸如该子窗口中窗口控件(例如,工具栏、按钮等)的数目和放置、该子窗口将显示的信息的格式和类型、该子窗口的大小或大小的范围、该子窗口的大小是否可变、以及通过该子窗口将对用户可用的功能等。例如,用于电子邮件程序的子窗口可具有显示接收到的电子邮件消息的列表的第一模式、显示用于改变该电子邮件程序的运行参数的各种窗口控件的第二模式、以及显示电子邮件消息的可选列表和用于查看所选的单个电子邮件消息的内容的可滚动窗口的第三模式等。
在一个实现中,各子窗口根据预定的显示方案排列在子窗口呈现区域内。一般而言,显示方案指定所要求的该子窗口呈现区域内各子窗口之间的空间关系。例如,但不构成限定地,根据在此被称为“全显示区域方案”的一个显示方案,各子窗口以使该子窗口呈现区域内所有可用领地(real estate)被其中所呈现的各子窗口完全占据、并且各子窗口之间互不重叠的方式排列在子窗口呈现区域内。
当这些子窗口中的一个的大小被改变时,诸如当子窗口的模式被改变时,将需要调整其它子窗口中一个或多个的大小,以使当前显示方案得以维持。例如,根据该全显示区域方案,当一个子窗口的大小被改变时,其它子窗口中一个或多个的大小随之被改变,从而使所有子窗口继续以完全占据子窗口呈现区域的非重叠方式被显示。
在一个实现中,以使得给定显示方案得以维持的方式改变子窗口模式是由窗口管理模块来执行的。在这些实现中,窗口管理模块确定每个子窗口将处于哪种模式以维持特定的显示方案。
在一些实现中,窗口管理模块使用“子窗口分级次序”来维持显示方案。如在此使用的,“子窗口分级次序”是基于某些预定准则的子窗口顺序分级。子窗口分级次序指定各子窗口的重要性的相对次序。该重要性次序随后被用于确定哪些子窗口(若有)将改变其模式以维持显示方案。例如,在一个实现中,当确定有一子窗口需要转换到需要较少显示领地的模式时,优选地,具有较低重要性次序的子窗口而不是具有较高重要性次序的子窗口将被转换到需要较少显示领地的模式。
在一些实现中,窗口管理模块对每个子窗口使用“子窗口模式升级/降级序列”来维持显示方案。如在此使用的,“子窗口模式升级/降级序列”是一给定子窗口的各模式的顺序排序。通常,但并不一定,各模式根据每种模式将需要多大显示领地来排序成一子窗口模式序列。在将子窗口从一种模式改为另一种模式时,该子窗口随即根据需要较多还是较少的显示领地从其当前模式转换到其模式序列中下一较高或较低模式。
在一些实现中,窗口管理模块使用子窗口分级次序和子窗口模式升级/降级序列两者来维持显示方案。
现在转到图1,其中示出了可在其中实现在此所描述的GUI呈现和管理的一种可能的计算设备100。具体而言,图1示出了手持式计算设备100。应该理解的是,虽然以下说明是针对图1所示的手持式计算设备100进行的,然而在此所描述的GUI呈现和管理可在包括或可访问用于呈现GUI的适当软件和硬件的任何计算设备、计算系统等中实现。
可在其中实现在此所描述的GUI呈现和管理的其它类型的计算设备的示例包括,但并不限于,个人计算机、基于微处理器或可编程的消费者或汽车用电子产品、网络PC、机顶盒、微型计算机、游戏机、大型计算机、电子测试设备等。在此所描述的GUI呈现和管理还可在其中操作的执行以及数据的存储可分布在通过通信网络链接的各处理设备上的分布式计算环境中实现。
如图1所示,计算设备100包括处理器102,其上绘制有GUI 106的显示器104、控制面板107、以及计算机可读介质108。显示器104或可物理地集成到计算设备100中或可物理地与计算设备100分开。在任一情形中,显示器104都将具有用于显示GUI 106的适当机构和功能。显示器104还可包括诸如触摸屏、软键、指示笔传感器等用户可籍其与GUI 106交互的机构。例如,如图所示,显示器104包括触摸屏110和指示笔112,用户可用其与呈现在GUI 106中的各种视觉和功能元素(例如,窗口、窗口控件等)交互。
控制面板107包括方便用户与GUI 106交互的键盘和各种其它用户输入机构。除了显示器104和控制面板107以外,计算设备100还可包括、或被可操作地连接至其它输入设备(例如,鼠标、话筒等)以及其它输出设备(例如,扬声器、打印机、以及其它外围设备等)。计算设备100还可包括方便与其它计算机、计算机网络、外围设备、输入设备等进行基于无线或有线的通信的通信连接。
如在此使用的,计算机可读介质108可以是能够存储或包含以能被计算机访问和理解的形式编码的信息的任何介质。计算机可读介质的典型形式包括,但并不限于,易失性和非易失性存储器两者、包括可移动和/或不可移动介质的数据存储设备、以及通信介质。
通信介质将计算机可读信息包含在诸如载波或其它传输机制等已调制数据信号中,并且包括任何信息传送介质。术语“已调制数据信号”是指这样的信号,其一个或多个特性被以将信息编码在该信号中的方式设置或改变。作为示例,但并无限定性意义,通信介质包括诸如有线网络或直线连接等有线介质、以及诸如声波、RF、红外等无线介质以及其它无线介质。
在图1所示的实现中,计算机可读介质108包括一个或多个过程116、GUI管理模块118、以及窗口化子系统122。在于此所述的各种实现中,过程116、GUI管理模块118、以及窗口化子系统122由包含在计算机可读介质108中的软件模块组成或构成。软件模块可包括或包含各种形式和/或格式的计算机可执行指令、和/或数据。软件模块可包括执行特定任务或实现特定抽象数据类型的各种子模块、例程、程序、对象、组件、数据结构等。
虽然在此被描述为包含在计算机可读介质108中并在处理器102上执行的软件模块,然而将可认识到的是,过程116、GUI管理模块118和窗口化子系统122可替换地被全部或部分地实现为硬件、固件、或者软件、硬件、和/或固件的各种组合。另外,虽然在此被描述为在计算设备100中实现,但是在一些实现中,过程116、GUI管理模块118、以及窗口化子系统122中的任意一个或所有都可全部或部分地在其中操作的执行和数据的存储可分布在通过通信网络链接的各处理设备上的分布式计算环境中实现。
一般而言,窗口化子系统122处理与在显示器104上管理和呈现窗口和窗口控件有关的各种操作。窗口化子系统122可处理以下操作,诸如但并不限于,将用户与计算设备100和GUI 106的交互(例如,击键、指示笔移动、以及控件选择等)翻译成用于过程116和/或计算设备100的操作系统(未示出)的消息、消息排队、创建和管理GUI 106的各个方面。例如,窗口化子系统122可定义和管理GUI 106的典型视觉元素和功能特征,诸如窗口、窗口控件、图形、文本、API和/或其它资源等。
本领域的技术人员将认识到,有许多不同类型的用于提供或方便GUI在显示器上的呈现的窗口化子系统。通常,这类窗口化子系统是操作系统的一部分或者与操作系统相关联。提供这类窗口化子系统的操作系统的一些示例包括,但并不限于,MICROSOFTWINDOWS操作系统的各种版本(例如,WINDOWSXP、WINDOWSCE等),UNIX操作系统的各种版本、以及其它操作系统。在一些实现中,窗口化子系统122可以是这些窗口化操作系统之一的一部分,或者与其相关联。在其它实现中,窗口化子系统122可包括作为操作系统一部分或与操作系统分开的其它专有、非专有、当前可用或以后开发的窗口化系统。
本领域的技术人员还将认识到,窗口化子系统通常不直接在显示器上绘制GUI的视觉元素。确切而言,计算设备通常包括基于从窗口化子系统或操作系统接收到的数据在显示器上绘制GUI的各种硬件和/或软件组件(例如,图形卡、加速器等)。
如图1所示,根据一个实现,GUI 106包括具有界定的子窗口呈现区域132的父窗口130。绘制在子窗口呈现区域132内的是若干子窗口134-144。需要注意的是,虽然在子窗口呈现区域132中示出了6个子窗口134-144,然而可在子窗口呈现区域132中呈现更少或更多的子窗口。
在一些实现中,每个子窗口134-144与一特定过程相关联并呈现用于该过程的GUI。如前所述地,如在此使用的,过程可以是通过子窗口接收和/或传递信息、和/或通过子窗口与用户交互和/或为用户所控制的任何程序、进程、服务等。
父窗口130可以用各种视觉样式(例如,窗口形状、边界类型、以及颜色等)来显示,并且可包括任意数目的窗口控件。窗口控件的示例包括,但并不限于,工具栏、按钮、文本框、对话框、列表框、组合框、编辑框、复选框、向导、属性表单、单选按钮、日历、进度条、滚动条、调色板、菜单、选项卡、插入符(carrots)、子窗口等。例如,在图1中所示的实现里,父窗口130是矩形的,包括工具条124,并包括各种窗口控件126。在其它实现中,父窗口130可以是矩形之外的其它形状、没有工具栏或具有另外一个或多个类型的工具栏,并且具有其它的窗口控件。如下所述,在一些实现中,父窗口130的视觉和功能属性由父窗口模块250(图2)来定义。
子窗口呈现区域132包括父窗口130内其中绘制有子窗口134-144的视觉区域。子窗口呈现区域132可具有各种视觉属性或特征,诸如分隔各子窗口134-144的外边界或内边界等。反之,子窗口呈现区域132也可没有视觉属性或特征。如下所述,在一些实现中,子窗口呈现区132的视觉和功能属性(若有)由父窗口模块250(图2)定义。
在于此所描述的各种实现中,每个子窗口134-144根据与该子窗口相关联的多种视觉/功能模式中的一种来显示。一般而言,每种模式为其关联子窗口指定窗口的视觉布局。例如,一种模式可指定其关联子窗口的大小、形状、和/或颜色、以及其关联子窗口内的窗口控件的类型、数目、和/或排列。
另外,每种模式可指定通过呈现在其关联子窗口中的窗口控件将对用户可用的功能或功能组合。一种模式可指定文本或图形信息将如何在其关联子窗口中显示。一种模式可指定其关联子窗口是否大小可调,以及在该子窗口可调的情况下指定调整该子窗口的方式和该可调子窗口的大小范围。一种模式可指定其关联子窗口是否是用户和/或系统可选的。一种模式还可指定子窗口是否将被隐藏,即不被显示。如下所述,在一些实现中,子窗口的模式由作为GUI管理系统118的一部分或被其引用的子窗口模块(图2)定义。
在一些实现中,子窗口133-144根据预定的显示方案排列在子窗口呈现区域132内。一般而言,显示方案指定所要求的子窗口呈现区域132内各子窗口之间的空间关系。例如,但不限于,显示方案可指定子窗口是否可彼此重叠、子窗口是否需要占据整个子窗口呈现区域、子窗口将相互垂直还是水平地排列在子窗口呈现区域中等。
例如,根据在此被称为“全显示区域方案”的一种显示方案,所有子窗口以完全占据子窗口呈现区域132内所有可用显示领地并且没有子窗口相互重叠的方式排列在子窗口呈现区域内。
根据在此被称为“平铺方案”的另一显示方案,所有子窗口都是多边形形状并且以没有子窗口相互重叠的方式排列在子窗口呈现区域内。
根据在此被称为“垂直矩形平铺方案”的又一显示方案,所有子窗口都是矩形形状并且以没有子窗口重叠的方式垂直排列在子窗口呈现区域132内。图1示出了垂直矩形平铺方案。
本领域的技术人员将认识到,有许多可能的各种形状和大小窗口的组合和排列,它们可由显示方案来指定。
通常,当一个或多个子窗口134-144的大小被改变时,诸如当子窗口134-144中一个的模式改变时,将需要调整其它子窗口中一个或多个的大小,从而使所有子窗口将继续根据当前显示方案来显示。例如,根据图1所示的垂直矩形平铺方案,当一个子窗口134-144的大小被改变时,将需要改变其它子窗口中一个或多个的大小,从而使所有子窗口134-144继续以完全占据子窗口呈现区域132的非重叠方式来显示。
根据在此所述的一些实现,维持显示方案是GUI管理模块118的功能。如将认识到的,GUI管理模块118维持显示方案的确切方式可能根据诸如被维持的显示方案的类型、正在使用的窗口化系统的类型等内容、以及其它因素而变化。然而,根据在此所述的各种实现,GUI管理模块118通过以使得子窗口134-144在子窗口呈现区域132内的排列遵照该显示方案的方式改变一个或多个子窗口134-144的大小和/或模式,或者策动它们的改变,来维持显示方案。
根据一些实现,GUI管理模块118使用子窗口分级次序来确定哪个或哪些子窗口134-144应该改变其大小和/或模式。一般而言,子窗口分级次序指定选择子窗口以进行模式改变的优选次序。
现在转到图2,其中显示了示出GUI管理模块118的一个具体实现的各种细节的框图。如图所示,GUI管理模块118包括或引用显示方案管理模块248、多个(N个)子窗口模块252-262,以及父窗口模块250。
如图2所示,每个子窗口模块252-262与单个子窗口134-144相关联,并且包括定义与该子窗口模块相关联的子窗口的视觉和/或功能特性的信息。例如,在一个实现中,每个子窗口模块包括指定与该子窗口模块相关联的子窗口的所有可能的视觉模式。此外,每个子窗口模块可包括在定义每种可能的模式的视觉呈现时使用的各种数据、数据结构、和/或逻辑。如前所述的,在一些实现中,这些数据和逻辑由窗口化子系统122在于子窗口呈现区域132中显示子窗口时全部或部分地使用。
在一些实现中,每个子窗口模块252-262包括或引用包含用于指定其关联子窗口的绘制的过程、功能、例程、数据等的计算机可执行指令(即,“代码”)。然而,在现在将描述的实现中,每个子窗口模块252-262包括或引用在绘制子窗口时由GUI管理模块118和/或窗口化子系统122访问或使用的各种数据和/或逻辑。
一般而言,父窗口模块250包括定义父窗口130的视觉和/或功能特性的信息。例如,在一个实现中,父窗口模块250包括指定通过呈现在父窗口130中的窗口控件将对用户可用的功能或功能组合的信息。父窗口模块250可指定文本或图形信息在父窗口250中将如何呈现。父窗口模块250可指定父窗口250是否大小可调,以及在父窗口250可调时指定调整父窗口250的方式。父窗口模块250还可指定输入方法,例如是否及如何实行自诸如键盘、指示笔和/或鼠标等设备的输入。父窗口模块250当然还可指定父窗口130的其它视觉和/或功能特性。
图3示出了子窗口模块252的一个示例性实现。将会认识到的是,子窗口模块252在此被描述为代表性子窗口模块。关于子窗口模块242描述的相同特征和功能可能出现在子窗口模块252-262的任意一个中,或出现在作为GUI管理模块118之外的系统的一部分或与其结合使用的子窗口模块中。
图3所示的子窗口模块252的实现包括,但并不限于,子窗口模式升级/降级序列308、当前模式指针310、子窗口呈现数据312、子窗口属性数据314、以及模式数据316。
子窗口模式升级/降级序列308指定与子窗口模块252相关联的子窗口的所有可用模式。例如,但不限于,图3所示的该示例性子窗口模式升级/降级序列310指示与子窗口模块252相关联的子窗口具有5种可能模式:模式1U、模式2b、模式3S、模式5M以及模式6。
子窗口模式升级/降级序列310还指定了该子窗口的各模式的升级和降级次序,这在图3中由在各模式之间延伸的箭头线指示。例如,子窗口模式升级/降级序列310指示如果与子窗口模块300相关联的子窗口当前处于模式2b,则在降一级时可降级到模式1U,或者在升一级时可升级到模式3S。类似地,如果与子窗口模块252相关联的子窗口当前处于模式5M,则子窗口模式升级/降级序列310指示该子窗口在降一级时可降级到模式3S,或在升一级时可升级到模式6。
当前模式指针310指定与子窗口模块252相关联的子窗口的当前模式。例如,图3所示的当前模式指针310指示与子窗口模块252相关联的子窗口当前是根据模式2b来显示的。当与子窗口模块252相关联的子窗口的模式升级或降级时,当前模式指针310随后被适当地修改以指示该变化。
通常但并不一定,各模式根据每种模式可能或将会需要多大的显示领地排序成子窗口模式序列252。在这些实现中,需要较大量显示领地的模式将被认为是比需要较少显示领地的模式“排序更高”的模式。在一些情形中,一种或多种模式可以大小不一。在这些情形中,各模式的最大大小可被用于确定或指定升级/降级序列中各模式的相对排序。例如,在一些实现中,最大可变大小大于第二模式的固定或最大可变大小的第一模式可被认为比第二模式的排序更高。
通常但并不一定,在将子窗口从一种模式变为另一种模式时,该子窗口随后根据需要更多还是更少显示领地来从其当前模式转换到其模式序列中下一更高或更低的模式。
子窗口呈现区域312包括定义子窗口呈现区域132中子窗口的当前大小和位置的各种数据。子窗口属性数据314包括在如下所述的确定子窗口分级时使用的各种数据。这些数据可包括但并不限于,该子窗口何时为焦点窗口时,该子窗口作为焦点窗口有多长时间,该子窗口作为焦点窗口有多频繁等、或各种其它数据。
模式数据316包括定义该子窗口每种模式的特征和功能的数据。该数据可包括为每种模式定义诸如将要绘制的窗口控件的数目和排列、该子窗口是否大小可调、大小可调窗口的最大和/或最小大小等的参数。
模式数据316还可指定一给定模式是否为用户可选和/或系统可选。用户可选模式(例如,模式1U)是可基于用户与计算设备100的交互所作的动可使子窗口升级或降级到的模式。反之,系统可选模式(例如,模式3S)是单纯基于用户与计算设备100的交互所作的动作不能使子窗口升级或降级到的模式。确切而言,系统可选模式是子窗口基于由调整大小逻辑460(以下关于图4所述)定义或实现的指令被升级或降级到的模式。
根据一些实现,每个子窗口模块的子窗口模式升级/降级序列由在主模式升级/降级序列中指定的模式序列的子集构成。例如,子窗口模式升级/降级序列310由图3所示的主模式升级/降级序列320的模式的子集构成。
子窗口模块可以用多种方式来实现。例如,子窗口模块可实现为面向对象环境中的对象,并被包含在一个或多个计算机可读介质中。然而,应该理解的是,在此关于子窗口模块所描述的功能还可以用非面向对象的方式来实现,并且可在面向对象及非面向对象等许多类型的系统上实现。
现在转到图4,其中示出了窗口管理模块248的一个示例性实现。窗口管理模块248包括,但并不限于,子窗口分级次序420、子窗口分级430、像素池440、分级逻辑450、以及调整大小逻辑460,现在将对其分别进行描述。
子窗口分级次序420指定显示和隐藏的子窗口的次序。例如,子窗口134-144(CW(1)-CW(6))在子窗口分级次序420中被示出。一般而言,子窗口分级次序420在诸如需要一个或多个窗口的模式改变以维持显示方案时指定各子窗口被选择进行模式改变的次序。
子窗口分级次序420中各子窗口的次序可以各种方法来确定。例如,但不限于,子窗口分级次序420中各子窗口的次序可根据对子窗口使用的历史分析、对子窗口模式改变的历史分析、或各种其它分析、算法、和/或探试来确定。确定子窗口分级次序420中各子窗口的次序的确切方式可根据诸如,但并不限于,要遵守的特定显示方案、其中采用GUI 106的计算设备、计算设备100的预期用途等、以及各种其它功能要求而变化。
在一些实现中,子窗口分级次序420是使用子窗口分级430来确定的。一般而言,子窗口分级430包括子窗口的一个或多个分级432-436。和子窗口分级次序420一样,每个子窗口分级432-436可使用各种分析、算法、和/或探试以各种方法来确定。
作为一个示例,子窗口分级432被示为是根据每个子窗口最近被使用是多久以前来确定。更具体地,在该实现中,子窗口分级432从最近使用时间最远的子窗口(CW(1))到最近使用时间最近的子窗口(CW(5))来排序。与之相对,子窗口分级434被示为根据各子窗口的使用频率来确定。更具体地,在该实现中,子窗口分级434是从最不常使用的子窗口(CW(2))到最常使用的子窗口(CW(1))来排序。在该实现中,子窗口分级436是基于其子窗口排序次序308中每个子窗口的当前模式的位置来确定的。如将可认识到的,子窗口排序可基于各种其它准则。
在一些实现中,子窗口分级中的每个子窗口基于该分级中各子窗口的位置被分配一分级值。如下所述,这些分级值可被用于确定子窗口分级次序420。在一个实现中,分级值是从子窗口分级中的第一等级窗口到子窗口分级中最末等级窗口以降序向各子窗口分级中的各窗口分配的。作为一个示例,子窗口分级430的每个子窗口分级中的第一子窗口被示为具有分级值6(即,RV=6),每个子窗口分级中的第二子窗口被示为具有分级值5,以降序依此类推到每个子窗口分级中被示为具有分级值1的第6个子窗口。将会认识到的是,关于图4示出和描述的分级值仅是示例性的。
在一些实现中,每个子窗口分级具有相关联的分级权重。例如,子窗口分级432被示为具有权重5(W1=5),子窗口分级434被示为具有权重3(W2=3),并且子窗口分级434被示为具有权重1(WN=1)。将会认识到的是,关于图4示出和描述的分级权重仅是示例性的。
如下所述,分级权重可用于确定子窗口分级次序420。与每个子窗口分级相关联的分级权重可以用各种方法确定。例如,但不限于,分级权重可使用各种分析、算法、和/或探试来确定。在一些实现中,与每个子窗口分级相关联的分级权重与在确定子窗口分级次序420时每个子窗口分级的相对重要性成比例。
一经确定,分级权重可以是静态或动态的。例如,在一个实现中,分级权重可以被“硬编码”。在另一实现中,分级权重可以主导是确定的,但可由诸如用户或管理员、或由远程权重更新机制调节。在又一实现中,分级权重可以由监视GUI106、计算设备100的各种属性及与它们的交互、和/或计算设备100内部或外部的其它属性或交互的算法动态地调整。
如上所述,在一些实现中,子窗口分级次序420是使用分级权重和/或分级值来确定的。例如,但不限于,在一个实现中,子窗口分级次序420是通过基于分级权重和分级值为每个窗口建立分级分数来确定的。子窗口分级次序420然后通过根据该分级分数将各窗口排序来确定。
有许多使用分级权重和分级值来建立分级分数的方法。例如,但不限于,在一个实现中,是通过将子窗口的分级值乘以与包括该子窗口的子窗口分级相关联的分级权重来确定每个子窗口分级中每个子窗口的加权分级值。然后每个子窗口的分级分数将可通过累加该子窗口在每个子窗口分级中的加权分级来确定。
例如,使用图4中所给出的示例性数字,子窗口分级432中的CW1具有加权分级值三十(30),这是通过将CW(1)在子窗口分级432中的分级值六(6)乘以子窗口分级432的权重五(5)来确定的。子窗口分级434中的CW1具有加权分级值三(3),这是通过将CW(1)在子窗口分级434中的分级值一(1)乘以子窗口分级434的权重三(3)来确定的。最后,子窗口分级436中的CW1具有加权分级值六(6),这是通过将CW(1)在子窗口分级436中的分级值六(6)乘以子窗口分级436的权重三(1)来确定的。最后,累加CW1对应于每个子窗口分级的加权分级值得到CW1的分级分数三十九(39)(即,30+6+6=39)。
可对每个子窗口进行类似计算,从而得到CW2的分级分数三十(30)、CW3的分级分数三十四(34)、CW4的分级分数三十(31)、CW5的分级分数十五(15)、以及CW6的分级分数四十四(44)。使用这些算出的分级分数,然后根据这些子窗口的分级分数按降序将它们排列在子窗口分级次序420中。
根据一些实现,子窗口分级次序420、子窗口分级430、分级权重、分级值、和/或加权分级值的确定可全部或部分地由分级逻辑450来执行。
根据在以下具体描述的一些实现,窗口管理模块248使用像素池440来维持显示方案。一般而言,像素池440提供用于跟踪子窗口呈现区域122内显示领地的机制。更具体地,在一些实现中,像素池440提供用于跟踪子窗口呈现区域122内被分配给各子窗口的显示领地的量。
有许多可使用像素池440来跟踪显示领地的分配的方法。例如,但不限于,在一个实现中,像素池440指定子窗口呈现区域122内的显示领地是“欠分配”、“过分配”、还是“平衡”。如在此所使用的,“欠分配”是指分配给各子窗口的显示领地小于子窗口呈现区域122内显示领地的总量。如在此所使用的,“过分配”是指分配给各子窗口的显示领地大于子窗口呈现区域122内显示领地的总量。在一些实现中,像素池440可指定欠分配显示领地的量或过分配显示领地的量。如在此所使用的,“平衡”是指分配给各子窗口的显示领地等于子窗口呈现区域122内显示领地的总量。
关于像素池440使用以表达显示领地单位可以改变。例如,在一些实现中,显示领地可以用像素的形式来表达。在其它实现中,显示领地可以用像素行的形式来表达。以像素行表达显示领地对于其中子窗口呈现区域122的宽度和/或高度保持恒定的显示方案尤其有用。在其它实现中,显示领地可以用与像素无关的单位来表达。由此,虽然以像素或像素行的形式描述了各种实现,然而应该认识到的是,这些实现同样地也可使用像素或像素行之外的单位。
根据一些实现,窗口管理模块248使用调整大小逻辑460来维持显示方案。一般而言,调整大小逻辑460指定用于维持显示方案的各种操作、算法、例程等。例如,根据一些实现,调整大小逻辑460实现图5-7中所示的全部或部分操作流程及操作,现在将对其各自进行描述。
图5-7示出了包括可在管理和呈现GUI时执行的各种操作的操作流程。以下参照图1的计算设备100对图5-7进行描述。具体地,参照GUI管理模块118对图5-7进行描述。然而,应该理解的是,在图5-7中阐述的操作流程并不旨在限定于由GUI管理模块118执行或在计算设备100中执行。在图5-7中阐述的任何操作流程、或在这些操作流程中描述的任何个别操作可在包括分布式系统在内的各种其它系统中实现。另外,应该理解的是,虽然在图5-7中示出的每个操作流程指示特定次序的操作执行,然而,在其它实现中,这些操作可以被不同地排序。
图5示出了包括可由窗口管理模块248响应于检测到或发生窗口调整大小事件506所执行的各种操作的操作流程500。根据一些实现,操作流程500由调整大小逻辑460(图4)定义和/或实现。
一般而言,窗口调整大小事件可以是导致向窗口化子系统122或GUI管理模块118请求改变窗口大小的各种事件中的任何一种。例如,但不限于,在父窗口130或子窗口134-144之一包括某种窗口调整大小控件的情形中,用户对该控件的调用或与该控件的交互可导致窗口调整大小事件。在另一示例中,由用户交互或由GUI管理模块118导致的子窗口模式改变可导致或请求子窗口大小的改变,由此导致窗口调整大小事件。
根据一些实现,当调整大小事件发生时,像素池440将被更新以反映将由该调整大小事件导致的显示领地的变化。在调整大小事件与调整父窗口130大小有关的情形中,父窗口模块250中定义父窗口130大小的一个或多个参数将被更新以反映该调整大小,并且像素池440将被相应地更新。在调整大小事件与调整子窗口大小有关的情形中,与该子窗口相关联的子窗口模块中定义该子窗口大小的一个或多个参数将被更新以反映该调整大小,并且像素池440将被相应地更新。如下所述,操作流程500中此时通常将不发生显示器104上子窗口或父窗口的实际调整大小。确切而言,显示器104上子窗口或父窗口的实际调整大小通常发生在以下重画操作526。
如图所示,当调整大小事件发生时,在操作508作出关于该窗口调整大小事件与父窗口130还是与子窗口134-144之一有关的判定。如果判定该窗口调整大小事件与父窗口130有关,则操作流程500进入如下所述的操作518。然而,如果在操作508判定该窗口调整大小事件与子窗口134-144有关,则操作流程500进入分级更新操作510。
在分级更新操作510,子窗口分级430(图4)根据任何确定或定义分级432-436的分析、算法、和/或探试被更新。接下来,在加权分级值操作512,为每个子窗口确定加权分级值。然后在分级分数操作514为每个子窗口确定分级分数。然后子分级次序420(图4)根据在分级分数操作516确定的分级分数在分级次序操作516被更新。在次序操作516之后,操作流程500进入操作518。
根据其它实现,操作510-516可在操作流程500之外发生。例如,在一些实现中,操作510-516可在子窗口的大小已改变时,诸如在该子窗口被调整大小或其模式已被改变时发生。在其它实现中,操作510-516可以不管在操作508对是关于父窗口130还是子窗口134-144发生了调整大小事件的判定,或在该判定之外,在定期间隔发生。在其它实现中,操作510-516的执行可由某些其它事件或调度来触发。
在操作518,作出关于像素池440中像素是过分配还是欠分配的判定。如果判定像素池400中像素为欠分配,则操作流程500进入如下所述的分布像素操作520。如果判定像素池400中像素为过分配,则操作流程500进入如下所述的获取像素操作522。
在分布像素操作520,执行各种操作以选择要接收过分配的像素的一个或多个子窗口,并将这些像素分配给所选窗口。换言之,在操作520,一个或多个子窗口被选择以增大其大小,并从像素池440取出像素以适应该增大。
如上所述,根据一些实现,增大所选子窗口的大小包括增大所选子窗口模块的子窗口呈现数据312(图3)中定义所选子窗口大小的一个或多个参数。
分布像素操作520可以用多种方法来执行。执行分布像素操作520的确切方式可取决于,但并不限于,诸如正被使用的特定显示方案和特定程序/硬件环境以及GUI管理模块118的实现等。然而,在一个实现中,分布像素操作520根据以下关于图6所述的操作流程600来实现。
在分布像素操作520之后,在操作524作出关于像素池440是否过分配的判定。如果在操作524判定像素池440过分配,则操作流程500进入获取像素操作522。如果在操作524判定像素池440没有过分配,则操作流程500进入如下所述的调整操作524。
在获取像素操作522,执行各种操作以选择要从其获取欠分配像素的一个或多个子窗口,并为像素池440获取这些像素。换言之,在操作522,一个或多个子窗口被选择以减小其大小,并且从所选子窗口取出像素并将这些像素给像素池。
如上所述,根据一些实现,减小所选子窗口大小包括减小所选子窗口模块的子窗口呈现数据312中定义所选子窗口大小的一个或多个参数。
获取像素操作522可以用多种方法来执行。执行获取像素操作522的确切方式可取决于,但并不限于,诸如正被使用的特定显示方案和特定编程/硬件环境以及GUI管理模块118的实现。然而,在一个实现中,获取像素操作522根据以下关于图7所述的操作流程700来实现。
在获取像素操作522之后,在操作526作出关于像素池440是否欠分配的判定。如果在操作526判定像素池440欠分配,则操作流程500进入如上所述的分布像素操作520。如果在操作526判定像素池440没有欠分配,则操作流程500进入如下所述的调整操作524。
在调整操作524,调整所有子窗口134-144的位置。在一些实现中,调整子窗口的位置包括改变与该子窗口相关联的子窗口模块252(图2)的子窗口呈现数据312(图3)中定义该子窗口位置的一个或多个参数。
在调整操作524之后,在子窗口呈现区域132中重画所有子窗口,操作流程500结束。
现在转到图6,如上所述,其中示出了包括可在实现操作流程500的分布像素操作520时执行的各种操作的操作流程600。根据一些实现,操作流程500由调整大小逻辑460(图4)定义和/或实现。
如图所示,在操作流程600的开始,子窗口选择操作610选择子窗口分级次序420(图4)中最高分级的子窗口。接着,在操作612,作出所选子窗口是否为焦点子窗口的判定。如在此所使用的,焦点子窗口是活动的接收用户输入的子窗口。根据图6所示的分布像素操作520的实现,在一时刻仅有一个子窗口将为活动的以接收用户输入。因此,在一时刻将仅有一个用户窗口为焦点子窗口。
在一些实现中,关于所选子窗口是否为焦点子窗口的判定是通过查询窗口化子系统122来作出的。在一些实现中,该判定是通过检查所选窗口的子窗口属性数据314中的焦点属性来作出的。在其它实现中,可以用其它方法作出关于所选子窗口是否为焦点子窗口的判定。
如果在操作612判定所选子窗口是焦点子窗口,则操作流程600进入子窗口选择操作630,在此子窗口分级次序420中次最高分级的子窗口被选择。换言之,在操作630检查子窗口分级次序420,并且选择在操作流程600中先前选择的子窗口上分级次最高的子窗口。应该理解的是,在一时刻仅有一个子窗口被选中。由此,当新的子窗口被选中时,先前选中的子窗口不再被认为是选中的子窗口。
然而,如果在操作612判定所选子窗口不是焦点子窗口,则操作流程600进入操作614。在操作614,作出关于所选子窗口的当前模式是否指定该所选子窗口的大小可变的判定。换言之,作出关于所选子窗口的大小在其当前模式中是否可变的判定。在一个实现中,该判定是通过检查与所选窗口相关联的子窗口模块的模式数据316中的大小属性来作出的。
如果判定所选子窗口的大小在其当前模式中可变,则操作流程600进入如下所述的操作616。然而,如果在操作614判定所选子窗口的大小在其当前模式中不可变,则操作流程600进入如下所述的操作620。
在操作616,作出关于所选子窗口是否处于其可变大小的最大限度的判定。在一个实现中,该判定是通过检查与所选窗口相关联的子窗口模块的模式数据316中的大小属性来作出的。如果在操作616判定所选子窗口不是处于其可变大小的最大限度,则操作流程600进入如下所述的调整大小操作618。如果在操作616判定所选子窗口处于其可变大小的最大限度,则操作流程600进入如下所述的操作620。
在调整大小操作618,检查像素池440以确定其中欠分配像素的量。如果欠分配像素的量等于或大于将所选子窗口的大小增大为其可变大小的最大限度所需的像素数,则所选子窗口的大小被增大到其可变大小的最大限度。然而,如果欠分配像素的量小于将所选子窗口的大小增大到其可变大小的最大限度所需的像素数,则所选子窗口的大小被增大到可用的欠分配像素所允许的最大量。在一些实现中,以上关于图5所述的操作510-516中的任何或所有操作可在子窗口的调整大小之后或与其相结合地来执行。在调整大小操作618之后,操作流程600进入如下所述的操作622。
在操作620,作出所选子窗口是否能被升级到另一模式的判定。即,作出关于所选子窗口是否能被升级到比所选子窗口的当前模式需要更多显示领地的更高次序模式的判定。如果在操作620判定所选子窗口不能被升级到更高次序模式,则操作流程进入操作622。如果在操作620判定所选子窗口不能被升级到更高次序模式,则操作流程进入升级操作624。
在升级操作624,所选子窗口被升级到所选子窗口的升级/降级序列308中其排序次最高的模式。在一些实现中,将所选子窗口升级到其次最高模式包括:改变与所选窗口相关联的子窗口模块中的当前模式指针310;改变子窗口呈现数据312中的适当的大小属性;以及更新像素池440以反映分配给所选子窗口的像素量。在一些实现中,以上关于图5所述的操作510-516中的任何或所有操作可在所选子窗口的升级之后或与其结合地来执行。应该认识到的是,在升级操作624之后,像素池440可能仍然保持欠分配,或者可能会过分配。在升级操作624之后,操作流程600进入操作622。
在操作622,作出关于像素池是否欠分配的判定。如果判定像素池440欠分配,则操作流程600进入如上所述的子窗口选择操作630。如果判定像素池440没有欠分配,则操作流程600结束。
现在转到图7,如上所述,其中示出了包括可在实现操作流程500的获取像素操作522时执行的各种操作的操作流程700。根据一些实现,操作流程500由调整大小逻辑460(图4)定义和/或实现。
如图所示,在操作流程700的开始,子窗口选择操作710选择子窗口分级次序420(图4)中最低分级的子窗口。接着,在操作712,作出关于所选子窗口是否为焦点子窗口的判定。
如果在操作712判定所选子窗口是焦点窗口,则操作流程700进入子窗口选择操作730,在此子窗口分级次序420中次最低分级的子窗口被选择。然而,如果判定所选子窗口不是焦点窗口,则操作流程进入操作714。
在操作714,作出关于所选子窗口的当前模式是否指定该子窗口的大小可变的判定。在一个实现中,该判定是通过检查与所选窗口相关联的子窗口模块的模式数据316中的大小属性来作出的。
如果在操作714判定所选子窗口的大小在其当前模式中可变,则操作流程700进入操作716。然而,如果在操作714判定所选子窗口的大小在其当前模式中不可变,则操作流程700进入操作720。
在操作716,作出关于所选子窗口是否处于其可变大小的最大限度的判定。在一个实现中,该判定是通过检查与所选窗口相关联的子窗口模块的模式数据316中的大小属性来作出的。如果在操作716判定所选子窗口不是处于其可变大小的最大限度,则操作流程700进入调整大小操作718。如果在操作716判定所选子窗口处于其可变大小的最大限度,则操作流程700进入操作720。
在调整大小操作718,所选子窗口的大小被减小为其最小可变大小。在一些实现中,以上关于图5所述的操作510-516中的任何或所有操作可在所选子窗口的调整大小之后或与其相结合地来执行。在调整大小操作718之后,操作流程700进入如下所述的操作722。
在操作720,作出关于所选子窗口是否能被降级到另一模式的判定。即,作出关于所选子窗口是否能被进级到比其当前模式需要更少显示领地的较低次序模式的判定。如果在操作720判定所选子窗口不能被进级到较低次序模式,则操作流程700进入操作722。如果在操作720判定所选子窗口能被降级到较低次序模式,则操作流程进入降级操作724,在此所选子窗口被降级到升级/降级序列308中其排序次最低的模式。
在一些实现中,将所选子窗口降级到其次最低次序模式包括:改变与所选窗口相关联的子窗口模块中的当前模式指针310;改变子窗口呈现数据312中适当的大小属性;以及更新像素池440以反映从所选子窗口获取的像素量。在一些实现中,以上关于图5所述的操作510-516中的任何或所有操作可在所选子窗口的降级之后或与其相结合地来执行。应该认识到的是,进级操作724之后,像素池440可能仍然保持过分配,或者可能会欠分配。
在操作722,作出关于像素池是否过分配的判定。如果判定像素池440过分配,则操作流程700进入如上所述的子窗口选择操作730。如果判定像素池440没有过分配,操作流程700结束。
虽然在附图和以上具体说明中对一些具体示例性实现进行了示出和描述,但将会理解的是,在此所描述的主题并不限于所述的具体实现。确切而言,在此所描述的主题能够进行大量的重新布置、修改和替换而不会背离由所附权利要求阐述和定义的精神实质。相应地,本发明的范围不应由以上讨论的具体示例性实现来限定,而应该仅由以下阐述的权利要求及其等效方案来定义。

Claims (20)

1.一种方法,包括
根据一显示方案在父窗口中显示多个子窗口,每个子窗口可以用与该子窗口相关联的一组经排序模式中的一种模式来显示,每种模式指定该模式所相关联的子窗口的显示大小;以及
响应于所述多个子窗口中第一子窗口的显示大小的变化,改变所述多个子窗口中第二子窗口的模式以维持所述预定显示方案。
2.如权利要求1所述的方法,其特征在于,所述改变第二子窗口的模式包括:存取一像素池,所述像素池指示所述父窗口内被分配给所述多个子窗口的显示领地的总量。
3.如权利要求1所述的方法,其特征在于,每组模式中的各模式被排序成一子窗口升级/降级序列。
4.如权利要求1所述的方法,其特征在于,所述第二子窗口的各模式被排序成一子窗口升级/降级序列,并且改变所述多个子窗口中的至少第二子窗口的模式是基于该子窗口升级/降级序列来执行的。
5.如权利要求1所述的方法,其特征在于,每组模式包括主模式升级/降级序列中的模式的子集。
6.如权利要求1所述的方法,其特征在于,每种模式还指定该模式所相关联的子窗口的窗口控件。
7.如权利要求1所述的方法,其特征在于,所述根据一显示方案在父窗口中显示多个子窗口包括:以使所述多个子窗口共同占据所述父窗口的预定部分、并且没有子窗口与另一子窗口重叠的方式来显示所有子窗口。
8.包含处理器可执行指令的一个或多个计算机可读介质,所述指令在由一个或多个处理器执行时实现一方法,所述方法包括:
在显示器上呈现图形用户界面GUI,所述GUI包括含父窗口以及在所述父窗口内的多个子窗口的多个视觉元素,每个子窗口以与该子窗口相关联的多种视觉模式中的一种视觉模式来显示,每个子窗口相对于其它子窗口以子窗口分级次序分级;以及
响应于所述多个视觉元素中一个视觉元素的显示大小的变化,基于所述子窗口分级次序以及指示被分配给各子窗口的显示领地的量的像素池,改变所述多个子窗口中的一个子窗口的显示大小。
9.如权利要求8所述的一个或多个计算机可读介质,其特征在于,所述子窗口分级次序是基于子窗口的使用频率来确定的。
10.如权利要求8所述的一个或多个计算机可读介质,其特征在于,所述子窗口分级次序是基于子窗口的使用次数来确定的。
11.如权利要求8所述的一个或多个计算机可读介质,其特征在于,所述子窗口分级次序是基于多个子窗口分级来确定的。
12.如权利要求8所述的一个或多个计算机可读介质,其特征在于,所述子窗口分级次序是基于多个加权的子窗口分级来确定的。
13.如权利要求8所述的一个或多个计算机可读介质,其特征在于,改变所述多个子窗口中的一个子窗口的显示大小包括:改变所述多个子窗口中的所述一个子窗口的模式。
14.如权利要求8所述的一个或多个计算机可读介质,其特征在于,与每个子窗口相关联的多种视觉模式被排序成一升级/降级序列。
15.一种系统,包括:
包括显示器的计算设备;
用于在所述显示器上呈现图形用户界面GUI的装置,所述GUI包括含父窗口以及在所述父窗口内的多个子窗口的多个视觉元素,每个子窗口以与该子窗口相关联的多种视觉模式中的一种视觉模式来显示;以及
用于响应于所述多个视觉元素中的一个视觉元素的显示大小的变化,基于所述多个子窗口的分级次序改变子窗口的大小。
16.如权利要求15所述的系统,其特征在于,所述用于呈现GUI的装置包括多个子窗口模块,每个子窗口模块指定与该子窗口模块相关联的模式的升级/降级序列。
17.如权利要求15所述的系统,其特征在于,所述用于呈现GUI的装置包括多个子窗口模块,每个子窗口模块指定与该子窗口模块相关联的子窗口是否大小可变。
18.如权利要求15所述的系统,其特征在于,所述用于改变的装置包括含指定子窗口的排序的子窗口分级次序的窗口管理模块。
19.如权利要求15所述的系统,其特征在于,所述用于改变的装置包括含子窗口分级次序和多个子窗口分级的窗口管理模块,每个子窗口分级指定子窗口的基于某一准则的唯一排序,所述子窗口分级次序指定基于所述多个子窗口分级的所述多个子窗口的排序。
20.如权利要求15所述的系统,其特征在于,所述用于改变的装置包括含子窗口分级次序、多个子窗口分级、以及像素池的窗口管理模块,每个子窗口分级指定子窗口基于某一准则的唯一排序,所述子窗口分级次序指定基于所述多个子窗口分级的所述多个子窗口的排序,所述像素池指定被分配给所述多个子窗口的显示领地的量。
CNA2006800073398A 2005-04-01 2006-03-29 图形用户界面管理 Pending CN101208651A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/097,490 US20060224992A1 (en) 2005-04-01 2005-04-01 Graphical user interface management
US11/097,490 2005-04-01

Publications (1)

Publication Number Publication Date
CN101208651A true CN101208651A (zh) 2008-06-25

Family

ID=37072092

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800073398A Pending CN101208651A (zh) 2005-04-01 2006-03-29 图形用户界面管理

Country Status (5)

Country Link
US (1) US20060224992A1 (zh)
EP (1) EP1859364A4 (zh)
KR (1) KR20070116594A (zh)
CN (1) CN101208651A (zh)
WO (1) WO2006107668A2 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129345A (zh) * 2010-01-19 2011-07-20 Lg电子株式会社 移动终端及其控制方法
WO2012024951A1 (zh) * 2010-08-25 2012-03-01 中兴通讯股份有限公司 一种移动终端的窗口管理方法和装置
CN102541492A (zh) * 2010-12-28 2012-07-04 联想(北京)有限公司 显示方法和电子设备
CN104813255A (zh) * 2012-12-28 2015-07-29 英特尔公司 在移动计算设备上显示通知
CN105190505A (zh) * 2013-03-04 2015-12-23 盆唐首尔大学校医院 基于电子病历系统的输出窗口控制方法及装置
CN105404512A (zh) * 2015-11-25 2016-03-16 飞天诚信科技股份有限公司 一种应用程序窗口界面更改方法及装置
CN106537317A (zh) * 2014-07-31 2017-03-22 微软技术许可有限责任公司 应用窗口的自适应大小调整和定位
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8698751B2 (en) * 2010-10-01 2014-04-15 Z124 Gravity drop rules and keyboard display on a multiple screen device
US20070006095A1 (en) * 2005-07-01 2007-01-04 Liangkui Feng Auto layout of user interface elements in a window
US7890882B1 (en) * 2006-04-20 2011-02-15 Adobe Systems Incorporated Content and proximity based window layout optimization
US7607105B2 (en) * 2006-05-25 2009-10-20 Research In Motion Limited System and method for navigating in a display window
US8245154B2 (en) * 2006-11-03 2012-08-14 International Business Machines Corporation Most-recently-used task switching among parent and child windows
US7937349B2 (en) * 2006-11-09 2011-05-03 Pucher Max J Method for training a system to specifically react on a specific input
US9116593B2 (en) * 2007-07-06 2015-08-25 Qualcomm Incorporated Single-axis window manager
US8266187B2 (en) * 2008-02-19 2012-09-11 Hewlett-Packard Development Company, L.P. Integration of static and dynamic data for database entities and the unified presentation thereof
US8209355B2 (en) * 2008-07-28 2012-06-26 Microsoft Corporation Automatic user interface generation for entity interaction
US8780130B2 (en) 2010-11-30 2014-07-15 Sitting Man, Llc Methods, systems, and computer program products for binding attributes between visual components
US9715332B1 (en) 2010-08-26 2017-07-25 Cypress Lake Software, Inc. Methods, systems, and computer program products for navigating between visual components
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
KR101170637B1 (ko) * 2010-07-27 2012-08-02 주식회사 잉카인터넷 메인 프로세스 연계 부가 프로세스 실행 방법
IT1401439B1 (it) * 2010-08-24 2013-07-26 Università Degli Studi Di Bergamo Metodo e sistema per l'identificazione assistita di fenomeni tecnici.
JP2012146268A (ja) * 2011-01-14 2012-08-02 Kyocera Corp 携帯電子機器、制御方法及び制御プログラム
US20130013399A1 (en) * 2011-02-03 2013-01-10 Redigi Inc. Methods and systems for advertisement selection detection and delayed presentation
CH705457A1 (de) * 2011-08-31 2013-03-15 Ferag Ag Generieren einer Benutzerschnittstelle auf einer Anzeige.
US9223591B2 (en) * 2012-08-30 2015-12-29 International Business Machines Corporation Sizing a pane of a window presented on a display
KR101957173B1 (ko) 2012-09-24 2019-03-12 삼성전자 주식회사 터치 디바이스에서 멀티윈도우 제공 방법 및 장치
US20140201659A1 (en) * 2013-01-11 2014-07-17 International Business Machines Corporation Method and system for providing a twisty user interface element
US10296562B2 (en) 2013-02-12 2019-05-21 Oath Inc. Dynamic generation of mobile web experience
US9569076B2 (en) 2014-01-15 2017-02-14 Accenture Global Services Limited Systems and methods for configuring tiles in a user interface
US20150268838A1 (en) * 2014-03-20 2015-09-24 Institute For Information Industry Methods, systems, electronic devices, and non-transitory computer readable storage medium media for behavior based user interface layout display (build)
US9933922B2 (en) * 2014-03-27 2018-04-03 Sybase, Inc. Child container control of parent container of a user interface
US10114525B2 (en) 2016-12-28 2018-10-30 Byung Jin Kim Device and method for organizing and displaying instant messages in various structured fashions
US11442591B2 (en) * 2018-04-09 2022-09-13 Lockheed Martin Corporation System, method, computer readable medium, and viewer-interface for prioritized selection of mutually occluding objects in a virtual environment
WO2019240303A1 (en) * 2018-06-11 2019-12-19 Byung Jin Kim Device and method for organizing and displaying instant messages in various structured fashions
US11112926B1 (en) * 2020-09-25 2021-09-07 Advanced Micro Devices, Inc. User interface system for display scaling events
CN114281287B (zh) * 2021-11-30 2024-06-21 广州品唯软件有限公司 一种子视图的显示方法、装置及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060170A (en) * 1989-08-09 1991-10-22 International Business Machines Corp. Space allocation and positioning method for screen display regions in a variable windowing system
US5390295A (en) * 1991-12-20 1995-02-14 International Business Machines Corporation Method and apparatus for proportionally displaying windows on a computer display screen
US5977966A (en) * 1993-04-28 1999-11-02 Microsoft Corporation System-provided window elements having adjustable dimensions
US5513342A (en) * 1993-12-28 1996-04-30 International Business Machines Corporation Display window layout system that automatically accommodates changes in display resolution, font size and national language
US5819055A (en) * 1994-12-13 1998-10-06 Microsoft Corporation Method and apparatus for docking re-sizeable interface boxes
US5838317A (en) * 1995-06-30 1998-11-17 Microsoft Corporation Method and apparatus for arranging displayed graphical representations on a computer interface
US5666502A (en) * 1995-08-07 1997-09-09 Apple Computer, Inc. Graphical user interface using historical lists with field classes
US5870091A (en) * 1996-11-07 1999-02-09 Adobe Systems Incorporated Combining palettes on a computer display
US5977973A (en) * 1997-05-14 1999-11-02 Microsoft Corporation Window linking
US5886694A (en) * 1997-07-14 1999-03-23 Microsoft Corporation Method for automatically laying out controls in a dialog window
US6313854B1 (en) * 1998-10-16 2001-11-06 International Business Machines Corporation Display mechanism for HTML frames
US6603493B1 (en) * 1999-04-13 2003-08-05 International Business Machines Corporation Method for arranging display elements
US6414698B1 (en) * 1999-04-13 2002-07-02 International Business Machines Corporation Method for enabling adaptive sizing of display elements
US6950993B2 (en) * 2001-08-02 2005-09-27 Microsoft Corporation System and method for automatic and dynamic layout of resizable dialog type windows
US6944829B2 (en) * 2001-09-25 2005-09-13 Wind River Systems, Inc. Configurable user-interface component management system
US7417644B2 (en) * 2003-05-12 2008-08-26 Microsoft Corporation Dynamic pluggable user interface layout
US7272790B2 (en) * 2004-03-05 2007-09-18 Nokia Corporation Method and device for automatically selecting a frame for display

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129345A (zh) * 2010-01-19 2011-07-20 Lg电子株式会社 移动终端及其控制方法
WO2012024951A1 (zh) * 2010-08-25 2012-03-01 中兴通讯股份有限公司 一种移动终端的窗口管理方法和装置
CN102541492A (zh) * 2010-12-28 2012-07-04 联想(北京)有限公司 显示方法和电子设备
US9769106B2 (en) 2012-12-28 2017-09-19 Intel Corporation Displaying notifications on a mobile computing device
CN104813255A (zh) * 2012-12-28 2015-07-29 英特尔公司 在移动计算设备上显示通知
CN105190505A (zh) * 2013-03-04 2015-12-23 盆唐首尔大学校医院 基于电子病历系统的输出窗口控制方法及装置
CN105190505B (zh) * 2013-03-04 2018-09-18 盆唐首尔大学校医院 基于电子病历系统的输出窗口控制方法及装置
CN106537317A (zh) * 2014-07-31 2017-03-22 微软技术许可有限责任公司 应用窗口的自适应大小调整和定位
CN106537317B (zh) * 2014-07-31 2020-02-28 微软技术许可有限责任公司 应用窗口的自适应大小调整和定位
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
CN105404512A (zh) * 2015-11-25 2016-03-16 飞天诚信科技股份有限公司 一种应用程序窗口界面更改方法及装置
CN105404512B (zh) * 2015-11-25 2019-05-10 飞天诚信科技股份有限公司 一种应用程序窗口界面更改方法及装置

Also Published As

Publication number Publication date
WO2006107668A2 (en) 2006-10-12
KR20070116594A (ko) 2007-12-10
WO2006107668A3 (en) 2007-11-15
US20060224992A1 (en) 2006-10-05
EP1859364A2 (en) 2007-11-28
EP1859364A4 (en) 2008-12-17

Similar Documents

Publication Publication Date Title
CN101208651A (zh) 图形用户界面管理
CN109154894B (zh) 基于用户状态定制用户界面呈现的方法和系统
CN101453469B (zh) 动态生成网络客户端设备的用户界面的系统和方法
CN100489775C (zh) 一种调整软件操作项的系统及方法
US6263217B1 (en) Mobile telephone capable of automatically rebuilding menu tree and method for controlling the same
US9606705B2 (en) Techniques for capturing and displaying user interaction data
US6344859B1 (en) Data processor controlled display system with a plurality of selectable basic function interfaces for the control of varying types of customer requirements and with additional customized functions
US8418081B2 (en) Optimizing display space with expandable and collapsible user interface controls
US20080301577A1 (en) Information processing device and computer readable medium
US10853100B1 (en) Systems and methods for creating learning-based personalized user interfaces
KR20120081219A (ko) 선택가능 아이템들의 배열에 영향을 미치는 장치, 방법 및 컴퓨터 프로그램 제품
JP5249686B2 (ja) 情報処理装置及びプログラム
CN102150119A (zh) 信息处理设备和程序
JP4976353B2 (ja) 情報処理装置及びプログラム
CN102508649A (zh) 具有图标自动排序功能的电子装置及其排序方法
CN103425481A (zh) 向菜单项和动作动态分配快捷方式
CN1316340C (zh) 用于提供在电子装置上显示的应用程序的表示的方法和装置
US20210312676A1 (en) Multi-graph display method and computer-readable storage medium
US8253689B2 (en) System and method for outputting icons in response to hot-key input
KR20200048606A (ko) 사용자 입력의 패턴 분석을 이용한 후속 사용자 입력 추천 방법
JP6871691B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN113360047B (zh) 信息卡片的展示方法、装置、设备及存储介质
Lee et al. Quantitative results assessing design issues of selection-supportive menus
CN102144219A (zh) 信息处理设备和程序
US6182106B1 (en) Method and system for providing a common hardware system console interface in data processing systems

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

Open date: 20080625