CN102591637A - 布局管理器 - Google Patents

布局管理器 Download PDF

Info

Publication number
CN102591637A
CN102591637A CN2011104047465A CN201110404746A CN102591637A CN 102591637 A CN102591637 A CN 102591637A CN 2011104047465 A CN2011104047465 A CN 2011104047465A CN 201110404746 A CN201110404746 A CN 201110404746A CN 102591637 A CN102591637 A CN 102591637A
Authority
CN
China
Prior art keywords
node
dirty
specified
ancestor
layout
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
CN2011104047465A
Other languages
English (en)
Inventor
S·S·帕里克
D·P·雷里亚
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 Technology Licensing LLC
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 CN102591637A publication Critical patent/CN102591637A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Abstract

本发明涉及布局管理器。公开了用于管理对用户界面元素的布局更新的各种技术和方法。在具有多个用户界面元素节点的树中跟踪用户界面元素的脏状态。该脏状态允许标识这些节点中的脏子树。为每一个脏子树标识根节点。从为每一个脏子树标识的根节点开始更新树的受影响部分。作为更新过程的一部分,检测对先辈节点的改变并使用这些改变来使布局过程更高效。例如,放弃当前正在对已改变的先辈节点的任何后代节点执行的任何布局过程,并且在已改变的先辈节点处继续该布局过程。在更新树的受影响部分后,然后在输出设备上呈现已更新的用户界面元素。

Description

布局管理器
本申请是申请日为2008年11月14日、申请号为第200880117432.3号、发明名称为“布局管理器”的中国专利申请的分案申请。
背景
现代计算机操作系统具有在诸如监视器或打印机等输出设备上呈现和管理图形用户界面元素的能力。当在应用程序中创建图形用户界面元素时,确定项目的大小并适当地放置项目以便呈现在输出设备上。类似地,当在应用程序中修改或移除现有图形用户界面元素,或者添加新用户界面元素时,输出设备必须适当地反映该改变。现有计算机操作系统利用设备驱动程序来与特定输出设备进行通信,由此使得软件开发者免于面对在特定输出设备上呈现图形输出的凌乱细节。现有计算机操作系统通过向预期软家开发者发布应用程序编程接口(“API”)来实现这一点。
一般而言,API是对软件开发者可用的独立于任何特定设备所必需的低级指令的一组高级函数调用。在设备驱动程序的帮助下,平台或操作系统通常执行高级API调用到低级设备专用调用的任何所需转换。
然而,尽管软件开发者可能不希望自己参与对如何在任何特定输出设备上物理地显示或呈现他的应用程序的图形用户界面元素的实现,但开发者可能对如何在逻辑上布置和管理这些元素感兴趣。例如,软件开发者可能希望开发以特定方式显示其菜单或安排图标的图形用户界面。或者开发者可能希望开发以特定方式在单个文档中安排和显示多个图形用户界面元素的应用程序。某些工具已给予软件开发者管理图形布局的特定能力,但这些能力通常是复杂或效率低下的。
概述
公开了用于管理对用户界面元素的布局更新的各种技术和方法。在用户界面元素的树中跟踪用户界面元素的脏状态。该树包含多个用户界面元素节点,并且脏状态允许标识这些节点中的脏子树。为每一个脏子树标识根节点。从为每一个脏子树标识的根节点开始更新树的受影响部分。在更新树的受影响部分后,然后在输出设备上呈现已更新的用户界面元素。
在一个实现中,检测对先辈节点的改变并使用这些改变来使布局过程更高效。在指定节点上开始布局过程。确定指定节点的任何先辈节点是否已经改变。如果标识到指定节点的至少一个已改变的先辈节点,则放弃当前正在对该已改变的先辈节点的任何后代节点执行的任何布局过程,并且在该已改变的先辈节点处继续布局过程。
在另一实现中,可以使指定节点的布局状态无效。确定指定节点是否已经是脏的。如果指定节点还不是脏的,则将该指定节点标记为脏并确定该指定节点是否是当前正在布置(测量或安排)的至少一个节点的先辈节点。如果指定节点是当前正在布置的至少一个节点的先辈节点,则将从指定节点到当前正在布置(测量或安排)的节点的直接路径上的所有节点标记为具有脏先辈节点,但不包括指定节点。
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
图1是一个实现的计算机系统的图示。
图2是在图1的计算机系统上操作的一个实现的布局管理器应用程序的图示。
图3是具有节点的两个不同的脏子树的示例性节点树的图示。
图4是示出在使用先辈节点状态改变来使布局过程更高效时所涉及的各阶段的一个实现的处理流程图。
图5是示出在当节点的大小已经改变时将父节点标记为脏以避免浪费工作时所涉及的各阶段的一个实现的处理流程图。
图6是示出在通过处理节点的脏子树来在呈现之前更新布局时所涉及的各阶段的一个实现的处理流程图。
图7是示出在对指定节点执行布局过程时所涉及的各阶段的一个实现的处理流程图。
图8是示出在使布局过程无效时所涉及的各阶段的一个实现的处理流程图。
详细描述
此处的技术和方法可以在通用上下文中被描述为协调对输出设备上的用户界面元素的大小和位置的更新的布局管理器应用程序,但这些技术和方法还达到除了这些目的之外的其它目的。在一个实现中,此处所描述的技术中的一种或多种可被实现为诸如
Figure BSA00000631100000031
Silverlight等平台、诸如
Figure BSA00000631100000032
Figure BSA00000631100000033
等操作系统中的特征,或者来自负责协调对输出设备上的用户界面元素的更新的任何其它类型的程序或服务的特征。
在一个实现中,提供协调对用户界面元素的大小和位置的更新以使得然后可将这些更新呈现在输出设备上的布局管理器。如此处所使用的术语“用户界面元素”旨在包括任何用户界面元素,诸如列表框、组合框、树结构、单选按钮、日历、窗口、表单、面板及其组合。正在不断地创建用户界面对象的新的实现并且所公开的这些示例也涵盖尚未专门命名的用户界面元素。将用户界面元素组织成节点树以使得能够跟踪和更新它们的状态。如此处所使用的术语“树”旨在包括以分层结构或允许标识用户界面元素之间的关系的其它结构来表示的多个用户界面元素。如此处所使用的术语“节点”旨在包括多个用户界面元素的树中的单个用户界面元素。
当给定程序的影响用户界面元素的各部分运行时,布局管理器使用节点树来跟踪这些对用户界面元素的改变。例如,可以更新树中的节点的一个或多个状态指示符以标识该用户界面元素的一个或多个细节已经改变。作为一非限制性示例,可能已经执行改变用户界面上的特定文本框中所包含的文本的字体大小的代码。在一个实现中,在已改变的节点上标记脏指示符以便将该节点标记为具有可能需要在下一次重新呈现该用户界面时更新的一个或多个已改变的细节。这些状态指示符由布局管理器来跟踪并且然后用于确定对显示在输出设备上的给定程序的用户界面元素应呈现什么更新。
例如,状态指示符可由布局管理器在重新呈现对用户界面的更新之前调用的布局过程使用。如此处所使用的术语“布局过程”旨在包括确定用户界面元素的大小和位置的过程。如此处所使用的术语“布局”旨在包括已经确定用户界面元素的大小和位置以反映迄今已影响该用户界面元素的改变的事实。布局过程可包括测量过程和/或安排过程。“测量过程”是推断特定用户界面元素想要多大的过程。在测量过程期间,节点通过确定其所有子节点所需大小来确定该节点所需大小,或者如果该节点没有子节点,则该节点通过其本身需要的大小来确定该节点所需大小。在测量其子节点(如果有的话)时,该节点提供大小约束,该大小约束通常是父节点留着分配给子节点的该节点仍然必须测量的大小;该大小限制还可以是在一个或两个维度上无限制的。在一个实现中,不管节点是否具有子节点,如果已经指定诸如高度、最小高度、最大高度、宽度、最大宽度和最小宽度等其它约束,则也可以使用这些约束。“安排过程”是其中父元素将子节点已经分配到以便按其显示的位置和大小通知给该子节点的过程。该大小可以小于、大于或等于该节点在测量过程中指示它所需要的大小。该节点将相应地确定其本身在屏幕上的位置和大小。也可使用诸如拉伸模式、水平对齐和垂直对齐等属性(如果指定的话)来确定节点的位置和/或大小。
在图4-8中更详细地描述的某些实现中,使用已经在先辈节点上发生的改变的状态来使布局过程(例如,测量和/或安排过程)更高效地执行。如此处所使用的术语“先辈节点”旨在包括到指定节点的向上线性链中所包含的任何前导节点。如此处所使用的术语“父节点”旨在包括指定节点的直接父节点(例如,父亲)。在对给定节点执行布局过程(测量和/或安排过程)时,布局管理器确定任何先辈节点是否已改变。如果任何先辈节点已经改变,则放弃正在进行的对已改变的先辈节点下面的后代节点(例如,子节点)任何布局(测量和/或安排),并且在该已改变的先辈节点处继续布局过程(测量或安排)。如果对于指定节点的任何先辈节点都未改变,则布局过程(测量和/或安排)通过沿着后代节点的路径向下来继续。在一个实现中,通过认识到已经作出对先辈节点的改变,可通过在先辈层而不是在后代层处理改变来避免浪费工作。该工作否则可能已经花费在处理对后代节点的改变上,而该改变在稍后处理对先辈节点的更新时会变得过时。这些技术中的某一些现在将更详细地探究。
如图1所示,用于实现本系统的一个或多个部分的示例性计算机系统包括诸如计算设备100等计算设备。在其最基本的配置中,计算设备100通常包括至少一个处理单元102和存储器104。取决于计算设备的确切配置和类型,存储器104可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。该最基本配置在图1中由虚线106来示出。
另外,设备100还可具有附加特征/功能。例如,设备100还可包含附加存储(可移动和/或不可移动),包括但不限于磁盘、光盘或磁带。这样的附加存储在图1中由可移动存储108和不可移动存储110示出。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储器104、可移动存储108和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可用于存储所需信息并且可由设备100访问的任何其他介质。任何这样的计算机存储介质都可以是设备100的一部分。
计算设备100包括允许计算设备100与其它计算机/应用程序115进行通信的一个或多个通信连接114。设备100还可以具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等输入设备112。还可以包括诸如显示器、扬声器、打印机等输出设备111。这些设备在本领域中公知且无需在此处详细讨论。在一个实现中,计算设备100包括布局管理器应用程序200。布局管理器应用程序200将在图2中更详细地描述。
现在转向图2,并继续参考图1,示出了在计算设备100上操作的布局管理器应用程序200。布局管理器应用程序200是驻留在计算设备100上的应用程序之一。然而,可以理解,布局管理器应用程序200可另选地或另外地被具体化为一个或多个计算机上的计算机可执行指令和/或与图1所示的不同的变型。另选地或另外地,布局管理器应用程序200的一个或多个部分可以是系统存储器104的一部分、可以在其它计算机和/或应用程序115上、或可以是计算机软件领域的技术人员能想到的其它此类变型。
布局管理器应用程序200包括程序逻辑204,其负责执行在此描述的一些或全部技术。程序逻辑204包括用于协调对用户界面元素的大小和位置的更新的逻辑206(如以下参考图3所描述的);用于在元素树中跟踪用户界面元素的脏状态的逻辑208(如以下参考图4-7所描述的);用于更新元素树的受影响部分的逻辑210(如以下参考图6所描述的);用于使用树中的节点上的特殊状态来查找脏子树的根节点以便在更新期间避免浪费的重新计算的逻辑212(如以下参考图4-7所描述的);以及用于操作布局管理器应用程序200的其它逻辑220。
图3是具有节点的两个不同的脏子树的示例性节点树的图示。如此处所使用的术语“子树”旨在包括树中的较小的节点子集,或换言之,树中树。如此处所使用的术语“脏子树”旨在包括被标记为脏并且只有一个节点的父节点不为脏的一个或多个连续先辈和后代节点。查看一些示例以使得该定义更清楚。在图3所示的示例中,存在两个脏子树。第一个子树包含画布1。画布1是第一个子树的唯一成员,因为它不具有也为脏的直接先辈或后代节点。第二个子树包含画布3和R4。画布3和R4具有先辈/后代关系,是连续的,并且画布3是该子树中不具有也为脏的直接先辈节点的唯一成员。脏子树的概念将在对诸如图6等稍后的某些附图的讨论中使用。
现在转向图4-8,并继续参考图1-3,更详细地描述了用于实现布局管理器应用程序200的一个或多个实现的各阶段。在某些实现中,图4-8的过程至少部分地在计算设备100的操作逻辑中实现。图4-5提供了使用先辈改变来使布局过程更高效的某些高级示例。图6-8描述了用于将这些较宽泛的概念应用于示例性实现的某些更详细的技术。
现在转向图4,示出了例示在使用先辈改变的状态来使布局过程(测量、安排等)更高效时所涉及的各阶段的一个实现的处理流程图240。对给定节点调用布局过程(阶段242)。布局管理器应用程序200确定该给定节点的任何先辈节点是否已经改变(阶段244)。如果任何先辈节点已经改变(判定点246),则放弃正在进行的对已改变的先辈节点下面的后代节点的布局(阶段248)并且在已改变的先辈节点处继续布局过程(阶段249)。如果没有先辈节点已经改变(判定点246),则布局过程通过沿着后代节点的路径向下来继续(阶段250)。
现在转向图5,示出了例示在当节点的大小已经改变时将父节点标记为脏以避免浪费工作时所涉及的各阶段的一个实现的处理流程图270。对指定节点开始布局过程(阶段272)。如果该节点的所需大小已经改变(判定点274),则在该指定节点的父节点上标记脏指示符(阶段278),放弃当前布局过程(阶段278),并且对父节点执行布局过程(阶段280),如在其它附图中更详细地描述的。如果节点的所需大小未改变(判定点274),则布局过程对该节点的下一兄弟节点继续(阶段282)。
图6是示出在通过处理脏子树来在呈现之前更新布局时所涉及的各阶段的一个实现的处理流程图320。在开始更新布局过程时,布局管理器200确定窗口大小是否改变或者是否在树中某处需要测量元素(例如,测量为脏)(判定点322)。窗口可包括其中正在显示用户界面元素的任何屏幕区域,诸如整个屏幕、屏幕中的窗口、浏览器页面区域等。如果这些条件中的任一个为真,则测量脏子树的根节点(阶段324)并且然后递归地再次执行评估(以便处理每一个节点的子节点)。如果这些条件中没有一个为真(判定点322),则布局管理器200确定是否在树中某处需要安排元素(例如,安排为脏)(判定点326)。如果是,则安排根节点(阶段328)并且该过程向上循环返回至判定点322。
如果在树中某处安排不为脏(判定点326),则激发任何排队的大小已改变事件(阶段330)以允许该应用程序在以其新大小显示元素之前响应于该元素改变其大小来执行可任选的自定义代码。如果树为脏(判定点332),则该过程向上循环返回至判定点322。如果树不为脏(判定点332),则激发布局已更新事件(阶段334)以允许应用程序在以其新大小和/或位置显示已更新的元素中的任一个之前响应于更新布局操作完成来执行自定义代码。如果树为脏(判定点336),则该过程向上循环返回至判定点322。如果树不为脏(判定点336),则该过程退出(阶段338)。
现在转向图7,示出了例示在对指定节点执行布局过程时所涉及的某些详细阶段的一个实现的处理流程图350。如果指定节点本身不为脏(判定点352),则布局管理器200检查以查看该指定节点是否具有脏后代节点(判定点358)并遵循对于脏后代节点路径的处理,如即将描述的。如果指定节点本身为脏(判定点352),则对该指定节点执行布局过程(阶段354)。如果先辈节点现在已被标记为脏(判定点356),则对于该指定节点放弃布局过程(阶段357)。
如果在对指定节点执行布局后先辈节点尚未被标记为脏(判定点356),则布局管理器200确定该指定节点是否具有脏后代节点(判定点358)。如果在判定点352发现指定节点本身不为脏,则布局管理器还确定该指定节点是否具有脏后代节点。在任一种情况下,如果指定节点不具有脏后代节点(判定点358),则布局过程退出(阶段362)。如果指定阶节点不具有脏后代节点(判定点358),则检索(阶段360)并布置(阶段364)下一子节点。在布置子节点后,布局管理器200确定先辈节点是否被标记为脏(判定点366)。如果是(判定点366),则放弃布局过程(阶段357)。如果先辈节点未被标记为脏(判定点366),则布局管理器200确定该节点本身是否为脏(判定点367)。如果节点本身为脏(判定点367),则对该节点执行布局过程(阶段354)并且遵循布局过程的其它阶段如上所述地执行。如果节点本身不为脏(判定点367),则在存在更多子节点的情况下处理下一子节点(阶段368)。如果不存在更多子节点(判定点368),则该过程向上循环返回至处理脏子树中的当前父节点的下一兄弟节点(阶段352)。
在一个实现中,在每一个节点上维护六个不同的指示符以便作出上述决定中的某一些并且确定如何高效地处理更新。这六个示例性指示符在下文中示出。
·测量为脏(IsMeasureDirty)位:将节点标记为关于测量为脏
·在到测量为脏的路径上(IsOnPathToMeasureDirty)位:将节点标记为具有关于测量的脏后代节点
·安排为脏(IsArrangeDirty)位:将节点标记为关于安排为脏
·在到安排为脏的路径上(IsOnPathToArrangeDirty)位:将节点标记为具有关于安排的脏后代节点
·先辈为脏(IsAncestorDirty)位:将节点标记为具有脏先辈节点
·在栈上(IsOnStack)位:标记其布局(测量或安排)正在进行中
在其它实现中,可使用更少或更多的指示符。这些指示符现在将为了说明起见在以下代码样本中使用。该样本走查用于执行图6和7中所描述的布局过程的某些示例性代码。
布局管理器::更新布局伪代码
Figure BSA00000631100000091
CUI元素::测量伪代码
Figure BSA00000631100000101
CUI元素::安排伪代码
Figure BSA00000631100000102
Figure BSA00000631100000111
如在更新布局过程中描述的,如果显示区域大小改变,或者根节点已将“测量为脏”或“在到测量为脏的路径上”标志置位为真(即,其本身为脏或具有脏后代节点),则调用该测量过程。否则,如果已将“安排为脏”或“在到安排为脏的路径上”标志置位,则调用安排过程。
示例性代码样本中示出的测量和安排过程然后在适当时递归地循环通过节点树以取决于对此处(且图7中)所描述的各种准则的评估来确定是沿先辈节点向上测量或安排还是沿后代节点向下测量或安排。
图8是示出在使布局过程无效时所涉及的各阶段的一个实现的处理流程图390。如果指定节点已经为脏(判定点392),则使布局无效过程退出(阶段394)。如果指定节点还不为脏(判定点392),则将指定节点标记为脏(阶段396)。如果指定节点是当前正在布置的节点的先辈节点(判定点398),则将从该节点到当前正在布置的节点的直接路径上的所有节点(但不包括该节点)标记为具有脏先辈节点(阶段400)。如果该节点不是当前正在布置的节点的先辈节点(判定点398),则使布局无效过程退出(阶段402)。
以下示出某些示例性源代码以便更详细地示出图8的过程。在所示示例中,使测量无效(InvalidateMeasure)过程检查以查看指定节点是否已经在栈上(即,已经在测量),并且如果是,则使测量无效过程退出。将该指定节点标记为脏,并且然后将先辈节点标记为脏。
这些非限制性代码示例只是为了进一步说明这些技术中的某一些而提供的。计算机软件领域的技术人员可以理解存在可将源代码编写为实现此处所描述的技术中的部分或全部的众多其它方式。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。落入在此所述和/或所附权利要求所描述的实现的精神的范围内的所有等效方案、更改和修正都期望受到保护。
例如,计算机软件领域普通技术人员将认识到,此处所讨论的示例可以在一个或多个计算机上不同地组织来包括比这些示例中所描绘的更少或更多选项或特征。

Claims (12)

1.一种用于使用先辈节点改变的状态来使布局过程更高效的方法,所述方法包括以下步骤:
在指定节点上开始布局过程(242);
确定所述指定节点的任何先辈节点是否已经改变(244);以及
当标识到所述指定节点的至少一个已改变的先辈节点时,则放弃当前正在对所述已改变的先辈节点的任何后代节点执行的任何布局过程(248),并且在所述已改变的先辈节点处继续所述布局过程(249)。
2.如权利要求1所述的方法,其特征在于,还包括以下步骤:
当未标识到所述指定节点的至少一个已改变的先辈节点时,则通过沿所述指定节点的后代节点的路径向下来继续所述布局过程(250)。
3.如权利要求2所述的方法,其特征在于,因为所述指定节点的所需大小已经改变并且然后将所述指定节点的父节点标记为脏,所以所述指定节点的至少一个先辈节点已经改变(320)。
4.如权利要求1所述的方法,其特征在于,使用多个指示符来帮助确定所述指定节点的任何先辈节点是否已经改变(274)。
5.如权利要求4所述的方法,其特征在于,所述多个指示符中的至少一个指定特定节点是否为脏(352)。
6.如权利要求4所述的方法,其特征在于,所述多个指示符中的至少一个指定特定节点是否具有脏后代节点(358)。
7.如权利要求4所述的方法,其特征在于,所述多个指示符中的至少一个指定特定节点是否具有脏先辈节点(356)。
8.如权利要求4所述的方法,其特征在于,所述多个指示符中的至少一个指定特定节点当前是否正在被布置(398)。
9.如权利要求1所述的方法,其特征在于,当标识到所述指定节点的至少一个已改变的先辈节点时放弃任何布局过程,以使得不对所述已改变的先辈节点的稍后可能由于对所述已改变的先辈节点作出的更新而被盖写的任何后代节点执行更新(278)。
10.一种用于使对指定节点的布局过程无效的方法,所述方法包括以下步骤:
确定指定节点是否已经为脏(392);
当所述指定节点还不为脏时,则将所述指定节点标记为脏(396)并且确定所述指定节点是否是当前正在被布置的至少一个节点的先辈节点(398);以及
当所述指定节点是当前正在被布置的至少一个节点的先辈节点时(398),则将从所述指定节点到所述当前正在被布置的节点的直接路径上的所有节点标记为具有脏先辈节点,但不包括所述指定节点(400)。
11.如权利要求10所述的方法,其特征在于,还包括以下步骤:
当所述指定节点已经为脏时,则退出使布局无效过程(394)。
12.如权利要求11所述的方法,其特征在于,因为所述指定节点包含在正在被布置的节点的栈中,所以将所述指定节点确定为已经为脏(392)。
CN2011104047465A 2007-11-21 2008-11-14 布局管理器 Pending CN102591637A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/943,603 US8095865B2 (en) 2007-11-21 2007-11-21 Layout manager
US11/943,603 2007-11-21

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2008801174323A Division CN101868791B (zh) 2007-11-21 2008-11-14 布局管理器

Publications (1)

Publication Number Publication Date
CN102591637A true CN102591637A (zh) 2012-07-18

Family

ID=40643080

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2011104047465A Pending CN102591637A (zh) 2007-11-21 2008-11-14 布局管理器
CN2008801174323A Expired - Fee Related CN101868791B (zh) 2007-11-21 2008-11-14 布局管理器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2008801174323A Expired - Fee Related CN101868791B (zh) 2007-11-21 2008-11-14 布局管理器

Country Status (7)

Country Link
US (1) US8095865B2 (zh)
EP (1) EP2223234A4 (zh)
JP (1) JP5260672B2 (zh)
CN (2) CN102591637A (zh)
BR (1) BRPI0820487A2 (zh)
RU (1) RU2483350C2 (zh)
WO (1) WO2009067388A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5323103B2 (ja) * 2010-09-03 2013-10-23 三菱電機株式会社 グラフィカルユーザインタフェース装置
US8925009B2 (en) * 2010-12-10 2014-12-30 Verizon Patent And Licensing Inc. Graphics handling for electronic program guide graphics in an RVU system
US10956485B2 (en) 2011-08-31 2021-03-23 Google Llc Retargeting in a search environment
US10630751B2 (en) 2016-12-30 2020-04-21 Google Llc Sequence dependent data message consolidation in a voice activated computer network environment
US8650188B1 (en) 2011-08-31 2014-02-11 Google Inc. Retargeting in a search environment
CN103257967A (zh) * 2012-02-17 2013-08-21 腾讯科技(深圳)有限公司 屏蔽网页自定义样式影响全局样式的方法及装置
US20140282055A1 (en) * 2013-03-15 2014-09-18 Agilent Technologies, Inc. Layout System for Devices with Variable Display Screen Sizes and Orientations
US10431209B2 (en) 2016-12-30 2019-10-01 Google Llc Feedback controller for data transmissions
US9703757B2 (en) 2013-09-30 2017-07-11 Google Inc. Automatically determining a size for a content item for a web page
US10614153B2 (en) 2013-09-30 2020-04-07 Google Llc Resource size-based content item selection
CN103902692B (zh) * 2014-03-27 2017-05-10 网易乐得科技有限公司 一种应用界面更新的方法、设备和系统
CN106919622B (zh) * 2015-12-28 2021-10-15 伊姆西Ip控股有限责任公司 用于分布式数据处理的方法和设备
US10558736B2 (en) * 2016-02-04 2020-02-11 Sap Se Metadata driven user interface layout control for web applications
US10621271B2 (en) 2017-05-25 2020-04-14 Microsoft Technology Licensing, Llc Reordering a multi-level layout using a hierarchical tree
CN110688377B (zh) * 2019-08-30 2020-07-17 阿里巴巴集团控股有限公司 一种更新状态默克树的方法及装置
US10992459B2 (en) 2019-08-30 2021-04-27 Advanced New Technologies Co., Ltd. Updating a state Merkle tree
US11836123B2 (en) * 2021-02-11 2023-12-05 Salesforce, Inc. Automated process flow layout generation
CN113987720B (zh) * 2021-09-22 2022-07-01 南京南瑞信息通信科技有限公司 一种配电网单线图增量图生成方法、系统、存储介质及计算设备
CN116126450B (zh) * 2023-04-07 2023-08-04 小米汽车科技有限公司 界面布局方法、装置、车辆及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050091594A1 (en) * 2003-10-23 2005-04-28 Microsoft Corporation Systems and methods for preparing graphical elements for presentation
US20060150169A1 (en) * 2005-01-05 2006-07-06 Microsoft Corporation Object model tree diagram
CN101042643A (zh) * 2006-03-24 2007-09-26 国际商业机器公司 在本地化过程中调整图形用户界面布局的方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03288972A (ja) * 1990-04-05 1991-12-19 Fujitsu Ltd 図形表示処理方式
JP3359634B2 (ja) * 1991-10-10 2002-12-24 ヒューレット・パッカード・カンパニー 境界内更新を備えたグラフィックス出力システム
US5566287A (en) * 1994-06-28 1996-10-15 Thomson Consumer Electronics, Inc. Method for asynchronously maintaining an image on a display device
US7100112B1 (en) * 1999-05-20 2006-08-29 Microsoft Corporation Dynamic properties of documents and the use of these properties
US6750887B1 (en) * 2000-06-02 2004-06-15 Sun Microsystems, Inc. Graphical user interface layout manager
US7073130B2 (en) * 2001-01-31 2006-07-04 Microsoft Corporation Methods and systems for creating skins
US7386835B1 (en) * 2002-03-22 2008-06-10 Emc Corporation Technique for graphical user interface modification
EP1406183A3 (en) * 2002-10-01 2004-04-14 Sap Ag Method and system for refreshing browser pages
US7260784B2 (en) * 2003-05-07 2007-08-21 International Business Machines Corporation Display data mapping method, system, and program product
US20040225960A1 (en) * 2003-05-09 2004-11-11 Microsoft Corporation System for hosting graphical layout/presentation objects
US7417644B2 (en) * 2003-05-12 2008-08-26 Microsoft Corporation Dynamic pluggable user interface layout
US7478340B2 (en) * 2003-10-22 2009-01-13 Microsoft Corporation Systems and methods for managing preparation of graphical elements for presentation
US7349893B2 (en) 2004-04-29 2008-03-25 Microsoft Corporation Hierarchical user interface query automation
US7096392B2 (en) * 2004-05-07 2006-08-22 Asempra Technologies, Inc. Method and system for automated, no downtime, real-time, continuous data protection
US20050289450A1 (en) * 2004-06-23 2005-12-29 Microsoft Corporation User interface virtualization
US7516400B2 (en) * 2005-03-07 2009-04-07 Microsoft Corporation Layout system for consistent user interface results
US7730418B2 (en) * 2005-05-04 2010-06-01 Workman Nydegger Size to content windows for computer graphics
US7657830B2 (en) * 2005-05-04 2010-02-02 Microsoft Corporation Layout size sharing in a grid layout for a user interface
US7535475B2 (en) * 2005-11-01 2009-05-19 Adobe Systems Incorporated Virtual view tree

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050091594A1 (en) * 2003-10-23 2005-04-28 Microsoft Corporation Systems and methods for preparing graphical elements for presentation
US20060150169A1 (en) * 2005-01-05 2006-07-06 Microsoft Corporation Object model tree diagram
CN101042643A (zh) * 2006-03-24 2007-09-26 国际商业机器公司 在本地化过程中调整图形用户界面布局的方法及装置

Also Published As

Publication number Publication date
EP2223234A4 (en) 2012-05-16
US20090132578A1 (en) 2009-05-21
BRPI0820487A2 (pt) 2015-06-16
CN101868791A (zh) 2010-10-20
JP2011507056A (ja) 2011-03-03
JP5260672B2 (ja) 2013-08-14
WO2009067388A3 (en) 2009-08-13
US8095865B2 (en) 2012-01-10
RU2010120429A (ru) 2011-11-27
WO2009067388A2 (en) 2009-05-28
CN101868791B (zh) 2013-01-23
RU2483350C2 (ru) 2013-05-27
EP2223234A2 (en) 2010-09-01

Similar Documents

Publication Publication Date Title
CN102591637A (zh) 布局管理器
US6792595B1 (en) Source editing in a graphical hierarchical environment
US8694953B2 (en) Tool and methodology for enterprise software applications
US8312415B2 (en) Using code analysis for requirements management
US20100070464A1 (en) Document-based workflows
US10162604B2 (en) Navigation history visualization in integrated development environment
US20050015730A1 (en) Systems, methods and computer program products for identifying tab order sequence of graphically represented elements
US20050081141A1 (en) Visual programming system and method
CN101263488A (zh) 在文档中集成图表
US20110185282A1 (en) User-Interface-Integrated Asynchronous Validation for Objects
US6246403B1 (en) Method and apparatus for generating a graphical user interface
US8276118B2 (en) Depicting changes to structures in an integrated development environment
US20200034415A1 (en) Spreadsheet cell calculation view providing multiple-representation editing
KR20110125588A (ko) 맞춤식 유저 인터페이스들을 위한 유저 도움 정보를 생성하는 방법 및 장치
US20110214092A1 (en) System and Method for Management of User Interactions Using Configurable Listeners in a Data Processing System
JPWO2011118003A1 (ja) ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体
US10162937B2 (en) Method and analysis system for processing biological samples
US8818783B2 (en) Representing state transitions
US20070271295A1 (en) Method and system for providing an enumeration assistant
US20120084683A1 (en) Seamless Integration of Additional Functionality into Enterprise Software without Customization or Apparent Alteration of Same
US7712030B1 (en) System and method for managing messages and annotations presented in a user interface
US20150026702A1 (en) Data processing system, method and program product of creating program information, and program information display system
US7065717B1 (en) Tree-based interface apparatus for display of call dependencies and method therefor
JP2008158882A (ja) 情報処理装置およびポップアップウィンドウ表示制御方法およびプログラムおよび記録媒体
US20100058206A1 (en) User Interface Configuration Tool

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1171823

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150803

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150803

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120718