CN100351822C - 用简化视图定义、处理和表示用户界面组件的方法和工具 - Google Patents

用简化视图定义、处理和表示用户界面组件的方法和工具 Download PDF

Info

Publication number
CN100351822C
CN100351822C CNB031077854A CN03107785A CN100351822C CN 100351822 C CN100351822 C CN 100351822C CN B031077854 A CNB031077854 A CN B031077854A CN 03107785 A CN03107785 A CN 03107785A CN 100351822 C CN100351822 C CN 100351822C
Authority
CN
China
Prior art keywords
node
user interface
interface components
show
selecting
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.)
Expired - Fee Related
Application number
CNB031077854A
Other languages
English (en)
Other versions
CN1508704A (zh
Inventor
P·F·奥斯特泰格
M·J·菲诺基奥
M·E·D·温斯特
B·F·W·J·S·卡特
N·克拉马
S·W·本特
N·古普塔
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 CN1508704A publication Critical patent/CN1508704A/zh
Application granted granted Critical
Publication of CN100351822C publication Critical patent/CN100351822C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Digital Computer Display Output (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一个合成用户界面组件能从多个子组件组装。能提供用户界面组件的表示的简化视图,其中该合成用户界面组件看来是单个组件。在定义时,表示用户界面的各种节点能指定为经选择可展示的,当经简化视图完成操作时,这样的经选择可展示的节点能忽略。因而,程序员可以书写代码,而不需要考虑合成用户界面组件的复杂性。根据经选择可展示的节点能作为属性确定。简化视图能支持具有对应的经选择可展示节点的嵌套的用户界面组件。

Description

用简化视图定义、处理和表示用户界面组件的方法和工具
技术领域
本技术领域涉及用户界面组件的内部表示。
背景技术
随着计算机的激增,在软件用户界面领域已出现创新。例如,有许多现成的工具使程序员能建立及处理用户界面。此外,用户界面组件现在能放置在如网页或文字处理文档这样的文档中。
用户界面组件能采用许多形式:编辑框、列表框、滚动条、选择表、按键等。虽然用户界面组件对用户来说是单个组合项。它实际上在计算机上能表示成许多互相组合的单独的项或子组件。此外,这些子组件的每个本身能从其他子组件合成。以此方式,用户界面组能用作构筑其他更复杂的用户界面组件的构件块。这种方法是有用的,因为管理用户界面的软件(如用户界面的框架软件)在将它们组合成合成组件时能重复使用某些公共组件的定义。
然而,将用户界面组件表示成合成的用户界面组件产生的复杂性是有问题的。例如,新的或非专职的程序员不希望知道合成的用户界面是如何组合的,或甚至不希望知道合成的用户界面原先是合成的。这些程序员在处理合成的用户界面组件时更愿意避免这样的复杂性。诚然,即使有经验的程序员也希望避免处理这样的复杂性。因此有必要设法简化合成的用户界面组件的表示。
发明内容
这里提到能提供一个或多个用户界面组件的表示的简化视图。例如,能选择地展示出在层次表示中表示用户界面组件的某些节点。这些节点能在某些情况下展示出,而在另外情况不展示出,在此示例的方法中能提供简化的表示视图(如不展示出经选择可展示的节点)。
在一个实施例中,当提供用户界面服务时,在用户界面的表示的简化视图上能完成各种操作,例如,在完成操作时,经选择可展示的节点能不展示。这种方法对不希望熟悉表示的细节的程序员来说是有用的。
例如,多个用户界面的组件能合成可以完成操作的单个合成的单元。合成单元是多个用户界面组件所合成的事实在用户界面组件的表示的简化视图中是明白的。因此一个程序能研究并处理此表示而不用管未展示的节点。结果,程序员能写较简单的代码或标记码。而且,程序员不必完全熟悉底层结构,该底层结构可以包含合成单元的超过一个的节点。
因此,提供简化视图的用户界面服务能提供有力的工具,借此鼓励软件的再使用,且不精通的用户能在基本层上与用户界面组件互动。
从下面参考附图的示例性实施例的详细描述中,另外的特征与优点将变得显而易见。
附图说明
图1是具有简化视图的用户界面组件的示例性表示的图。
图2是图1的用户界面组件表示的示例性简化视图的图。
图3是具有简化视图的另一个示例性用户界面组件的表示的图。
图4是图3的用户界面组件表示的示例性简化视图的图。
图5是实现用户界面组件的表示的简化视图的示例性方法的流程图。
图6是处理具有用简化视图表示的用户界面组件的定义的示例性方法的流程图。
图7是调用具有如在图6中所处理的简化视图的用户界面组件的定义的示例性方法的流程图。
图8是完成在如在图7中建立的用户界面组件的层次表示上的操作的示例性方法的流程图。
图9是称之为组合框的示例性用户界面组件的屏幕示样。
图10A是如图9所示的组合框的示例性层次表示的图。
图10B是类似于图10A的组合框的示例性层次表示的图,并包括示例性封装边界。
图11是如图10A所示的组合框的层次表示的示例性简化视图的图。
图12是建立具有经选择可展示的节点的用户界面组件的层次表示的示例性方法的流程图。
图13是对包括将至少一个组件指示作为经选择可展示的组合框的示例性标记码定义。
图14A是对包括将至少一个组件指示为经选择可展示的组合框的示例性程序定义。
图14B是图14A的示例性标记码定义的继续。
图15是如图13或14A和B中定义的组合框的示例性标记码调用。
图16是如图13或14A和B中定义的组合框的示例性程序调用。
图17是实现使用用户界面组件表示的简化视图的操作的示例性方法的流程图。
图18是在完成经简化视图的操作后,具有在简化视图中指定为未展示的适当节点的组合框的层次表示的示例性完整视图的图,如图9。
图19是对应于图18的表示的示例性简化视图的图。
图20A是对用户界面组件经选择可展示的用户节点的另选的表示的图。
图20B是对应于图20A所示的表示的简化视图的图。
图21是使用重复器(repeater)特征的列表框用户界面组件的屏幕示样。
图22是包括重复器的用户界面组件的示例性层次表示的图。
图23是对应于图22的示例性简化视图的图。
图24是用于建立包括如图22的重复器的用户界面组件的层次表示的示例性方法的流程图。
图25是指定为经选择可展示的重复器的示例性标记码调用。
图26是指定为经选择可展示的重复器的示例性程序调用。
图27是指定为经选择可展示的重复器的另一个示例性调用。
图28是不使用重复器特征的列表框的示例性标记码定义,如图21。
具体实施方式
概况
这里描述的各种技术对建立,表示,和处理用户界面组件是有用的。用户界面组件能采用多种形式,如图形按键、编辑框、滚动条、选择列表、下拉菜单、ACTIVEX控件、图象等。用户界面组件能作为程序的一部分(如控制程序的功能)出现,或出现在文档中。这样的用户界面组件的内部表示的简化视图使用户界面组件的编程更简单。例如,一个非专职或不精通的程序员能写与简化视图互动的程序而不必熟悉某些复杂的内容。而且较精通的程序员也希望避免这种复杂性以防止可能的编程错误。
如果希望,这里描述的技术(如简化视图)能作为用户界面服务的部分提供。因此与服务互动的程序可如愿地利用此特征的好处。
在某些实施例中,用户界面组件能定义成具有简化视图的层次表示的组件。能调用这样的定义建立简化视图的层次表示。从而能在此层次表示上完成操作。这样的操作能在层次表示的完整的或简化的视图上完成。
若用户界面组件是包括多个用户界面组件的合成用户界面组件,就能展示一个主(如父)节点,而合成用户界面组件的其他节点能定义成经选择可展示的。当不展示时,该表示的视图显示主节点,而不是其他经选择可展示的节点。因此,对合成的用户界面组件能展示一个节点而不是多个节点。
合成的用户界面组件的完整视图可以是相当复杂的,其中在表示用户界面组件的层次表示中可能有多个节点。希望处理完整视图的程序员面临着要熟悉各种节点和它们的层次关系。如这里所述,程序能替代地使用简化视图完成操作。
在简化的视图中,当在一节点(如在层次中的父或子节点)上完成操作时,未展示的节点能忽略。例如,当将子节点加到一个节点时,未展示的中间节点能忽略或跳过。因此,将子节点加到用户界面的层次表示的简化视图的节点上的请求实际上导致将子节点加到该节点的合适子节点(如表示合成的用户界面组件的一个组件)。这样的方法是有用的,因为增加子节点到简化视图中不需要知道形成用户界面组件的多个节点以及它们互相关系的复杂性。
例如,列表框能表示成层次关系中的多个节点,而且这些节点之一能被指定为接收对于作为子节点的列表框的所显示选择的特定节点。然而,程序员可能不希望熟悉这样的复杂性。
使用简化视图,通过加入作为用户界面组件的主节点的子节点的附加用户选择(如经简化视图)可容易地完成这样的操作。在简化视图中,增加子节点到主节点的请求作为增加子节点到合适节点(如主节点的后代)的请求来实现。以此方式,程序能使用用户界面组件的简化表示完成用户界面组件上的操作。其结果是,程序员不需要熟悉完整视图的复杂性,并能使用较简单的程序码或标记码。
实现简化视图的一个方法是将在表示中的各种节点定义为封装父节点或封装容件。以此方式,一个特定节点能指定为主节点(如封装父节点)而另外的(子)节点能指定为接收子节点的特定节点(如,若在简化视图中父节点具有或将具有子节点)。
实现简化视图的另外方法是以这样的方法定义经选择能展示的节点,即在简化的视图中其子节点被认为是经选择能展示的节点的兄弟的兄弟。
如这里所述,除增加子节点以外,还能完成许多操作以查明或处理用户界面组件表示。此外,能完成在表示中任何节点上的操作,并能得益于简化的视图。
再则,考虑经选择可展示的节点能确定属性值(如对增加的节点)。在某些情况,希望使用与主节点(如忽略经选择可展示的节点),直接(如未展示的)父节点,或其组合相关的属性值。
因为涉及用户界面组件表示的某些细节是隐藏的,对合成的用户界面的主节点和经选择可展示的节点有时形成“封装的”用户界面组件,
与简化视图互动的程序或标记语言能避免某些底层表示的复杂性。因此,合成的用户界面组件能由多个用户界面组件组装而不引起使用合成的用户界面的程序的附加复杂性。这样的方法在鼓励用户界面组件的开发者在建立新的界面时再次使用现有的用户界面组件是有用的,并在处理用户界面组件时不会引起不必要的复杂性。此外,支持规定经选择可展示的节点的定义的嵌套。
用户界面组件的示例性层次表示
以软件方式表示用户界面组件的一个方法是将其以具有各种节点的分层树的方式存入。图1示出用户界面组件的示例性分层表示100。节点110和120示为有父-子关系。例如,节点110是子组件120的父组件。因为表示100包括超过一个的节点,它有时称为表示“合成的”用户界面组件。在合成的用户界面组件的情况,节点110对应于一个可视的表示,而节点120对应于另一个可视的表示,但是节点110或120中至少一个节点没有可视的图。
在表示100中的一个或多个节点能指定为经选择可展示的。在该例中指定节点120。在提出表示100的简化视图时,经选择可展示的节点120未展示。结果,只展示表示用户界面组件层次表示100的节点的根节点110,因此,所展示的节点110有时称为“主”节点。
包含多个组件的复杂得多的用户界面能以图1示出的方式。每个组件本身能包含未在图1中点击且增加了附加的复杂的层次的其他用户界面组件(如更多的节点,包括选择上可展示的节点)。此外,各种子节点可能是对于其他用户界面组件的表示的主节点。
图1示出用户界面组件的分层表示的完整视图,包括经选择可展示的子节点(如节点120)。然而,当对用户界面组件的表示完成各种操作时可能不希望分层表示100的完整视图。例如,在某些情况与节点120的直接互动可能是不必要的。如果这样,能提出如图2所表示的示例性简化视图200。
示例性简化视图200只示出一个节点210。节点210可以是完整视图的节点110和120的组合表示(如节点120被封装在节点110中),或者简单地是完整视图的节点110的表示。
用户界面组件的另外示例性层次表示
图3中示出另外的示例性层次表示300。在此例中,节点310,320和325是表示合成的用户界面组件的节点组330。节点组330中,节点310是主节点,余下的节点320和325定义为经选择可展示的。另一个节点340不是经选择可展示的,且示作为经选择可展示的节点320之一的子节点。表示300包括经选择可展示的节点并在请求完整视图时提供此表示。
对应的简化视图示于图4。当请求简化视图时,经选择可展示的节点320和325未被展示。简化视图400替代地示出节点410(如节点310或节点310,320,和325的组合)和节点340。
现参考图3,一个节点320能指定为存储简化视图的子节点(如节点340)的节点。这样的节点有时称为“容件”节点(如对于封装的节点)。
因此用户界面的相对复杂的表示能如愿地以简单形式表示。对由不关心在层次表示中经选择可展示的节点的用户所写的程序不必要提供这样复杂的用户界面的层次表示的完整视图300。例如,程序员可以不关心有关经选择可展示节点320和325的用户界面组件的存在或确定其功能或表现。然而,程序需要与节点340互动。因此有时希望提供只画出所关心的节点的用户界面的层次表示的简化视图400。
这里描述的技术能应用于具有附加的或更少节点的各种其他表示。
示例性简化视图实现的概况
图5示出用于实现用户界面组件的表示的简化视图的示例性方法500(如在用户界面服务中)。在510。定义具有层次表示的用户界面组件。例如该定义能包括多个节点,某些是经选择可展示的。
在定义建立之后,在520能调用它以建立用户界面。例如,通过该定义能建立所定义的用户界面组件的层次表示,并存储之。
在530,可以完成在该表示上的一个或多个操作。这样的操作能通过提供层次表示的简化视图来完成而不展示在表示中经选择可展示的节点。
若希望,能进行定义的调用并完成在该表示上的操作,而不必参考表示的完整视图。因此,程序员能写出程序码或标记码而不必熟悉完整视图的细节。实际上,任何一个图形活动是单独有用的,且不必立刻全部执行或由同一程序完成。
定义具有简化视图的用户界面组件的示例性方法
图6示出用于接收具有简化视图的层次表示的用户界面组件的定义的示例性方法。使用如标记语言(如XML或HTML)或编程语言(如Java或C++)这样的各种语言能建立定义。因此,定义就能从程序接收或在标记文档中指定。
在610,接收为用户界面组件的表示而存储的一个或多个节点的指示。例如,能指定用户界面组件(如子组件)。该定义能指示在组件之间的层次关系。这样的定义能包括对形成合成的用户界面组件的各种组件的节点的定义。
在620,接收至少一个经选择可展示节点的指示。若希望,经选择可展示的节点能自动选择而不必在定义中规定。在提供所定义的用户界面组件的表示的简化视图时,经选择可展示的节点未展示。然后在630定义被存储,为以后调用。
调用具有简化视图的所定义的用户界面组件的示例性方法
通过调用定义(如由图6示出的方法所定义的)能建立用户界面组件的一个范例。图7示出用于调用具有简化视图的用户界面组件的定义的示例性方法。在710,接收建立用户界面组件的请求。这样的请求能通过程序(如从软件程序)或从标记文档接收。该请求不需要从定义用户界面组件的同一实体接收。
在720,使用用户界面组件的层次表示的定义在用户界面(如对应于形成合成的用户界面组件的用户界面组件)的层次表示中建立合适的节点。若请求表示的完整视图,提供所建立的节点。
在730,适当的节点(如由定义所规定)被指定为经选择可展示的。在请求简化视图如(其中表示用户界面组件的表示的视图)时,这样的经选择可展示的节点未被展示(如未遇到)。
节点在用户界面组件的表示的视图中是否被展示无关于当用户界面组件被呈现时对应的用户界面组件是否在显示设备上显示(或隐藏)。
在具有简化视图的用户界面组件上完成一个操作的示例性方法
一旦调用用户界面的定义来建立用户界面组件的层次表示(如图7所示),能完成对该表示的操作。这样的操作既可对该表示的完整视图又可对其简化视图完成。例如在简化视图上完成的操作包括,例如枚举一个节点的子节点,增加子节点到一个节点,去除节点的子节点,和在层次表示中定位。
在图8中示出在用户界面组件的表示的简化示图上完成操作的示例性方法。在810,接收在用户界面组件上(如合成的用户界面组的主节点)完成操作的请求。在820,使用用户界面组件的层次表示的简化视图完成所请求的操作。操作能导致层次表示的修改(如当加入或去除节点),或者该表示可以不改变(如当在节点中枚举或定位)。
例如,使用简化视图枚举一节点的子节点的请求能导致若该子节点被指定为经选择可展示的,就枚举存储在该节点的一个子节点的子节点(或孙节点)。
将一个子节点加到在简化视图中具有经选择可展示的子节点的父节点,能导致该子节点被加到用户组件的表示的完整视图的层次中的适当位置,而用户组件可以是在简化视图中可见的父节点,也可以不是。
因此,在简化视图中似乎子节点直接被加到父节点之下。对调用子节点的操作,能使用用户界面组件的层次表示的定义在层次表示的完整视图中找到加入或找到子节点的适当位置。以此方式,可以书写程序与简化视图互动,而程序员避免必须知道包括隐藏节点和它们在层次中安排的完整视图的细节的麻烦。
关于组合框的示例性实现
某些下面的例子描述了有关称为组合框的示例性用户界面组件的各种处理。描述的技术能被应用于任何数目现有或随后将开发的用户接口组件。
示例性组合框用户界面组件
图9示出通常称为组合框的示例性用户接口组件905。在此例中,组合框905是包括若干用户界面组件的合成的用户界面组件,它转而又包含用户界面组件。组合框905包含输入框910,下拉按键930,和弹出窗口组件920。通常,当用户点击下拉按键930时,显示弹出窗口组件920。在此例中,弹出窗口组件920包含列表框组件925(如视觉上不能与弹出窗口组件920区分)。然而,弹出窗口组件920能包含另选的或附加的用户界面组件(如下拉菜单)。列表框组件925也是带有其自己组件的合成的用户界面组件,例如滚动视图组件926(例如视觉上不能与弹出窗口组件920区分),它包含格栅面板935和用于使包含在格栅面板935中的列表项940滚动的滚动条945。
在组合框905的示例性图示中,列表框组件925被描绘成视觉上与滚动视图组件926和弹出窗口组件920不能区分。因此,图中示出,弹出窗口组件920包含列表框组件925,它通过将格栅面板935加到包含在滚动视图组件926中的空白空间而形成。其他的安排也是可能的。例如,弹出窗口组件920有可能包含列表框组件925之外的用户组件。此外,滚动视图组件926有可能具有格栅面板935以外的组件(如菜单)包含在其空间中。
滚动条945也能表示成包含如滚动按键950,951,955和956及滚动指(scroll thumb)960这样组件的合成的用户接口组件。可以使用任何数目的变化替代图形的组合框905。例如,组件可被去除,附加的组件能被加入,或能定义另选的组件。例如,能加入水平的滚动条,帮助用户水平地滚动列表项。
组合框用户接口组件的示例性表示
(完整视图)
图10A画出在请求完整的视图时需要提供的(如由用户界面服务)组合框的示例性层次表示1000(如图9所示)。如所示,节点被以层次方式安排在树状结构中。
对组合框的主节点在1005处表示成层次的最顶上的节点。组合框节点1005的其他组件(如图9中所示)也表示成在层次表示中的节点作为弹出节点1020,输入节点1010,和按键节点1015。弹出节点1020被示出包含列表框节点1025。列表框节点1025是层次表示的父节点,它进一步包含滚动视图节点1026。
滚动视图节点1026本身是在层次表示中的父节点。滚动视图节点1026是到位置保持组件节点1035,垂直滚动条节点1030和水平滚动条1040的父节点。如上参考图9看到,在父列表框节点1025和其子组件滚动视图节点1026之间没有视觉的差别。那是因为列表框1025是通过将格栅面板组件节点1045作为位置保持组件节点1035的子节点加入而形成。然而,在位置保持组件下能加入其他子节点以便结合其他用户组件使用滚动视图节点1026,形成其他更复杂的用户界面组件。最终,列表项1050A,1050B,和1050C是格栅面板组件节点1045的子节点。
此例子示出,如何能从其他用户界面组件构造成合成的用户界面组件,并然后由许多节点表示。例如,列表框的合成用户界面组件能定义为列表框节点1025和其后代节点。为了构造组合框合成用户界面组件,在组合框节点1005下组合输入节点1010,弹出节点1020,和按键节点1015。最后,在弹出节点1020下能插入(如借助标记或通过编程)列表框的合成的用户界面组件(如列表框节点1025和它的后代)。简单的参考列表框的合成用户界面组件能导致列表框节点1025及其后代的建立。实际上,关于列表项(如节点1050A,1050B,和1050C)的节点可以不包括在列表框用户界面组件的定义之中。
在例子中示出的节点的多重嵌套能增加定义和处理用户界面组件的复杂性,虽然组合框表示是相当复杂,但还能实现更复杂的例子。但是该技术也能应用于更简单的例子。
在该例子中,包含节点1010,1020,1025,1026,1030,1031A,1031B,1033,1034A,1034B,1035,1040,1041A,1041B,1043,1044A,1044B,和1045的节点组1060被定义为经选择可展示的。当显示该表示的简化示图时,经选择可展示的节点未被展示。
希望有用户界面组件的层次表示的简单视图。例如,可希望增加附加的列表项而不必处理该层次表示的相对复杂性(如增加列表项作为子节点)。
组合框用户界面组件的示例性表示
(简化视图)
虽然合成的用户界面组件能包括复杂的多个节点,能希望提供用户界面组件的层次表示的简化视图。图11示出当请求的是组合框的简单视图(如图9的组合框)时所提供的示例性层次表示1100(如对应于图10A的表示1000)。在此例子中,列表项的节点1050A,1050B,和1050C被示出为组合框的主节点1105的直接子节点。未显示的其他节点有时称为由组合框节点1105“封装”的。使用简化的视图,涉及处理列表项的程序能将列表项看作主节点1110的子节点,并不需要包含与合成的用户界面组件中的其他组件有关的逻辑。组合框的用户界面组件的定义能包含足够的信息,借此,对简化视图的操作能转换成对层次表示的完整视图的适当操作。
具有简化示视图的用户界面组件的示例性嵌套
这里描述的安排也能支持嵌套。在嵌套中,可有在其他用户界面组件中具有经选择可展示的节点的用户界面组件,而这些其他用户界面组件本身具有经选择可展示的节点。这样的嵌套能以各种方式解决。例如,虽然在合成的用户界面组件中的某些节点可被指定为展示的(如在简单视图中可见),但若用户界面组件是另外的合成的用户界面组件的一部分(如封装在其中),由于这些节点在表示指定为经选择可展示的封装合成的用户界面组件的层次的区域中(如借助封装合成的用户界面组件)。这些节点可认为是经选择可展示的(如在简单视图中不可见)。
此外,这样的嵌套支持相关性。例如,根据在其上作出完成操作的请求的节点,节点可以认为或也可以不认为是经选择可展示的。换言之,在封装在另外的用户界面组件的节点上完成操作的请求可能会导致当完成关于封装用户界面组件的操作时,有视图示出看不到的节点。
图10B示出如图10A表示的组合框的示例性层次表示。为简洁起见忽略了某些与滚动条有关的节点。
在该例中,滚动视图节点1026是包括滚动视图节点1026,位置保持组件节点1035,和各种滚动条节点(如垂直滚动条节点1030)的合成用户界面组件的主节点。对于在简化视图中在滚动视图节点1026上完成的操作,合成的用户界面组件的其他节点可认为是选择可展示的(如被跳过的)并由滚动视图节点1026封装。例如,在简单视图中加一个子节点到滚动视图节点1026的请求将导致子节点被加到位置保持组件节点1035中。以此方式确定封装的边界1090。
类似地,列表框节点1025是包括滚动视图节点1026(如在那里封装的节点)和格栅面板组件节点1045的合成的用户界面组件的主节点。对于在列表框节点1025上完成的操作,合成的用户界面组件的其他节点被认为是选择上可展示的(如被跳过的)并由列表框节点1025封装。以此方式定义封装的边界1080。
此外,组合框节点1005是包括输入节点1010,弹出节点1020,按键节点1015,和列表框节点1025(和由此封装的节点)的合成用户界面的主节点。对于在组合框节点1005上完成的操作,合成用户界面组件的其他节点被认为是经选择可展示的(如被跳过的),并由组合框节点1005封装。以此方式,确定封装边界1070。因为列表框节点1025本身是封装边界的一部分,实际的封装边界1095是起作用的。换言之,对于在组合框节点1005上完成的操作,除组合框节点1005和列表项节点1050A-C以外,所示出的节点被认为是选择上可展示的(如被跳过的)并由组合框节点1005封装。例如,在简化视图中加一个子节点到组合框节点1005的请求将导致子节点被加到格栅面板组件节点1045。
表示具有简化视图的用户界面组件的示例性方法
能使用各种方法提供简化视图。一种方法是将节点的各种属性存入用户界面组件的表示中。下述例子描述使用属性(如“封装的父辈”和“封装容件”)指定在表示上哪个节点,是经选择可展示的。
通过将一个节点的适当属性(如“封装的父辈”)设定为TRUE(真),在层次中在该节点之下的节点被指定为经选择可展示的(如在简化图中未展示)。
如上所述,这样的节点有时称为“主”节点。此外,若在层次中在主节点之下的一个特定节点具有设定为真的适当属性(如“封装容件”),该特定节点的子节点被指定为不是经选择可展示的(如在简化视图中展示)。在此情况,对于简化视图的目标来说该特定节点的子节点认为是主节点的子节点。所以,若子节点经简化视图加到主节点,它们实际上作为具有设定成真的属性(如“封装容件”)的特定节点的子节点被加入。
如参照图10B所述,能支持嵌套。在此例中,在封装边界顶部的节点(如主节点)能设定合适的属性(如“封装父辈”属性),而在封装边界底部的节点能设定合适的属性(如“封装容件”属性)。以此方法,封装边界能通过属性设定确定。
图12示出示例性方法1200,用于通过指定在用户界面组件的层次表示中各节点的各种属性的值来表示具有简化视图的用户界面组件。层次表示的节点具有与经选择展示该节点本身,它的子辈,或它的父辈相关的属性。通过设定这样的属性,能表示具有简化视图的用户界面组件,且通过简化视图在该表示上能完成操作。
在1210,用户界面的层次表示的至少一个节点被选作主节点(如它封装选择上未展示的节点)。在1220,在选定节点上的封装父辈(Is EncapsulatingParent)属性设定为“真”。在1230,主节点的后辈被选作对于在简化视图中主节点的任何子辈(如,现在出现或以后加入的)的容件。然后在1240,后辈节点的封装容件(IsEncapsulating Container)属性设定为“真”。
通过如例子中解释地设置属性,容件和在主节点和容件之间的任何中间后辈(如子辈)被确定为经选择可展示的(如跳过简化视图或“封装”在父辈中)。在容件下的子节点在简化视图中被展示(如可见)。
在某些安排中,不再有任何子组件。在这样情况能设定叶子节点的适当属性。因此,当子节点经简化视图被加时,它们放在叶子节点之下。
组合框的示例性标记码定义
能以各种方法确定具有其表示的简化视图的用户界面组件。一个方法是通过标记语言(如HTML或XML),它能被处理并存入,为以后调用,图13示出以XML编写的带有简化视图(如图11所示)的组合框的示例性定义。
在建立定义的组合框的范例时,对层次表示的各个节点能设定适当的属性以达到希望的简化视图。定义层次表示的各种节点的属性的方案适应于在除标记语言以外的其他类型语言中使用。
在该例子中达到了嵌套。图13的定义能导致如图10B中示出的安排。
组合框的示例性程序定义
具有简化视图的用户界面组件也能用程序定义(如以如C++或Java这样的编程语言)。例如,图14A和14B示出带有简化视图的组合框的层次表示的程序定义。
图13的标记码定义和图14A和14B的程序定义均示出定义成具有包含用于容纳在简化视图中展示的组合框的子辈(即列表项)的列表框组件的弹出组件的组合框。列表框组件(是合成控件本身)还定义成具有包含用于容纳在简化视图中展示的列表框的子辈(即列表项)的格栅面板的滚动视图组件。
在程序定义的例子中也能再次达到嵌套。图14A和图14B的定义能导致图10B中示出的安排。因此,合成用户界面组件(如组合框)通过组装各种用户界面组件来定义,每个组件能具有用于经选择可展示的节点的规定。在组装成合成用户界面组件时,嵌套能以下述方法处理,当在外层(如封装)用户界面组件操作时,关于在封装的用户界面组件中如何定义经选择可展示的节点的细节保持透明。
组合框定义的示例性标记码调用
能调用用户界面组件的定义(如图13和14A、14B中示出)以建立用户界面组件的表示,包括任何在简化视图中未展示的经选择可展示的节点。这样的调用能以各种方法达到(如经标记语言或通过程序)。
图15中示出以XML写的定义(如图13和14A、14B中示出)的示例性调用1500。通过在1510包括了标记“<COMBO BOX>”,调用采用了以前建立的组合框的定义,它方便了组合框的层次表示的简化视图。如例子所示,在调用部分上仅有的其他工作是规定列表项1520,而不必具有组合框的完整层次表示的任何知识。因此,即使组合框实际上包括多个其他用户界面组件,图15中调用的结构能对应于组合框的层次表示的简化视图。以此方法,鼓励用户界面组件的重新使用来建立合成的控件。在该例中,根据调用以XML完成的事实,系统能使用简化视图。
组合框定义的示例性程序调用
类似地,如图16所示,调用组合框的方案转移到定义的程序调用1600。该例能以多种程序语言(如Java和C++)实现。在1610的代码行“COMBOBOX=NEW COMBOBOX()”调用以前建立的定义。上述对标记码版本所述的优点也应用于程序调用。为访问完整视图而不是简化视图,能使用其他语言(如“COMBOBOX,FULLVIEW,ELEMENTS”或类似的)。
在简化示图上完成操作的示例性方法
一旦软件或标记码调用了定义的用户界面组件,建立具有简化视图的用户界面组件的层次表示,并可用于操作。操作包括增加子节点,去除子节点,枚举子节点,询问在简化视图中哪一个是一个节点的父节点,以及各种用于定位用户界面组件的层次表示的操作。根据它们是使用层次表示的简化视图还是完整视图,这些操作的结果是不同的。
在各种实施例中,程序能规定是否希望简化视图。或者在某些场合,从周围情况可以假设希望简化视图。
随着如在简化视图中加入子节点或去除子节点的某些操作,能使用用户界面组件的层次表示的定义来判断该操作应如何在完整视图上完成。
图17示出在简化视图上完成一个操作,即加一个子节点到用户界面组件(如表示这样组件的节点),的示例性方法1700。在1710,接收将子节点加到在用户界面组件的层次表示的简化视图上的节点上的指示。在1720,根据如何定义用户界面的层次表示,跳过经选择可展示的节点,且在1730新的子节点按照定义被加到适当的节点(如加到具有“封装容件”属性设定为“真”的节点)。
可以如图18中所示,使用图17中示出的过程,将一个新的子节点1850D加到组合框的层次表示的简化视图中。一旦调用组合框的定义,如新的子节点1850D的新的子节点可以加入到组合框的层次表示的简化视图中,如图19所示。使用层次表示的定义,加新的子节点1850D到图19的简化视图被转换成加到在如图18所示的层次表示的完整视图的适当位置中。
完成操作的示例性细节
在图18中示出组合框用户界面组件的示例性层次表示1800。当接收到将一个子节点加到组合框(如节点1005)的请求时,在组合框节点1005检测“封装父辈”属性,并且对具有“封装容件”属性的有关的后代节点进行遍历处理。在此例中,遍历能通过指针1855达到。因为在列表框节点1025检测到“封装父辈”属性,遍历继续对具有“封装容件”属性的有关后代节点进行。在此例中,遍历能通过指向格栅面板组件节点1045的指针1860实现。然后新的子节点作为子节点1850D加到格栅面板组件节点1045。
若希望,能应用直接指针1880以便更直接地定位到加入子节点的适当节点。此外能包括返回到主节点的指针1885。
当新的子辈加入到如图19所示的简化视图时,对调用程序看来似乎新的子节点1850D作为组合框主节点1905的子节点被加入。然而,该操作实际上作为加新的子节点1850D到图18的完整视图(如在格栅面板组件节点1045下)来实现(如借助用户界面服务)。
嵌套能以各种方法处理。例如能如所示出那样使用指针跳过封装的中间层。或者在遍历层次表示时能跟踪嵌套的层次。根据层次能确定跳过哪些节点。遍历也能从层次的底部进到顶部(如由子节点枚举其父辈的请求)。
经选择可展示的节点的另选的表示
在图20A中示出经选择可展示的节点的另选的表示2000。在此例中,专门指定特定节点2020作为在该表示的完整视图的经选择可展示的节点。
在图20B中示出对应的简化视图2050。如所示,特定节点2020的子节点2030B和2030C认为是父节点2010的子节点(如节点2030A)的兄弟。换言之,特定节点2020的子节点2030B和2030C认为是特定节点2020的兄弟(如在完整视图中的兄弟2030A)的兄弟。
这样的实现能用各种方法达到。在一个例子中,对特定节点2020将专门的属性(如“隐藏容件”)设置成真,它在请求简化视图时不展示。
另选表示的示例性实现
在某些用户界面组件场合,希望从指定的位置(如从数据库)产生节点。例如,图21示出示例性列表框2100。希望从数据库或其它数据源产生一个或多个列表项2110。
从数据库产生内容的一个方法是将一个专门的组件包括在用户界面组件的层次表示中。该专门组件对简化视图能保持不展示,但仍然操作以产生内容,并使其出现在完整视图上。若希望,该专门组件可联结到数据源以便将内容自动插入用户界面组件,如列表项2110。
一个这样的专门组件称为“重复器”。图22示出包含重复器节点2220的列表框(如图21所示)的层次表示2200,该重复器节点插入层次表示用于自动产生如列表项2230和2240这样的某些列表项。
使用重复器还使用户界面开发者能借助将重复器联结到记录的集合(如从数据库)而自动产生内容。此外,模板容件节点2221和2222能与重复器节点2220相关以包含与数据库中特定记录有关的信息,该记录对重复器的特定子辈产生内容。在此例中,列表项2230和2240联结到数据源的记录以产生文本内容2235和2245(如名字、位置、或记录的另外字段)。虽然图22只示出与每个模板容件节点2221、和2222相关的单个子组件(列表项2230和列表项2240),可能具有多个子组件(如电话号、名字、个人的影像)。
在列表框的层次表示2200的完整视图中,重复器节点2220看来好象是列表框节点2205和流动面板(flow Panel)节点2210的子节点之一。模板容件节点2221和2222看来如重复器节点2220的子辈。
然而,调用列表框的程序不希望将重复器看作流动面板节点2210的子辈节点。而且,对列表框的定义具有规则组,使得它不接受除列表项以外的任何东西作为流动面板节点2210的子辈节点。因而,当使用简化视图时,在列表框的层次表示中,重复器节点2220和模块容件节点2221和2222不希望被展示(如应是隐藏的)。
通过在列表框的层次表示的简化视图中不展示重复器节点2220和模板容件节点2221和2220,列表项2230和2240被有效地提升为它们的父辈:重复器的兄弟的兄弟(如列表项节点2250的兄弟)。这样的简化视图2300示于图23,其中不展示图22的重复器节点2220,且列表项2230、2240和2250在图23中作为兄弟出现。
建立示例的另选表示
图24中示出建立经选择可展示的节点(如重复器)的另选表示的示例性方法2400。在2410,选择具有层次表示的用户界面组件。在2430,该层次表示的至少一个节点指定为经选择可展示的(如在该层次表示的简化视图中不展示)。
例如通过将指定节点的“隐藏容件”属性设定成‘真’能达到这样的指定。重复器的类构造器能设定这样的属性,所以每当重复器被事例创建时设定该属性。
重复器能如愿地激活(如自动调用定义成具有重复器的用户界面组件)。然而,调用程序不需要考虑未展示地重复器,它自动地填入列表项。至于谈到调用程序,只是调用用户界面组件的定义,而且不要知道用户界面组件定义成具有重复器。
或者,即使调用程序觉察到重复器,处理与重复器有关的列表项的软件或标记码也不需要熟悉涉及重复器的复杂性,在简化视图中,用户界面组件简单地看来具有列表项而没有重复器。
在用户界面组件中重复器的示例性标记调用
用户界面组件能以各种方法调用重复器。一个方法是通过标记语言(如XML或HTML),图25示出使用XML包含重复器的示例性列表框2500。重复器的调用依赖于重复器类(如包括合适的构造器)的早期定义,因此不必要将重复器的“隐藏容件”属性指定为‘真’。
在用户界面组件中重复器的示例性程序调用
重复器能用程序调用(如以C++或Java等语言),用于用户界面组件。图26示出对列表框的重复器的示例性程序调用的代码2600。
在用户界面组件中重复器的示例性另选调用
图27示出包括在用户界面组件中的一个重复器的另选标记码的调用2710的标记语言。示出的例子导致对模板容件(如模板容件节点2221和2222)的多个(例如2个)子节点:一个用于图像,一个用于客户名字。
在任何例子中,通过调用重复器,在2710调用用户或过程只需要定义一个列表项(如指出来源),来完成列表框,最终的列表项由重复器在调用时自动地产生(如通过引用来源)。
图28示出带有多个列表项的列表框的示例性定义,而不使用重复器的特征。因此,列表项2810清楚地用标记码列出,且当对应的数据库更新时将不更新。因此,当提供具有许多或动态更新的选择的用户界面组件时,在用户界面组件之中的重复器的可用性(例如包括能绑定到数据源的能力)能导致更有效的程序码和标记码。
通过另选的表示完成操作
当操作在通过简化视图描述的表示上完成时,指定为“隐藏容件”的适当指定的节点(如重复器节点)未被展示。回来参考图22,列表项2230和2240能表现为任何另外的列表项,并可由再现的列表框的用户选取。
此外,通过简化视图对列表项2230的父辈的请求借助于指出,列表项2230的父节点是流动面板节点2210(不是重复器节点2220或模板容件节点2221)而得到答复。因此,重复器节点2220和模板容件节点2221(如指定为“隐藏容件”)被跳过(如不展示)。另外,若流动面板和滚动视图指定为经选择可展示的,则在简化视图中列表项2230的父辈将是列表项2205。
若希望,某些功能可以禁止,例如,可以禁止加入或删除由重复器节点2220填入的列表项2230和2240。
另一个另选的表示的示例性实现
带有经选择可展示的节点的用户界面组件的另外的示例性表示通过指定一个节点来达到,使得只有指定的节点在简化视图中被展示。例如,节点的后代(例如所有的后代)认为是选择上可展示的,并在简化视图中未示出。这样的表示在简化视图中对用户界面组件只有一个节点被展示。
例如,在如图20A所示的用户界面组件的表示中,若节点2010是这样指定,其后代(如节点2020。2030A、2030B、2030C)被指定成经选择可展示的。在其简化视图中最终的表示只有节点2010被展示(如主节点)。
如果希望,增加一个子节点到这样的简化视图的操作将导致错误,因为节点2010定义成不支持简化视图子节点。相同原因,使用这样简化视图完成枚举子节点操作是错误的,或提供空集。
这样的表示对屏蔽某些用户不太感兴趣的那些用户界面的完整视图的细节方面是有用的。所示的表示能以许多的方法达到。例如,能设定指出后代是经选择可展示的单个属性。“封装父辈”容件属性能设成真以导致这样的安排(如,若没有具有“封装容件”的对应节点被设置成真)。
图象的示例性表示
该技术的另一种示例性实现是将图象的内部表示作为具有带着文字的经选择上可展示的子节点实现,若不具备图象就出现文字。主节点能包含图象,而经选择可展示的子节点可以表示对应的文字。以此方法,就能处理简化视图而不必知道经选择可展示的子节点。
确定节点的属性的示例性方法
在确定节点采用哪个属性值(如继承)时,能考虑经选择可展示的节点。若希望,这样的节点能忽略(如从主节点取得的属性),这样的节点能确定所采用的属性值,或者经选择可展示的节点能结合主节点一起运作,以确定采用哪个属性值。例如,这样的确定是关于何时增加节点到表示中。
在层次中的节点能通过属性规则(如通过样式表设定)指出对其他节点所希望的属性。例如,一个节点能规定子节点的字型属性是“粗体”。
例如在图10A中,若属性规则是主节点(组合框节点1005)的子节点的字型属性是“粗体”,但与列表框节点1025相关的属性规则要求其子节点具有“斜体字”的字型属性,如1050A这样的列表项的属性应该是什么就会有二义性。
在一个实施过程中,不是经选择可展示的子节点的继承属性是从简化视图中最近的父辈继承的。在上例中,若简化视图如图11所示,在简化视图中对列表项1050A,1050B和1050C的最近父节点是主节点1105。因而,在此实施例中,列表项将采用组合框的字型属性。
在另一个实施过程中,在简化视图中的最近父辈能包括一些规则,用于查询它的任一个经选择可展示的子节点的任一个属性规则是否应施加到不是经选择可展示的子节点上。例如,应用属性规则的过程能询问与列表框相关的属性规则是否需要替代与组合框相关的属性规则而应用到列表项。
在另一个实施过程中,如上所述隐藏容件的子节点的属性能够从属性规则集由隐藏的容件本身确定而不是由层次表示的简化视图中的直接的父节点确定。
若希望,可提供实施过程的组合,它能支持灵活的属性确定。
便于合成的用户界面组件
能使用这里描述的各种技术,以便于定义,建立合成的用户界面组件,并与其互动。例如,一次调用能是作为合成的用户界面的特定用户界面的简单指示。该调用能导致建立多个节点以表示用户界面组件。
然而,定义合成用户界面组件的程序员能采取步骤,指出各种节点是经选择可展示的。因此,调用该定义的程序员能选择对不展示这样节点的简化视图编程(或默认提供这样的视图)。在这样情况,调用该定义的程序员不需要关心,合成的控件确实包括多个节点。
此外,这些定义的附件控件能在其控件定义中嵌套合成的控件。关于哪个节点是经选择可展示的指示能保持,使能容易地完成嵌套。以此方式,第一合成控件能定义成包含第二合成控件,且将正确地出现简化视图(如指定对第二合成控件指定为经选择可展示的节点将对于第二合成控件是经选择可展示的)。若希望,第二合成控件的主节点也能指示为经选择可展示的。
对说明嵌套有用的例子包括在图14A和14B中示出的组合框的程序定义。在该例中,组合框包括一列表框。该列表框的定义包括设置属性以获得在列表框中经选择展示的节点。此外,列表框本身调用滚动视图的定义,后者本身设置属性,以获得在滚动视图中经选择展示的节点。然而,对访问组合框的软件或标记码能实现嵌套,所以列表框(如其中包括经选择可展示的节点)的内部细节不出现(如,在访问组合框的简化视图时)。
另一方面,在列表框上完成的操作仍然得益于其中的节点是经选择可展示的事实(如当在简化视图中完成在列表框上的操作时)。因此,选择的可展示性既能是可嵌套的又能是相对的。
其他
参考图示的实施例已描述并说明了本发明原理,可以认识到,图示的实施例在安排和细节上能够修改而不背离本发明的原理。
例如,各种用户界面组件能互相组合及嵌套以提供更复杂的表示。用户界面组件能作为界面的一部分提供给程序或嵌入文档(如网页或文字处理文档)。这里描述的技术也能应用于以层次形式表示的任何其他文档或文件。
虽然上面使用了特定的属性名,但能将其他属性方案用于层次表示中的经选择展示的节点。
可以理解,这里描述的程序,过程,或方法不涉及或限于任何特定类型的计算机装置。按这里描述的教义,各种类型的通用或专用计算机装置都能被使用或完成操作。这里描述的动作能由包含为完成这样的动作的计算机可执行指令的计算机可读介质完成。以软件示出的图示实施例的组件能以硬件实现,反之亦然。从本发明的原理能应用的许多可能的实施例来说。可以认识到,详细的实施例只是说明性的,且不作为对本发明的范围的限止。相反,我们声明,落入下面权利要求及其等价的范围及精神内的所有这样的实施例都可作为本发明。

Claims (31)

1、处理在用户界面组件的层次表示上完成一个操作的请求的方法,其特征在于,所述方法包括:
接收完成该操作的请求;
对该层次表示的简化视图完成所述操作;
其中在该层次表示中的至少一个节点被指定为经选择可展示的;且该指定的节点在简化视图中不展示。
2、如权利要求1所述的方法,其特征在于:
该层次表示包括形成合成的用户界面组件的多个节点;和
一个合适的节点子集在合成的用户界面组件中形成用户界面组件。
3、如权利要求1所述的方法,其特征在于,通过在该层次中跳过指定为在简化视图中经选择可展示的节点来完成所述操作。
4、如权利要求3所述的方法,其特征在于,通过在该层次的节点上设置属性来指定节点为在层次中经选择可展示的。
5、如权利要求1所述的方法,其特征在于:
该操作是请求枚举在该表示中一个节点的子节点;和
在简化视图上完成该操作,从而该节点的至少一个直接子节点在简化视图中是未展示的。
6、如权利要求1所述的方法,其特征在于:
该操作是在该表示中提供一个节点的父节点的请求;和
在简化视图上完成此操作,从而在简化视图中不展示该节点的一个直接父节点。
7、如权利要求1所述的方法,其特征在于:
该操作是请求在该表示中增加一个或多个子节点到一个节点上;和
该操作在简化视图上完成,从而子节点被加到该节点的后代。
8、权利要求1所述的方法,其特征在于:
该操作是请求提供对一个节点的属性;和
该节点的至少一个经选择展示的先辈节点的属性被忽略。
9、如权利要求1的方法,其特征在于:
该操作是请求提供对一个节点的属性;和
该节点的至少一个经选择展示的先辈节点的属性被选择地忽略,或根据该属性考虑。
10、如权利要求1所述的方法,其特征在于:
该操作是请求对一个节点提供属性;和
该节点的至少一个经选择展示的先辈节点的属性规则被忽略。
11、如权利要求1所述的方法,其特征在于:
该操作是请求对一个节点提供属性;和
该节点的至少一个经选择展示的先辈节点的规则被可选择地忽略或根据该属性考虑。
12、一个表示用户界面组件的方法,该方法包括:
建立具有多个节点的用户界面组件的层次表示;和
在该表示中指定至少一个节点为经选择可展示的。
13、如权利要求12所述的方法,其特征在于,通过设置该节点的一个先辈上的属性将该节点指定为经选择可展示的。
14、如权利要求13所述的方法,其特征在于,通过设置该节点的一个父辈上的属性将该节点指定为经选择可展示的。
15、如权利要求12所述的方法,其特征在于,所述经选择可展示的节点中的至少一个被指定为接收一个先辈节点的简化视图子辈的节点。
16、如权利要求15所述的方法,其特征在于,该经选择可展示的节点通过设定在该经选择可展示节点上的属性而指定。
17、如权利要求12所述的方法,其特征在于,该经选择可展示的节点是包含嵌入合成的用户界面组件的用户界面组件的多个节点之一。
18、如权利要求12所述的方法,其特征在于:
该经选择可展示的节点是表示用户界面组件的多个节点之一;
表示用户界面组件的节点包含至少一个在用户界面组件的定义中没有定义为经选择可展示的节点;
表示被嵌入合成的用户界面组件之中的用户界面组件的节点;和
该合成的用户界面组件包括该表示用户界面组件的节点被指定为经选择可展示的指示;
当通过表示用户界面组件的一个节点参考时,将指定为不是经选择可展示的节点作为不是经选择可展示的节点处理;和
否则将指定为不是经选择可展示的节点作为经选择可展示的节点处理。
19、如权利要求12所述的方法,其特征在于,指定为经选择可展示的节点是可操作的,为在层次表示中该节点之下产生多个节点提供数据。
20、如权利要求19所述的方法,其特征在于,该数据来源于数据库。
21、如权利要求19所述的方法,其特征在于,在该节点之下的多个节点是列表项。
22、定义合成的用户界面组件的方法,该方法包括:
参考在合成的用户界面定义中对用户界面组件的多个定义;和
在合成的用户界面定义中,将用户界面组件中的至少一个节点指定为经选择可展示的节点。
23、如权利要求22所述的方法,其特征在于,对用户界面组件本身的至少一个定义指定其中的一个节点为经选择可展示的节点。
24、如权利要求22所述的方法,其特征在于,合成的用户界面组件包括一个组合框。
25、如权利要求22所述的方法,其特征在于,通过合适地指定下列中一个或多个组件的属性来指定节点为经选择可展示的节点:
用于用户界面组件的一个节点;
用于用户界面组件的一个父节点;和
用于用户界面组件的一个先辈节点。
26、一种展示合成用户界面组件的方法,其特征在于,包括:
调用权利要求22的合成用户界面定义;和
响应对合成用户界面组件的表示的简化视图的请求,不展示该经选择可展示的节点的用户界面组件。
27、一种用户界面工具,其特征在于,包括:
用于接受用户界面组件的定义的装置,其中该定义包括指定一个简化视图;
用于根据该定义建立用户界面组件的层次表示的装置;和
响应对经简化视图在层次表示上完成一个操作的请求的装置;
其中在该层次表示中的至少一个节点被指定为经选择可展示的;且
该指定的节点在简化视图中不展示。
28、用于完成与用户界面组件有关的操作的方法,其特征在于,该方法包括:
接收具有简化视图的用户界面组件的层次表示的定义;
调用该定义;和
完成在用户界面组件的层次表示的简化视图上的一个操作;
其中在该层次表示中的至少一个节点被指定为经选择可展示的;且
该指定的节点在简化视图中不展示。
29、如权利要求28所述的方法,其特征在于,该定义包含:
可选择地将在用户界面的层次表示的完整视图中的节点定义为在简化视图中不被展示的。
30、如权利要求29所述的方法,其特征在于,通过适当地设定包含层次表示的节点的属性,定义在完整视图中的节点在简化视图中为未展示的。
31、自动产生合成用户界面组件的子组件的方法,其特征在于,该方法包括:
将用户界面组件生成器插入到表示界面组件的数据结构中;
将该用户界面组件生成器与数据源相关;和
使用该数据源生成用户界面组件;
其中该用户界面组件生成器是在合成用户界面组件的层次表示的简化视图中经选择可展示的。
CNB031077854A 2002-12-18 2003-04-03 用简化视图定义、处理和表示用户界面组件的方法和工具 Expired - Fee Related CN100351822C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/323,504 US7337401B2 (en) 2002-12-18 2002-12-18 User interface element representation with simplified view
US10/323,504 2002-12-18

Publications (2)

Publication Number Publication Date
CN1508704A CN1508704A (zh) 2004-06-30
CN100351822C true CN100351822C (zh) 2007-11-28

Family

ID=23259480

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031077854A Expired - Fee Related CN100351822C (zh) 2002-12-18 2003-04-03 用简化视图定义、处理和表示用户界面组件的方法和工具

Country Status (14)

Country Link
US (1) US7337401B2 (zh)
EP (1) EP1435567A3 (zh)
JP (1) JP4694107B2 (zh)
KR (1) KR100863125B1 (zh)
CN (1) CN100351822C (zh)
AU (1) AU2003200656B2 (zh)
BR (1) BR0300828A (zh)
CA (1) CA2422417C (zh)
MX (1) MXPA03009824A (zh)
MY (1) MY140453A (zh)
NO (1) NO327715B1 (zh)
RU (2) RU2314559C2 (zh)
TW (1) TWI221990B (zh)
ZA (1) ZA200301626B (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949957B2 (en) * 2002-12-31 2011-05-24 International Business Machines Corporation Edit selection control
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US7707255B2 (en) * 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
ATE491987T1 (de) * 2004-02-03 2011-01-15 Corizon Ltd Verfahren und vorrichtung zur erzeugung von zusammengesetzen benutzeroberflächen
US7913177B1 (en) * 2004-03-08 2011-03-22 Adobe Systems Incorporated System and method for managing instantiation of interface elements in rich internet applications
US7860838B2 (en) * 2004-06-04 2010-12-28 Hewlett-Packard Development Company, L.P. Dynamic hierarchical data structure tree building and state propagation using common information model
US8117542B2 (en) 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US7574677B2 (en) * 2004-09-13 2009-08-11 Sap Ag System and method for a transparent record
US7523129B1 (en) * 2004-09-15 2009-04-21 Microsoft Corporation Data-binding enhancements
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US7543278B2 (en) * 2004-10-15 2009-06-02 Microsoft Corporation System and method for making a user interface element visible
US8713063B2 (en) * 2005-01-13 2014-04-29 International Business Machines Corporation Method and system for automatically hiding irrelevant parts of hierarchical structures in computer user interfaces
US7886290B2 (en) 2005-06-16 2011-02-08 Microsoft Corporation Cross version and cross product user interface
KR100774874B1 (ko) * 2005-07-30 2007-11-08 엘지전자 주식회사 플라즈마 표시장치와 그 구동방법
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US9542667B2 (en) 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US20070061745A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Nested views in an electronic file system
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US20070288854A1 (en) * 2006-06-13 2007-12-13 Nokia Corporation Reusable XForms processor
KR100879983B1 (ko) * 2006-09-01 2009-01-23 삼성전자주식회사 Htc를 이용한 독립 컴포넌트 제공 시스템 및 독립컴포넌트를 이용한 이벤트 처리 방법
KR101288970B1 (ko) * 2006-11-28 2013-07-24 삼성전자주식회사 렌더링 장치 및 방법
CN100504771C (zh) * 2007-06-08 2009-06-24 腾讯科技(深圳)有限公司 一种生成应用程序界面的方法及系统
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8201103B2 (en) 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8782555B2 (en) 2007-08-30 2014-07-15 Microsoft Corporation Nested user interfaces for multiple displays
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
WO2010010483A1 (en) * 2008-07-23 2010-01-28 Koninklijke Philips Electronics N.V. Displaying music metadata in a plurality of hierarchical levels
WO2010107476A1 (en) * 2009-03-19 2010-09-23 Duke University Inhibiting gsnor
US8799353B2 (en) 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US8302014B2 (en) 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
CN102479212B (zh) * 2010-11-30 2016-06-22 国际商业机器公司 识别网页上键盘不可访问节点的方法以及装置
EP3040946B1 (en) * 2014-12-30 2019-11-13 Dassault Systèmes Viewpoint selection in the rendering of a set of objects
CN104503769B (zh) * 2015-01-07 2017-06-20 山东鲁能智能技术有限公司 一种基于xml配置文件的字符点阵液晶界面实现方法
US9685142B2 (en) * 2015-11-03 2017-06-20 International Business Machines Corporation Obtaining and displaying relationships between elements
CN107454478B (zh) * 2017-08-01 2020-06-16 武汉斗鱼网络科技有限公司 网络直播客户端中弹幕输入框卡顿处理方法及系统
US11531556B2 (en) * 2018-06-03 2022-12-20 Apple Inc. Framework providing application programming interface for user interfaces and animation
CN110516205B (zh) * 2019-07-19 2023-04-07 平安科技(深圳)有限公司 数据结构图的展示方法、装置、计算机设备及存储介质
CN113064971A (zh) * 2021-04-12 2021-07-02 苏州城方信息技术有限公司 一种基于交互式图结构的政策文本关系的挖掘与表达方法
CN113885766B (zh) * 2021-09-24 2024-02-09 远光软件股份有限公司 组织架构图的展示方法、装置、存储介质及终端设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953724A (en) * 1997-11-24 1999-09-14 Lowry Software, Incorporated Global database library data structure for hierarchical graphical listing computer software

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0529121A1 (en) * 1991-08-24 1993-03-03 International Business Machines Corporation Graphics display tool
JP2525546B2 (ja) 1992-09-08 1996-08-21 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックリソ―ス・エディタ
EP0603425A1 (en) * 1992-12-22 1994-06-29 International Business Machines Corporation Representation of n-ary trees
US5588099A (en) * 1994-09-01 1996-12-24 Microsoft Corporation Method and system for automatically resizing tables
US5649222A (en) * 1995-05-08 1997-07-15 Microsoft Corporation Method for background spell checking a word processing document
US5860073A (en) * 1995-07-17 1999-01-12 Microsoft Corporation Style sheets for publishing system
JPH10124280A (ja) * 1996-10-22 1998-05-15 Toshiba Corp ウィンドウシステムにおける表示方法
US6128016A (en) * 1996-12-20 2000-10-03 Nec Corporation Graphic user interface for managing a server system
JP3760580B2 (ja) * 1997-07-25 2006-03-29 富士ゼロックス株式会社 階層構造表示装置及び階層構造表示方法
US6061679A (en) 1997-11-25 2000-05-09 International Business Machines Corporation Creating and searching a data structure ordered by ranges of key masks associated with the data structure
US6029170A (en) * 1997-11-25 2000-02-22 International Business Machines Corporation Hybrid tree array data structure and method
US6249284B1 (en) * 1998-04-01 2001-06-19 Microsoft Corporation Directional navigation system in layout managers
US6169546B1 (en) * 1998-04-01 2001-01-02 Microsoft Corporation Global viewer scrolling system
US6169984B1 (en) * 1998-04-01 2001-01-02 Microsoft Corporation Global incremental type search navigation directly from printable keyboard character input
US6285366B1 (en) * 1998-06-30 2001-09-04 Sun Microsystems, Inc. Hierarchy navigation system
US6108698A (en) * 1998-07-29 2000-08-22 Xerox Corporation Node-link data defining a graph and a tree within the graph
JP2000259303A (ja) * 1999-03-05 2000-09-22 Hitachi Information Systems Ltd データ表示装置およびデータ表示方法ならびに該方法を記録した記録媒体
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6671853B1 (en) * 1999-07-15 2003-12-30 International Business Machines Corporation Method and system for selectively streaming markup language documents
US7039863B1 (en) * 1999-07-23 2006-05-02 Adobe Systems Incorporated Computer generation of documents using layout elements and content elements
US6662342B1 (en) * 1999-12-13 2003-12-09 International Business Machines Corporation Method, system, and program for providing access to objects in a document
US6775678B1 (en) * 2000-04-11 2004-08-10 Microsoft Corporation Data structure and method of storing a digital document
US6883137B1 (en) * 2000-04-17 2005-04-19 International Business Machines Corporation System and method for schema-driven compression of extensible mark-up language (XML) documents
WO2001088750A1 (en) * 2000-05-16 2001-11-22 Carroll Garrett O A document processing system and method
GB2363044A (en) * 2000-05-16 2001-12-05 Ibm Method and computer system for selecting and displaying graphic objects
KR100694238B1 (ko) * 2000-09-28 2007-03-14 가부시키가이샤 리코 구조편집방법, 영상구조편집방법, 오브젝트의 내용구조관리방법, 오브젝트의 내용구조표시방법, 컨텐츠관리방법 및 기록매체
EP1330924A1 (en) * 2000-10-17 2003-07-30 Koninklijke Philips Electronics N.V. Binary format for mpeg-7 instances
US6732109B2 (en) * 2001-01-31 2004-05-04 The Eon Company Method and system for transferring information between a user interface and a database over a global information network
US6910040B2 (en) * 2002-04-12 2005-06-21 Microsoft Corporation System and method for XML based content management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953724A (en) * 1997-11-24 1999-09-14 Lowry Software, Incorporated Global database library data structure for hierarchical graphical listing computer software

Also Published As

Publication number Publication date
BR0300828A (pt) 2004-08-17
AU2003200656A1 (en) 2004-07-08
TWI221990B (en) 2004-10-11
US7337401B2 (en) 2008-02-26
RU2314559C2 (ru) 2008-01-10
ZA200301626B (en) 2004-02-26
EP1435567A3 (en) 2008-02-13
NO327715B1 (no) 2009-09-14
CA2422417A1 (en) 2004-06-18
KR100863125B1 (ko) 2008-10-15
CN1508704A (zh) 2004-06-30
US20040122789A1 (en) 2004-06-24
MY140453A (en) 2009-12-31
RU2007115294A (ru) 2008-10-27
NO20031008D0 (no) 2003-03-04
AU2003200656B2 (en) 2010-09-16
RU2383918C2 (ru) 2010-03-10
JP2004206668A (ja) 2004-07-22
NO20031008L (no) 2004-06-21
CA2422417C (en) 2011-06-28
TW200411419A (en) 2004-07-01
KR20040054465A (ko) 2004-06-25
EP1435567A2 (en) 2004-07-07
MXPA03009824A (es) 2004-06-30
JP4694107B2 (ja) 2011-06-08

Similar Documents

Publication Publication Date Title
CN100351822C (zh) 用简化视图定义、处理和表示用户界面组件的方法和工具
CN1252592C (zh) 通信服务供应方法和设备
CN100338573C (zh) 设计用户界面样式的方法以及具有自适应用户界面的设备
CN1203409C (zh) 软件调试方法和软件开发辅助方法
CN1969272A (zh) 自动生成内容的导入
CN1811702A (zh) 开发门户应用和自动部署门户应用的系统和方法
CN1627257A (zh) 用于创建模块化web应用的框架
CN1249577C (zh) 用于遗留软件与屏幕朗读器程序之间的互操作的方法和装置
CN1275139C (zh) 链接信息制作设备和链接信息制作方法
CN1279440C (zh) 卸载系统
CN1615507A (zh) 用于作为图形布局/表示对象的宿主的系统
CN1609796A (zh) 应用编程接口(api)的设计
CN1755721A (zh) 组件化和可扩展的工作流模型
CN1534476A (zh) 矢量图形的标记语言和对象模型
CN1495609A (zh) 在计算机生成文档中提供语境感测工具和帮助内容
CN1821956A (zh) 用现有内容生成用于执行任务的活动内容向导可执行文件
CN1773508A (zh) 把源文档转换成目标网页文件的方法
CN1607501A (zh) 标记构架
CN1609793A (zh) 用于计算机平台的编程接口
CN1534471A (zh) 应用程序中心用户界面技术
CN1217512A (zh) 文件图象处理设备及其方法
CN1211364A (zh) 一种管理互配单元及生产该单元的方法
CN1967588A (zh) 交互式问卷定制、交互系统及方法
CN1119046A (zh) 面向目标的结构区域系统
CN1932803A (zh) 文档编辑方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071128

Termination date: 20140403