文本编辑方法和装置制造方法

文档序号:6620751阅读:139来源:国知局
文本编辑方法和装置制造方法
【专利摘要】本发明揭示了一种文本编辑方法和装置,属于计算机【技术领域】。所述文本编辑方法包括:接收文本编辑操作;确定所述文本编辑操作在文本文件中的编辑起点和编辑终点,所述编辑起点是请求编辑的文本内容中的首字符与所述文本文件的起始位置之间的偏移量位置,所述编辑终点是请求编辑的文本内容中的末字符与所述文本文件的结束位置之间的偏移量位置;将所述编辑起点、所述编辑终点以及位于所述编辑起点和所述编辑终点之间的文本内容进行关联存储;根据所述文本编辑操作编辑所述文本内容。解决了相关技术中终端缓存文本文件时需要耗用大量内存的问题;达到了可以减少终端需要缓存的内容,进而降低需要占用的内存的效果。
【专利说明】文本编辑方法和装置

【技术领域】
[0001] 本公开涉及计算机【技术领域】,特别涉及一种文本编辑方法和装置。

【背景技术】
[0002] 随着计算机的普及,文本编辑已经成为常见的工作场景之一。
[0003] 为了使用户在文本编辑过程中能够实现文本撤销,相关技术提供的一种文本编辑 方法包括:终端接收文本编辑操作,缓存整个文本文件,根据接收到的文本编辑操作对该文 本文件中的文本内容进行编辑。这样,当终端接收到撤销操作时,终端可以直接使用缓存的 文本文件替换编辑后的文本文件。
[0004] 公开人在实现本公开的过程中,发现相关技术至少存在如下缺陷:由于终端需要 缓存编辑之前的整个文本文件,所以这就导致终端缓存文本文件时需要耗用大量的内存。


【发明内容】

[0005] 为了解决相关技术中终端缓存编辑前的文本文件需要耗用大量内存的问题,本公 开提供了一种文本编辑方法和装置。所述技术方案如下:
[0006] 根据本公开实施例的第一方面,提供一种文本编辑方法,包括:
[0007] 接收文本编辑操作;
[0008] 确定所述文本编辑操作在文本文件中的编辑起点和编辑终点,所述编辑起点是请 求编辑的文本内容中的首字符与所述文本文件的起始位置之间的偏移量位置,所述编辑终 点是请求编辑的文本内容中的末字符与所述文本文件的结束位置之间的偏移量位置;
[0009] 将所述编辑起点、所述编辑终点以及位于所述编辑起点和所述编辑终点之间的文 本内容进行关联存储;
[0010] 根据所述文本编辑操作编辑所述文本内容。
[0011] 可选地,所述确定所述文本编辑操作在文本文件中的编辑起点和编辑终点,包 括:
[0012] 若所述文本编辑操作为输入操作,则根据定位光标与所述文本文件的起始位置之 间的偏移量计算所述编辑起点,并根据所述定位光标与所述文本文件的结束位置之间的偏 移量计算所述编辑终点;
[0013] 若所述文本编辑操作为前向删除操作,则根据定位光标后退一个字符之后所在的 位置与所述文本文件的起始位置之间的偏移量计算所述编辑起点,并根据所述定位光标当 前所在的位置与所述文本文件的结束位置之间的偏移量计算所述编辑终点;
[0014] 若所述文本编辑操作为后向删除操作,则根据所述定位光标当前所在的位置与所 述文本文件的起始位置之间的偏移量计算所述编辑起点,并根据所述定位光标前进一个字 符之后所在的位置与所述文本文件的结束位置之间的偏移量计算所述编辑终点;
[0015] 若所述文本编辑操作为对选定的文本内容的选定删除操作,则根据所述选定的文 本内容中首个字符所在的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起 点,根据所述选中的文本内容中最后一个字符所在的位置与所述文本文件的结束位置之间 的偏移量计算所述编辑终点;
[0016] 若所述文本编辑操作为替换操作,则根据替换区域中首次出现查找的文本内容中 的首个字符的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起点,并根据所 述替换区域中末次出现所述查找的文本内容中的最后一个字符的位置与所述文本文件的 结束位置之间的偏移量计算所述编辑终点;
[0017] 若所述文本编辑操作为对选中的文本内容的格式更改操作,则根据所述选中的文 本内容中首个字符所在的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起 点,根据所述选中的文本内容中最后一个字符所在的位置与所述文本文件的结束位置之间 的偏移量计算所述编辑终点。
[0018] 可选地,所述方法还包括:
[0019] 当所述文本编辑操作为输入操作、前向删除操作或者后向删除操作时,检测所述 文本编辑操作与最近一次接收到的历史文本编辑操作是否是关联操作;
[0020] 如果所述文本编辑操作与所述历史文本编辑操作是关联操作,则从所述文本编辑 操作的编辑起点和所述历史文本编辑操作的编辑起点中选择最小编辑起点,从所述文本编 辑操作的编辑终点和所述历史文本编辑操作的编辑终点中选择最大编辑终点;
[0021] 将所述最小编辑起点、所述最大编辑终点以及位于所述最小编辑起点和所述最大 编辑终点之间的文本内容进行关联存储;
[0022] 如果所述文本编辑操作与所述历史文本编辑操作不是关联操作,则执行所述将所 述编辑起点、所述编辑终点以及位于所述编辑起点和所述编辑终点之间的文本内容进行关 联存储的步骤。
[0023] 可选地,所述检测所述文本编辑操作与最近一次接收到的历史文本编辑操作是否 是关联操作,包括:
[0024] 检测所述文本编辑操作和所述历史文本编辑操作是否是同种类型的编辑操作;
[0025] 和 / 或,
[0026] 检测所述文本编辑操作和所述历史文本编辑操作是否是编辑位置连续的编辑操 作;
[0027] 和 / 或,
[0028] 检测所述文本编辑操作与所述历史文本编辑操作的编辑时间间隔是否小于预定 时间间隔。
[0029] 可选地,所述方法还包括:
[0030] 接收撤销操作;
[0031] 从存储的各组编辑起点、编辑终点和文本内容中选择与所述撤销操作对应的一组 编辑起点、编辑终点和文本内容;
[0032] 使用选择得到的文本内容替换所述文本文件中处于选择得到的所述编辑起点和 所述编辑终点之间的文本内容。
[0033] 根据本公开实施例的第二方面,提供一种文本编辑装置,包括:
[0034] 编辑操作接收模块,被配置为接收文本编辑操作;
[0035] 第一确定模块,被配置为确定所述编辑操作接收模块接收到的所述文本编辑操作 在文本文件中的编辑起点和编辑终点,所述编辑起点是请求编辑的文本内容中的首字符与 所述文本文件的起始位置之间的偏移量位置,所述编辑终点是请求编辑的文本内容中的末 字符与所述文本文件的结束位置之间的偏移量位置;
[0036] 第一存储模块,被配置为将所述第一确定模块确定的所述编辑起点、所述编辑终 点以及位于所述编辑起点和所述编辑终点之间的文本内容进行关联存储;
[0037] 文本编辑模块,被配置为根据所述文本编辑操作编辑所述文本内容。
[0038] 可选地,所述第一确定模块,被配置为:
[0039] 在所述文本编辑操作为输入操作时,根据定位光标与所述文本文件的起始位置之 间的偏移量计算所述编辑起点,并根据所述定位光标与所述文本文件的结束位置之间的偏 移量计算所述编辑终点;
[0040] 在所述文本编辑操作为前向删除操作时,根据定位光标后退一个字符之后所在的 位置与所述文本文件的起始位置之间的偏移量计算所述编辑起点,并根据所述定位光标当 前所在的位置与所述文本文件的结束位置之间的偏移量计算所述编辑终点;
[0041] 在所述文本编辑操作为后向删除操作时,根据所述定位光标当前所在的位置与所 述文本文件的起始位置之间的偏移量计算所述编辑起点,并根据所述定位光标前进一个字 符之后所在的位置与所述文本文件的结束位置之间的偏移量计算所述编辑终点;
[0042] 在所述文本编辑操作为对选定的文本内容的选定删除操作时,根据所述选定的文 本内容中首个字符所在的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起 点,根据所述选中的文本内容中最后一个字符所在的位置与所述文本文件的结束位置之间 的偏移量计算所述编辑终点;
[0043] 在所述文本编辑操作为替换操作时,则根据替换区域中首次出现查找的文本内容 中的首个字符的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起点,并根据 所述替换区域中末次出现所述查找的文本内容中的最后一个字符的位置与所述文本文件 的结束位置之间的偏移量计算所述编辑终点;
[0044] 在所述文本编辑操作为对选中的文本内容的格式更改操作时,根据所述选中的文 本内容中首个字符所在的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起 点,根据所述选中的文本内容中最后一个字符所在的位置与所述文本文件的结束位置之间 的偏移量计算所述编辑终点。
[0045] 可选地,所述装置还包括:
[0046] 操作检测模块,被配置为在所述文本编辑操作为输入操作、前向删除操作或者后 向删除操作时,检测所述文本编辑操作与最近一次接收到的历史文本编辑操作是否是关联 操作;
[0047] 第二确定模块,被配置为在所述操作检测模块的检测结果为所述文本编辑操作与 所述历史文本编辑操作是关联操作时,从所述文本编辑操作的编辑起点和所述历史文本编 辑操作的编辑起点中选择最小编辑起点,从所述文本编辑操作的编辑终点和所述历史文本 编辑操作的编辑终点中选择最大编辑终点;
[0048] 第二存储模块,被配置为将所述第二确定模块确定的所述最小编辑起点、所述最 大编辑终点以及位于所述最小编辑起点和所述最大编辑终点之间的文本内容进行关联存 储;
[0049] 所述第一存储模块,被配置为在所述操作检测模块的检测结果为所述文本编辑操 作与所述历史文本编辑操作不是关联操作时,执行所述将所述编辑起点、所述编辑终点以 及位于所述编辑起点和所述编辑终点之间的文本内容进行关联存储的步骤。
[0050] 可选地,所述操作检测模块,包括:
[0051] 第一检测单元,被配置为检测所述文本编辑操作和所述历史文本编辑操作是否是 同种类型的编辑操作;
[0052] 和 / 或,
[0053] 第二检测单元,被配置为检测所述文本编辑操作和所述历史文本编辑操作是否是 编辑位置连续的编辑操作;
[0054] 和 / 或,
[0055] 第三检测单元,被配置为检测所述文本编辑操作与所述历史文本编辑操作的编辑 时间间隔是否小于预定时间间隔。
[0056] 可选地,所述装置还包括:
[0057] 撤销操作接收模块,被配置为接收撤销操作;
[0058] 信息选择模块,被配置为从存储的各组编辑起点、编辑终点和文本内容中选择与 所述撤销操作对应的一组编辑起点、编辑终点和文本内容;
[0059] 内容替换模块,被配置为使用选择得到的文本内容替换所述文本文件中处于选择 得到的所述编辑起点和所述编辑终点之间的文本内容。
[0060] 根据本公开实施例的第三方面,提供一种文本编辑装置,包括:
[0061] 处理器;
[0062] 用于存储处理器可执行指令的存储器;
[0063] 其中,所述处理器被配置为:
[0064] 接收文本编辑操作;
[0065] 确定所述文本编辑操作在文本文件中的编辑起点和编辑终点,所述编辑起点是请 求编辑的文本内容中的首字符与所述文本文件的起始位置之间的偏移量位置,所述编辑终 点是请求编辑的文本内容中的末字符与所述文本文件的结束位置之间的偏移量位置; [0066] 将所述编辑起点、所述编辑终点以及位于所述编辑起点和所述编辑终点之间的文 本内容进行关联存储;
[0067] 根据所述文本编辑操作编辑所述文本内容。
[0068] 本公开的实施例提供的技术方案可以包括以下有益效果:
[0069] 通过将文本编辑操作的编辑起点、编辑终点以及位于编辑起点和编辑终点之间的 文本内容进行关联存储,使得终端可以无需缓存文本文件中的全部内容,而是只缓存编辑 起点和编辑终点之间的部分内容,进而解决相关技术中终端缓存文本文件时需要耗用大量 内存的问题;达到了可以减少终端需要缓存的内容,进而降低需要占用的内存的效果。
[0070] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本 公开。

【专利附图】

【附图说明】
[0071] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施 例,并于说明书一起用于解释本发明的原理。
[0072] 图1是根据一示例性实施例示出的一种文本编辑方法的流程图。
[0073] 图2A是根据另一示例性实施例示出的一种文本编辑方法的流程图。
[0074] 图2B是根据一示例性实施例示出的终端确定的编辑起点和编辑终点的示意图。
[0075] 图2C是根据一示例性实施例示出的终端确定的编辑起点和编辑终点的示意图。
[0076] 图2D是根据另一示例性实施例示出的另一种文本编辑方法的流程图。
[0077] 图3是根据一示例性实施例示出的一种文本编辑装置的框图。
[0078] 图4是根据另一示例性实施例示出的一种文本编辑装置的框图。
[0079] 图5是根据一示例性实施例示出的一种用于文本编辑的装置的框图。

【具体实施方式】
[0080] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0081] 图1是根据一示例性实施例示出的一种文本编辑方法的流程图,如图1所示,该文 本编辑方法可以包括以下步骤。
[0082] 在步骤101中,接收文本编辑操作。
[0083] 在步骤102中,确定文本编辑操作在文本文件中的编辑起点和编辑终点。
[0084] 其中,编辑起点是请求编辑的文本内容中的首字符与文本文件的起始位置之间的 偏移量位置,编辑终点是请求编辑的文本内容中的末字符与文本文件的结束位置之间的偏 移量位置。
[0085] 在步骤103中,将编辑起点、编辑终点以及位于编辑起点和编辑终点之间的文本 内容进行关联存储。
[0086] 在步骤104中,根据文本编辑操作编辑文本内容。
[0087] 综上所述,本公开实施例中提供的文本编辑方法,通过将文本编辑操作的编辑起 点、编辑终点以及位于编辑起点和编辑终点之间的文本内容进行关联存储,使得终端可以 无需缓存文本文件中的全部内容,而是只缓存编辑起点和编辑终点之间的部分内容,进而 解决相关技术中终端缓存文本文件时需要耗用大量内存的问题;达到了可以减少终端需要 缓存的内容,进而降低需要占用的内存的效果。
[0088] 本公开实施例中提供的方法,可以用于便签等多种应用的文本编辑中。
[0089] 图2A是根据一示例性实施例示出的一种文本编辑方法的流程图,如图2A所示,该 文本编辑方法可以包括以下步骤。
[0090] 在步骤201中,接收文本编辑操作。
[0091] 当用户需要对文本文件中的文本内容进行编辑时,用户可以施加文本编辑操作, 相应的,终端可以接收文本编辑操作。
[0092] 比如,当用户想要在文本文件中的某一位置新增文本内容时,用户可以将定位光 标移动至该位置,然后执行输入操作;其中,输入操作可以是用户通过键盘输入的输入操 作,也可以是用户通过工具栏中的插入功能进行输入的输入操作,本实施例对此并不做限 定。
[0093] 当用户想要删除文本文件的文本内容中的某一字符时,用户可以将定位光标移 动至该字符之前或者之后的位置;在定位光标移动至该字符之前的位置时,用户可以使用 'delete'键来施加后向删除操作;在定位光标移动至该字符之后的位置时,用户可以使用 'backspace'键来施加前向删除操作。其中,本实施例中的后向删除操作是指定位光标位于 某一位置时,用户按压一次'delete'键所对应的操作;前向删除操作是指定位光标位于某 一位置时,用户按压一次'backspace'键所对应的操作。
[0094] 当用户想要删除文本文件的部分文本内容时,用户可以选定该文本内容,然后使 用'backspace'键或者'delete'键来执行选定删除操作。
[0095] 当用户想要将文本内容中的一部分文本内容进行替换时,用户可以输入需要查找 的文本内容,然后执行将替换区域中的查找的文本内容替换成其他文本内容的替换操作; 其中,替换区域可以是用户选择的区域,也可以是从文本文件的起始位置到结束位置的全 部区域,还可以是从定位光标当前所在位置到首次出现查找的文本内容的最后一个字符所 在位置的区域,本实施例对此并不做限定。
[0096] 当用户需要对文本文件中的部分文本内容进行格式更改时,用户可以选中该文本 内容,然后执行对选中的文本内容的格式更改操作。
[0097] 在步骤202中,确定文本编辑操作在文本文件中的编辑起点和编辑终点。
[0098] 终端接收到文本编辑操作之后,为了后续步骤的执行,终端可以确定文本编辑操 作在文本文件中的编辑起点和编辑终点。
[0099] 其中,编辑起点是请求编辑的文本内容中的首字符与文本文件的起始位置之间的 偏移量位置,编辑终点是请求编辑的文本内容中的末字符与文本文件的结束位置之间的偏 移量位置。
[0100] 在实际实现时,根据终端接收到的文本编辑操作的不同,终端确定编辑起点和编 辑终点的步骤可以包括如下几种可能的实现方式:
[0101] 在第一种可能的实现方式中,
[0102] 若文本编辑操作为输入操作,则根据定位光标与文本文件的起始位置之间的偏移 量计算编辑起点,并根据定位光标与文本文件的结束位置之间的偏移量计算编辑终点;
[0103] 如果接收到的文本编辑操作为输入操作,则终端可以计算从文本文件的起始位置 到定位光标所在位置的第一偏移量,将与起始位置之间的偏移量为计算得到的第一偏移量 的位置确定为编辑起点;同时,终端计算从文本文件的结束位置到定位光标所在位置的第 二偏移量,将与结束位置之间的偏移量为计算得到的第二偏移量的位置确定为编辑终点。
[0104] 在第二种可能的实现方式中,
[0105] 若文本编辑操作为前向删除操作,则根据定位光标后退一个字符之后所在的位置 与文本文件的起始位置之间的偏移量计算编辑起点,并根据定位光标当前所在的位置与文 本文件的结束位置之间的偏移量计算编辑终点;
[0106] 如果终端接收到的文本编辑操作为前向删除操作,则终端可以计算从文本文件的 起始位置到定位光标从当前所在位置后退一个字符之后的位置的第三偏移量,将与起始位 置之间的偏移量为第三偏移量的位置确定为编辑起点;同时,终端计算从文本文件的结束 位置到定位光标当前所在位置的第四偏移量,将与结束位置之间的偏移量为第四偏移量的 位置确定为编辑终点。
[0107] 在第三种可能的实现方式中,
[0108] 若文本编辑操作为后向删除操作,则根据定位光标当前所在的位置与文本文件的 起始位置之间的偏移量计算编辑起点,并根据定位光标前进一个字符之后所在的位置与文 本文件的结束位置之间的偏移量计算编辑终点;
[0109] 如果接收到的文本编辑操作为后向删除操作,则终端可以计算从文本文件的起始 位置到定位光标所在位置的第五偏移量,将与起始位置之间的偏移量为第五偏移量的位置 确定为编辑起点;同时,终端计算从文本文件的结束位置到定位光标从当前位置前进一个 字符之后所在位置的第六偏移量,将与结束位置之间的偏移量为第六偏移量的位置确定为 编辑终点。
[0110] 在第四种可能的实现方式中,
[0111] 若文本编辑操作为对选定的文本内容的选定删除操作,则根据选定的文本内容中 首个字符所在的位置与文本文件的起始位置之间的偏移量计算编辑起点,根据选中的文本 内容中最后一个字符所在的位置与文本文件的结束位置之间的偏移量计算编辑终点;
[0112] 如果接收到的文本编辑操作为对选中内容的选定删除操作,则终端可以计算从文 本文件的起始位置到选中的文本内容中的首个字符所在位置之间的第七偏移量,将与起始 位置之间的偏移量为第七偏移量的位置确定为编辑起点;同时,终端还可以计算从文本文 件的结束位置到选中的文本内容中的最后一个字符所在位置之间的第八偏移量,将与结束 位置之间的偏移量为第八偏移量的位置确定为编辑终点。
[0113] 在第五种可能的实现方式中,
[0114] 若文本编辑操作为替换操作,则根据替换区域中首次出现查找的文本内容中的首 个字符的位置与文本文件的起始位置之间的偏移量计算编辑起点,并根据替换区域中末次 出现查找的文本内容中的最后一个字符的位置与文本文件的结束位置之间的偏移量计算 编辑终点;
[0115] 如果接收到的文本编辑操作为替换操作,则终端可以确定替换区域中首次出现查 找的文本内容中的首个字符的位置,计算从文本文件的起始位置到确定的首个字符的位置 之间的第九偏移量,将与起始位置之间的偏移量为第九偏移量的位置确定为编辑起点;同 时,终端确定替换区域中末次出现查找的文本内容中的最后一个字符的位置,计算从文本 文件的结束位置到确定的最后一个字符的位置的第十偏移量,将与结束位置之间的偏移量 为第十偏移量的位置确定为编辑终点。
[0116] 在第六种可能的实现方式中,
[0117] 若文本编辑操作为对选中的文本内容的格式更改操作,则根据选中的文本内容中 首个字符所在的位置与文本文件的起始位置之间的偏移量计算编辑起点,根据选中的文本 内容中最后一个字符所在的位置与文本文件的结束位置之间的偏移量计算编辑终点。
[0118] 如果接收到的文本编辑操作为对选中内容的格式更改操作,则终端可以计算从文 本文件的起始位置到选中的文本内容中的首个字符所在位置之间的第十一偏移量,将与起 始位置之间的偏移量为第十一偏移量的位置确定为编辑起点;同时,终端还可以计算从文 本文件的结束位置到选中的文本内容中的最后一个字符所在位置之间的第十二偏移量,将 与结束位置之间的偏移量为第十二偏移量的位置确定为编辑终点。
[0119] 比如,以文本编辑操作为后向删除操作为例,请参考图2B,终端接收到后向删除操 作时,定位光标在文本文件中的A位置,则终端可以将A位置以及从A位置前进一个字符之 后的B位置确定为编辑起点和编辑终点;类似的,以文本编辑操作为替换操作为例,请参考 图2C,替换区域为图中的阴影区域,查找的文本内容为'文本内容',则终端可以将C位置和 D位置确定为编辑起点和编辑终点。
[0120] 需要说明的另一点是,当文本编辑操作为对选择的文本内容添加批注的编辑操作 时,终端可以计算从起始位置到用户选择的文本内容中的首个字符的偏移量,将与起始位 置之间的偏移量为计算得到的偏移量的位置确定为编辑起点;同时,终端还可以计算从结 束位置到用户选择的文本内容中的最后一个字符的偏移量,将与结束位置之间的偏移量为 计算得到的偏移量的位置确定为编辑终点,本实施例在此不再赘述。
[0121] 在步骤203中,将编辑起点、编辑终点以及位于编辑起点和编辑终点之间的文本 内容进行关联存储。
[0122] 终端确定编辑起点和编辑终点之后,终端可以确定文本文件中位于编辑起点和编 辑终点之间的文本内容,然后将编辑起点、编辑终点以及确定的文本内容进行关联存储。以 文本编辑操作为后向删除操作为例,终端可以将A位置、B位置以及位于A位置和B位置之 间的'文'进行关联存储。
[0123] 在实际实现时,终端可以维护一个撤销堆栈,当终端接收到文本编辑操作时,终端 可以将文本编辑操作所对应的编辑起点、编辑终点以及对应的文本内容组合存储至撤销堆 栈中。并且当终端接收到多个文本编辑操作时,终端可以将每次接收到的文本编辑操作所 对应的编辑起点、编辑终点以及文本内容依次存储至撤销堆栈中。
[0124] 需要说明的一点是,当文本编辑操作为输入操作时,文本文件中编辑起点和编辑 终点之间没有文本内容,此时终端可以将编辑起点和编辑终点之间的文本内容设置为空。
[0125] 需要说明的另一点是,当文本编辑操作为对选择的文本内容添加批注的编辑操作 时,终端可以使用用户添加的批注中的内容代替编辑起点和编辑终点之间的文本内容进行 存储。
[0126] 在步骤204中,根据文本编辑操作编辑文本内容。
[0127] 比如,仍然以文本编辑操作为后向删除操作为例,终端将删除处于A位置和B位置 之间的'文'。
[0128] 需要说明的是,本实施例只是以终端先执行步骤203后执行步骤204为例,在实际 实现时,终端还可以先执行步骤204后执行步骤203,或者同时执行步骤203和步骤204,只 需要保证步骤203和步骤204在步骤202之后执行即可,对其实际执行顺序并不做限定。
[0129] 在步骤205中,接收撤销操作;
[0130] 终端对文本文件的文本内容进行编辑之后,当用户想要将文本内容恢复到编辑之 前的状态时,用户可以点击撤销按钮,相应的,终端可以接收到撤销操作。
[0131] 需要说明的是,步骤205是步骤201至步骤204之后执行的步骤,在实际实现时, 步骤201至步骤204可以在步骤205之前执行多次,也可以执行一次,本实施例对此并不做 限定。
[0132] 在步骤206中,从存储的各组编辑起点、编辑终点和文本内容中选择与撤销操作 对应的一组编辑起点、编辑终点和文本内容;
[0133] 其中,与撤销操作对应的一组编辑起点、编辑终点和文本内容是指:终端在接收到 撤销操作之前,最近一次接收到的文本编辑操作所对应的编辑起点、编辑终点和文本内容。
[0134] 在实际实现时,终端可以从撤销堆栈中选择处于堆栈顶部的编辑起点、编辑终点 和文本内容,将选择得到的编辑起点、编辑终点和文本内容作为与本次撤销操作对应的一 组编辑起点、编辑终点和文本内容。
[0135] 在步骤207中,使用选择得到的文本内容替换文本文件中处于选择得到的编辑起 点和编辑终点之间的文本内容。
[0136] 终端可以使用选择得到的文本内容替换文本文件中处于选择得到的编辑起点和 编辑终点之间的文本内容。
[0137] 比如,终端选择的编辑起点、编辑终点以及文本内容依次为A位置、B位置以及 '文则终端可以使用'文'来替换文本文件中处于A位置和B位置之间的文本内容,也即 将'文'添加至A位置和B位置之间。
[0138] 需要说明的是,在终端执行撤销之后,当用户想要恢复撤销之前的文本文件时,用 户还可以点击恢复按钮,相应的,终端可以接收恢复操作。在终端接收到恢复操作之后,终 端可以选择与恢复操作对应的编辑起点、编辑终点以及编辑起点和编辑终点之间的文本内 容,然后使用选择得到的文本内容替换文本文件中位于编辑起点和编辑终点之间的文本内 容。
[0139] 在实际实现时,在终端执行文本撤销之后,终端可以将选择得到的编辑起点、编辑 终点以及替换掉的文本内容组合存储至恢复堆栈中。并且,当终端接收到多次撤销操作时, 终端可以将每次撤销操作所对应的编辑起点、编辑终点以及文本内容依次组合存储至恢复 堆栈中。此后,当终端接收到恢复操作时,终端可以选择恢复堆栈中处于堆栈顶部的编辑起 点、编辑终点和文本内容,将选择得到的编辑起点、编辑终点和文本内容确定为与恢复操作 对应的编辑起点、编辑终点和文本内容。
[0140] 此外,终端执行文本恢复之后,终端可以将选择得到的编辑起点、编辑终点和替换 掉的文本内容组合存储至撤销堆栈中,本实施例在此不再赘述。
[0141] 综上所述,本公开实施例中提供的文本编辑方法,通过将文本编辑操作的编辑起 点、编辑终点以及位于编辑起点和编辑终点之间的文本内容进行关联存储,使得终端可以 无需缓存文本文件中的全部内容,而是只缓存编辑起点和编辑终点之间的部分内容,进而 解决相关技术中终端缓存文本文件时需要耗用大量内存的问题;达到了可以减少终端需要 缓存的内容,进而降低需要占用的内存的效果。
[0142] 需要说明的是,请参考图2D,在执行步骤203之前,终端还可以执行如下步骤:
[0143] 在步骤208中,当文本编辑操作为输入操作、前向删除操作或者后向删除操作时, 检测文本编辑操作与最近一次接收到的历史文本编辑操作是否是关联操作,如果检测结果 为是关联操作,则执行步骤209 ;如果检测结果为不是关联操作,则执行步骤203。
[0144] 其中,本步骤可以包括如下检测方式中的至少一种:
[0145] 第一种:
[0146] 检测文本编辑操作和历史文本编辑操作是否是同种类型的编辑操作;
[0147] 终端检测文本编辑操作和历史文本编辑操作是否是同种类型的编辑操作,如果检 测结果为是同种类型的编辑操作,则终端可以确定文本编辑操作和历史文本编辑操作是关 联操作,反之,则不是关联操作。
[0148] 比如,文本编辑操作为输入操作,最近一次接收到的历史文本编辑操作也是输入 操作,则终端可以确定文本编辑操作和历史文本编辑操作是关联操作。而如果文本编辑操 作为输入操作,而历史文本编辑操作为前向删除操作或者后向删除操作或者替换操作,则 终端可以确定文本编辑操作与历史文本编辑操作不是关联操作。
[0149] 需要说明的是,由于用户在执行前向删除操作或者后向删除操作的目的均是删除 文本文件中的文本内容,所以在本实施例中,终端可以将前向删除操作和后向删除操作确 定为关联操作,本实施例对此并不做限定。
[0150] 第二种:
[0151] 检测文本编辑操作和历史文本编辑操作是否是编辑位置连续的编辑操作;
[0152] 终端还可以检测文本编辑操作和历史文本编辑操作是否是编辑位置连续的编辑 操作,如果检测结果为是编辑位置连续的编辑操作,则终端可以确定文本编辑操作和历史 文本编辑操作是关联操作,反之,则不是关联操作。其中,编辑位置连续是指文本编辑操作 的编辑起点或者编辑终点与历史文本编辑操作的编辑起点或者编辑终点为同一个点。
[0153] 第三种:
[0154] 检测文本编辑操作与历史文本编辑操作的编辑时间间隔是否小于预定时间间隔。
[0155] 终端还可以检测文本编辑操作与历史文本编辑操作的编辑时间间隔是否小于预 定时间间隔,比如检测编辑时间间隔是否小于'2S',如果检测结果为编辑时间间隔小于预 定时间间隔,则确定文本编辑操作和历史文本编辑操作是关联操作,反之,则不是关联操 作。
[0156] 在步骤209中,从文本编辑操作的编辑起点和历史文本编辑操作的编辑起点中选 择最小编辑起点,从文本编辑操作的编辑终点和历史文本编辑操作的编辑终点中选择最大 编辑终点。
[0157] 如果终端的检测结果为文本编辑操作和历史文本编辑操作是关联操作,则终端可 以从文本编辑操作的编辑起点和历史文本编辑操作的编辑起点中选择最小编辑起点,并从 文本编辑操作的编辑终点和历史文本编辑操作的编辑终点中选择最大编辑终点。其中,最 小编辑起点是与起始位置之间的偏移量最小的编辑起点,最大编辑终点是与结束位置之间 的偏移量最小的编辑终点。
[0158] 在步骤210中,将最小编辑起点、最大编辑终点以及位于最小编辑起点和最大编 辑终点之间的文本内容进行关联存储。
[0159] 在终端选择得到最小编辑起点和最大编辑终点之后,终端可以将最小编辑起点、 最大编辑起点以及位于最小编辑起点和最大编辑终点之间的文本内容进行关联存储。
[0160] 在终端存储最小编辑起点、最大编辑终点以及位于最小编辑起点和最大编辑终点 之间的文本内容之后,当终端接收到撤销操作时,终端可以恢复最小编辑起点和最大编辑 终点之间的全部编辑内容,减少了用户需要执行的撤销步骤,提高了文本撤销效率。此外, 终端只需对最小编辑起点、最大编辑终点以及位于最小编辑起点和最大编辑终点之间的文 本内容进行存储,而无需对每个文本编辑操作的编辑起点、编辑终点以及编辑起点和编辑 终点之间的文本内容进行存储,减少了终端需要存储的编辑起点、编辑终点以及文本内容 的个数,降低了终端缓存时需要占用的内存。
[0161] 下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实 施例中未披露的细节,请参照本公开方法实施例。
[0162] 图3是根据一示例性实施例示出的一种文本编辑装置的框图,如图3所示,该文本 编辑装置可以包括但不限于:编辑操作接收模块301、第一确定模块302、第一存储模块303 和文本编辑模块304。
[0163] 编辑操作接收模块301,被配置为接收文本编辑操作;
[0164] 第一确定模块302,被配置为确定编辑操作接收模块301接收到的文本编辑操作 在文本文件中的编辑起点和编辑终点,编辑起点是请求编辑的文本内容中的首字符与文本 文件的起始位置之间的偏移量位置,编辑终点是请求编辑的文本内容中的末字符与文本文 件的结束位置之间的偏移量位置;
[0165] 第一存储模块303,被配置为将第一确定模块302确定的编辑起点、编辑终点以及 位于编辑起点和编辑终点之间的文本内容进行关联存储;
[0166] 文本编辑模块304,被配置为根据文本编辑操作编辑文本内容。
[0167] 综上所述,本公开实施例中提供的文本编辑装置,通过将文本编辑操作的编辑起 点、编辑终点以及位于编辑起点和编辑终点之间的文本内容进行关联存储,使得终端可以 无需缓存文本文件中的全部内容,而是只缓存编辑起点和编辑终点之间的部分内容,进而 解决相关技术中终端缓存文本文件时需要耗用大量内存的问题;达到了可以减少终端需要 缓存的内容,进而降低需要占用的内存的效果。
[0168] 图4是根据另一示例性实施例示出的一种文本编辑装置的框图,如图4所示,该文 本编辑装置可以包括但不限于:编辑操作接收模块401、第一确定模块402、第一存储模块 403和文本编辑模块404。
[0169] 编辑操作接收模块401,被配置为接收文本编辑操作;
[0170] 第一确定模块402,被配置为确定编辑操作接收模块401接收到的文本编辑操作 在文本文件中的编辑起点和编辑终点,编辑起点是请求编辑的文本内容中的首字符与文本 文件的起始位置之间的偏移量位置,编辑终点是请求编辑的文本内容中的末字符与文本文 件的结束位置之间的偏移量位置;
[0171] 第一存储模块403,被配置为将第一确定模块402确定的编辑起点、编辑终点以及 位于编辑起点和编辑终点之间的文本内容进行关联存储;
[0172] 文本编辑模块404,被配置为根据文本编辑操作编辑文本内容。
[0173] 在本实施例的第一种可能的实现方式中,第一确定模块402,被配置为:
[0174] 根据定位光标与文本文件的起始位置之间的偏移量计算编辑起点,并根据定位光 标与文本文件的结束位置之间的偏移量计算编辑终点;
[0175] 在文本编辑操作为前向删除操作时,根据定位光标后退一个字符之后所在的位置 与文本文件的起始位置之间的偏移量计算编辑起点,并根据定位光标当前所在的位置与文 本文件的结束位置之间的偏移量计算编辑终点;
[0176] 在文本编辑操作为后向删除操作时,根据定位光标当前所在的位置与文本文件的 起始位置之间的偏移量计算编辑起点,并根据定位光标前进一个字符之后所在的位置与文 本文件的结束位置之间的偏移量计算编辑终点;
[0177] 在文本编辑操作为对选定的文本内容的选定删除操作时,根据选定的文本内容中 首个字符所在的位置与文本文件的起始位置之间的偏移量计算编辑起点,根据选中的文本 内容中最后一个字符所在的位置与文本文件的结束位置之间的偏移量计算编辑终点;
[0178] 在文本编辑操作为替换操作时,则根据替换区域中首次出现查找的文本内容中的 首个字符的位置与文本文件的起始位置之间的偏移量计算编辑起点,并根据替换区域中末 次出现查找的文本内容中的最后一个字符的位置与文本文件的结束位置之间的偏移量计 算编辑终点;
[0179] 在文本编辑操作为对选中的文本内容的格式更改操作时,根据选中的文本内容中 首个字符所在的位置与文本文件的起始位置之间的偏移量计算编辑起点,根据选中的文本 内容中最后一个字符所在的位置与文本文件的结束位置之间的偏移量计算编辑终点。
[0180] 在本实施例的第二种可能的实现方式中,装置还包括:
[0181] 操作检测模块405,被配置为在文本编辑操作为输入操作、前向删除操作或者后向 删除操作时,检测文本编辑操作与最近一次接收到的历史文本编辑操作是否是关联操作;
[0182] 第二确定模块406,被配置为在操作检测模块405的检测结果为文本编辑操作与 历史文本编辑操作是关联操作时,从文本编辑操作的编辑起点和历史文本编辑操作的编辑 起点中选择最小编辑起点,从文本编辑操作的编辑终点和历史文本编辑操作的编辑终点中 选择最大编辑终点;
[0183] 第二存储模块407,被配置为将第二确定模块406确定的最小编辑起点、最大编辑 终点以及位于最小编辑起点和最大编辑终点之间的文本内容进行关联存储;
[0184] 第一存储模块403,被配置为在操作检测模块405的检测结果为文本编辑操作与 历史文本编辑操作不是关联操作时,执行将编辑起点、编辑终点以及位于编辑起点和编辑 终点之间的文本内容进行关联存储的步骤。
[0185] 在本实施例的第三种可能的实现方式中,操作检测模块405,包括:
[0186] 第一检测单元405a,被配置为检测文本编辑操作和历史文本编辑操作是否是同种 类型的编辑操作;
[0187]和 / 或,
[0188] 第二检测单元405b,被配置为检测文本编辑操作和历史文本编辑操作是否是编辑 位置连续的编辑操作;
[0189]和 / 或,
[0190] 第三检测单元405c,被配置为检测文本编辑操作与历史文本编辑操作的编辑时间 间隔是否小于预定时间间隔。
[0191] 在本实施例的第四种可能的实现方式中,装置还包括:
[0192] 撤销操作接收模块408,被配置为接收撤销操作;
[0193] 信息选择模块409,被配置为从存储的各组编辑起点、编辑终点和文本内容中选择 与撤销操作对应的一组编辑起点、编辑终点和文本内容;
[0194] 内容替换模块410,被配置为使用选择得到的文本内容替换文本文件中处于选择 得到的编辑起点和编辑终点之间的文本内容。
[0195] 综上所述,本公开实施例中提供的文本编辑装置,通过将文本编辑操作的编辑起 点、编辑终点以及位于编辑起点和编辑终点之间的文本内容进行关联存储,使得终端可以 无需缓存文本文件中的全部内容,而是只缓存编辑起点和编辑终点之间的部分内容,进而 解决相关技术中终端缓存文本文件时需要耗用大量内存的问题;达到了可以减少终端需要 缓存的内容,进而降低需要占用的内存的效果。
[0196] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法 的实施例中进行了详细描述,此处将不做详细阐述说明。
[0197] 图5是根据一示例性实施例示出的一种文本编辑装置500的框图。例如,装置500 可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备, 健身设备,个人数字助理等。
[0198] 参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电 源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口 512,传感器组件514, 以及通信组件516。
[0199] 处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相 机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器518来执行指 令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块, 便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方 便多媒体组件508和处理组件502之间的交互。
[0200] 存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些数据的 示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据, 消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的 组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPR0M),可擦除 可编程只读存储器(EPROM),可编程只读存储器(PR0M),只读存储器(R0M),磁存储器,快闪 存储器,磁盘或光盘。
[0201] 电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理 系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
[0202] 多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在 一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板, 屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传 感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动 作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多 媒体组件508包括一个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄 模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置 摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0203] 音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个 麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风 被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通 信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
[0204] I/O接口 512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可 以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁 定按钮。
[0205] 传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评 估。例如,传感器组件514可以检测到装置500的打开/关闭状态,组件的相对定位,例如 所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500 一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和 装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物 理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或C⑶图像 传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传 感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0206] 通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装 置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性 实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关 信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程 通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带 (UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0207] 在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字 信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列 (FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0208] 在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例 如包括指令的存储器504,上述指令可由装置500的处理器518执行以完成上述方法。例 如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、 软盘和光数据存储设备等。
[0209] 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并 且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【权利要求】
1. 一种文本编辑方法,其特征在于,包括: 接收文本编辑操作; 确定所述文本编辑操作在文本文件中的编辑起点和编辑终点,所述编辑起点是请求编 辑的文本内容中的首字符与所述文本文件的起始位置之间的偏移量位置,所述编辑终点是 请求编辑的文本内容中的末字符与所述文本文件的结束位置之间的偏移量位置; 将所述编辑起点、所述编辑终点以及位于所述编辑起点和所述编辑终点之间的文本内 容进行关联存储; 根据所述文本编辑操作编辑所述文本内容。
2. 根据权利要求1所述的方法,其特征在于,所述确定所述文本编辑操作在文本文件 中的编辑起点和编辑终点,包括: 若所述文本编辑操作为输入操作,则根据定位光标与所述文本文件的起始位置之间的 偏移量计算所述编辑起点,并根据所述定位光标与所述文本文件的结束位置之间的偏移量 计算所述编辑终点; 若所述文本编辑操作为前向删除操作,则根据定位光标后退一个字符之后所在的位置 与所述文本文件的起始位置之间的偏移量计算所述编辑起点,并根据所述定位光标当前所 在的位置与所述文本文件的结束位置之间的偏移量计算所述编辑终点; 若所述文本编辑操作为后向删除操作,则根据所述定位光标当前所在的位置与所述文 本文件的起始位置之间的偏移量计算所述编辑起点,并根据所述定位光标前进一个字符之 后所在的位置与所述文本文件的结束位置之间的偏移量计算所述编辑终点; 若所述文本编辑操作为对选定的文本内容的选定删除操作,则根据所述选定的文本内 容中首个字符所在的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起点,根 据所述选中的文本内容中最后一个字符所在的位置与所述文本文件的结束位置之间的偏 移量计算所述编辑终点; 若所述文本编辑操作为替换操作,则根据替换区域中首次出现查找的文本内容中的首 个字符的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起点,并根据所述替 换区域中末次出现所述查找的文本内容中的最后一个字符的位置与所述文本文件的结束 位置之间的偏移量计算所述编辑终点; 若所述文本编辑操作为对选中的文本内容的格式更改操作,则根据所述选中的文本内 容中首个字符所在的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起点,根 据所述选中的文本内容中最后一个字符所在的位置与所述文本文件的结束位置之间的偏 移量计算所述编辑终点。
3. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 当所述文本编辑操作为输入操作、前向删除操作或者后向删除操作时,检测所述文本 编辑操作与最近一次接收到的历史文本编辑操作是否是关联操作; 如果所述文本编辑操作与所述历史文本编辑操作是关联操作,则从所述文本编辑操作 的编辑起点和所述历史文本编辑操作的编辑起点中选择最小编辑起点,从所述文本编辑操 作的编辑终点和所述历史文本编辑操作的编辑终点中选择最大编辑终点; 将所述最小编辑起点、所述最大编辑终点以及位于所述最小编辑起点和所述最大编辑 终点之间的文本内容进行关联存储; 如果所述文本编辑操作与所述历史文本编辑操作不是关联操作,则执行所述将所述编 辑起点、所述编辑终点以及位于所述编辑起点和所述编辑终点之间的文本内容进行关联存 储的步骤。
4. 根据权利要求3所述的方法,其特征在于,所述检测所述文本编辑操作与最近一次 接收到的历史文本编辑操作是否是关联操作,包括: 检测所述文本编辑操作和所述历史文本编辑操作是否是同种类型的编辑操作; 和/或, 检测所述文本编辑操作和所述历史文本编辑操作是否是编辑位置连续的编辑操作; 和/或, 检测所述文本编辑操作与所述历史文本编辑操作的编辑时间间隔是否小于预定时间 间隔。
5. 根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括: 接收撤销操作; 从存储的各组编辑起点、编辑终点和文本内容中选择与所述撤销操作对应的一组编辑 起点、编辑终点和文本内容; 使用选择得到的文本内容替换所述文本文件中处于选择得到的所述编辑起点和所述 编辑终点之间的文本内容。
6. -种文本编辑装置,其特征在于,包括: 编辑操作接收模块,被配置为接收文本编辑操作; 第一确定模块,被配置为确定所述编辑操作接收模块接收到的所述文本编辑操作在文 本文件中的编辑起点和编辑终点,所述编辑起点是请求编辑的文本内容中的首字符与所述 文本文件的起始位置之间的偏移量位置,所述编辑终点是请求编辑的文本内容中的末字符 与所述文本文件的结束位置之间的偏移量位置; 第一存储模块,被配置为将所述第一确定模块确定的所述编辑起点、所述编辑终点以 及位于所述编辑起点和所述编辑终点之间的文本内容进行关联存储; 文本编辑模块,被配置为根据所述文本编辑操作编辑所述文本内容。
7. 根据权利要求6所述的装置,其特征在于, 所述第一确定模块,被配置为: 在所述文本编辑操作为输入操作时,根据定位光标与所述文本文件的起始位置之间的 偏移量计算所述编辑起点,并根据所述定位光标与所述文本文件的结束位置之间的偏移量 计算所述编辑终点; 在所述文本编辑操作为前向删除操作时,根据定位光标后退一个字符之后所在的位置 与所述文本文件的起始位置之间的偏移量计算所述编辑起点,并根据所述定位光标当前所 在的位置与所述文本文件的结束位置之间的偏移量计算所述编辑终点; 在所述文本编辑操作为后向删除操作时,根据所述定位光标当前所在的位置与所述文 本文件的起始位置之间的偏移量计算所述编辑起点,并根据所述定位光标前进一个字符之 后所在的位置与所述文本文件的结束位置之间的偏移量计算所述编辑终点; 在所述文本编辑操作为对选定的文本内容的选定删除操作时,根据所述选定的文本内 容中首个字符所在的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起点,根 据所述选中的文本内容中最后一个字符所在的位置与所述文本文件的结束位置之间的偏 移量计算所述编辑终点; 在所述文本编辑操作为替换操作时,则根据替换区域中首次出现查找的文本内容中的 首个字符的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起点,并根据所述 替换区域中末次出现所述查找的文本内容中的最后一个字符的位置与所述文本文件的结 束位置之间的偏移量计算所述编辑终点; 在所述文本编辑操作为对选中的文本内容的格式更改操作时,根据所述选中的文本内 容中首个字符所在的位置与所述文本文件的起始位置之间的偏移量计算所述编辑起点,根 据所述选中的文本内容中最后一个字符所在的位置与所述文本文件的结束位置之间的偏 移量计算所述编辑终点。
8. 根据权利要求6所述的装置,其特征在于,所述装置还包括: 操作检测模块,被配置为在所述文本编辑操作为输入操作、前向删除操作或者后向删 除操作时,检测所述文本编辑操作与最近一次接收到的历史文本编辑操作是否是关联操 作; 第二确定模块,被配置为在所述操作检测模块的检测结果为所述文本编辑操作与所述 历史文本编辑操作是关联操作时,从所述文本编辑操作的编辑起点和所述历史文本编辑操 作的编辑起点中选择最小编辑起点,从所述文本编辑操作的编辑终点和所述历史文本编辑 操作的编辑终点中选择最大编辑终点; 第二存储模块,被配置为将所述第二确定模块确定的所述最小编辑起点、所述最大编 辑终点以及位于所述最小编辑起点和所述最大编辑终点之间的文本内容进行关联存储; 所述第一存储模块,被配置为在所述操作检测模块的检测结果为所述文本编辑操作与 所述历史文本编辑操作不是关联操作时,执行所述将所述编辑起点、所述编辑终点以及位 于所述编辑起点和所述编辑终点之间的文本内容进行关联存储的步骤。
9. 根据权利要求8所述的装置,其特征在于,所述操作检测模块,包括: 第一检测单元,被配置为检测所述文本编辑操作和所述历史文本编辑操作是否是同种 类型的编辑操作; 和/或, 第二检测单元,被配置为检测所述文本编辑操作和所述历史文本编辑操作是否是编辑 位置连续的编辑操作; 和/或, 第三检测单元,被配置为检测所述文本编辑操作与所述历史文本编辑操作的编辑时间 间隔是否小于预定时间间隔。
10. 根据权利要求6至9任一所述的装置,其特征在于,所述装置还包括: 撤销操作接收模块,被配置为接收撤销操作; 信息选择模块,被配置为从存储的各组编辑起点、编辑终点和文本内容中选择与所述 撤销操作对应的一组编辑起点、编辑终点和文本内容; 内容替换模块,被配置为使用选择得到的文本内容替换所述文本文件中处于选择得到 的所述编辑起点和所述编辑终点之间的文本内容。
11. 一种文本编辑装置,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 接收文本编辑操作; 确定所述文本编辑操作在文本文件中的编辑起点和编辑终点,所述编辑起点是请求编 辑的文本内容中的首字符与所述文本文件的起始位置之间的偏移量位置,所述编辑终点是 请求编辑的文本内容中的末字符与所述文本文件的结束位置之间的偏移量位置; 将所述编辑起点、所述编辑终点以及位于所述编辑起点和所述编辑终点之间的文本内 容进行关联存储; 根据所述文本编辑操作编辑所述文本内容。
【文档编号】G06F17/24GK104156344SQ201410345952
【公开日】2014年11月19日 申请日期:2014年7月21日 优先权日:2014年7月21日
【发明者】杨亮, 万钰臻, 韩伟 申请人:小米科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1