多页面组织和操纵电子文档.pdf

上传人:大师****2 文档编号:800514 上传时间:2018-03-12 格式:PDF 页数:17 大小:489.13KB
返回 下载 相关 举报
摘要
申请专利号:

CN200980101951.5

申请日:

2009.01.08

公开号:

CN101939722A

公开日:

2011.01.05

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 3/048申请公布日:20110105|||实质审查的生效IPC(主分类):G06F 3/048申请日:20090108|||公开

IPC分类号:

G06F3/048; G06F17/00; G09B5/02

主分类号:

G06F3/048

申请人:

智能技术ULC公司

发明人:

乔纳森·奈茨; 王淼森; 吉赛尔·贡萨尔维斯; 斯图尔特·施奈德; 迈克尔·博伊尔; 香农·古德曼

地址:

加拿大艾伯塔

优先权:

2008.01.09 US 61/020,062

专利代理机构:

中原信达知识产权代理有限责任公司 11219

代理人:

周亚荣;安翔

PDF下载: PDF下载
内容摘要

一种用于组织和操纵电子文档的软件工具,所述电子文档包括至少一组文档页面,所述软件工具包括:第一用户界面模块,其被配置为以列表状布置来呈现所述电子文档的文档页面;第二用户界面模块,其被配置为在相应的屏面中呈现每组的文档页面;以及,可操作用于同时操纵在所述屏面的一个或多个中呈现的多个所选择的文档页面的部件。

权利要求书

1: 一种用于组织和操纵电子文档的软件工具, 所述电子文档包括至少一组文档页面, 所述软件工具包括 : 第一用户界面模块, 被配置为以列表状布置来呈现所述电子文档的文档页面 ; 第二用户界面模块, 被配置为在相应的屏面中呈现每组的文档页面 ; 以及 可操作用于同时操纵在所述屏面一个或多个中呈现的多个所选择的文档页面的部件。
2: 根据权利要求 1 所述的软件工具, 其中, 所述第二用户界面模块被配置为允许在所 述相应的屏面内重新排序每组的文档页面。
3: 根据权利要求 2 所述的软件工具, 其中, 所述第二用户界面模块允许经由拖放操作 来重新排序每组的文档页面。
4: 根据权利要求 1 至 3 的任何一项所述的软件工具, 其中, 所述第二用户界面模块被配 置为允许在屏面之间移动文档页面。
5: 根据权利要求 4 所述的软件工具, 其中, 所述第二用户界面模块允许经由拖放操作 来在屏面之间移动文档页面。
6: 根据权利要求 1 至 5 的任何一项所述的软件工具, 其中, 所述第一用户界面模块被配 置为允许对所述列表状布置的文档页面的顺序重新排序。
7: 根据权利要求 1 至 6 的任何一项所述的软件工具, 其中, 所述可操作用于操纵的部件 被配置为向所述多个所选择的文档页面应用主题。
8: 根据权利要求 7 所述的软件工具, 其中, 所应用的主题选自包括颜色、 图形对象、 文 本、 图案、 音频和视频的组。
9: 根据权利要求 1 至 8 的任何一项所述的软件工具, 其中, 所述第二用户界面模块被配 置为标注每个屏面。
10: 根据权利要求 1 至 9 的任何一项所述的软件工具, 其中, 所述第二用户界面模块被 配置为响应于用户输入来创建新屏面。
11: 根据权利要求 10 所述的软件工具, 其中, 所述第二用户界面模块被配置为允许将 现有屏面的文档页面移动到所创建的新屏面。
12: 根据权利要求 11 所述的软件工具, 其中, 所述第二用户界面模块允许经由拖放操 作从现有屏面向所创建的新屏面移动文档页面。
13: 在其中呈现软件在计算装置上执行时允许显示和操纵包括多个页面的文档的呈现 软件环境中, 改善包括编组工具, 所述编组工具可操作用于编组文档的页面, 并且显示每组 的页面, 并且操纵所选择的一个或多个组的页面。
14: 一种电子文档组织和操纵方法, 包括 : 在图形用户界面上的独立屏面中显示文档的每组电子页面 ; 提供用于允许用户在一个或多个屏面内重新排序页面和 / 或在屏面之间移动页面的 工具 ; 以及 响应于所述工具的使用, 适当地重新排序和 / 或移动所述页面。
15: 根据权利要求 14 所述的方法, 其中, 响应于拖放工具操作而执行所述重新排序和 / 或移动。
16: 根据权利要求 14 或 15 所述的方法, 其中, 所述工具响应于用户输入而选择多个页 面, 并且同时向所选择的页面应用主题。 2
17: 根据权利要求 16 所述的方法, 其中, 在所述应用期间, 向所述选择的页面应用选自 下组的主题, 所述组包括颜色、 图形对象、 文本、 图案、 音频和视频。
18: 一种计算机可读介质, 包含计算机程序, 所述计算机程序用于组织和操纵电子文 档, 所述电子文档包括至少一组文档页面, 所述计算机程序包括 : 用于以列表状布置来呈现所述电子文档的文档页面的计算机程序代码 ; 用于在相应的屏面中呈现每组的文档页面的计算机程序代码 ; 以及 用于同时操纵在所述屏面的一个或多个中呈现的多个所选择的文档页面的计算机程 序代码。
19: 根据权利要求 18 所述的计算机可读介质, 其中, 所述计算机程序进一步包括用于 在所述相应的屏面内重新排序每组的文档页面的计算机程序代码。
20: 根据权利要求 18 或 19 所述的计算机可读介质, 其中, 所述计算机程序进一步包括 用于在屏面之间移动文档页面的计算机程序代码。
21: 根据权利要求 18 至 20 的任何一项所述的计算机可读介质, 其中, 所述计算机程序 进一步包括用于对所述列表状布置的文档页面重新排序的计算机程序代码。
22: 根据权利要求 18 至 21 的任何一项所述的计算机可读介质, 其中, 所述用于操纵的 计算机程序代码向所述多个所选择的文档页面应用主题。
23: 一种计算机可读介质, 包含计算机程序, 所述计算机程序用于组织和操纵电子文 档, 所述计算机程序包括 : 用于在图形用户界面上的独立屏面中显示文档的每组电子页面的计算机程序代码 ; 以 及, 用于响应于用户输入在屏面内重新排序页面和 / 或在屏面之间移动页面的计算机程 序代码。
24: 根据权利要求 23 所述的计算机可读介质, 其中, 所述计算机程序进一步包括 : 用于 选择多个页面并且用于向所选择的页面同时应用主题的计算机程序代码。

说明书


多页面组织和操纵电子文档

    【技术领域】
     本发明总体上涉及文档管理, 具体地涉及一种用于组织和操纵电子文档的方法和工具。 背景技术 模型 - 视图 - 控制器 (MVC) 是在软件工程中使用的普通架构模式, 其通常用于复 杂的软件应用中, 所述复杂的软件应用呈现大量的数据, 并且维持同一数据的多个视图。 MVC 架构将对象划分为三个类别 -- 即模型、 视图、 控制器 -- 之一。在 MVC 架构中, 模型负责 维持数据, 视图负责显示全部或一部分数据的用户界面, 并且控制器负责处理影响模型或 视图的事件。通过以这种方式划分对象, 多个视图和控制器可以与相同的模型交互。也可 以创建新的视图和控制器来与模型交互, 而不要求模型设计的改变。 而且, 以这种方式划分 对象准许在不影响数据处理的情况下进行视图的改变, 因此进行用户界面的改变, 并且允 许在不要求视图的改变的情况下重新组织模型。
     由 本 申 请 的 受 让 方 -- 加 拿 大 的 亚 伯 达 的 卡 尔 加 里 的 智 能 技 术 ULC(SMART Technologies ULC) 提供的 NotebookTM 软件是使用 MVC 架构的软件产品。 SMART NotebookTM 允许用户创建、 组织和操纵文档, 其中每个文档包括一个或多个页面。 现在转向图 1, 示出了 TM SMARTNotebook 的 MVC 架构, 并且总得由附图标记 20 标识。可以看出, SMART NotebookTM MVC 架构 20 包括 : 模型 22, 在这种情况下为 PageModel( 页面模型 ) 和 PageListModel( 页 面列表模型 ) ; 视图 24, 在这种情况下为 PageSorter( 分页器 ) ; 以及, 控制器 26, 其在这 种情况下为 PageListController( 页面列表控制器 )。PageModel 是文档页面的数据表 示, 并且提供了用于操纵文档页面的方法, PageListModel(PageListModel) 是构成文档的 页面的列表的数据表示。PageListController 处理允许 PageListModel 的操纵的事件。 PageSorter 提供允许选择和操纵文档的页面的用户界面。具体地, 对于所选择的文档, PageSorter 用户界面在主要观看区域或窗口中显示所选择的文档页面, 并且沿着主要观看 区域的左侧或右侧将文档的其他页面显示为缩略图 ( 例如小复制图像 )。响应于作为与 PageSorter 用户界面的用户交互的结果接收的用户输入, PageSorter 将用户输入中继到 PageListController。PageListController 作 为 响 应 设 置 PageModel 和 PageListModel 的状态, 并且向 PageSorter 返回通知。PageSorter 响应于该通知而查询 PageModel 和 PageListModel 的状态, 并且因此更新用户界面。
     虽然 SMART NotebookTM 已经证明是用于组织文档的页面的有价值的工具, 但是 PageSorter 提供了有限的文档操纵功能。 具体地, 通过与 PageSorter 的用户交互仅可以执 行文档页面的增加、 移动或删除, 并且仅可以一次操纵单个页面。可以明白, 期望文档操纵 的改善。
     因此, 本发明的目的是提供一种用于组织和操纵电子文档的新颖方法和工具。
     发明内容 因此, 在一个方面, 提供了一种用于组织和操纵电子文档的软件工具, 所述电子文 档包括至少一组文档页面, 所述软件工具包括 : 第一用户界面模块, 被配置为以列表状布置 来呈现所述电子文档的文档页面 ; 第二用户界面模块, 被配置为在相应的屏面 (panel) 中 呈现每组的文档页面 ; 可操作用于同时操纵在所述屏面的一个或多个中呈现的多个所选择 的文档页面的部件。
     在一个实施例中, 所述第二用户界面模块被配置为允许在所述相应的屏面中重新 排序每组的文档页面。可以经由拖放操作来执行所述重新排序。所述第二用户界面模块也 被配置为允许经由拖放操作来在屏面之间移动文档页面。在一个实施例中, 所述第一用户 界面模块被配置为允许对所述列表状布置的文档页面的顺序重新排序。 所述可操作用于操 纵的部件被配置为向所述多个所选择的文档页面应用主题, 例如颜色、 图形对象、 文本、 图 案、 音频、 视频等。
     根据另一个方面, 在其中呈现软件在计算装置上执行时允许显示和操纵包括多个 页面的文档的呈现软件环境中, 提供了改善, 该改善包括编组工具, 所述编组工具可操作用 于编组文档的页面, 并且显示每组的页面, 并且操纵所选择的一个或多个组的页面。
     根据另一个方面, 提供了一种电子文档组织和操纵方法, 包括 : 在图形用户界面上 的独立屏面中显示文档的每组电子页面 ; 提供用于允许用户在一个或多个屏面内重新排序 页面和 / 或在屏面之间移动页面的工具 ; 并且响应于所述工具的使用, 适当地重新排序和 / 或移动所述页面。
     根据另一个方面, 提供了一种包含计算机程序的计算机可读介质, 所述计算机程 序用于组织和操纵包括至少一组文档页面的电子文档, 所述计算机程序包括 : 用于以列表 状布置来呈现所述电子文档的文档页面的计算机程序代码 ; 用于在相应的屏面中呈现每组 的文档页面的计算机程序代码 ; 用于同时操纵在所述屏面的一个或多个中呈现的多个所选 择的文档页面的计算机程序代码。
     根据另一个方面, 提供了一种包含计算机程序的计算机可读介质, 所述计算机程 序用于组织和操纵电子文档, 所述计算机程序包括 : 用于在图形用户界面上的独立屏面中 显示文档的每组电子页面的计算机程序代码 ; 以及, 用于响应于用户输入而在屏面内重新 排序页面和 / 或在屏面之间移动页面的计算机程序代码。
     附图说明
     现在将参考附图更全面地说明实施例, 其中 : TM 图 1 是现有技术的 SMART Notebook 的 MVC 架构的表示 ; 图 2 和 3 是覆盖 SMART NotebookTM 的 MVC 架构的另外的 MVC 架构的表示 ; 图 4 示出了 PageGroupView( 页面组视图 ) 用户界面 ; 图 5 示出了在 PageGroupView 用户界面上的下拉菜单 ; 图 6 示出了强化的 PageSorter( 分页器 ) 用户界面 ; 以及 图 7 示出了在强化的 PageSorter 用户界面上的下拉菜单。具体实施方式
     如 上 所 述, 由 加 拿 大 的 亚 伯 达 的 卡 尔 加 里 的 智 能 技 术 ULC 提 供 的 SMART TM Notebook 软件是使用 MVC 架构的软件产品。SMARTNotebookTM 允许用户创建、 组织和操纵 TM 文档, 其中每个文档包括一个或多个页面。为了增强 SMART Notebook 组织和操纵文档页 面的能力, 提供了 PageGrouping( 页面编组 ) 工具。PageGrouping 工具允许用户以下述方 式来同时操纵文档的多个页面, 所述方式使得多个页面能够以用户确定的有意义方式逻辑 地与类别相关联。
     通 过 以 另 外 的 MVC 架 构 30 覆 盖 SMART NotebookTM 的 MVC 架 构 20 而 实 现 PageGrouping 工 具, 所 述 另 外 的 MVC 架 构 30 为 MVC 架 构 20 的 镜 像, 如图 2 和 3 中所 示。 所 述 另 外 的 MVC 架 构 30 包 括 : 模 块 32, 在 这 个 示 例 中 为 GroupModel( 组 模 型 ) 和 GroupListModel( 组 列 表 模 型 ) ; 视 图 34, 在 这 个 示 例 中 为 强 化 的 PageSorter 和 PageGroupView ; 以及, 控制器 36, 在这个示例中为 GroupListController( 组列表控制器 )。
     GroupModel 是文档的一组页面的数据表示, 并且通过提供用于操纵所述一组 文档页面的表示的方法来对 PageModel 的功能做镜像 (mirror)。对于每组文档页面, GroupModel 存储组特定数据, 例如组标题、 组 ID、 在组中的文档页面的数量和在组中的文 档页面索引。附件 A 示出了 GroupModel 的示例性表示。可以明白, GroupModel 允许向组 添加文档页面, 从组中去除文档页面或从组中删除文档页面, 并且允许设置一组文档页面 的标题。GroupModel 不存储文档的页面。而是, GroupModel 存储用于标识组的文档页面的 唯一标识符 ( 例如页面 ID)。 GroupListModel 是 文 档 的 多 组 页 面 的 列 表 的 数 据 表 示, 并且类似于 PageListModel。具体地, GroupListModel 存储关于多组页面在文档中的顺序的信息。 GroupListModel 提供用于组织多组文档页面、 添加多组文档页面、 重新布置多组文档页面, 并且删除多组文档页面的方法。 GroupListModel 也提供了一种用于创建文档页面的虚拟组 的方法, 所述文档页面的虚拟组包括当前在 GroupListModel 中的所有组的文档页面的混 合。附件 B 示出了 GroupListModel 的示例性表示。
     GroupListController 是处理事件以允许 GroupListModel 的操纵的控制器。附 件 C 示 出 了 GroupListController 的 示 例 性 表 示。GroupListController 保 持 在 模 型 32 和和视图 34 之间的分隔, 并且提供了用于同步和分发应用通知消息的机制。例如, 调 用 AddGroup 函数不仅向 GroupListModel 添加了新的 GROUP_ID, 而且向相关的视图通知 GroupListModel 已经改变, 因此视图可以进行更新。
     PageGroupView 提供了用户界面 50, 其用于操纵可以在图 4 中看到的多组文档页 面。 PageGroupView 用户界面 50 提供了用于经由拖放操作来管理文档的页面和在文档中的 组中的页面的直观方式。具体地, PageGroupView 用户界面 50 在主要观看区域 52 中呈现 文档的每组的文档页面。每组的文档页面被呈现为在标题栏 56 之下的屏面 54 中的阵列, 标题栏 56 标识向组分配的标题。可以通过选择期望的文档页面、 跨屏面 54 将所选择的文 档页面拖动至其在组中的新的期望位置, 并且释放所选择的文档页面, 来简单地重新排序 在每组中的文档页面。也可以通过选择一个组的期望文档页面、 跨一个或多个屏面 54 将所 选择的文档页面拖动至其在新组中的期望位置, 并且释放所选择的文档页面, 来将每个文 档页面从一个组移动到另一组。 接近每个标题栏 56 的右端提供了可选按钮 60, 其在被选择
     时暴露可选操作的菜单 62, 所述可选操作使得能够选择、 移动或重新命名与标题栏相关联 的组。也提供了 “添加新组” 可选按钮 64, 其在被选择时允许创建文档页面的新组, 并且显 示对应的屏面 54 和标题栏 56。一旦已经显示了屏面 54 和标题栏 56, 则可以将文档页面从 现有组的屏面 54 拖动并且放在如上所述的标题栏 56 之下的新屏面 54 中。PageGroupView 用户界面 50 也允许例如像背景主题 ( 例如颜色、 图形对象、 文本、 图案 ( 条纹、 阴影等 )、 音 频、 视频等 ) 的文档页面属性被应用到一个或多个所选组的文档页面。以这种方式, 可以同 时操纵一个或多个所选组的多个文档页面。
     也可以通过下述方式来创建新的一组文档页面 : 通过选择在现有组内的文档页 面, 并且执行右击事件, 所述右击事件导致显示包括删除页面、 清洁页面、 创建组和屏幕底 面 (screen shade) 选项的菜单, 如图 5 中所示。从菜单选择创建组选项创建用于新组的屏 面 54 和标题栏 56, 并且将所选择的文档页面置于对于新组创建的屏面 54 中。选择屏幕底 面选项允许用户选择用于所选文档页面的背景主题。
     PageGroupView 被划分为呈递 (rendering) 组件和原生图形用户界面组件, 其允 TM 许在 SMART Notebook 的不同版本上使用 PageGroupView 的基础布局、 行为和观看与感觉。 附件 D 示出了 PageGroupView 的呈递组件的示例性表示。可以明白, PageGroupView 的呈 递组件包括 IPageGroupView 类别和 CPageGroupView 类别。 IPageGroupView 类别是由呈递 组件用于与原生图形用户界面组件通信的回调接口。原生图形用户界面组件响应于回调, 并且调入 CPageGroupView 类别, 以处理行为、 拖放、 呈递、 键盘和鼠标输入。 强化的 PageSorter 提供了用户界面 70, 其用于在多组文档页面之间导航, 并且 用于选择要在主观看区域 52 上显示的当前文档页面, 如图 6 中所示。可以看出, 强化的 PageSorter 用户界面 70 向可以用于导航通过文档的页面的主要观看区域 52 的一侧呈现 缩略图的列表 72。以在列表中的顺序来呈现每组的文档页面。选择在列表 72 中呈现的缩 略图将主要观看区域 52 切换到与所选择的缩略图对应的文档页面。PageSorter 用户界面 70 允许在组内或组之间拖放列表中的文档页面、 滚动至特定组的文档页面和应用到多个所 选择的文档页面的各操作。PageSorter 用户界面 70 包括可选 “组” 按钮, 其被选择时暴露 如图 7 中所示的下拉菜单 76。菜单 76 通过标题来标识每组文档页面。选择标题使所显示 的缩略图的列表 72 滚动, 以便与所选择的标题对应的组的文档页面的缩略图表示位于列 表的顶部。菜单 76 也包括组编辑项目, 组编辑项目在被选择时暴露可选操作的菜单, 所述 可选操作使得能够在组之间移动文档页面, 重新排序在组内的文档页面, 重新排序在文档 内的多组页面, 并且重新命名多组文档页面。
     虽然已经具体参考在 SMART NotebookTM 中的其实施方式而描述了 PageGrouping 工具, 但是本领域内的技术人员可以理解, 可以通过允许按照期望编组电子文档并且按照 期望操纵多组电子文档, 在其他呈现软件环境中使用 PageGrouping 工具以便利电子文档 ( 例如文件或页面 ) 的管理。
     PageGrouping 工具在下述方面是有益的 : 它使得用户能够分类、 操纵和容易地访 问在文档中的多组页面。在维持大量文档 -- 其中每个包含大量的页面 -- 的情况下, 这是 特别有益的。PageGrouping 工具已经证明在教育环境中是非常有益的, 因为其允许教师组 织和构造教学计划。例如, 可以通过文档来表示书, 并且在文档内的每组表示那本书的章 节。这允许教师计划几个章节 ( 即组 ) 的教学, 并且能够在上课期间使用 PageGroupView
     和 PageSorter 用户界面来在不同的章节之间转换。注意, 课程也可以被提供为组中的文档 页面。另一个类似的用途是组织要在课程期间讨论的几个题目的特定课程教学, 并且创建 包括用于表示讨论的题目的多组文档页面的文档。 在教学期间未讨论的组的文档页面当然 可以通过用户界面被移动到表示下一个课程教学的文档。
     PageGrouping 工具可以包括程序模块, 所述程序模块包括但是不限于例程、 程序、 对象组件、 数据结构等, 并且可以被体现为在计算机可读介质上存储的计算机可读程序代 码。所述计算机可读介质是可以存储数据的任何数据存储装置, 所述数据可以其后被计算 机系统读取。计算机可读介质的示例例如包括只读存储器、 随机存取存储器、 CD-ROM、 磁带 和光数据存储装置。 也可以通过包括耦合的计算机系统的网络来分发所述计算机可读程序 代码, 以便以分布的方式来存储和执行计算机可读程序代码。
     虽然已经参考附图说明了实施例, 但是本领域内的技术人员可以理解, 在不不偏 离由所附的权利要求限定的其精神和范围的情况下, 可以进行改变和修改。
     附件 A
     class IGroupModel
     {
     protected: virtual-IGroupModel(){} ; public: virtual void AddPage(PAGE_ID id, UINT index = OxFFFFFFFF) = 0 ; virtual void RemovePage(PAGE_ID id) = 0 ; virtual void MovePage(PAGE_ID id, UINT index) = 0 ; virtual GROUP_ID GetUniqueGrouplD()const = 0 ; virtual void SetTitle(const CAtlString & title) = 0 ; virtual CAtlString GetTitle()const = 0 ; virtual void AddPageList(CAtlArray&ids) = 0 ; virtual void GetPageIDs(CAtlArray&ids) = 0 ; virtual int GetDisplayIndex(PAGE_ID id) = 0 ; virtual PAGE_ID GetIDFromIndex(UINT index) = 0 ; virtual UINT GetNumber0fPages()const = 0 ; }; typedef boost::shared_ptrIGroupModelPtr 附件 B class IGroupListModel { protected: virtual-IGroupListModel(){} ; public: virtual GROUP_ID AddGroup(UINT index = 0xFFFFFFFF) = 0 ; virtual void Delete Group(GROUP_ID id) = 0 ;virtual void MoveGroup(GROUP_ID id, UINT newIndex) = 0 ;
     v i r t u a l v o i d R e s t o r e E x i s t i n g G r o u p ( G R O U P _ I D i d ,U I N T iInsertionIndex) = 0 ;
     virtual void GetGroupIDs(CAtlArray&ids) = 0 ;
     virtual IGroupModelPtr GetGroup(GROUP_ID id) = 0 ;
     virtual GROUP_ID GetGroupFromIndex(UINT index) = 0 ;
     virtual void RefreshAllGroups() = 0 ;
     virtual IGroupModelPtr GetAllGroups() = 0 ;
     virtual int GetGroupIndexFromID(GROUP_ID id) = 0 ;
     virtual int GetGroupCount() = 0 ;
     };
     typedef boost::shared_ptrIGroupListModelPtr ;
     附件 C
     class IGroup ListController
     {
     protected:
     virtual-IGroupListController() {} ;
     public:
     virtual GROUP_ID AddGroup(UINT index = 0xFFFFFFFF) = 0 ;
     virtual void DeleteGroup(GROUP_ID id) = 0 ;
     virtual void MoveGroup(GROUP_ID id, UINT newIndex) = 0 ;
     v i r t u a l v o i d R e s t o r e E x i s t i n g G r o u p ( G R O U P _ I D i d ,U I N T iInsertionIndex) = 0 ;
     virtual void GetGroupIDs(CAtlArray&ids) = 0 ;
     virtual void SetGroupTitle(const CAtlString&title, GROUP_ID id) = 0;
     };
     typedef boost::shared_ptrIGroupListControllerPt r;
     附件 D
     class IPageGroupView
     {
     public :
     virtual void InvalidateArea(const RectF& rect) = 0 ;
     virtual void NotifyClose View() = 0 ;
     virtual void LayoutChange() = 0 ;
     virtual RectF VisibleDisplayArea() = 0 ;
     virtual void SetScrollBarPosition(int x, int y) = 0 ;
     virtual PointF ScrollBarPosition() = 0 ;virtual PointF MaximumScrollPos() = 0 ; virtual void InvokeGroupRightClickMenu(const PointF & pt, constGROUP_ID &
     id) = 0 ;
     virtual void InvokePageRightClickMenu(const PointF&pt, const PAGE_ ID &
     id) = 0 ;
     virtual void StartPageTitleEditing(const RectF&rect, const PAGE_ID &id) = 0 ;
     virtual void StartGroupTitleEditing(const RectF & rect, const GROUP_ID & id) =
     0;
     virtual void StartAutoScrollTimer() = 0 ;
     virtual void StopAutoScrollTimer() = 0 ;
     virtual-IPageGroupView(){} ;
     }; 附件 D class CPageGroupView { CPageGroupView(const INotebookDocumentPtr & pDoc, const IGroupListModelPtr& model, IPageGroupView*pgView) ; -CPageGroupView() ; void OnPaint(const SDGraphicsCoutextPtr & g, const RectF & rect) ; void OnLButtonDown(PointF pt, int nflags) ; void OnRButtonDown(PointF pt, int nflags) ; void OnLButtonUp(PointF pt, int nflags) ; void OnKeyDown(UINT Key, UINT flags) ; //use the cross platform keys here void OnLButtonDblClick(PointF pt, int nflags) ; void OnMouseMove(PointF pt, int nflags) ; void InvalidateRect(const RectF & rect) ; void OnDragging(PointF pt) ; void OnDragEnter(const SDImagePtr & img, PointF pt) ; bool OnDragStart(PointF pt, int nflags) ; void OnDragLeave() ; bool HandleDrop(pointF pt) ; void RemoveDragFeedback() ; void LayoutItems(const SDGraphicsContcxtPtr &g, const RectF &rect,SizeF &scrollSize) ; void initView() ; bool IfProduceRightClickMenu(const PointF pt) ; void DeleteGroup(GROUP_ID id) ; void MoveUpGroup(GROUP_ID id) ; void MoveDownGroup(GROUP_ID id) ; PageItemPtr GetDragPageItem(){return m_pItern ; }; GroupItemPtrGroupAtPoint(PointF pt) ; PageItemPtr PageAtPoint(PointF pt) ; INotePageModelArrayListPtr GetSelectedNotePageModels() ; int GetItemFromPosition(GROUP_ID gid, PointF pt) ; GROUP_ID GroupAtPosition(PointF pt) ; PAGE_ID PageAtPosition(PointF pt) ; bool IsDragFromSelf() ; void EndDragDrop() ; void EditGroupTitle(const GROUP ID &id) ; void EditPageTitle(const PAGE_ID &id) ; UINT NumberOfSelectedPages()const ; bool IsScreenShadeVisible(const PAGE_ID &id) ; bool IsPageEmpty(const PAGE_ID & id) ; void DeleteSelectedPages() ; void ClearSelectedPages() ; void ScreenShadeSelectedPages() ; void UpdatePage(const PAGE_ID &id) ; bool IsRubberBanding()const ; void SelectedPage(CAtlArray& ids) ; void DoAutoScroll() ; IGroupModelPtr GetDragGroupModel() ; void CreateGroupFromSelectedPages(const CAtl String & title) ; private: IPageGroupView*m_PgView ; }; typedef boost::shared_ptrCPageGroupViewPtr ;

多页面组织和操纵电子文档.pdf_第1页
第1页 / 共17页
多页面组织和操纵电子文档.pdf_第2页
第2页 / 共17页
多页面组织和操纵电子文档.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《多页面组织和操纵电子文档.pdf》由会员分享,可在线阅读,更多相关《多页面组织和操纵电子文档.pdf(17页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101939722A43申请公布日20110105CN101939722ACN101939722A21申请号200980101951522申请日2009010861/020,06220080109USG06F3/048200601G06F17/00200601G09B5/0220060171申请人智能技术ULC公司地址加拿大艾伯塔72发明人乔纳森奈茨王淼森吉赛尔贡萨尔维斯斯图尔特施奈德迈克尔博伊尔香农古德曼74专利代理机构中原信达知识产权代理有限责任公司11219代理人周亚荣安翔54发明名称多页面组织和操纵电子文档57摘要一种用于组织和操纵电子文档的软件工具,所述电子文档包括。

2、至少一组文档页面,所述软件工具包括第一用户界面模块,其被配置为以列表状布置来呈现所述电子文档的文档页面;第二用户界面模块,其被配置为在相应的屏面中呈现每组的文档页面;以及,可操作用于同时操纵在所述屏面的一个或多个中呈现的多个所选择的文档页面的部件。30优先权数据85PCT申请进入国家阶段日2010070986PCT申请的申请数据PCT/CA2009/0000122009010887PCT申请的公布数据WO2009/086628EN2009071651INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书8页附图6页CN101939725A1/2页21一种用于组织和操纵电。

3、子文档的软件工具,所述电子文档包括至少一组文档页面,所述软件工具包括第一用户界面模块,被配置为以列表状布置来呈现所述电子文档的文档页面;第二用户界面模块,被配置为在相应的屏面中呈现每组的文档页面;以及可操作用于同时操纵在所述屏面一个或多个中呈现的多个所选择的文档页面的部件。2根据权利要求1所述的软件工具,其中,所述第二用户界面模块被配置为允许在所述相应的屏面内重新排序每组的文档页面。3根据权利要求2所述的软件工具,其中,所述第二用户界面模块允许经由拖放操作来重新排序每组的文档页面。4根据权利要求1至3的任何一项所述的软件工具,其中,所述第二用户界面模块被配置为允许在屏面之间移动文档页面。5根据。

4、权利要求4所述的软件工具,其中,所述第二用户界面模块允许经由拖放操作来在屏面之间移动文档页面。6根据权利要求1至5的任何一项所述的软件工具,其中,所述第一用户界面模块被配置为允许对所述列表状布置的文档页面的顺序重新排序。7根据权利要求1至6的任何一项所述的软件工具,其中,所述可操作用于操纵的部件被配置为向所述多个所选择的文档页面应用主题。8根据权利要求7所述的软件工具,其中,所应用的主题选自包括颜色、图形对象、文本、图案、音频和视频的组。9根据权利要求1至8的任何一项所述的软件工具,其中,所述第二用户界面模块被配置为标注每个屏面。10根据权利要求1至9的任何一项所述的软件工具,其中,所述第二用。

5、户界面模块被配置为响应于用户输入来创建新屏面。11根据权利要求10所述的软件工具,其中,所述第二用户界面模块被配置为允许将现有屏面的文档页面移动到所创建的新屏面。12根据权利要求11所述的软件工具,其中,所述第二用户界面模块允许经由拖放操作从现有屏面向所创建的新屏面移动文档页面。13在其中呈现软件在计算装置上执行时允许显示和操纵包括多个页面的文档的呈现软件环境中,改善包括编组工具,所述编组工具可操作用于编组文档的页面,并且显示每组的页面,并且操纵所选择的一个或多个组的页面。14一种电子文档组织和操纵方法,包括在图形用户界面上的独立屏面中显示文档的每组电子页面;提供用于允许用户在一个或多个屏面内。

6、重新排序页面和/或在屏面之间移动页面的工具;以及响应于所述工具的使用,适当地重新排序和/或移动所述页面。15根据权利要求14所述的方法,其中,响应于拖放工具操作而执行所述重新排序和/或移动。16根据权利要求14或15所述的方法,其中,所述工具响应于用户输入而选择多个页面,并且同时向所选择的页面应用主题。权利要求书CN101939722ACN101939725A2/2页317根据权利要求16所述的方法,其中,在所述应用期间,向所述选择的页面应用选自下组的主题,所述组包括颜色、图形对象、文本、图案、音频和视频。18一种计算机可读介质,包含计算机程序,所述计算机程序用于组织和操纵电子文档,所述电子文。

7、档包括至少一组文档页面,所述计算机程序包括用于以列表状布置来呈现所述电子文档的文档页面的计算机程序代码;用于在相应的屏面中呈现每组的文档页面的计算机程序代码;以及用于同时操纵在所述屏面的一个或多个中呈现的多个所选择的文档页面的计算机程序代码。19根据权利要求18所述的计算机可读介质,其中,所述计算机程序进一步包括用于在所述相应的屏面内重新排序每组的文档页面的计算机程序代码。20根据权利要求18或19所述的计算机可读介质,其中,所述计算机程序进一步包括用于在屏面之间移动文档页面的计算机程序代码。21根据权利要求18至20的任何一项所述的计算机可读介质,其中,所述计算机程序进一步包括用于对所述列表。

8、状布置的文档页面重新排序的计算机程序代码。22根据权利要求18至21的任何一项所述的计算机可读介质,其中,所述用于操纵的计算机程序代码向所述多个所选择的文档页面应用主题。23一种计算机可读介质,包含计算机程序,所述计算机程序用于组织和操纵电子文档,所述计算机程序包括用于在图形用户界面上的独立屏面中显示文档的每组电子页面的计算机程序代码;以及,用于响应于用户输入在屏面内重新排序页面和/或在屏面之间移动页面的计算机程序代码。24根据权利要求23所述的计算机可读介质,其中,所述计算机程序进一步包括用于选择多个页面并且用于向所选择的页面同时应用主题的计算机程序代码。权利要求书CN101939722AC。

9、N101939725A1/8页4多页面组织和操纵电子文档技术领域0001本发明总体上涉及文档管理,具体地涉及一种用于组织和操纵电子文档的方法和工具。背景技术0002模型视图控制器MVC是在软件工程中使用的普通架构模式,其通常用于复杂的软件应用中,所述复杂的软件应用呈现大量的数据,并且维持同一数据的多个视图。MVC架构将对象划分为三个类别即模型、视图、控制器之一。在MVC架构中,模型负责维持数据,视图负责显示全部或一部分数据的用户界面,并且控制器负责处理影响模型或视图的事件。通过以这种方式划分对象,多个视图和控制器可以与相同的模型交互。也可以创建新的视图和控制器来与模型交互,而不要求模型设计的改。

10、变。而且,以这种方式划分对象准许在不影响数据处理的情况下进行视图的改变,因此进行用户界面的改变,并且允许在不要求视图的改变的情况下重新组织模型。0003由本申请的受让方加拿大的亚伯达的卡尔加里的智能技术ULCSMARTTECHNOLOGIESULC提供的NOTEBOOKTM软件是使用MVC架构的软件产品。SMARTNOTEBOOKTM允许用户创建、组织和操纵文档,其中每个文档包括一个或多个页面。现在转向图1,示出了SMARTNOTEBOOKTM的MVC架构,并且总得由附图标记20标识。可以看出,SMARTNOTEBOOKTMMVC架构20包括模型22,在这种情况下为PAGEMODEL页面模型和。

11、PAGELISTMODEL页面列表模型;视图24,在这种情况下为PAGESORTER分页器;以及,控制器26,其在这种情况下为PAGELISTCONTROLLER页面列表控制器。PAGEMODEL是文档页面的数据表示,并且提供了用于操纵文档页面的方法,PAGELISTMODELPAGELISTMODEL是构成文档的页面的列表的数据表示。PAGELISTCONTROLLER处理允许PAGELISTMODEL的操纵的事件。PAGESORTER提供允许选择和操纵文档的页面的用户界面。具体地,对于所选择的文档,PAGESORTER用户界面在主要观看区域或窗口中显示所选择的文档页面,并且沿着主要观看区域。

12、的左侧或右侧将文档的其他页面显示为缩略图例如小复制图像。响应于作为与PAGESORTER用户界面的用户交互的结果接收的用户输入,PAGESORTER将用户输入中继到PAGELISTCONTROLLER。PAGELISTCONTROLLER作为响应设置PAGEMODEL和PAGELISTMODEL的状态,并且向PAGESORTER返回通知。PAGESORTER响应于该通知而查询PAGEMODEL和PAGELISTMODEL的状态,并且因此更新用户界面。0004虽然SMARTNOTEBOOKTM已经证明是用于组织文档的页面的有价值的工具,但是PAGESORTER提供了有限的文档操纵功能。具体地,通。

13、过与PAGESORTER的用户交互仅可以执行文档页面的增加、移动或删除,并且仅可以一次操纵单个页面。可以明白,期望文档操纵的改善。0005因此,本发明的目的是提供一种用于组织和操纵电子文档的新颖方法和工具。说明书CN101939722ACN101939725A2/8页5发明内容0006因此,在一个方面,提供了一种用于组织和操纵电子文档的软件工具,所述电子文档包括至少一组文档页面,所述软件工具包括第一用户界面模块,被配置为以列表状布置来呈现所述电子文档的文档页面;第二用户界面模块,被配置为在相应的屏面PANEL中呈现每组的文档页面;可操作用于同时操纵在所述屏面的一个或多个中呈现的多个所选择的文档。

14、页面的部件。0007在一个实施例中,所述第二用户界面模块被配置为允许在所述相应的屏面中重新排序每组的文档页面。可以经由拖放操作来执行所述重新排序。所述第二用户界面模块也被配置为允许经由拖放操作来在屏面之间移动文档页面。在一个实施例中,所述第一用户界面模块被配置为允许对所述列表状布置的文档页面的顺序重新排序。所述可操作用于操纵的部件被配置为向所述多个所选择的文档页面应用主题,例如颜色、图形对象、文本、图案、音频、视频等。0008根据另一个方面,在其中呈现软件在计算装置上执行时允许显示和操纵包括多个页面的文档的呈现软件环境中,提供了改善,该改善包括编组工具,所述编组工具可操作用于编组文档的页面,并。

15、且显示每组的页面,并且操纵所选择的一个或多个组的页面。0009根据另一个方面,提供了一种电子文档组织和操纵方法,包括在图形用户界面上的独立屏面中显示文档的每组电子页面;提供用于允许用户在一个或多个屏面内重新排序页面和/或在屏面之间移动页面的工具;并且响应于所述工具的使用,适当地重新排序和/或移动所述页面。0010根据另一个方面,提供了一种包含计算机程序的计算机可读介质,所述计算机程序用于组织和操纵包括至少一组文档页面的电子文档,所述计算机程序包括用于以列表状布置来呈现所述电子文档的文档页面的计算机程序代码;用于在相应的屏面中呈现每组的文档页面的计算机程序代码;用于同时操纵在所述屏面的一个或多个。

16、中呈现的多个所选择的文档页面的计算机程序代码。0011根据另一个方面,提供了一种包含计算机程序的计算机可读介质,所述计算机程序用于组织和操纵电子文档,所述计算机程序包括用于在图形用户界面上的独立屏面中显示文档的每组电子页面的计算机程序代码;以及,用于响应于用户输入而在屏面内重新排序页面和/或在屏面之间移动页面的计算机程序代码。附图说明0012现在将参考附图更全面地说明实施例,其中0013图1是现有技术的SMARTNOTEBOOKTM的MVC架构的表示;0014图2和3是覆盖SMARTNOTEBOOKTM的MVC架构的另外的MVC架构的表示;0015图4示出了PAGEGROUPVIEW页面组视图。

17、用户界面;0016图5示出了在PAGEGROUPVIEW用户界面上的下拉菜单;0017图6示出了强化的PAGESORTER分页器用户界面;以及0018图7示出了在强化的PAGESORTER用户界面上的下拉菜单。说明书CN101939722ACN101939725A3/8页6具体实施方式0019如上所述,由加拿大的亚伯达的卡尔加里的智能技术ULC提供的SMARTNOTEBOOKTM软件是使用MVC架构的软件产品。SMARTNOTEBOOKTM允许用户创建、组织和操纵文档,其中每个文档包括一个或多个页面。为了增强SMARTNOTEBOOKTM组织和操纵文档页面的能力,提供了PAGEGROUPING。

18、页面编组工具。PAGEGROUPING工具允许用户以下述方式来同时操纵文档的多个页面,所述方式使得多个页面能够以用户确定的有意义方式逻辑地与类别相关联。0020通过以另外的MVC架构30覆盖SMARTNOTEBOOKTM的MVC架构20而实现PAGEGROUPING工具,所述另外的MVC架构30为MVC架构20的镜像,如图2和3中所示。所述另外的MVC架构30包括模块32,在这个示例中为GROUPMODEL组模型和GROUPLISTMODEL组列表模型;视图34,在这个示例中为强化的PAGESORTER和PAGEGROUPVIEW;以及,控制器36,在这个示例中为GROUPLISTCONTRO。

19、LLER组列表控制器。0021GROUPMODEL是文档的一组页面的数据表示,并且通过提供用于操纵所述一组文档页面的表示的方法来对PAGEMODEL的功能做镜像MIRROR。对于每组文档页面,GROUPMODEL存储组特定数据,例如组标题、组ID、在组中的文档页面的数量和在组中的文档页面索引。附件A示出了GROUPMODEL的示例性表示。可以明白,GROUPMODEL允许向组添加文档页面,从组中去除文档页面或从组中删除文档页面,并且允许设置一组文档页面的标题。GROUPMODEL不存储文档的页面。而是,GROUPMODEL存储用于标识组的文档页面的唯一标识符例如页面ID。0022GROUPLI。

20、STMODEL是文档的多组页面的列表的数据表示,并且类似于PAGELISTMODEL。具体地,GROUPLISTMODEL存储关于多组页面在文档中的顺序的信息。GROUPLISTMODEL提供用于组织多组文档页面、添加多组文档页面、重新布置多组文档页面,并且删除多组文档页面的方法。GROUPLISTMODEL也提供了一种用于创建文档页面的虚拟组的方法,所述文档页面的虚拟组包括当前在GROUPLISTMODEL中的所有组的文档页面的混合。附件B示出了GROUPLISTMODEL的示例性表示。0023GROUPLISTCONTROLLER是处理事件以允许GROUPLISTMODEL的操纵的控制器。。

21、附件C示出了GROUPLISTCONTROLLER的示例性表示。GROUPLISTCONTROLLER保持在模型32和和视图34之间的分隔,并且提供了用于同步和分发应用通知消息的机制。例如,调用ADDGROUP函数不仅向GROUPLISTMODEL添加了新的GROUP_ID,而且向相关的视图通知GROUPLISTMODEL已经改变,因此视图可以进行更新。0024PAGEGROUPVIEW提供了用户界面50,其用于操纵可以在图4中看到的多组文档页面。PAGEGROUPVIEW用户界面50提供了用于经由拖放操作来管理文档的页面和在文档中的组中的页面的直观方式。具体地,PAGEGROUPVIEW用户。

22、界面50在主要观看区域52中呈现文档的每组的文档页面。每组的文档页面被呈现为在标题栏56之下的屏面54中的阵列,标题栏56标识向组分配的标题。可以通过选择期望的文档页面、跨屏面54将所选择的文档页面拖动至其在组中的新的期望位置,并且释放所选择的文档页面,来简单地重新排序在每组中的文档页面。也可以通过选择一个组的期望文档页面、跨一个或多个屏面54将所选择的文档页面拖动至其在新组中的期望位置,并且释放所选择的文档页面,来将每个文档页面从一个组移动到另一组。接近每个标题栏56的右端提供了可选按钮60,其在被选择说明书CN101939722ACN101939725A4/8页7时暴露可选操作的菜单62,。

23、所述可选操作使得能够选择、移动或重新命名与标题栏相关联的组。也提供了“添加新组”可选按钮64,其在被选择时允许创建文档页面的新组,并且显示对应的屏面54和标题栏56。一旦已经显示了屏面54和标题栏56,则可以将文档页面从现有组的屏面54拖动并且放在如上所述的标题栏56之下的新屏面54中。PAGEGROUPVIEW用户界面50也允许例如像背景主题例如颜色、图形对象、文本、图案条纹、阴影等、音频、视频等的文档页面属性被应用到一个或多个所选组的文档页面。以这种方式,可以同时操纵一个或多个所选组的多个文档页面。0025也可以通过下述方式来创建新的一组文档页面通过选择在现有组内的文档页面,并且执行右击事。

24、件,所述右击事件导致显示包括删除页面、清洁页面、创建组和屏幕底面SCREENSHADE选项的菜单,如图5中所示。从菜单选择创建组选项创建用于新组的屏面54和标题栏56,并且将所选择的文档页面置于对于新组创建的屏面54中。选择屏幕底面选项允许用户选择用于所选文档页面的背景主题。0026PAGEGROUPVIEW被划分为呈递RENDERING组件和原生图形用户界面组件,其允许在SMARTNOTEBOOKTM的不同版本上使用PAGEGROUPVIEW的基础布局、行为和观看与感觉。附件D示出了PAGEGROUPVIEW的呈递组件的示例性表示。可以明白,PAGEGROUPVIEW的呈递组件包括IPAGE。

25、GROUPVIEW类别和CPAGEGROUPVIEW类别。IPAGEGROUPVIEW类别是由呈递组件用于与原生图形用户界面组件通信的回调接口。原生图形用户界面组件响应于回调,并且调入CPAGEGROUPVIEW类别,以处理行为、拖放、呈递、键盘和鼠标输入。0027强化的PAGESORTER提供了用户界面70,其用于在多组文档页面之间导航,并且用于选择要在主观看区域52上显示的当前文档页面,如图6中所示。可以看出,强化的PAGESORTER用户界面70向可以用于导航通过文档的页面的主要观看区域52的一侧呈现缩略图的列表72。以在列表中的顺序来呈现每组的文档页面。选择在列表72中呈现的缩略图将主。

26、要观看区域52切换到与所选择的缩略图对应的文档页面。PAGESORTER用户界面70允许在组内或组之间拖放列表中的文档页面、滚动至特定组的文档页面和应用到多个所选择的文档页面的各操作。PAGESORTER用户界面70包括可选“组”按钮,其被选择时暴露如图7中所示的下拉菜单76。菜单76通过标题来标识每组文档页面。选择标题使所显示的缩略图的列表72滚动,以便与所选择的标题对应的组的文档页面的缩略图表示位于列表的顶部。菜单76也包括组编辑项目,组编辑项目在被选择时暴露可选操作的菜单,所述可选操作使得能够在组之间移动文档页面,重新排序在组内的文档页面,重新排序在文档内的多组页面,并且重新命名多组文档。

27、页面。0028虽然已经具体参考在SMARTNOTEBOOKTM中的其实施方式而描述了PAGEGROUPING工具,但是本领域内的技术人员可以理解,可以通过允许按照期望编组电子文档并且按照期望操纵多组电子文档,在其他呈现软件环境中使用PAGEGROUPING工具以便利电子文档例如文件或页面的管理。0029PAGEGROUPING工具在下述方面是有益的它使得用户能够分类、操纵和容易地访问在文档中的多组页面。在维持大量文档其中每个包含大量的页面的情况下,这是特别有益的。PAGEGROUPING工具已经证明在教育环境中是非常有益的,因为其允许教师组织和构造教学计划。例如,可以通过文档来表示书,并且在文。

28、档内的每组表示那本书的章节。这允许教师计划几个章节即组的教学,并且能够在上课期间使用PAGEGROUPVIEW说明书CN101939722ACN101939725A5/8页8和PAGESORTER用户界面来在不同的章节之间转换。注意,课程也可以被提供为组中的文档页面。另一个类似的用途是组织要在课程期间讨论的几个题目的特定课程教学,并且创建包括用于表示讨论的题目的多组文档页面的文档。在教学期间未讨论的组的文档页面当然可以通过用户界面被移动到表示下一个课程教学的文档。0030PAGEGROUPING工具可以包括程序模块,所述程序模块包括但是不限于例程、程序、对象组件、数据结构等,并且可以被体现为在。

29、计算机可读介质上存储的计算机可读程序代码。所述计算机可读介质是可以存储数据的任何数据存储装置,所述数据可以其后被计算机系统读取。计算机可读介质的示例例如包括只读存储器、随机存取存储器、CDROM、磁带和光数据存储装置。也可以通过包括耦合的计算机系统的网络来分发所述计算机可读程序代码,以便以分布的方式来存储和执行计算机可读程序代码。0031虽然已经参考附图说明了实施例,但是本领域内的技术人员可以理解,在不不偏离由所附的权利要求限定的其精神和范围的情况下,可以进行改变和修改。0032附件A0033CLASSIGROUPMODEL00340035PROTECTED0036VIRTUALIGROUPM。

30、ODEL;0037PUBLIC0038VIRTUALVOIDADDPAGEPAGE_IDID,UINTINDEXOXFFFFFFFF0;0039VIRTUALVOIDREMOVEPAGEPAGE_IDID0;0040VIRTUALVOIDMOVEPAGEPAGE_IDID,UINTINDEX0;0041VIRTUALGROUP_IDGETUNIQUEGROUPLDCONST0;0042VIRTUALVOIDSETTITLECONSTCATLSTRINGTITLE0;0043VIRTUALCATLSTRINGGETTITLECONST0;0044VIRTUALVOIDADDPAGELISTCAT。

31、LARRAYIDS0;0045VIRTUALVOIDGETPAGEIDSCATLARRAYIDS0;0046VIRTUALINTGETDISPLAYINDEXPAGE_IDID0;0047VIRTUALPAGE_IDGETIDFROMINDEXUINTINDEX0;0048VIRTUALUINTGETNUMBER0FPAGESCONST0;0049;0050TYPEDEFBOOSTSHARED_PTRIGROUPMODELPTR0051附件B0052CLASSIGROUPLISTMODEL00530054PROTECTED0055VIRTUALIGROUPLISTMODEL;0056PUBLI。

32、C0057VIRTUALGROUP_IDADDGROUPUINTINDEX0XFFFFFFFF0;0058VIRTUALVOIDDELETEGROUPGROUP_IDID0;说明书CN101939722ACN101939725A6/8页90059VIRTUALVOIDMOVEGROUPGROUP_IDID,UINTNEWINDEX0;0060VIRTUALVOIDRESTOREEXISTINGGROUPGROUP_IDID,UINTIINSERTIONINDEX0;0061VIRTUALVOIDGETGROUPIDSCATLARRAYIDS0;0062VIRTUALIGROUPMODELPTR。

33、GETGROUPGROUP_IDID0;0063VIRTUALGROUP_IDGETGROUPFROMINDEXUINTINDEX0;0064VIRTUALVOIDREFRESHALLGROUPS0;0065VIRTUALIGROUPMODELPTRGETALLGROUPS0;0066VIRTUALINTGETGROUPINDEXFROMIDGROUP_IDID0;0067VIRTUALINTGETGROUPCOUNT0;0068;0069TYPEDEFBOOSTSHARED_PTRIGROUPLISTMODELPTR;0070附件C0071CLASSIGROUPLISTCONTROLLER0。

34、0720073PROTECTED0074VIRTUALIGROUPLISTCONTROLLER;0075PUBLIC0076VIRTUALGROUP_IDADDGROUPUINTINDEX0XFFFFFFFF0;0077VIRTUALVOIDDELETEGROUPGROUP_IDID0;0078VIRTUALVOIDMOVEGROUPGROUP_IDID,UINTNEWINDEX0;0079VIRTUALVOIDRESTOREEXISTINGGROUPGROUP_IDID,UINTIINSERTIONINDEX0;0080VIRTUALVOIDGETGROUPIDSCATLARRAYIDS0;。

35、0081VIRTUALVOIDSETGROUPTITLECONSTCATLSTRINGTITLE,GROUP_IDID0;0082;0083TYPEDEFBOOSTSHARED_PTRIGROUPLISTCONTROLLERPTR;0084附件D0085CLASSIPAGEGROUPVIEW00860087PUBLIC0088VIRTUALVOIDINVALIDATEAREACONSTRECTFRECT0;0089VIRTUALVOIDNOTIFYCLOSEVIEW0;0090VIRTUALVOIDLAYOUTCHANGE0;0091VIRTUALRECTFVISIBLEDISPLAYAREA。

36、0;0092VIRTUALVOIDSETSCROLLBARPOSITIONINTX,INTY0;0093VIRTUALPOINTFSCROLLBARPOSITION0;说明书CN101939722ACN101939725A7/8页100094VIRTUALPOINTFMAXIMUMSCROLLPOS0;0095VIRTUALVOIDINVOKEGROUPRIGHTCLICKMENUCONSTPOINTFPT,CONSTGROUP_ID0096ID0;0097VIRTUALVOIDINVOKEPAGERIGHTCLICKMENUCONSTPOINTFPT,CONSTPAGE_ID0098ID0;。

37、0099VIRTUALVOIDSTARTPAGETITLEEDITINGCONSTRECTFRECT,CONSTPAGE_IDID0;0100VIRTUALVOIDSTARTGROUPTITLEEDITINGCONSTRECTFRECT,CONSTGROUP_IDID01010;0102VIRTUALVOIDSTARTAUTOSCROLLTIMER0;0103VIRTUALVOIDSTOPAUTOSCROLLTIMER0;0104VIRTUALIPAGEGROUPVIEW;0105;0106附件D0107CLASSCPAGEGROUPVIEW01080109CPAGEGROUPVIEWCONS。

38、TINOTEBOOKDOCUMENTPTRPDOC,CONST0110IGROUPLISTMODELPTRMODEL,IPAGEGROUPVIEWPGVIEW;0111CPAGEGROUPVIEW;0112VOIDONPAINTCONSTSDGRAPHICSCOUTEXTPTRG,CONSTRECTFRECT;0113VOIDONLBUTTONDOWNPOINTFPT,INTNFLAGS;0114VOIDONRBUTTONDOWNPOINTFPT,INTNFLAGS;0115VOIDONLBUTTONUPPOINTFPT,INTNFLAGS;0116VOIDONKEYDOWNUINTKEY,U。

39、INTFLAGS;/USETHECROSSPLATFORMKEYS0117HERE0118VOIDONLBUTTONDBLCLICKPOINTFPT,INTNFLAGS;0119VOIDONMOUSEMOVEPOINTFPT,INTNFLAGS;0120VOIDINVALIDATERECTCONSTRECTFRECT;0121VOIDONDRAGGINGPOINTFPT;0122VOIDONDRAGENTERCONSTSDIMAGEPTRIMG,POINTFPT;0123BOOLONDRAGSTARTPOINTFPT,INTNFLAGS;0124VOIDONDRAGLEAVE;0125BOOL。

40、HANDLEDROPPOINTFPT;0126VOIDREMOVEDRAGFEEDBACK;0127VOIDLAYOUTITEMSCONSTSDGRAPHICSCONTCXTPTRG,CONSTRECTFRECT,SIZEF说明书CN101939722ACN101939725A8/8页110128SCROLLSIZE;0129VOIDINITVIEW;0130BOOLIFPRODUCERIGHTCLICKMENUCONSTPOINTFPT;0131VOIDDELETEGROUPGROUP_IDID;0132VOIDMOVEUPGROUPGROUP_IDID;0133VOIDMOVEDOWNGR。

41、OUPGROUP_IDID;0134PAGEITEMPTRGETDRAGPAGEITEMRETURNM_PITERN;0135GROUPITEMPTRGROUPATPOINTPOINTFPT;0136PAGEITEMPTRPAGEATPOINTPOINTFPT;0137INOTEPAGEMODELARRAYLISTPTRGETSELECTEDNOTEPAGEMODELS;0138INTGETITEMFROMPOSITIONGROUP_IDGID,POINTFPT;0139GROUP_IDGROUPATPOSITIONPOINTFPT;0140PAGE_IDPAGEATPOSITIONPOINT。

42、FPT;0141BOOLISDRAGFROMSELF;0142VOIDENDDRAGDROP;0143VOIDEDITGROUPTITLECONSTGROUPIDID;0144VOIDEDITPAGETITLECONSTPAGE_IDID;0145UINTNUMBEROFSELECTEDPAGESCONST;0146BOOLISSCREENSHADEVISIBLECONSTPAGE_IDID;0147BOOLISPAGEEMPTYCONSTPAGE_IDID;0148VOIDDELETESELECTEDPAGES;0149VOIDCLEARSELECTEDPAGES;0150VOIDSCREE。

43、NSHADESELECTEDPAGES;0151VOIDUPDATEPAGECONSTPAGE_IDID;0152BOOLISRUBBERBANDINGCONST;0153VOIDSELECTEDPAGECATLARRAYIDS;0154VOIDDOAUTOSCROLL;0155IGROUPMODELPTRGETDRAGGROUPMODEL;0156VOIDCREATEGROUPFROMSELECTEDPAGESCONSTCATLSTRINGTITLE;0157PRIVATE0158IPAGEGROUPVIEWM_PGVIEW;0159;0160TYPEDEFBOOSTSHARED_PTRCPAGEGROUPVIEWPTR;说明书CN101939722ACN101939725A1/6页12图1现有技术图2说明书附图CN101939722ACN101939725A2/6页13图3说明书附图CN101939722ACN101939725A3/6页14图4说明书附图CN101939722ACN101939725A4/6页15图5说明书附图CN101939722ACN101939725A5/6页16图6说明书附图CN101939722ACN101939725A6/6页17图7说明书附图CN101939722A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1