用于范围化分层数据集的用户界面的制作方法

文档序号:6478191阅读:271来源:国知局
专利名称:用于范围化分层数据集的用户界面的制作方法
技术领域
本发明涉及用于表示范围化分层数据集的技术,并且具体地涉及用于导航范围化 分层数据集的范围化树视图和/或范围化面包屑列表。未范围化树视图控件可以与非常大 的分层数据集相关联,但其中包含的信息量对该控件而言是很麻烦的。具体地,导航具有许 多层的分层数据集很耗时,因为用户必须管理未范围化树视图中的许多节点的打开和关闭 以到达低层节点。类似地,低层控件的未范围化面包屑列表可能增长到长得麻烦。对未范 围化面包屑列表中的多层深度的显示可将用户淹没于过多信息中。可以理解,这些缺陷可 以减小用户界面组件的导航实用性,并且这在具有小型显示器的、以用于增强便携性的縮 小的LCD屏幕为特征的设备上加剧,如智能蜂窝电话和超移动PC(UMPC)。
如此处所描述地,实现范围化树视图和/或范围化面包屑列表来显示范围化分层 数据集便于高效的数据导航和/或管理。例如,在范围化分层数据集中,链接该分层结构的 各个层来进行聚集。对于范围化树视图用户界面,该视图一般限于特定(所选)范围的节 点及其子节点。如果用户选择分层数据集的特定概念段(例如,范围)的节点,则在将该范 围用于树的根(例如,作为"根范围")的情况下重新绘制该"范围化"分层数据集的"范围 化树视图"并示出。因此,可以在将该范围示为树的根的情况下重新绘制树视图,例如将该 树视图限于构成该范围的节点及其子节点。树视图的呈现因此重新聚焦于概念上相关的节 点及其子节点;在概念上相关的节点(例如,范围)之上和/或之外的节点可以从所显示的 树视图中省略,直到并且除非用户导航到当前范围之外。类似地,对于范围化面包屑列表, 对应于特定分层范围的节点的相应面包屑可被聚集成该列表中的单个面包屑。此外,包括 (同一范围的)许多聚集面包屑(例如,在用户深入导航到范围化分层数据集的情况下)的 面包屑可被折叠以进一步简化用户界面。 图2A呈现示出根据范围化分层数据集的范围化树视图的原理的示例性方法的流
6程图。该附图示出表示范围化分层数据集的方法50,该方法在52处开始并涉及生成具有表 示一范围的根的范围化分层数据集的第一范围化树视图54。在生成该范围化树视图后,方 法50在56处结束。 图2B呈现示出根据范围化分层数据集的范围化面包屑列表的原理的示例性方法 的流程图。该附图示出在范围化分层数据集中标识从根节点到所选节点的路径的方法60, 该路径具有至少一个范围。该示例性方法的60在62处开始,并涉及生成表示该路径的面 包屑列表,一范围的各个节点被聚集成一范围化面包屑64。在生成该面包屑列表后,方法 60在66处结束。 图3A示出可应用这些示例性方法的示例性范围化分层数据集。该示例性范围化 分层数据集70包含与

图1A的非范围化分层数据集10相同的节点组织,但前一分层数据集 的某些节点已被分组成分层范围。在此示出了两个分层范围包括第二层节点B 74和C 76 和节点C 76内的第三层节点D 78和E 80的一个范围;以及包括第二层节点F 82和第三 层节点G 84、 H 86和J 90的一个范围。为说明起见,用不同的阴影来描绘这些范围,但可 以理解,分层范围是概念性关系;尽管描绘范围化分层结构的用户界面可以结合这样的阴 影,但视觉呈现不是本发明的技术的必需元素。从图3A中还可以注意到,特定节点的各子 节点不必是相同的范围。例如,节点A 72包含各子节点节点74和C 76(同一范围的)、节 点F 82(另一范围的)、以及节点K 92(未范围化)。还可以注意到,与一范围相关联的节 点可以包含与另一范围相关联或不与范围相关联的子节点。例如,节点D 78可以与节点F 82、G 84、H 86、及J 90的范围相关联,而非与节点B 74、C 76和E 80的范围相关联。类似 地,虽然节点I 88在该所示示例中未被范围化,但节点I 88可具有与节点H 86的范围所 不同的范围(在该所示示例中,节点H 86具有与节点F 82、G 84以及J 90相同的范围)。 最后,可以注意到,每一范围包含具有父/子分层关系的至少一对节点(例如,节点E 80到 节点C 76)以准许将这些节点聚集在一个范围化面包屑中是有利的。 图3B示出将范围化树视图方法,如图2A示出的范围化树视图方法50 ,应用于图 3A示例性范围化分层数据集70,以对该分层数据集中的每一分层范围产生范围化树视图 100。第一范围化树视图102被示为节点A 104的范围化树视图,节点A 104是该分层数据 集的根节点并且未被范围化。对于节点A 104的范围化子节点106、108、110中的每一个, 示出了对应的范围化树视图114、116、118,其中每一这样的范围化子节点的范围化树视图 的根在该子节点处。例如,选择节点B 106产生根在节点B 106处并包括节点B 106的子 节点的范围化树视图114(在该所示示例中子节点数是0,因为节点B 106是叶节点)。因 为该范围化树视图114的根在节点B 106处,所以它不包括父节点A 104,也不包括节点A 104的任何其他子节点。类似地,导航到节点C 108产生节点C 108及其子节点120、 122的 树视图116。在该范围内的导航(例如,导航到节点D 120和E 122)会产生根在节点D 120 处的同一范围化树视图116,因为节点D 120与节点D 120和E122共享分层范围。同样,导 航到节点F IIO产生节点F IIO及其子节点124、126、130的树视图118。在该范围内的导 航(例如,导航到节点G 124、 H126和J 130)产生根在节点F 110处的同一范围化树视图 118,因为节点F110与节点G 124、H 126和J 130共享分层范围。相反,从节点A 104导航 到节点K 112不产生单独的范围化树视图(例如,与根在节点A 104处的树视图102不同 的树视图),因为未范围化节点K 112不是与未范围化节点A 104不同的范围。图3B与图3A之间的比较示出了范围化树视图100在显示范围化分层数据集70时提高的效率。
图3C示出将范围化面包屑方法,如图2B中示出的方法,应用于图3A的示例性范 围化分层数据集70,以对该分层数据集中的每一节点产生具有范围化面包屑的示例性面包 屑列表。在此处示出的面包屑列表150的表中,每一节点的面包屑列表有利地结合数据集 中节点的分层范围化。因为节点C152、D154和E 156共享分层范围,所以聚集引用这些节 点的面包屑来产生范围化面包屑。因此,节点D 154的面包屑列表表征包括节点C 152和 D154的范围化面包屑166,并且节点E的面包屑列表表征包括节点C 152和E 156的范围 化面包屑168。如在图3A的讨论中所述,具有一范围的节点可包含一不同范围或没有范围 的子节点。例如,在该所示示例中,节点I 162是节点H 160的未范围化子节点,节点H 160 与节点F 158共享一个范围;因此,节点F 158和H 160被聚集成一个范围化面包屑170, 而节点I 162在该面包屑列表中被呈现为未范围化面包屑。可以理解,在节点I 162具有 与节点F 158和H 160不同的范围(而非只是未范围化)的情况下,可以呈现同一呈现。
如此处所描述地生成的范围化树视图和/或范围化面包屑列表可以显示给用户 以用于导航范围化分层数据集。在一个实施例中,各相应分层范围与区别性视觉样式相关 联,并且显示范围化树视图或面包屑列表可包括根据相关联的分层范围的视觉样式分别显 示至少一个范围化树视图节点或范围化面包屑。包括特定范围内的节点的范围化树视图或 范围化面包屑随后可以根据该范围的视觉样式来向用户显示,这可以向用户通知该树视图 节点或面包屑(以及其中包含的范围化节点)所表示的分层范围的性质。作为一个示例, 区别性视觉样式可以表示在概念上与该范围相关联的颜色,并且包括共享分层范围的节点 的范围化树视图节点或面包屑可以用该共享范围的颜色来显示。作为另一示例,如图3A-3C 所示,图3B中示出的范围化树视图节点100和图3C中呈现的范围化面包屑被示为具有与 图3A中示出的分层范围70相同的阴影。在又一实施例中,表示分层范围(例如,在具有不 同的根范围的聚集范围化面包屑或范围化树视图中)的节点可以根据该范围的名称来显 示。因此,名为"用户控件l"的分层范围(例如可包括集成开发环境中的一用户控件的各 组件)可被表示为用"用户控件l"标签显示的聚集面包屑(可能甚至省略构成该聚集面包 屑的节点的名称),或被表示为带有"用户控件l"标签的范围化树视图中的节点(其中该 分层范围的节点被隐藏,直到用户导航到该分层范围内)。本领域普通技术人员在实现此处 讨论的技术时能够选择许多这样的视觉样式。 图4A示出深度嵌套的另一示例性范围化分层数据集180(例如,节点J 200和K
202处于该分层结构中的8层深处)。用于导航该深度嵌套分层数据集180的未范围化树
视图可能需要详尽地遍历该树视图来到达所需节点,并同样可能需要大量未范围化面包屑
来描述从根节点到更深嵌套的节点的路径。该示例性范围化分层数据集180用作图4B-4F
中示出的范围化树视图和范围化面包屑列表的各示例性实施例的基础。 图4B和4C示出用于表示图4A的范围化分层数据集180的范围化树视图的两个
替换集合。在图4B中,范围化分层数据集180的根节点A 182在以节点A为该树视图214
的根节点的第一树视图212中示出。该树视图还包含构成第一分层范围218的子节点B、C、
D、以及E。在接收到表示对第一分层范围218中的节点的选择的用户输入时,该系统生成范
围化分层数据集180具有表示所选节点的范围的根的第二范围化树视图220。因为该第二
范围化树视图220的根在第一分层范围218(并且具体地在节点B184处,因为这是第一分
8层范围中的最高节点),所以范围化树视图220不包括父节点A 182。作为外延,选择(例 如,导航到)在第一范围化树视图212或第二范围化树视图220中一起构成第二分层范围 222的节点F到I中的任一个,呈现第三范围化树视图224,第三范围化树视图224的根在 作为第二分层范围的根的节点F 192处。同样,因为该第三范围化树视图224的根在节点 F 192处(对应于第二分层范围),所以该范围化树视图既不包括未范围化节点A 182也不 包括第一分层范围的节点B到E 184、 186、 188、 190。 图4B的范围化树视图示出范围化树视图的可根据实现变化的某些附加方面。作 为一个示例,各个分层范围与区别性视觉样式相关联,并且范围化树视图的范围化节点以 所表示的分层范围的区别性视觉样式来显示。在图4B的示例中,区别性视觉样式包括用于 第一分层范围218的区别性散列点和用于第二分层范围222的区别性阴影。可以根据此处 描述的技术设计并显示其他视觉样式(例如,区别性颜色)。 作为另一示例,根不在范围化分层数据集180的根节点的范围化树视图(例如,呈 现除分层数据集180的最顶层视图之外的视图的树视图)包括"向上"箭头图标形式的范 围离开控件230。该范围离开控件230的目的是使用户能够向上导航出当前范围。这一功 能在范围化分层数据集180的某些范围化树视图220、224中不可用;因为父节点被从显示 中省略,用户不能够选择它们来在分层数据集中向上移动。因此,包括了范围离开控件230, 并且在接收到表示激活该范围离开控件的用户输入(例如,使用诸如鼠标等定点设备点击 该图标)后,范围离开控件230使得范围化树视图向上遍历一个(或多个)分层范围。例 如,从图4B的第三范围化树视图224中激活范围接口控件230使得向上遍历到第二范围化 树视图220。本领域普通技术人员可以设计范围化面包屑的各导航组件的变型。作为一个 示例,面包屑列表可以与范围化树视图一起包括,以表示从根节点到范围化树视图的根范 围的路径并使用户能够向上导航或导航出分层范围。 作为第三示例,在图4B的每一范围化树视图中,示出了构成当前分层范围的节点 的所有子节点。图4C示出了一替换实施例,其中与图4B相反,范围化树视图省略具有与根 范围所不同的分层范围的每一节点的子节点。这一省略与在树视图中打开和关闭节点以 (分别)示出或隐藏其子节点不同。相反,在图4C的该替换实施例中,即使在父节点被打开 的情况下,所省略的节点也不在范围化树视图中示出。例如,在图4C的第二树视图220中, 根范围是包括图4A的示例性范围化分层数据集180的节点B 184、C186、D 188、以及E 190 的分层范围。该第二范围化树视图220还显示节点F 192,但因为节点192具有与根范围所 不同的分层范围,所以其子节点从该范围化树视图中省略。选择节点F 192使该系统显示 包括节点F 192及其所有子节点的第三树视图224。在该第三树视图224中,节点F 192、 G 194、 H 196、以及I 198的范围222现在是根范围。如此,与节点F-I的范围222不同的 范围的子节点会被省略。虽然未示出这样的节点,但可以理解,对于未范围化节点而言这可 能不成立。例如,节点J 200和K 202是未范围化的(与具有同节点F-I的范围222所不 同的范围的节点相反)并且因此在图4C的第三树视图224中示出。 图4D示出可用来表示范围化分层数据集180的范围化面包屑列表的集合240。因 为图4A的示例性范围化分层数据集180是深度嵌套的,所以节点J和K的未范围化面包屑 列表将需要八个面包屑来示出完整路径。相反,在图4D中示出了节点J 200和K 202的范 围化面包屑列表242、244;由于将共享一分层范围的节点聚集成一范围化面包屑,所以节
9点J 242和K 244的面包屑列表只需四个面包屑。该聚集反映了图4A的示例性分层结构 的两个分层范围,其中第一范围应用于节点B 184、C 186、D 188、以及E 190并且第二范围 应用于节点F 192、 G 194、 H 196、以及I 198。同样注意到,每一范围被示为具有区别性视 觉样式(例如,散列点和/或阴影)并且使用该对应样式来显示范围化面包屑。同样,可以 注意,可以设计各种这样的区别性视觉样式(例如,与各分层范围相关联的区别性颜色), 并且这些区别性视觉样式可以根据此处讨论的概念来使用。 图4E和4F示出图4A中呈现的范围化分层数据集180的范围化面包屑列表的两 个替换实施例。这些实施例240、250包括一个或多个范围化面包屑的折叠视图的概念,以 便生成表示到该分层结构中的节点的路径的更精简的面包屑列表。范围化面包屑的折叠视 图显示比范围化面包屑中的所有节点少的节点。例如,表示跨分层数据集的四个层的范围 的范围化面包屑可以引用所显示的面包屑中的四个节点,但这一信息量可能比所需要的更 为详细。因此,该范围化面包屑能以折叠视图来显示,其中只显示这四个节点中的几个来提 供对该分层范围的性质的概括指示。在范围化面包屑中显示诸如省略号等指示符来指示包 括在该折叠视图中隐藏的附加节点是有好处的。 图4E表征面包屑的折叠视图240的一个示例性用法,其中面包屑的该折叠视图包 括该范围化面包屑中的最高层节点和该范围化面包屑中的最低层节点,连同指示在该范围 化面包屑的折叠视图中隐藏了一个或多个中间层节点的省略号。例如,在节点K 202的面 包屑列表244中,面包屑列表244中构成第一分层范围的节点(节点B 184、 D 188、以及E 190)被聚集成以折叠视图显示的第一范围化面包屑254,从而只显示最高层节点B 184和 最低层节点E 190。类似地,面包屑列表244中构成第二分层范围的节点(节点F 192、H 196、以及I 198)被聚集成也以折叠视图显示的第二范围化面包屑256,从而只显示最高层 节点F 192和最低层节点I 198。可以根据此处讨论的概念来设计其他这样的指示符连同 用于以折叠视图显示面包屑的其他技术。可以理解,某些面包屑能以折叠视图来显示,而其 他面包屑能以非折叠视图来显示。例如,包含所选节点的范围化面包屑能以非折叠状态示 出,而其他范围化面包屑以折叠状态示出(如在节点I 198的面包屑路径252中)。同样, 可以根据此处讨论的概念来设计用于选择折叠视图或非折叠视图的节点的其他技术。
图4F表征范围化分层数据集180包括范围化面包屑的折叠视图的概念的面包屑 列表260的另一实施例。该实施例260表征手动折叠方面,其中在接收到表示激活范围化 面包屑的用户输入后,切换所激活的范围化面包屑的折叠视图。在该实施例中,包含超过两 个的每一范围化面包屑262都用范围化面包屑262的折叠或非折叠状态的指示符264来显 示,并且激活指示符264 (例如,使用诸如鼠标等定点设备点击指示符264)切换范围化面包 屑262的折叠或非折叠视图。范围化面包屑的手动折叠方面可替换地或另外地与范围化面 包屑的自动折叠或非折叠视图一起使用。 范围化树视图和/或范围化面包屑列表的另一组实施例涉及在接收到用户激活 范围化树视图和/或范围化面包屑后的效果。作为一个示例,在接收到表示激活树视图节 点或面包屑内的节点的用户输入后,该节点可以呈现在用户界面组件中。在一个这样的实 施例中,激活节点可以简单地显示该节点在分层数据集内的组织位置(例如,在选择面包 屑列表中的节点后,该系统可以显示该分层数据集的范围化树视图,聚焦于该面包屑列表 中的激活的节点)。在另一这样的实施例中,用户可以使用诸如鼠标等定点设备点击面包屑列表中的节点或范围化树视图中的节点,并且该系统可以通过呈现该节点中包含的信息来 进行响应。作为一个示例,该分层数据集可包括具有分层组织的页面的网站,其中该分层数 据集中的每一节点表示该网站的一个页面,并且其中每一节点包含表示该分层组织的网站 内的从属页面的其他节点。激活节点因此可以使得诸如web浏览器等查看器显示与所激活 的节点相关联的页面。此外,如此显示的页面可包括示出当前查看的页面分层地位于其中 的网站的页面路径的面包屑列表。 图5A-5D呈现与激活分层数据集中的节点的效果相关的范围化树视图和范围化 面包屑列表的另一实施例。在这些示例性实施例中,在接收到表示激活树视图中的节点或 面包屑列表中的面包屑的用户输入后,该系统在用户界面组件中显示激活的节点。在一个 实施例中,用户界面组件中包括被配置成显示该激活的节点的查看器。该用户界面组件中 可准许与该激活的节点所表示的数据所进行的若干形式的交互中的任一形式;例如,该系 统可以简单地显示所包含的信息或可以允许用户创建、编辑、或删除所选节点的信息。以此 方式,分层范围可以与被配置成查看构成与该分层范围相关联的这一类型的节点的数据的 用户界面组件(如应用程序)相关联。用户因此可以通过激活范围化树视图界面或范围化 面包屑列表中的节点来操作在该分层数据集中组织的数据。可以理解,"选择"节点和"激 活"节点可包括两种不同形式的用户输入。例如,可以通过使用诸如鼠标等定点设备点击节 点来"选择"该节点,而可通过使用该定点设备双击该节点来"激活"该节点。
图5A示出分层范围272和查看器274之间的关联的示例性集合270。例如,表示 媒体集合的分层范围276(例如,标识该媒体集合的内容的分层数据集)可以与集合组织器 278相关联,集合组织器提供用于浏览并组织媒体集合的界面。可以创建表示图像(例如, 构成相册的照片文件和照片列表)的另一分层范围280,并且该分层范围280可与照片查看 器应用程序282相关联。可以创建表示音乐集合和播放列表的第三范围284,并且该第三范 围284可与音乐组织器应用程序286相关联。可以创建表示音乐文件的第四范围288,并且 该第四范围288可与音乐播放器应用程序290相关联。最后,可以创建表示歌曲歌词的第 五范围292,并且第五范围292可与歌词查看器294相关联。 图5B示出表示诸如对计算机系统上的用户可用的多媒体内容库等媒体集合的示 例性范围化分层数据集300。在该示例中,该媒体集合包含若干形式的媒体(包括音乐和照 片)以及这些媒体的组织分组(包括相册、播放列表、以及音乐集合)。这些不同形式的数 据可在概念上相关,并且可以作为一分层范围来关联,如图5A的表270中示出的示例性关 联集合。在该示例中,可以使用一个分层范围302来创建照片和相册组,并且可以使用另一 分层范围304来创建播放列表和音乐集合组。此外,在该示例中,因为每一分层范围表示相 似数据,所以每一分层范围可以与一查看器(如能够显示与该分层范围相关联的这些类型 的数据的特定软件应用程序)相关联。 将分层范围与查看器相关联可方便用户与分层数据集进行交互。图5C示出图5B 的范围化分层数据集300中的每一节点的范围化树视图310和相关应用程序。如在上述示 例中一样,选择分层数据集的每一节点呈现相关联的范围化树视图。此外,激活范围化树视 图的根范围内的节点使得所激活的节点显示在诸如查看器等被配置成显示与该分层范围 相关联的类型的节点的用户界面组件中。例如,选择"相册2"节点312呈现"相册2"314、 "照片1"316、以及"照片2"318的范围化树视图,其中"相册2"314是根节点。激活这些节点中的任一个都使得所激活的节点显示在诸如照片查看器应用程序等"照片查看器"320用 户界面组件中。根据以上在图4C中描述并示出的实现变型,每一范围化树视图省略具有与 该根范围不同的范围的节点的子节点。例如,表示音乐集合和播放列表的根范围的范围化 树视图322包括(同一范围的)节点"播放列表2"及其(不同范围的)子节点"歌曲2", 但省略子节点"歌曲2"的子节点(如歌曲2歌词)。该后一子节点在"歌曲2"的范围化树 视图324中示出。 图5D基于与图5B的范围化分层数据集300中的每一节点相关联的分层范围来示 出这些节点的范围化面包屑列表330,连同与每一节点相关联的查看器。例如,激活表示相 册或照片的节点在照片查看器中显示所选项目,而激活表示音乐集合或播放列表的节点在 音乐组织器应用程序中显示该音乐集合或播放列表。同样可以理解,包括范围化面包屑列 表的用户界面可允许与面包屑的不同模式的交互,例如,其中一种模式包括"选择"节点以 使得导航到所选节点(例如,显示所选面包屑的范围的范围化树视图),并且其中另一种模 式包括"激活"节点以使得所激活的节点显示在查看器应用程序中。本领域普通技术人员 可以设计许多这样的用户界面安排并且这些用户界面安排可被配置成根据此处提出的技 术来操作。 范围化树视图和/或范围化面包屑的这些变型不旨在是穷尽性的;相反,可以设 计可呈现各种优点的涉及范围化树视图和/或范围化面包屑的许多变型。作为一个示例, 分层范围可被分配名称,并且分层范围的名称可以显示在根据该分层范围的名称而非其中 包含的节点的范围化树视图和/或范围化面包屑列表中。例如,在图5B中,包括节点"音 乐集合1"、"播放列表1"、以及"播放列表2"的分层范围可被分配名称"音乐",并且该名 称(而非其中包含的节点)可以显示在范围化树视图和/或范围化面包屑列表中。例如, 具有不同于"音乐"分层范围的根范围的范围化树视图可以简单地在标记为"音乐"的树视 图中显示一个节点,并且可以显示以"音乐"为根范围的范围化树视图中包含的各节点的名 称。作为第二示例,构成第一分层范围的节点中的一些还与第二分层范围(如更细粒度的 范围)相关联。或者,折叠可以在范围化面包屑的折叠视图、范围化面包屑的非折叠视图、 以及范围化面包屑的部分折叠视图之间切换,其中构成第二分层范围的面包屑被聚集成第 一分层范围内的一聚集面包屑。 范围化树视图和/或范围化面包屑列表还可(单独地或一起)被实现成一种系 统,如用于在范围化分层数据集中标识从根节点到所选节点的路径的系统。这一性质的一 种系统可包括被配置成表示范围化分层数据集的存储器和被配置成通过生成范围化分层 数据集具有表示一范围的根的范围化树视图来表示该范围化分层数据集的树视图组件。或 者,这一性质的一种系统可包括被配置成表示范围化分层数据集的存储器和被配置成生成 表示存储器中的范围化分层数据集内的路径的面包屑列表的面包屑组件,范围的各个节点 被聚集成范围化面包屑。这样的系统所生成的范围化面包屑列表可根据构成该路径的节点 所共享的分层范围来聚集,并且因此可构成与所选节点的未范围化面包屑列表相比更精简 的面包屑列表。这样的系统可以用许多方式来组合,以呈现单独地或一起表示存储在存储 器中的范围化分层数据集的范围化树视图和范围化面包屑列表。 实现这些概念的系统可被组装成许多变型。作为一个示例,树视图组件和/或面 包屑组件可包括被配置成根据这些技术来生成范围化树视图和/或范围化面包屑列表的硬件,如现场可编程门阵列(FPGA)。另选地或另外地,树视图组件和/或面包屑组件可包括 编码来用于在诸如台式处理器等通用硬件上执行并被配置成生成根据范围化分层结构的 范围化树视图和/或范围化面包屑列表的软件指令。本领域普通技术人员可以设计可被配 置成根据此处描述的技术操作的许多这样的系统。 根据此处描述的概念实现的系统的其他实施例可包括附加组件。在一个这样的实 施例中,该系统包括被配置成显示范围化树视图和/或范围化面包屑列表的显示器组件。 该显示器组件可包括视觉显示器装置,如(例如)LCD监视器、CRT监视器、投影仪、或打印 机。该显示器组件还可包括用于在树视图组件和/或面包屑组件与视觉显示器装置之间进 行通信的接口 ,如显示适配器、视频存储器缓冲区、软件驱动程序、和/或视觉编程接口 。同 样,该显示器组件可被配置成结合以上讨论的各特定实施例中的任何一个或几个。作为一 个示例,该显示器组件可被配置成采用区别性视觉样式显示范围化树视图和/或范围化面 包屑,如(例如)与范围化节点和/或范围化面包屑所表示的分层范围相关联的区别性颜 色或阴影样式。在另一实施例中,该显示器组件可被配置成显示被配置成导航出范围化树 视图的所选范围的范围离开控件。在又一实施例中,该显示器组件可被配置成以折叠视图 显示至少一个面包屑,该折叠视图包括比范围化面包屑中的所有节点少的节点。本领域的 普通技术人员可以在被配置成根据此处描述的技术操作的系统的上下文中设计许多这样 的显示器组件。 在另一组实施例中,该系统可包括被配置成接受与范围化树视图和/或范围化面 包屑列表相关的用户输入的输入组件,如键盘或鼠标。作为一个示例,该输入组件可被配置 成接受表示激活树视图节点和/或面包屑的用户输入,并且显示器组件被配置成在用户界 面组件(例如,被配置成显示所激活的节点的查看器)中呈现所激活的树视图节点内的节 点和/或所激活的面包屑内的节点。另选地或另外地,该输入组件可被配置成接受表示激 活范围化面包屑的用户输入,并且显示器组件可被配置成切换所激活的范围化面包屑的折 叠视图。本领域的普通技术人员可以在被配置成根据此处描述的技术操作的系统的上下文 中设计许多这样的输入组件。 图6示出结合此处描述的若干方面的、用于生成范围化树视图和面包屑列表的示 例性系统。在该示例性附图中,系统340包括面包屑组件342和树视图组件344,每一组件 可操作上与包含范围化分层数据集的数据表示348的存储器346相耦合。系统340还包括 被配置成对范围化分层数据集348、350的所选节点显示树视图组件344所生成的范围化树 视图352和/或面包屑组件342所生成的范围化面包屑列表354的显示器组件350。系统 340还包括可被配置成接受与范围化树视图352和/或范围化面包屑列表354相关的用户 输入的两个输入设备,键盘356和鼠标358。这些组件一起生成并显示分层数据集348、350 的范围化树视图352和/或范围化面包屑列表354,并且允许用户与分层数据集348、350进 行交互(例如,方便导航分层数据集348、350的各节点并方便在查看器应用程序中查看所 选节点)。 该范围化面包屑列表还可用于集成开发环境中。通常在这样的环境中创建图形用 户界面(GUI)应用程序,其提供用于设计具有诸如按钮、文本框、以及列表框等各种图形控 件的丰富用户界面以及用于编写通过构成该图形用户界面的这些控件来与用户进行交互 的软件的复杂工具集。这样的应用程序的一个共同特征是将图形用户界面应用程序("表单")表示成分层数据集,其中根节点表示包含各图形控件的表单,这些图形控件可包括其 他控件(例如,包含一组按钮的面板)和大量可配置属性。然而,近年来,用户控件的分类 在完善性而复杂性上有所发展。现代集成开发环境向编程者提供用于构建图形用户界面应 用程序的诸如按钮和列表框等许多简单工具以及诸如媒体播放器、图形聊天组件、复杂数 据库交互组件、以及甚至预包装神经网络等日益增长种类的更复杂组件。这样的集成开发 环境可被配置成例如在适用于该所选类型的节点的编辑器中显示分层数据集的一个或多 个激活节点(例如,该用户界面的各组成元素或其属性)。例如,激活分层数据集中的按钮 可以在"按钮属性"编辑器中显示该按钮的属性。 随着开发出可构成图形用户界面应用程序的各种各样且复杂的组件,向编程者描 述这些控件的分类和细节的信息的分层数据集的大小也在增长。编程者在设计应用程序时 可能难以导航该膨胀的分层数据集。甚至使用树视图和面包屑列表也不能方便高效导航, 因为控件和属性可能位于分层数据集的若干层深处,从而需要在树视图中的详尽导航来 到达所需节点以及需要麻烦的面包屑列表来描述对象(例如,图形用户界面的面包屑列表 "应用程序表单控件媒体播放器媒体控制面板进度条滚动条"——六嵌套节点深,并 且因此六个未范围化的面包屑——是描述媒体播放器应用程序中的进度条所必需的)。或 者,分层范围可应用于图形用户界面组件的分层数据集,并且所选节点可以通过生成并显 示范围化树视图和/或范围化面包屑列表来描述(例如,"应用程序表单,控件媒体播放 器,媒体控制面板进度条,滚动条"只需要三个范围化面包屑)。 因此,可以将分层范围应用于相关联地分组分层数据集中某一些概念上相关的对 象集合的分层数据集(例如,表示构成图形用户界面应用程序的组件和属性的数据集)。作 为一个示例,分层范围可应用于相关联地分组"控件模板"的各元素,例如构成控件的各元 素(例如,媒体播放器组件可由控件模板指定"停止"按钮、"播放"按钮、进度条等来定义)。 作为另一示例,分层范围可应用于逻辑上分组构成"控件样式"的各个属性,例如定义要应 用于一个或多个图形组件的视觉样式的属性集合(例如,应用于图形用户控件的字体、字 体样式、背景颜色、以及边界颜色)。作为第三示例,分层范围可应用于在逻辑上分组"根场 景"的各元素,例如表示图形用户界面应用程序及其属性(例如,其默认样式)的根节点。 通过将这些分层范围应用于定义正在开发的图形用户界面应用程序的结构的分层数据集, 集成开发环境经由范围化面包屑列表以便于高效地导航该应用程序的这些元素。因此,该 集成开发环境可以实现一种表示范围化分层数据集的方法,该范围化分层数据集表示该集 成开发环境中的至少一个用户界面组件,其中该方法包括生成该范围化分层数据集具有表 示一个范围的根的第一范围化树视图。另选地或另外地,集成开发环境可以实现一种显示 从表示该集成开发环境中的至少一个用户界面组件的范围化分层数据集中的根节点到所 选节点的路径的方法,其中该方法包括生成表示该路径的面包屑列表并且其中一范围的各 个节点被聚集成一范围化面包屑。 图7示出表征用于导航定义图形用户界面应用程序的复杂元素的范围化树视图 和范围化面包屑列表的示例性集成开发环境360。示例性集成开发环境360在其被用于创 建媒体播放器应用程序期间示出。该应用程序的各元素被示为在树视图362中显示的分 层节点,并且示出各分层范围以用于在概念上对相关节点进行分组。例如,分层数据集362 的根节点364表示表单,例如包括图形用户界面应用程序并包含该应用程序内的所有图形用户界面控件的类。该根节点364包含几个控件,如IstAllTracks (列出所有音轨)366和 objPlayer (对象播放器)368,其每一个都使用在概念上将每一控件与其中嵌入的子控件 中的一些相耦合的"控件模板"范围来设计。例如,"objPlayer"368(媒体播放器组件的一 个实例)与媒体播放器组件所包含的两个子控件显示当前播放的音轨的列表框370和包 含一些媒体播放控件(后退、停止、播放、快进、以及弹出)的面板372共享一个分层范围。 根节点364还包含描述表单364的默认视觉样式的嵌套属性集合374,并且分层范围被应用 于其中包含的嵌套属性中的一些,如字体样式376。如在先前示例中一样,该示例性附图中 的分层范围由区别性视觉样式来表示(例如,表示控件模板的分层范围的散列点和表示控 件样式的分层范围的阴影)。 通过在表示图形用户界面应用程序的各元素的分层数据集中包括这些分层范围, 图7所示的示例性集成开发环境360可生成方便导航的范围化树视图和/或范围化面包屑 列表。在该示例性集成开发环境360中,开发者正在编辑图形用户界面应用程序的两个部 分表单364 (称为frmMyMediaPlayer (我的媒体播放器表单))和应用于该表单和所包含 的控件的默认视觉样式的默认字体样式376 (称为stlForm(表单样式))。表单编辑器378 在该编辑器窗口的右下角显示第一范围化树视图380,示出所选节点(frmMyMediaPlayer) 及其所有子节点(fprForm(表单属性)、lstAllTracks、 objPlayer、以及stlForm)。因 为后三个对象是一个分层范围的成员,并且因此表示与根节点(例如,未范围化节点 frmMyMediaPlayer)所不同的分层范围,所以这三个节点的子节点(例如,这些对象的组成 属性)被从范围化树视图380中省略。表单编辑器378也在编辑器窗口的底部显示第一范 围化面包屑列表382,包括表示该表单364的面包屑(例如,该分层数据集362的根节点)。 另外,默认字体样式376正在字体样式编辑器384中进行编辑,字体样式编辑器384在该 编辑器窗口的右下角显示第二范围化树视图386。因为该范围化树视图386的根是在包括 stlForm及其组成属性(clrBackground (背景颜色)、fntDefault (默认字体)等)的分层 范围中的,所以树视图386的根在stlForm的分层范围中,并且因此省略该分层范围以上的 所有节点(frmMyMediaPlayer、 fprForm、 IstAllTracks等)。表单编辑器384还在该编辑 器窗口的底部显示范围化面包屑列表388。该面包屑列表388包括三个面包屑,包括聚集与 "控件样式"分层范围相关联的各节点的范围化面包屑。现在显而易见,该范围化分层数据 集362使得能够生成在逻辑上分组相关节点并消耗集成开发环境360中的较少空间的范围 化树视图和精简的面包屑列表。 此处讨论的技术还可具体化成包括被配置成生成此处讨论的面包屑列表的处理 器可执行指令的计算机可读介质。可以用这些方式设计的一种示例性计算机可读介质在图 8中示出,其中实现390包括其上编码有计算机可读数据394的计算机可读介质392 (例如, CD-R、 DVD-R、或硬盘驱动器盘片)。该计算机可读数据394又包括被配置成根据此次阐述 的原理来操作的一组计算机指令396。在一个实施例中,处理器可执行指令396可被配置成 执行一种表示范围化分层数据集的方法(如图2A的流程图中示出的方法50)和/或一种 在范围化分层数据集中标识从根节点到所选节点的路径的方法(如图2B的流程图中示出 的方法60)。在另一这样的实施例中,处理器可执行指令396可被配置成实现一种用于表示 范围化分层数据集和/或用于在范围化分层数据集中标识从根节点到所选节点的路径的 系统,如图6的组件图中示出的系统。在又一这样的实施例中,处理器可执行指令396可被
15配置成实现一种表示范围化分层数据集的方法和/或一种在这样的分层数据集中显示从 根节点到所选节点的路径的方法,该范围化分层数据集表示诸如图7中示出的设计器等集 成开发环境中的至少一个用户界面组件。本领域普通技术人员可以设计可被配置成根据此 处描述的技术操作的许多这样的计算机可读介质。 尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权 利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为 实现权利要求的示例形式公开的。 如在本申请中所使用的,术语"组件"、"模块"、"系统"、"接口"等一般旨在表示计 算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件 可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和 /或计算机。作为说明,运行在控制器上的应用程序和控制器都可以是组件。 一个或多个组 件可以驻留在进程和/或执行的线程中,并且组件可以位于一个计算机内和/或分布在两 个或更多的计算机之间。 此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、 固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。在此使 用的术语"制品"旨在涵盖可以从任何计算机可读设备、载体或介质访问的计算机程序。例 如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁带……)、光盘(例 如,紧致盘(CD)、数字多功能盘(DVD)……)、智能卡、以及闪存设备(例如,卡、棒、钥匙驱动 器……)。另外可以明白,可以使用载波来承载计算机可读电子数据,例如那些用于发送和 接收电子邮件或用于访问如因特网或局域网(LAN)等网络的数据。当然,本领域的技术人 员将会认识到,在不背离所要求保护的主题的范围或精神的前提下可以对这一配置进行许 多修改。 此外,在此使用词语"示例性"意指用作示例、实例或说明。在此被描述为"示例性" 的任何方面或设计并不一定被解释为比其他方面或设计优选或有利。相反,使用词语"示例 性"旨在以具体的方式呈现各个概念。如本申请中所使用的,术语"或"意指包括性"或"而 非互斥性"或"。即,除非另有指定或从上下文可以清楚,否则"X使用A或B"意指任何自然 的包括性排列。即,如果X使用A ;X使用B ;或X使用A和B两者,则在任何以上情况下,都 满足"X使用A或B"。另外,本申请中和所附权利要求书中所使用的冠词"一"和"一个"一 般可被解释为是指"一个或多个",除非另有指定或从上下文可以清楚指的是单数形式。 同样,虽然参考一个或多个实现示出并描述了本发明,但本领域技术人员基于对 本说明书和附图的阅读和理解可以想到各种等效替换和修改。本发明包括所有这些修改和 替换并且只由所附权利要求书来限定。特别地,对于由上述组件(例如,元素、资源等)执 行的各种功能,除非另外指明,否则用于描述这些组件的术语旨在对应于执行所描述的执 行此处在本发明的示例性实现中所示的功能的组件的指定功能(例如,功能上等效)的任 何组件,即使这些组件在结构上不等效于所公开的结构。另外,尽管可相对于若干实现中的 仅一个实现来公开本发明的一个特定特征,但是这一特征可以如对任何给定或特定应用所 需且有利地与其它实现的一个或多个其它特征相组合。此外,就在说明书或权利要求书中 使用术语"包含"、"具有"、"含有"和"带有"及其变体而言,这些术语旨在以与术语"包括" 相似的方式为包含性的。
权利要求
一种在范围化分层数据集(70)中标识从根节点(72)到所选节点(78)的路径的方法(60),所述路径具有至少一个范围,所述方法(60)包括生成表示所述路径的面包屑列表(150),范围的各个节点(76、78)被聚集成范围化面包屑(168)。
2. 如权利要求l所述的方法,其特征在于,包括 显示所述面包屑列表。
3. 如权利要求2所述的方法,其特征在于,各个分层范围与区别性视觉样式相关联,并且所述显示包括根据所述范围化面包屑的分层范围的视觉样式显示至少一个范围化面包屑。
4. 如权利要求3所述的方法,其特征在于,所述分层范围的区别性视觉样式包括颜色。
5. 如权利要求2所述的方法,其特征在于,以折叠视图显示的至少一个范围化面包屑 包括比所述范围化面包屑中的所有节点少的节点。
6. 如权利要求5所述的方法,其特征在于,所述折叠视图包括所述范围化面包屑中的 最高层节点和所述范围化面包屑中的最低层节点。
7. 如权利要求6所述的方法,其特征在于,所述显示包括以所述折叠视图显示除对应 于所选节点的范围化面包屑之外的范围化面包屑。
8. 如权利要求5所述的方法,其特征在于,包括在接收到表示激活范围化面包屑的用户输入后,切换所激活的范围化面包屑的折叠视图。
9. 如权利要求2所述的方法,其特征在于,包括在接收到表示激活面包屑的用户输入后,在用户界面组件中呈现所激活的面包屑内的 节点。
10. 如权利要求9所述的方法,其特征在于,所述用户界面组件包括被配置成的显示所激活的面包屑内的节点的查看器。
11. 一种包括被配置成执行如权利要求1所述的方法的处理器可执行指令的计算机可 读介质。
12. —种用于在范围化分层数据集(70)中标识从根节点(72)到所选节点(76)的路径 的系统(340),所述路径具有至少一个范围,所述系统包括被配置成表示所述范围化分层数据集(348)的存储器(346),以及 被配置成生成表示所述存储器中的范围化分层结构(348)内的路径的面包屑列表 (354)的面包屑组件(342),范围的各个节点被聚集成范围化面包屑(262)。
13. 如权利要求12所述的系统,其特征在于,包括 被配置成显示所述面包屑列表的显示器组件。
14. 如权利要求13所述的系统,其特征在于,所述显示器组件被配置成以折叠视图显 示包括比所述范围化面包屑中的所有节点少的节点的至少一个范围化面包屑。
15. 如权利要求14所述的系统,其特征在于,包括被配置成接受表示激活范围化面包屑的用户输入的输入组件,并且所述显示器组件被 配置成切换所激活的范围化面包屑的折叠视图。
16. 如权利要求12所述的系统,其特征在于,包括被配置成接受表示激活面包屑的用户输入的输入组件,并且所述显示器组件被配置成 在用户界面组件中呈现所述激活的面包屑内的节点。
17. 如权利要求16所述的系统,其特征在于,所述用户界面组件包括 被配置成显示所激活的面包屑内的节点的查看器。
18. —种包括被配置成实现如权利要求12所述的系统的处理器可执行指令的计算机 可读介质。
19. 一种在表示集成开发环境(360)中的至少一个用户界面组件(364)的范围化分层 数据集(70)中显示从根节点(72)到所选节点(78)的路径的方法,所述范围化分层数据集 (70)中的各个范围包括控件样式、控件模板、以及根场景中的一个,所述方法包括生成表示所述路径的面包屑列表(382),范围的各个节点被聚集成范围化面包屑 (262)。
20. —种包括被配置成执行如权利要求19所述的方法的处理器可执行指令的计算机 可读介质。
全文摘要
一个或多个分层范围可应用于分层数据集的各个部分以表示该分层结构中的各节点的逻辑分组。可设计各用户界面来在这样的范围化分层数据集内导航,如将该树的所查看的部分限于分层范围的范围化树视图和/或包含共享范围的节点的聚集面包屑以精简面包屑列表的范围化面包屑列表。呈现了表征这些范围化树视图和/或范围化面包屑列表并且具有各种优点的用户界面组件的若干实施例以及用于应用这些范围化树视图和/或范围化面包屑列表的一些上下文。
文档编号G06F3/048GK101784985SQ200880105216
公开日2010年7月21日 申请日期2008年8月21日 优先权日2007年8月30日
发明者A·雅辛斯基, D·赖特, S·万 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1