CN105431821A - 撤销系统 - Google Patents
撤销系统 Download PDFInfo
- Publication number
- CN105431821A CN105431821A CN201480043280.2A CN201480043280A CN105431821A CN 105431821 A CN105431821 A CN 105431821A CN 201480043280 A CN201480043280 A CN 201480043280A CN 105431821 A CN105431821 A CN 105431821A
- Authority
- CN
- China
- Prior art keywords
- event
- events
- sequence
- computer
- computer system
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种用于撤销机构的系统和方法。计算机系统可具有多个不同的软件元件,该多个不同的软件元件包括应用程序元件和文件管理元件。系统元件可被用于用户输入、提供输出、以及操控数据或文件。在使用计算机系统的过程中,用户可能希望通过撤销一个或多个事件来返回到先前的系统状态。在一个方面,可在系统中的多个元件上执行撤销操作(例如跨应用程序撤销功能)。在另一方面,被显示在显示器上的过去的信息可被“记录”,使其后来可作为媒体播放器象征表示的一部分被回倒,并且与被回倒/被显示信息相关联的事件可被撤销。媒体播放器和回倒象征表示辅助用户回想过去的事件和/或找到撤销的动作。
Description
技术领域
本公开整体涉及用于撤销机构的计算机实现的系统和方法。
背景技术
本公开整体涉及计算设备的撤销机构。具体地,一些实施例涉及可由提供撤销功能的计算设备和计算机软件实现和/或以其他方式在其中实现的增强的特征、改善的用户界面、和其他用户交互技术。
计算机系统可具有多个不同软件元件,包括应用程序元件和文件管理元件。系统元件可被用于用户输入、提供输出、以及操控数据或文件。在使用计算机系统的过程中,用户可能希望通过撤销一个或多个事件来返回到先前的系统状态。在当前的系统中,用户可在单个应用程序内通过激活撤销操作(例如Control-Z、Command-Z、激活撤销图标、或类似的操作)来撤销一个或多个动作。撤销功能撤销上一个能撤销的动作。在某些情况下,用户不知道什么事件将被撤销或者不能容易地从用户界面中了解什么事件将被撤销。在其他情形下,撤销功能只从某些应用程序或程序内工作。
本发明的实施例单独或共同解决了这些问题和其他问题。
发明内容
根据本文所提供的教导内容,提供了用于撤销机构的系统和方法。在一些实施例中,一种系统和方法可被配置为提供可在系统中多个元件上执行的撤销操作(例如跨应用程序撤销功能)。在一些实施例中,显示在显示器上的过去的信息可作为媒体播放器象征表示的一部分被“记录”和回倒,并且与被回倒/记录信息相关联的事件可被撤销。
在一些实施例中,为跨应用程序撤销功能提供撤销回倒媒体播放器象征表示用户界面。在一些实施例中,计算机实现的方法包括由计算机系统来接收事件序列。事件序列可从计算机系统中的多个元件内被提供。该方法可包括将事件序列(如在时间上以第一个事件开始并且以最后一个事件结束而发生的事件)存储在排序列表中、接收与撤销操作的选择对应的输入、以及在计算机系统中的多个元件上撤销事件序列中的事件。撤销事件可从排序列表中的最后一个事件开始撤销操作,其中最后一个事件在时间上是最新近发生的。
在一些实施例中,计算机实现的系统包括一个或多个数据处理器和一个或多个非暂态计算机可读存储介质。该计算机可读存储介质可包括被配置为使得一个或多个数据处理器执行各种操作的指令,该各种操作包括接收在计算机系统中的多个元件内提供的事件序列、将事件序列存储在按时间排序的排序列表中、接收与撤销操作的选择对应的输入、以及在计算机系统中的多个元件上撤销事件序列中的事件,其中撤销事件从排序列表中的在时间上最新近发生的最后一个事件开始。
在一些实施例中,在非暂态机器可读存储介质中有形地实现的计算机程序产品包括被配置为使得数据处理装置执行以下操作的指令:接收事件序列,其中在计算机系统中的多个元件内提供事件序列;将事件序列存储在排序列表中,其中排序列表包括如在时间上以第一个事件开始并且以最后一个事件结束而发生的事件的事件序列;接收与撤销操作的选择对应的输入;以及在计算机系统中的多个元件上撤销事件序列中的事件,其中撤销事件包括从排序列表中的最后一个事件来开始撤销操作,并且其中最后一个事件在时间上是最新近发生的。
可实施本说明书中所描述的主题的具体实施例来实现下列一个或多个优点。
在附图和以下说明书中阐述了本发明的一个或多个实施例的细节。根据说明书、附图及权利要求,本发明的其他特征、方面和优点将变得显而易见。
附图说明
图1是根据本发明的实施例的示例性计算机系统的框图。
图2是根据本发明的实施例的由计算机系统针对撤销操作执行的高阶流程图。
图3示出了根据本发明的实施例的撤销堆栈。
图4示出了根据本发明的实施例的撤销用户界面。
图5图16示出了撤销过程的各个阶段中的计算机系统的用户界面以及对撤销堆栈的构建。图5示出了根据本发明的实施例的第一用户界面和堆栈状态。
图6示出了根据本发明的实施例的图5之后的第二用户界面和堆栈状态。
图7示出了根据本发明的实施例的图6之后的第三用户界面和堆栈状态。
图8示出了根据本发明的实施例的图7之后的第四用户界面和堆栈状态。
图9示出了根据本发明的实施例的图8之后的第五用户界面和堆栈状态。
图10示出了根据本发明的实施例的图9之后的第六用户界面和堆栈状态。
图11示出了根据本发明的实施例的图10之后的第七用户界面和堆栈状态。
图12示出了根据本发明的实施例的图11之后的第八用户界面和堆栈状态。
图13示出了根据本发明的实施例的图12之后的第九用户界面和堆栈状态。
图14示出了根据本发明的实施例的图13之后的第十用户界面和堆栈状态。
图15示出了根据本发明的实施例的图14之后的第十一用户界面和堆栈状态。
图16-图18示出了在接收撤销输入之后的计算机系统的用户界面以及撤销堆栈。图16示出了根据本发明的实施例的撤销回倒实施例。
图17示出了根据本发明的实施例的撤销回倒实施例。
图18示出了根据本发明的实施例的撤销回倒实施例。
在各附图中,类似的参考标号和符号表示类似的元件。
具体实施方式
本发明的实施例涉及撤销机构。在一个实施例中,撤销操作可在系统中的多个元件上执行。在另一个实施例中,被显示在显示器上的过去的信息可作为媒体播放器象征表示的一部分被回倒,并且与被回倒/被显示信息相关联的事件可被撤销。在另一个实施例中,为跨应用程序撤销功能提供撤销回倒媒体播放器象征表示用户界面。
在一个方面,计算机系统的整个用户界面可包括撤销机构。撤销操作可在系统中的多个元件上执行(例如跨应用程序撤销功能)。计算机系统具有多个系统元件,包括操作系统、应用程序、以及提供大量功能的各种其它软件特征或应用程序。这些系统元件可接收事件,包括用户输入事件和其他事件。
例如,假定第一文件被保存在第一应用程序中;然后使用文件管理器将第一文件从第一位置移动到第二位置;并且然后第二文件在第二应用程序中被打开、编辑并保存。跨应用撤销功能可按与这些事件被接收的序列相反的相继顺序在系统元件上撤销这些事件。例如,响应于撤销输入,撤销机构可撤销第二应用程序中的第二文档的打开、编辑、或保存中的一者或多者。响应于另一撤销输入或持续的撤销输入,撤销机构可撤销第一文件的移动。响应于另一撤销输入或持续的撤销输入,撤销机构可撤销第一应用程序中的第一文件的保存。因此,在系统的分开的元件中发生的事件可响应于一个或多个撤销输入而被撤销。
在另一方面,视觉数据可被用于显示可被撤销的用户的过去动作。代替非常抽象的撤销命令(Command+Z),该撤销机构可使用易于使用者理解的录像带记录器象征表示或媒体播放器象征表示。例如,在一种具体实施中,可“记录”被显示在显示器上的所有信息。在一些实施例中,例如可存储15分钟的历史。记录/缓存的大小可取决于可用空间和/或记录过程的强度。撤销机构可存储可用于回倒和回放由用户界面所显示的信息的视觉数据,这类似于电影可被回倒和回放那样。因此,被显示在显示器上的过去的信息可被回倒和重放(例如立即重放)。在一些实施例中,回倒操作以加快的速度回倒用户输入。
在一些实施例中,回倒操作包括类似模拟的效应,该效应导致在回倒期间显示的信息看起来类似于电视在传统的VCR回倒或快进时看起来的那样(例如所显示的图像可略微扭曲和/或包括视觉伪影诸如“雪花”)。这具有以下有益效果:使用类似的回倒视觉指示器来向使用者提供计算设备处于回倒模式中的指示。这例如可通过对在接收撤销输入之前所捕获的记录或其他视觉数据应用模拟滤波器来实现。作为模拟滤波器的替代或补充可应用其他滤波器,以实现在回倒过程期间所显示的信息的所期望的视觉外观。在一些实施例中,用于指示回倒过程的音频可在计算设备上播放。例如,听起来像传统VCR上的回倒音频的音频可在被显示的信息正在回倒时被播放。音频的频率可指示回倒的速度。
在任意时间点,撤销回倒输入可被接收,以使得显示回倒并返回到先前的显示状态。响应于用户输入(例如撤销回倒按钮),在屏幕上所显示的信息可在视觉上使先前被显示在屏幕上的信息反转。例如,当用户提供撤销回倒用户输入时,计算机系统可逆向显示所有东西,例如鼠标指针向后移动、您的键盘输入逆向显现、电影可向后播放等等。
例如,在上面的实例中,用户可仅按压回倒几秒钟,并正好返回到用户在移动第一文件之前所处的地方。在激活回倒按钮时,视觉数据可以逆序被显示。在一个实施例中,撤销回倒按钮可被按压和/或按住一定时间量。在一些实施例中,与视觉数据相关联的一个或多个动作可被撤销。在一些实施例中,回倒象征表示被用于辅助用户找到要被撤销的动作,但回倒步骤本身实际上不单独地撤销任何事件。撤销按钮和回倒按钮可以是分开的按钮或者可以是同一按钮。
现在将描述用于在本发明的一些实施例中使用的撤销系统。
I.撤销计算机系统
图1示出了根据本发明的实施例的计算机系统100。计算机系统100可被实现为各种计算设备中的任一种计算设备,该计算设备包括例如台式计算机或膝上型计算机、平板电脑、智能电话、个人数字助理(PDA)或任何其他类型的计算设备,不限于任何特定的形状因数。计算机系统100可包括存储子系统110、输入设备120、显示器125、网络接口135、总线140和一个或多个处理单元105。
一个或多个处理单元105可包括可具有一个或多个核的单个处理器或者可包括多个处理器。在一些实施例中,一个或多个处理单元105可包括通用主处理器以及一个或多个专用协处理器诸如图形处理器、数字信号处理器等。在一些实施例中,一些或全部处理单元105可使用定制电路诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实现。在一些实施例中,此类集成电路执行存储在电路自身上的指令。在其他实施例中,一个或多个处理单元105可执行存储在存储子系统110中的指令。
存储子系统110可包括各种存储器单元,诸如系统存储器、只读存储器(ROM)、和永久性存储设备。ROM可存储电子设备100的一个或多个处理单元105和其他模块所需的静态数据和指令。永久性存储设备可为读存储器设备和写存储器设备。该永久性存储设备可为即使在计算机系统100掉电时也存储指令和数据的非易失性存储器单元。本发明的一些实施例可将海量存储设备(诸如磁盘或光盘或闪存存储器)用作永久性存储设备。其他实施例可将可移除存储设备(例如软盘、闪存驱动器)用作永久性存储设备。系统存储器可为读写存储器设备或易失性读写存储器,诸如动态随机存取存储器。系统存储器可存储处理器在运行时需要的指令和数据中的一些或全部。
存储子系统110可包括计算机可读存储介质的任意组合,该计算机可读存储介质包括各种类型的半导体存储器芯片(DRAM、SRAM、SDRAM、闪存存储器、可编程只读存储器)等。还可使用磁盘和/或光盘。在一些实施例中,存储子系统110可包括可以是可读和/或可写的可移除存储介质;此类介质的实例包括光碟(CD)、只读数字多功能磁盘(例如DVDROM、双层DVDROM)、只读和可刻录蓝光光盘、超高密度光盘、闪存卡(例如SD卡、迷你SD卡、微型SD卡等)、“软”磁盘等。计算机可读存储介质不包括载波和无线地或通过有线连接进行传送的暂时性电信号。
在一些实施例中,存储子系统110可存储将由一个或多个处理单元105执行的一个或多个软件程序元件,诸如应用程序145或操作系统150。“软件”通常是指在被一个或多个处理单元105执行时使得计算机系统100执行各种操作从而定义用于执行和实施软件程序的操作的一个或多个特定机器具体实施的指令序列。指令可被存储为可被读入到存储器中以供处理器处理的驻留在只读存储器中的固件和/或存储在磁性存储装置中的应用程序。软件可被实现为单个程序或根据需要进行交互的独立程序或程序模块的集合。程序和/或数据可被存储在非易失性存储装置中并在程序执行期间全部或部分地复制到易失性工作存储器中。一个或多个处理单元105可从存储子系统110中获取用于执行的程序指令以及用于处理的数据以便执行本文所述的各种操作。
软件程序元件可包括但不限于文件管理器应用程序(例如MacOSX中的Finder)、文字处理应用程序、电子表格应用程序、呈现应用程序、互联网浏览器、消息发送应用程序、电子邮件应用程序、视频编缉应用程序、音频编辑应用程序、日历应用程序、通讯录应用程序、媒体播放器等等。软件程序元件还可包括其他软件应用程序、或软件应用特征,诸如设置操控应用程序(例如MacOSX中的系统偏好或iOS设备中的设置,在此处用户可对各种设置进行更改)、搜索窗口(例如MacOSX和iOS设备中的Spotlight)、通知应用程序(例如MacOSX和iOS设备中的通知中心)、多任务窗口、桌面、任务栏或Springboard布置应用程序等等。
存储子系统110可包括撤销子系统155。在一些实施例中,撤销子系统155是在多个系统元件上实现撤销功能的跨应用程序撤销系统。在一些实施例中,可能存在特定于某个系统元件的撤销子系统155(例如用于某个应用程序或程序的撤销子系统)。例如,本发明的撤销回倒功能可在单个系统元件中或者在多个系统元件上被使用。因此,虽然撤销子系统155被示出为是与应用程序145和操作系统150分开的框,但应当理解,一个或多个撤销子系统可以是应用程序或系统级软件的一部分。
撤销子系统155可包括撤销堆栈160(或列表),以用于保持用于撤销操作的项目的列表。在一些实施例中,该列表可包括关于事件是否可被撤销的事件的指示(例如撤销标记)。撤销堆栈160可从第一个事件向最后一个事件排序。例如,最后一个事件可以是时间上最新近的事件,并且在接收到撤销操作输入时该第一个事件将被撤销。第一个事件可以是堆栈中存储的在时间上最早的事件,并且最后一个事件将被撤销。撤销堆栈160的某些附加细节在下文中参考图3来描述。
从不同系统元件接收的多种类型的事件可在计算机系统中在视觉上被反转或被撤销。使计算设备上(或与计算设备相关联)的显示器改变所显示的信息的任何事件可以是可在视觉上被反转和/或被撤销的事件。可撤销的事件可包括应用程序级事件(例如文字处理器中的用户输入)、文件管理器事件(例如将文件从第一位置移动到第二位置,诸如移动到另一文件夹或回收站,或者启动应用程序)、设置更改事件(例如将计算机系统的设置从第一模式改为第二模式)、用户界面修改事件(例如将窗口的大小从第一尺寸调整为第二尺寸、使窗口最小化或展开窗口、进入全屏模式等)等等。这些实例本质上仅是示例性的,而非是穷举性的或限制性的。
某些事件可能不是可被撤销的。例如,电子邮件的发送或磁盘的重新格式化可能不是可被撤销的。在一些实施例中,不是可被撤销的事件被标记。在一些实施例中,不是可被撤销的事件不被包括在列出的撤销堆栈160中。在一些实施例中,不是可被撤销的事件以及用于指示该事件不可被撤销的标记被包括在撤销堆栈160中。
撤销子系统155可包括撤销数据165。在一些实施例中,撤销数据165链接到撤销堆栈160中的特定事件。在一些实施例中,撤销数据包括事件标识符(事件ID)、事件时间、事件应用程序、与事件相关联的视觉数据、或其他适当的信息。例如,表示在事件期间显示的信息的视觉数据可被存储并与事件相关联。
撤销子系统155还可包括撤销用户界面(UI)模块170,以用于生成在显示器125上呈现的用户界面。用户界面可使得用户能够看到系统中的下一个要撤销的事件、发起撤销操作、以及在视觉上观察撤销操作,该撤销操作在如初始被接收的事件的事件的逆序中以动画方式进行显示。用户界面的一个实例在下面示出于图4中。
用户界面可由一个或多个用户输入设备120、显示设备125和/或一个或多个其他用户输出设备(未示出)提供。输入设备120可包括用户可经由其将信号提供给计算系统100的任何设备;计算系统100可将这些信号解释为对特定用户请求或信息的指示。在各种实施例中,输入设备120可包括以下各项中的任一者或全部:键盘、触摸板、触摸屏、鼠标或其他指向设备、滚轮、点击轮、拨号盘、按钮、开关、小键盘、麦克风等。
显示器125可显示由电子设备100生成的图像并且可包括各种图像生成技术,例如阴极射线管(CRT)、液晶显示器(LCD)、包括有机发光二极管(OLED)的发光二极管(LED)、投影系统等,连同支持电子器件(例如,数模转换器或模数转换器、信号处理器等)。一些实施例可包括既用作输入设备又用作输出设备的设备诸如触摸屏。在一些实施例中,可除显示器125之外或替代显示器125来提供其他用户输出设备。实例包括指示灯、扬声器、触觉“显示”设备、打印机等。
在一些实施例中,用户界面可提供图形用户界面,其中显示器125的某些区域中的可见图像元素被定义为用户使用用户输入设备120所选择的活动元件或控制元件。例如,用户可操纵用户输入设备来将屏幕上的光标或指针定位在控制元件上,然后点击按钮以指示该选择。另选地,用户可在触摸屏设备上(例如,利用手指或触笔)触摸控制元件。在一些实施例中,用户可说出与控制元件相关联的一个或多个字词(该字词可为例如元件上的标签或与元件相关联的功能)。在一些实施例中,可识别用户在触敏设备上的手势并将其解释为输入命令;这些手势可以但未必与显示器125中的任何特定阵列相关联。也可实施其他用户界面。
网络接口135可为电子设备100提供语音和/或数据通信能力。在一些实施例中,网络接口135可包括射频(RF)收发器部件、GPS接收器部件和/或其他部件,该RF收发器部件用于访问无线语音和/或数据网络(例如使用蜂窝电话技术,高级数据网络技术(诸如3G、4G或EDGE)、WiFi(IEEE802.11系列标准),或其他移动通信技术,或它们的任何组合)。在一些实施例中,除了或代替无线接口,网络接口135可提供有线网络连接(例如以太网)。网络接口135可使用硬件部件(例如天线、调制器/解调器、编码器/解码器,以及其他模拟信号处理电路和/或数字信号处理电路)与软件部件的组合来实现。
总线140可包括可通信地连接电子设备100的许多内部设备的各种系统、外围设备和芯片集总线。例如,总线140可将一个或多个处理单元105与存储子系统110可通信地耦接。总线140还连接到输入设备120和显示器125。总线140还通过网络接口135将电子设备100耦接至网络。以此方式,电子设备100可以是多个计算机系统的网络(例如,局域网(LAN)、广域网(WAN)、内联网)的一部分,或者多个网络(诸如互联网)中的网络的一部分。电子设备100的任何或所有部件均可与本发明一起使用。
一些实施例包括电子部件,诸如将计算机程序指令存储在计算机可读存储介质中的微处理器、存储装置和存储器。本说明书中所描述的许多特征可被实施为过程,该过程被指定为在计算机可读存储介质上编码的程序指令的集合。在由一个或多个处理单元执行这些程序指令时,这些程序指令使得一个或多个处理单元执行程序指令中所指示的各种操作。程序指令或计算机代码的实例包括机器代码(诸如由编译器产生的机器代码)、以及包括由计算机、电子元件或微处理器使用解译器来执行的更高级别代码的文件。
通过合适的编程,一个或多个处理单元105可为电子设备100提供各种功能。例如,举例来说,一个或多个处理单元105可执行文字处理应用程序、电子表格应用程序、文件管理器应用程序、或浏览器应用程序。
应当理解,计算机系统100是示例性的,并且变型形式和修改形式是可能的。可使用专用部件和/或可编程处理器和/或其他可编程设备的任意组合来实现本发明的实施例。计算机系统100可具有此处未具体描述的其他能力(例如,移动电话、全球定位系统(GPS)、电源管理、一个或多个相机、用于连接外部设备或附件的各种连接端口,等等)。
此外,尽管参考特定框描述了计算机系统100,但应当理解,定义这些框是为了描述方便,并非旨在暗示部件部分的具体物理布置。此外,框不必对应于物理上不同的部件。例如,本文所述的各种过程可以任何组合方式在同一处理器或不同处理器上实现。框可被配置为执行各种操作,例如通过对处理器进行编程或提供合适的控制电路,并且根据获得初始配置的方式,各个框可以是可重新配置的或不可重新配置的。在部件被描述为被配置为执行某些操作的情况下,可例如通过设计电子电路以执行操作、通过对可编程电子电路(诸如微处理器)进行编程以执行操作、或它们的任何组合来实现此类配置。可在包括使用电路和软件的任何组合来实现的电子设备的各种装置中实现本发明的实施例。另外,尽管上述实施例可能参考特定的硬件部件和软件部件,但本领域的技术人员应当理解,也可使用硬件部件和/或软件部件的不同组合,并且被描述为在硬件中实现的特定操作也可能在软件中实现,或反之亦然。
II.撤销操作方法
图2是根据本发明的实施例的由计算机系统针对撤销操作执行的高阶流程图。在框210处,计算机系统从计算机系统中的元件接收事件序列。在一些实施例中,事件序列是作为用户输入被接收。例如,事件序列可包括创建文字处理文档、编辑文字处理文档、打开电子表格、编辑电子表格文档、关闭文字处理文档、将图片从第一位置移动到第二位置、然后以电子邮件形式发送该图片。在一些实施例中,事件序列可在没有用户输入的情况下被接收。例如,事件序列可以是在web浏览器中显示的内容(例如可独立于用户输入被显示的视频或动画内容)、或者接收推送通知或电子邮件。
在框220处,计算机系统将事件序列存储在排序列表中。排序列表包括如在时间上以第一个事件开始并且以最后一个事件结束而发生的事件的事件序列。在一些实施例中,排序列表可被实施为堆栈。例如,计算机系统可存储在第一时间被接收的第一事件、然后可存储在随后的第二时间接收的第二事件、……,直到计算机系统可存储在更晚时间发生的最后一个事件。在一些实施例中,该列表具有预定大小,使得该列表具有可被存储在该排序列表中的最大事件数量。在此类情况下,最早的一个或多个事件可能为了更新的事件而被丢弃。在一些实施例中,该列表具有取决于撤销数据的大小的可变大小。
在框230处,计算机系统接收与撤销操作的选择对应的输入。在一些实施例中,该输入经由用户界面被接收,该用户界面诸如是图4中所示的示例性用户界面。在一些实施例中,该输入从键盘、鼠标、麦克风、触控板、触摸屏、运动传感器、或其他用户输入机构接收。在撤销输入被接收时,在撤销输入之前刚存储的事件可被称为最后一个事件。最后一个事件可以是被撤销的第一个事件。
在框240处,计算机系统通过撤销事件序列中的事件来执行撤销操作。在一些实施例中,撤销操作从排序列表中的最后一个事件开始并且撤销该操作。在一些实施例中,紧在最后一个事件之前的事件可以是被撤销的下一个事件。可按与事件被接收的顺序相反的顺序来对列表中的另外的事件执行进一步的撤销操作。也就是说,事件按照后进先出的顺序被撤销。
在框250处,计算机系统可显示在视觉上使事件序列反转的信息。在一些实施例中,在视觉上使事件序列反转包括从一个事件到下一个事件的动画。在一些实施例中,在视觉上使事件序列反转包括将所显示的信息从与一个事件相关联的图形数据改变为与紧在一个事件之前的事件相关联的图形数据。在一些实施例中,在视觉上使所显示的信息反转的过程也撤销与所接收的事件相关联的动作。在一些实施例中,在视觉上使所显示的信息反转可独立于撤销操作而完成。
应当理解,过程200是示例性的,并且变型形式和修改形式是可能的。可并行执行按顺序描述的步骤,可改变步骤顺序,并且可修改、合并、添加或省略步骤。例如,尽管图2示出来标准可适用于其中的特定次序,但应当理解,也可使用任何次序。例如,框250可在框240之前执行。即,在视觉上被反转的信息可在事件被撤销之前被显示。
III.撤销堆栈
图3示出了根据本发明的实施例的撤销列表。在一些实施例中,撤销列表是具有相关联信息的简单的排序列表。在一些实施例中,撤销列表可被实施为堆栈。堆栈可具有推入操作和弹出操作。在一些实施例中,推入操作和弹出操作之间的关系使得堆栈是后进先出(LIFO)数据结构。在LIFO数据结构中,添加到该结构的最后的元素是最先被移除的元素。在一些实施例中,堆栈具有阈值保持容量。当达到阈值容量时,位于堆栈底部的项目可被移除。在一些实施例中,堆栈的容量是可变的。在一些实施例中,堆栈容量随着可用存储空间而变化。
如图所示,撤销堆栈300包括第一事件310、第二事件320、第三事件330、和第N事件340。堆栈300中的事件按时间排序。事件310是堆栈300中最老的事件。事件340是堆栈300中最新近的事件。
在一些实施例中,事件可与从其接收事件的系统元件相关联。事件可与接收该事件的应用程序相关联。例如,事件310与应用程序A相关联,事件2与应用程序B相关联,事件330与应用程序C相关联,并且事件340可与应用程序M相关联。
在一些实施例中,事件与系统元件之间的关联可在该列表中进行。在一些实施例中,数据可与每一个事件相关联。事件310可与该事件的数据(311)相关联。同样,事件320、330、和340可与每个相应事件的数据(321、331、和341)相关联。事件数据(311、321、331、和341)可包括与事件对应的视觉数据。例如,事件数据311可包括与事件310对应的视觉数据诸如动画。与事件310对应的视觉数据可被用于在显示器上以动画形式显示、回倒、和回放该事件。事件数据还可包括接收该事件的系统元件的标识符、事件时间、或其他适当的信息。
在接收到撤销输入时,可通过从排序列表中的最后一个事件开始来撤销事件,其中最后一个事件在时间上是最新近发生的。例如,在接收到撤销输入时,事件340将被撤销。可显示与事件340相关联的视觉数据(例如存储在事件数据341中)。
IV.交互式撤销用户界面
图4示出了根据本发明的实施例的撤销用户界面400。撤销用户界面400可包括桌面环境410,该桌面环境410包括各种系统元件诸如文件夹420、与应用程序/功能对应的图形元素430、应用程序启动菜单440等。撤销用户界面400可包括交互元素,诸如撤销小工具450、撤销列表470、重做列表480、实时查看按钮485、撤销到播放头按钮490、和/或其他适当的图形用户界面元素。
撤销小工具450可包括用于提供撤销输入460的用户界面。在一些实施例中,撤销输入460被呈现作为媒体播放器象征表示。媒体播放器象征表示是用户清楚明白的事物,并且可包括撤销回倒按钮462、撤销播放按钮464、和/或撤销快进按钮466。媒体播放器象征表示可包括没有具体示出的其他元素;例如暂停按钮。撤销回倒按钮462可接收用于发起撤销过程的用户输入。在接收到该输入时,计算机系统可回倒并显示先前在显示器上显示的信息。另外,计算机系统可撤销与先前在显示器上显示的信息相关联的操作。
在一些实施例中,撤销播放按钮464可在撤销回倒按钮462使得显示器显示先前在显示器上显示的信息(例如,对与系统中的先前事件相关联的信息的显示)之后被选择。在激活撤销播放按钮464时,显示器可按时间顺序显示由计算机系统接收的事件的重放。这是有利的,因为其可唤起用户关于在系统中发生了什么事件的记忆,并且可帮助用户识别要撤销的具体事件。
媒体播放器象征表示可包括用于暂停撤销回倒、或撤销重放的暂停按钮,或者可包括类似按钮。媒体播放器象征表示可包括时间线上的播放头468。播放头468可指示撤销回倒操作在时间上已回退了多远。播放头468还可包括向用户指示撤销回倒缓存的大小(例如,用户可在时间上回退多远)的信息。在一些实施例中,回倒缓存的大小取决于可用存储器和/或由系统记录的事件的类型。例如,一些事件可能为更加计算密集的或者可能使用大量存储器(例如,播放全屏游戏可能由于过程的强度而缩减可供回倒使用的时间线的长度)。
在一些实施例中,某些事件不可被撤销。例如,通常如果用户发送电子邮件,则一旦电子邮件已经被传输,这个动作便不可被撤销。在一些实施例中,当事件不可被撤销时,撤销堆栈复位(移除撤销列表中的所有事件)。例如,短暂警告显示可告知用户撤销堆栈/缓存已被复位。在一些实施例中,当事件不可被撤销时,这个不可撤销的事件在堆栈中被标记。如果用户试图撤销被标记的事件,则显示器可通知用户被标记的事件不是可被撤销的动作。在一些实施例中,用户可回倒经过被标记的事件。在一些实施例中,如果用户回倒经过被标记的事件,则与被标记的事件相关联的视觉数据可从“影片”中移除,以避免引起困惑。在一些实施例中,与被标记的事件相关联的视觉数据可利用对用户的警示或提示来代替。
撤销列表470可指示要被撤销的接下来的一个或多个事件。例如,如图所示,事件3是接下来要被撤销的事件,事件2是接下来的此类事件,并且事件1是要被撤销的最后一个事件。在一些实施例中,一个或多个事件可能已被撤销。已被撤销的事件可通过重做操作来重做。在一些实施例中,重做列表480包含在接收到重做用户输入时将重做的事件的列表。
在一些实施例中,实时查看按钮485可被用于跳回到“实时查看”或当前系统状态。例如,用户可能(例如,使用撤销回倒按钮462)将事件回倒10分钟,以便回想对系统的元件进行了什么更改。在想起这些更改之后,用户决定不希望撤销任何事件。或者,在想起这些更改之后,用户可识别用户想要撤销的一个或多个事件。例如,用户可能希望撤销位于列表中间的一个动作,但不希望撤销其他动作。实时查看485按钮可被用于返回到紧在激活撤销回倒按钮之前的状态。
在一些实施例中,撤销到播放头按钮490可被用于撤销在播放头位置之后发生的事件,而原封不动地保留播放头位置之前发生的事件。例如,用户可能(例如,使用撤销回倒按钮462)将事件回倒10分钟,以便回想对系统的元件进行了什么更改。在想起这些更改之后,用户可能决定希望撤销在最后5分钟发生的事件。使用播放头468,用户可将播放头定位在期望位置处,并激活撤销到播放头490按钮。
V.撤销堆栈生成
图5图16示出撤销过程的各个阶段中的计算机系统的用户界面以及撤销堆栈。具体地,图5图16按时间顺序示出了一系列屏幕截图。这些屏幕截图旨在示出计算机系统可接收的各种事件。响应于接收到各种事件,计算机系统可生成撤销堆栈,诸如图3中的堆栈300。这些附图在本质上是示例性的,并且本领域技术人员将认识到,为了清楚起见,并没有包括每个步骤,并且可进行修改而不脱离本发明的范围。
图5示出来根据本发明的实施例的第一用户界面500和堆栈300的状态。计算机系统可接收任意数量的事件,包括来自鼠标、键盘、触摸显示器等的用户输入。例如,可在桌面用户界面环境中生成文件,并且可将图标设置在桌面上(例如“我的抵押贷款电子表格”图标505)。如图所示,当图标505被选择时,计算机系统的元件可接收用于打开位于计算机系统上的文件的输入。具体地,文件管理器元件接收用于打开文件的输入。
响应于接收到该输入,计算机系统可打开与该文件相关联的应用程序(例如,电子表格应用程序515)和/或该文件。打开与该文件相关联的应用程序是由计算机系统记录的事件的一个实例。其他事件可包括光标的随时间推移的位置。在一些实施例中,这些事件可与其他事件结合(例如,鼠标在打开应用程序之前的移动可被认为是打开事件的一部分)。堆栈300可被更新以反映打开“我的抵押贷款电子表格”的事件。例如,堆栈300可被更新以在堆栈中包含与打开“我的抵押贷款电子表格”对应的条目305。在这个时间点,事件条目305是在时间上最后发生的事件。
如参考图3所述,事件305的堆栈条目可包括与事件305相关联的数据。例如,用户界面内的光标的移动可被存储为事件数据。与打开应用程序相关联的一个或多个动画可被存储为事件数据。事件数据可包括可用于响应于撤销操作输入而在视觉上使堆栈中的事件序列中的一个或多个事件反转的视觉数据。例如,对图标505的选择可涉及使得光标(等)在显示器屏幕上移动并选择图标505的输入设备。在一些实施例中,表示移动的视觉数据可被存储为事件数据。
在很多应用程序(诸如电子表格应用程序515)中可添加、删除、或以其他方式修改内容。响应于接收到用于在应用程序内修改内容的输入,堆栈300可被更新以反映修改。例如,堆栈300可被更新以在堆栈中包含与编辑“我的抵押贷款电子表格”对应的条目310。同样,事件310的堆栈条目可包括与事件310相关联的数据诸如视觉数据。在所示的例示中,用户可已将抵押贷款计算器单元从默认值修改为单元525中所显示的值。每个用户输入(例如光标移动和数据输入/修改)可以是事件,并且可具有与该事件相关联的事件数据,该事件数据包括视觉数据。
图6示出了根据本发明的实施例的图5之后的第二用户界面600和堆栈300的状态。例如,由计算系统接收事件,包括打开文字处理器、创建和保存“我的文档”、并且编辑“我的文档”。
可通过选择与文字处理应用程序相关联的图标635来打开文字处理应用程序。撤销堆栈300可通过在所记录的先前事件(310)之后添加条目315而被更新以反映该事件。事件数据(包括与事件相关联的视觉数据)可链接到堆栈300中的事件记录315。例如,视觉数据可包括被显示为用户使用鼠标(例如通过点击图标635)启动文字处理应用程序的信息。
文字处理文档“我的文档”可使用文字处理应用程序615的用户界面以传统方式被保存。撤销堆栈300可通过在所记录的先前事件(315)之后添加事件条目320而被更新以反映该事件。事件数据(包括与事件相关联的视觉数据)可链接到堆栈300中的事件记录320。例如,表示在用户使用鼠标选择“文件”和“保存为”时被显示在屏幕上的信息的视觉数据可被存储并链接到事件记录320。
文字处理文档“我的文档”可通过添加、移除、或修改文档中的内容(625)而被编辑。撤销堆栈300可通过在所记录的先前事件(320)之后添加事件条目325而被更新以反映编辑事件。事件数据(包括与事件相关联的视觉数据)可链接到堆栈300中的事件记录320。例如,与被添加、移除、或修改的内容相关联的视觉数据可被存储。视觉数据可包括关于内容的数据,诸如内容被输入和/或操纵的速度。例如,键入的速度或鼠标移动的速度可被包括在事件数据和/或视觉数据中。
图7示出了根据本发明的实施例的图6之后的第三用户界面700和堆栈300的状态。文字处理文档“我的文档”可通过添加、移除、或修改文档中的内容(705)而被进一步编辑。撤销堆栈300可通过在所记录的先前事件(325)之后添加事件条目330而被更新以反映编辑事件。事件数据(诸如对文档的进一步修改以及修改的速度/时序)可链接到堆栈300中的事件记录330。
如图所示,文本705已被添加到文档。在一些实施例中,视觉数据可包括该文本被添加到文档和/或被修改的次序。在一些实施例中,视觉数据可包括文本被添加到文档和/或被修改的速度或时序。
图8示出了根据本发明的实施例的图7之后的第四用户界面800和堆栈300的状态。电子表格“我的抵押贷款电子表格”可被用户修改。例如,用户可利用光标将电子表格应用程序515选择为活动窗口。然后,用户可改变电子表格的单元中的值。例如,用户可改变贷款利率和/或期限来了解那些变量如何影响其月供(705)。这些改变和修改中的每一者可以是存储在堆栈中并且链接到事件数据的事件。
图9示出了根据本发明的实施例的图8之后的第五用户界面900和堆栈300的状态。电子表格应用程序可被最小化。响应于接收到与最小化应用程序相关联的事件,计算机系统可使应用程序窗口最小化。撤销堆栈300可通过在所记录的先前事件(335)之后添加事件条目340而被更新以反映最小化事件。
在一些实施例中,窗口的最小化可包括动画。如箭头905所示,当电子表格“我的抵押贷款电子表格”被最小化时,在显示器上可显示动画(在中间状态515A中示出),从而示出从完全打开到最小化的过程。当动画伴随着窗口的最小化时,动画可被存储为与使窗口最小化的事件相关联的视觉数据。这个动画例如可响应于撤销用户输入而被反转。在一些实施例中,窗口可简单地消失。在这种情况下,视觉数据可简单地包括从应用程序窗口被完全打开时到应用程序窗口被最小化时的视觉数据。
图10示出了根据本发明的实施例的图9之后的第六用户界面1000和堆栈300的状态。文字处理应用程序可被最小化。响应于接收到与使应用程序最小化相关联的事件,计算机系统可使应用程序窗口最小化。撤销堆栈300可通过在所记录的先前事件(340)之后添加事件条目345而被更新以反映最小化事件。与电子表格515A的最小化类似,使文字处理应用程序615A最小化可包括可被存储为与该事件相关联的视觉数据的一个或多个动画。箭头1005显示可响应于用于最小化应用程序的输入而发生的最小化动画的方向。
图11示出了根据本发明的实施例的图10之后的第七用户界面1100和堆栈300的状态。电子邮件应用程序1115可被启动或打开,如上所述。电子邮件应用程序的打开可以是事件。电子邮件应用程序1115可接收计算机系统中的事件。例如,电子邮件应用程序接收与电子邮件对应的用户输入。内容被添加、修改、和/或删除的次序可被记录。例如,用户可能输入“亲爱的妈妈”,然后删除“亲爱的妈妈”,并且然后输入“嗨,妈妈”。这些事件中的每一个事件可以是从系统元件接收并且添加到撤销堆栈和/或链接到事件数据的事件。撤销堆栈300可通过在所记录的先前事件(345)之后添加事件条目350而被更新以反映打开电子邮件应用程序和编写电子邮件。与事件相关联的视觉数据可与事件相关联。
图12示出了根据本发明的实施例的图11之后的第八用户界面1200和堆栈300的状态。电子邮件应用程序1115可被用于编写完电子邮件和发送电子邮件。然后,用户可点击“发送”,以将电子邮件从计算机系统传输至接收人。撤销堆栈300可通过在所记录的先前事件(350)之后添加事件条目355而被更新以反映发送电子邮件。
在一些实施例中,一旦电子邮件被传输,发送电子邮件的事件便不是可被撤销的动作。在一些实施例中,不可被撤销的动作被标记以“不撤销”指示符标记。该指示符可在回倒过程中被用于向用户显示关于该事件不能被撤销的警报或通知。
图13示出了根据本发明的实施例的图12之后的第九用户界面1300和堆栈300的状态。用户界面1300示出了文件被移动到另一个位置。具体地,用户界面包括与被移动到回收站1320的文件相关联的图形元素1310(或图标)。该图标可具有初始位置1301,并且可根据所接收的输入而沿路径1305和1315被移动。路径可开始于第一位置处并结束于第二位置处。
在一些实施例中,用于移动项目的输入可以是由系统的元件接收的事件。与被显示为图标1310的信息相关联的视觉数据从初始位置1301沿路径1305和路径1315移动到回收站1320位置,并且可被存储并与该事件相关联。
在一些实施例中,撤销堆栈300可通过在所记录的先前事件(355)之后添加事件条目360而被更新以反映文件从一个位置移动到另一个位置。在一些实施例中,从第一位置向第二位置的中间移动可以是由系统的元件接收的事件。例如,从初始位置1301沿路径1305向图标1310所示的位置的移动可以是事件,并且从图标1310所示的位置沿路径1315向回收站1320的移动可以是另一事件。在一些实施例中,移动可以是同一事件的一部分(如图所示)。
图14示出了根据本发明的实施例的图13之后的第十用户界面1400和堆栈300的状态。浏览器1305在用户界面1400中显示第一网络信息。可在浏览器中接收输入,例如用于跟随链接、返回、跳转到特定网络地址、执行搜索等等。所显示的用户界面1400中的任何改变可以是由计算机系统接收的事件。例如,所显示的用户界面中的改变可包括用户输入改变(例如光标的移动、键击、滚动等)或在用户界面上显示的输出信息(例如来自网络或系统存储器的内容)。撤销堆栈300可通过在所记录的先前事件(370)之后添加事件条目365而被更新以反映网络浏览器窗口中的事件。视觉数据可与事件条目365相关联。
图15示出根据本发明的一个实施例的图14之后的第十一用户界面1500和堆栈300的状态。浏览器1305在用户界面1500中显示第二web信息。撤销堆栈300可通过在所记录的前一事件(365)后面添加事件条目370而被更新以反映web浏览器窗口中的事件。视觉数据可与事件条目370相关联。
视觉数据可包括在从用户界面1400中的第一web信息到用户界面1500中的第二web信息的事务期间显示的信息。视觉数据还可包括用户界面1400中的第一web信息和用户界面1500中的第二web信息的用户操控,包括滚动、缩放、加亮、将数据复制到剪贴板、或可在web浏览器中引发的任何其他用户动作。
图5-15是示例性的,并且变型形式和修改形式是可能的。此外,与那些事件相关联的中间事件和屏幕截图为了简明而没有被示出。附图示出了根据本发明的一些实施例的在用户界面中接收事件并生成撤销堆栈的一个实例。一旦生成撤销堆栈,便可接收撤销用户输入。
VI.撤销回倒
图16-18示出了在接收到撤销输入之后计算机系统的用户界面以及撤销堆栈。图16示出了根据本发明的实施例的在接收到撤销回倒输入之后的撤销回倒屏幕截图1600和堆栈300的状态。在一些实施例中,可提供撤销用户界面。例如,可提供参考图4所述的媒体播放器象征表示,以提供回倒和重放在接收撤销回倒用户输入之前在用户界面上显示的信息的体验。例如,可为撤销小工具450提供有以下各项中的一者或多者:播放头468、撤销回倒按钮462、播放按钮464、撤销快进按钮466等。
在一些实施例中,可接收撤销回倒输入。例如,可在用户选择撤销回倒按钮462时接收撤销回倒输入。撤销回倒输入可以是反复的(例如,一个撤销回倒输入对应于与回倒和撤销事件相关联的预定数量的动作)、或可以是持续的(例如,一个撤销回倒输入开始回倒过程,该回倒过程持续直到用户指示希望停止该过程或者直到过程到达最后一个能撤销的事件)。例如,用户可压住撤销回倒按钮,并且事件能持续地在显示器上在视觉上被反转并被撤销,直到用户停止按住撤销回倒按钮。
返回到图15中所示的堆栈的状态,最后被接收的事件是“浏览互联网网站A”370。因此,在接收到撤销回倒用户输入时,事件370是第一个将被撤销和/或在视觉上被反转的事件。倒数第二个被接收的事件是“浏览互联网网站B”365。因此,事件365是下一个将被撤销和/或在视觉上被反转的事件。例如,显示器可显示网页A、然后显示网页B,并且以在视觉被反转的方式包括其他事件数据(例如,网页中的任一个网页内的用户导航,诸如滚动或缩放,以及至网页中的任一个网页的用户输入,诸如表格填充或搜索查询)。(这些中间步骤在图16中未示出。)
在视觉地逆转和/或撤销事件370和365时,堆栈300可被更新以反映事件370和365在视觉上被反转和/或被撤销。如图所示,堆栈条目被“划掉”。然而,应当理解,条目可从列表中删除或以其他方式移除,或者条目可保留在列表中并被标记为“被撤销”。保持列表并将事件标记为已撤销可以是有利的,因为这可允许便利地实施重做操作。
在事件370和365在视觉上被反转和/或被撤销之后,堆栈中的下一个项目是“将我的文档移动到回收站”360。如参考图13所述的(示出了文件被移动到另一个位置),“我的文档”被移动到回收站,并且与用户如何将“我的文档”移动到回收站相关联的视觉数据被存储并与事件360相关联。例如,与将文档移动到回收站的输入相关联的图标和/或光标移动可被存储。在接收到屏幕截图1600中的撤销回倒用户输入时,用户界面可显示在视觉上使与将文档移动到回收站的输入相关联的光标移动反转的信息。具体地,可显示(按与图13中的路经1315相反的方向)从回收站位置1620沿路经1615移动图标1610的视频或动画。动画或视频可继续显示图标1610沿路经1605移动到初始位置1601。同样,堆栈300可被更新以反映事件360已在视觉上被反转和/或被撤销。
多个其他事件可在视觉上被反转和/或被撤销。在一些实施例中,所显示的信息的改变包括所显示的窗口的尺寸从第一尺寸变为第二尺寸,并且在视觉上使改变反转包括将所显示窗口的尺寸从第二尺寸变回第一尺寸。在一些实施例中,所显示的信息的改变包括窗口中所显示的信息从第一位置滚动到第二位置,并且在视觉上使改变反转包括将窗口中所显示的信息从第二位置滚动回到第一位置。这些实例仅仅是为了举例说明,并且本领域的技术人员将认识到,与计算设备相关联的显示器上所显示的信息的任何改变可被存储并且响应于撤销回倒输入而在视觉上被反转。
图17示出了根据本发明的实施例的在图16之后在接收到撤销回倒输入之后的撤销回倒屏幕截图1700和堆栈300的状态。在事件360被撤销或被回倒之后,如图16所示,要被撤销/被回倒的下一个项目是事件355(例如,发送电子邮件)。如上所述,一些动作不可被撤销。发送电子邮件是不可被撤销的事件的一个实例。其他事件也是可能的,并且可包括从外部计算机系统发送数据或接收数据的事件的类型。
当事件不能可被撤销时,响应于撤销输入,用户界面可显示用于指示具体事件不是撤销事件的通知。例如,可使用通知1710。堆栈300可被更新以反映事件355已被回倒和/或事件不能被撤销。如图所示,事件355在堆栈300中被划掉。
图18示出了根据本发明的实施例的在图17之后在接收到撤销回倒输入之后的撤销回倒屏幕截图1800和堆栈300的状态。屏幕截图1800示出了在事件350和345已在视觉上被反转和/或被撤销之后并且事件340正在视觉上被反转和/或被撤销时的撤销堆栈300。例如,响应于撤销输入,可显示示出文档从任务栏弹出(即图10中发生的输入的逆转)的“我的文档”1815的动画或视频。在这个实例中,文档1815按箭头1805的方向从最小化状态变为最大化状态。
虽然已相对于具体实施例对本发明进行了描述,但本领域的技术人员将认识到许多修改是可能的。本描述的部分可能涉及特定用户界面,诸如触摸屏显示器、其他触敏表面或指向界面和点击界面。其他实施例可使用不同的界面。例如,用户界面可以是基于语音的,其中用户向麦克风或其他音频输入设备说出指令并且设备除了如上所述的视觉响应之外和/或作为其替代提供听觉响应(例如,使用合成的语音或预先录制的音频片段)。可使用基于语音的元素与视觉界面元素的组合,并且在一些实施例中,可支持多个不同类型的界面,其中用户具有用于选择所期望的界面、组合使用多个界面(例如,从屏幕读取信息并说出指令)和/或在不同界面之间切换的选项。可支持与设备的任何所需形式的用户交互。
本说明书中所述的主题和功能操作的实施例可在数字电子电路中、或在计算机软件、固件、或硬件(包括本说明书中所公开的结构及其等价结构)中、或在它们中的一者或多者的组合中实施。本说明书中所述的主题的实施例可被实施为一个或多个计算机程序产品,即在计算机可读介质上编码的用于供数据处理装置执行或用于控制数据处理装置的操作的计算机程序指令的一个或多个模块。
计算机可读介质可以是机器可读存储设备、机器可读存储衬底、存储器设备、实现机器可读传播信号的物质的组成、或它们中的一者或多者的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机、或多个处理器或计算机。装置除了硬件之外还可包括创建用于所涉及的计算机程序的运行环境的代码,例如构成处理器固件、协议堆栈、数据库管理系统、操作系统、或它们中的一者或多者的组合的代码。传播信号是人为生成的信号,例如机器生成的电信号、光信号、或电磁信号,其被生成以编码信息以用于传输到适当的接收器装置。
计算机程序(也称为程序、软件、软件应用程序、脚本、或代码)可以任意形式的编程语言来编写,包括编译或解释语言,并且可以任何形式被部署,包括作为独立程序或作为模块、部件、子例程、或适于在计算环境中使用的其他单元。计算机程序并非必须对应于文件系统中的文件。程序可被存储在保持其他程序或数据的文件的一部分中(例如存储在标记语言文档中的一个或多个脚本)、被存储在专用于所涉及的程序的单个文件中、或者被存储在多个协调文件中(例如存储一个或多个模块、子程序、或代码部分的文件)。计算机程序可被部署为在一个计算机上或者在多个计算机上被执行,该多个计算机位于一个位点处或者分布在多个位置上方并且通过通信网络互连。
本说明书中所述的过程和逻辑流可由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流也可由专用逻辑电路执行,并且装置也可被实施为专用逻辑电路,该专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适于执行计算机程序的处理器例如包括通用微处理器和专用微处理器两者、以及任何类型的数字计算机的任何一个或多个处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。一般来讲,计算机还包括用于存储数据的一个或多个海量存储设备,或者操作性地耦接以从用于存储数据的一个或多个海量存储设备接收数据和/或向用于存储数据的一个或多个海量存储设备传送数据或这两者,该海量存储设备例如磁盘、磁光盘、或光盘。然而,计算机不必具有此类设备。此外,计算机可被嵌入另一个设备中,作为一些实例,另一个设备例如移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器。可在各种计算机可读存储介质上编码并存储结合本发明的各种特征的计算机程序。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质、和存储器设备,例如包括半导体存储器设备,例如EPROM、EEPROM、和闪存存储器设备;磁盘,例如内部硬盘或可移除磁盘;磁光盘;CDROM盘和DVDROM盘;和其他非暂态介质。处理器和存储器可由专用逻辑电路补充,或者被并入专用逻辑电路中。可将编码有程序代码的计算机可读介质与兼容的电子设备封装在一起,或者该程序代码可独立于电子设备提供(例如,经由互联网下载或作为单独封装的计算机可读存储介质)。
为了提供与用户的交互,本说明书中所述的主题的实施例可在具有用于向用户显示信息的显示设备以及用户可用来向计算机提供输入的键盘和指向设备的计算机上实现,该显示设备例如CRT(阴极射线管)监视器或LCD(液晶显示器)监视器,该指向设备例如鼠标或轨迹球。也可使用其他类型的设备来提供与用户的交互;例如提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且来自用户的输入可以任何形式被接收,该输入包括声音输入、语音输入、或触觉输入。
本说明书中所述的主题的实施例可在包括后端部件的计算系统中实施(例如,作为数据服务器),或在包括中间件部件的计算系统中实施(例如,应用服务器),或在包括前端部件的计算系统中实施(例如,具有用户可用于与本说明书中所述的主题的具体实施进行交互的图形用户界面或web浏览器的客户端计算机),或者以一个或多个此类后端部件、中间件部件、或前端部件的任意组合来实施。系统的部件可通过任何形式的数字数据通信或任何数字数据通信介质(例如,通信网络)互连。通信网络的实例包括局域网(“LAN”)和广域网(“WAN”),例如互联网。
计算系统可包括客户端和服务器。客户端和服务器一般是相互远离的,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端服务器关系的计算机程序而产生。
尽管本说明书包含许多细节,但不应将这些细节理解为是对本发明的范围或权利要求书的范围的限制,而应将其视作对本发明的具体实施例所特有的特征的描述。在分开的实施例的上下文中的说明书中所述的某些特征也可在单个实施例中以组合的形式实施。相反地,在单个实施例的上下文中所述的各种特征也可单独地或者以任何合适的子组合的形式在多个实施例中实施。此外,虽然特征可能在上面被描述为以某些组合的形式起作用并且甚至最初也这样要求保护,但是要求保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求保护的组合可涉及子组合或子组合的变型。
类似地,虽然操作在附图中以特定次序示出,但不应将其理解为为了实现期望的结果而要求以相继次序或以所示的特定次序来执行此类操作,或者要求执行所有所示的操作。在某些情况中,多任务和并行处理可能是有利的。此外,上述实施例中的各个系统部件的划分不应被理解为在所有实施例中都要求此类划分,并且应当理解,所述程序部件和系统可一般性地被集成在单个软件产品中或者封装到多个软件产品中。
因此,尽管已相对于具体实施例描述了本发明,但应当理解,本发明旨在覆盖以下权利要求范围内的所有修改形式和等同形式。例如,权利要求书中所述的动作可以不同的次序执行并且仍能实现期望的结果。
Claims (24)
1.一种计算机实现的方法,包括:
在计算机系统处接收事件序列,其中在所述计算机系统中的多个元件内提供所述事件序列;
将所述事件序列存储在排序列表中,其中所述排序列表包括如在时间上以第一个事件开始并且以最后一个事件结束而发生的所述事件的所述事件序列;
接收与撤销操作的选择对应的输入;以及
在所述计算机系统中的所述多个元件上撤销所述事件序列中的事件,其中撤销事件包括以所述排序列表中的所述最后一个事件来开始所述撤销操作,并且其中所述最后一个事件在时间上是最新近发生的。
2.根据权利要求1所述的方法,其中所述撤销操作导致所显示的信息的改变。
3.根据权利要求2所述的方法,其中与所显示的信息的所述改变相关联的视觉数据被检索,并且其中所述视觉数据表示图像序列。
4.根据权利要求3所述的方法,其中所述撤销操作以逆序在视觉上使所显示的图像序列反转。
5.根据权利要求4所述的方法,其中在视觉上使所显示的动画序列反转包括一个或多个动画。
6.根据权利要求1所述的方法,其中所述计算机系统的所述元件包括一个或多个应用程序。
7.根据权利要求1所述的方法,其中所述计算机系统的所述元件包括一个或多个文件系统。
8.根据权利要求1所述的方法,其中在耦接到所述计算机系统的显示器上显示所述排序列表。
9.一种计算机实现的系统,包括:
一个或多个数据处理器;和
一个或多个非暂态计算机可读存储介质,所述一个或多个非暂态计算机可读存储介质包括指令,所述指令被配置为使得所述一个或多个数据处理器执行操作,所述操作包括:
接收事件序列,其中在计算机系统中的多个元件内提供所述事件序列;
将所述事件序列存储在排序列表中,其中所述排序列表包括如在时间上以第一个事件开始并且以最后一个事件结束而发生的所述事件的所述事件序列;
接收与撤销操作的选择对应的输入;以及
在所述计算机系统中的所述多个元件上撤销所述事件序列中的事件,其中撤销事件包括以所述排序列表中的所述最后一个事件来开始所述撤销操作,并且其中所述最后一个事件在时间上是最新近发生的。
10.根据权利要求9所述的系统,其中所述撤销操作导致所显示的信息的改变。
11.根据权利要求10所述的系统,其中与所显示的信息的所述改变相关联的视觉数据被检索,并且其中所述视觉数据表示图像序列。
12.根据权利要求11所述的系统,其中所述撤销操作以逆序在视觉上使所显示的图像序列反转。
13.根据权利要求12所述的系统,其中在视觉上使所显示的动画序列反转包括一个或多个动画。
14.根据权利要求9所述的系统,其中所述计算机系统的所述元件包括一个或多个应用程序。
15.根据权利要求9所述的系统,其中所述计算机系统的所述元件包括一个或多个文件系统。
16.根据权利要求9所述的系统,其中在耦接到所述计算机系统的显示器上显示所述排序列表。
17.一种有形地体现于非暂态机器可读存储介质中的计算机程序产品,所述计算机程序产品包括指令,所述指令被配置为使得数据处理装置:
接收事件序列,其中在计算机系统中的多个元件内提供所述事件序列;
将所述事件序列存储在排序列表中,其中所述排序列表包括如在时间上以第一个事件开始并且以最后一个事件结束而发生的所述事件的所述事件序列;
接收与撤销操作的选择对应的输入;以及
在所述计算机系统中的所述多个元件上撤销所述事件序列中的事件,其中撤销事件包括以所述排序列表中的所述最后一个事件来开始所述撤销操作,并且其中所述最后一个事件在时间上是最新近发生的。
18.根据权利要求17所述的计算机程序产品,其中所述撤销操作导致所显示的信息的改变。
19.根据权利要求18所述的计算机程序产品,其中与所显示的信息的所述改变相关联的视觉数据被检索,并且其中所述视觉数据表示图像序列。
20.根据权利要求19所述的计算机程序产品,其中所述撤销操作以逆序在视觉上使所显示的图像序列反转。
21.根据权利要求20所述的计算机程序产品,其中在视觉上使所显示的动画序列反转包括一个或多个动画。
22.根据权利要求17所述的计算机程序产品,其中所述计算机系统的所述元件包括一个或多个应用程序。
23.根据权利要求17所述的计算机程序产品,其中所述计算机系统的所述元件包括一个或多个文件系统。
24.根据权利要求17所述的计算机程序产品,其中在耦接到所述计算机系统的显示器上显示所述排序列表。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/954,417 | 2013-07-30 | ||
US13/954,417 US9703637B2 (en) | 2013-07-30 | 2013-07-30 | Undo system |
PCT/US2014/041841 WO2015017027A1 (en) | 2013-07-30 | 2014-06-11 | Undo system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105431821A true CN105431821A (zh) | 2016-03-23 |
CN105431821B CN105431821B (zh) | 2019-01-18 |
Family
ID=51134407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480043280.2A Expired - Fee Related CN105431821B (zh) | 2013-07-30 | 2014-06-11 | 撤销系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9703637B2 (zh) |
EP (1) | EP3005091A1 (zh) |
CN (1) | CN105431821B (zh) |
WO (1) | WO2015017027A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032752A (zh) * | 2017-06-12 | 2018-12-18 | 微软技术许可有限责任公司 | 基于云平台的操作撤销 |
CN113741753A (zh) * | 2021-09-13 | 2021-12-03 | 京东方科技集团股份有限公司 | 撤销方法、电子设备、存储介质及计算机程序产品 |
CN114879889A (zh) * | 2022-05-07 | 2022-08-09 | 上海米哈游天命科技有限公司 | 一种处理方法、装置、撤销系统、电子设备及存储介质 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336234B2 (en) * | 2013-02-22 | 2016-05-10 | Adobe Systems Incorporated | Online content management system with undo and redo operations |
CN105100842A (zh) * | 2015-06-17 | 2015-11-25 | 深圳市美贝壳科技有限公司 | 一种撤销图片编辑的方法 |
US10515054B2 (en) * | 2015-06-19 | 2019-12-24 | Hitachi Vantara Corporation | Fast and efficient multi-threaded algorithm for deleting an arbitrarily wide and deep directory tree using limited system resources |
US9971994B2 (en) * | 2015-07-27 | 2018-05-15 | International Business Machines Corporation | Undo stack to explore past actions in business analytics |
US9972109B2 (en) * | 2015-07-30 | 2018-05-15 | Adobe Systems Incorporated | Implementing out of order access to reversal operations in images |
US10007352B2 (en) | 2015-08-21 | 2018-06-26 | Microsoft Technology Licensing, Llc | Holographic display system with undo functionality |
US20170285930A1 (en) * | 2016-04-01 | 2017-10-05 | Microsoft Technology Licensing, Llc. | Document content replay |
US10409463B2 (en) * | 2016-05-13 | 2019-09-10 | Google Llc | Forking digital content items between digital topical environments |
CN106055534A (zh) * | 2016-05-27 | 2016-10-26 | 珠海市魅族科技有限公司 | 操作撤销方法及装置 |
US10664557B2 (en) | 2016-06-30 | 2020-05-26 | Microsoft Technology Licensing, Llc | Dial control for addition and reversal operations |
US20180095938A1 (en) * | 2016-09-30 | 2018-04-05 | Sap Se | Synchronized calendar and timeline adaptive user interface |
US10698561B2 (en) * | 2017-06-12 | 2020-06-30 | Google Llc | Intelligent command batching in an augmented and/or virtual reality environment |
US11550994B2 (en) * | 2017-07-24 | 2023-01-10 | Oracle International Corporation | System and method with data entry tracker using selective undo buttons |
KR102144351B1 (ko) * | 2018-11-05 | 2020-08-13 | 주식회사 한글과컴퓨터 | 전자 문서에 대한 손쉬운 언두 처리를 지원하는 전자 단말 장치 및 그 동작 방법 |
KR102168324B1 (ko) * | 2019-03-04 | 2020-10-21 | 주식회사 한글과컴퓨터 | 문서 편집 서버와 연동된 웹 기반의 문서 작성 환경에서 개체별 상태 변경을 가능하게 하는 전자 단말 장치 및 그 동작 방법 |
US10936571B1 (en) * | 2020-04-28 | 2021-03-02 | Salesforce.Com, Inc. | Undo based logical rewind in a multi-tenant system |
US12073210B2 (en) * | 2020-06-24 | 2024-08-27 | UiPath Inc. | Context-aware undo-redo service of an application development platform |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020013846A1 (en) * | 1998-03-20 | 2002-01-31 | Sun Microsystems, Inc. | Apparatus, methods, and computer program products for transactional support of network management operations |
US20040267877A1 (en) * | 2003-06-24 | 2004-12-30 | Microsoft Corporation | System-wide selective action management |
CN1755645A (zh) * | 2004-09-29 | 2006-04-05 | 微软公司 | 选择用于复验自动化的测试实例执行行为的系统和方法 |
US20130120439A1 (en) * | 2009-08-28 | 2013-05-16 | Jerry G. Harris | System and Method for Image Editing Using Visual Rewind Operation |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5890181A (en) * | 1996-11-14 | 1999-03-30 | Kurzwell Applied Intelligence, Inc. | System and method for remotely grouping contents of an action history stack |
US5990906A (en) * | 1997-06-25 | 1999-11-23 | National Instruments Corporation | Undo feature for a graphical programming system |
US6192378B1 (en) * | 1998-05-13 | 2001-02-20 | International Business Machines Corporation | Method and apparatus for combining undo and redo contexts in a distributed access environment |
CN101578582A (zh) | 2007-01-11 | 2009-11-11 | 皇家飞利浦电子股份有限公司 | 用于提供撤消/重做机制的方法和设备 |
US9229920B1 (en) * | 2007-04-30 | 2016-01-05 | Oracle America Inc. | Compound undo/redo manager for mixed model edits |
US20110107246A1 (en) | 2009-11-03 | 2011-05-05 | Schlumberger Technology Corporation | Undo/redo operations for multi-object data |
EP2343643A1 (de) | 2009-12-21 | 2011-07-13 | Siemens Aktiengesellschaft | Verfahren und Software-Komponente für eine Rückgängig-Funktion mit einer graphischen Benutzeroberfläche |
US20110252364A1 (en) * | 2010-04-07 | 2011-10-13 | Freddy Allen Anzures | Device, Method, and Graphical User Interface for Navigation of Multiple Applications |
-
2013
- 2013-07-30 US US13/954,417 patent/US9703637B2/en active Active
-
2014
- 2014-06-11 CN CN201480043280.2A patent/CN105431821B/zh not_active Expired - Fee Related
- 2014-06-11 EP EP14736211.5A patent/EP3005091A1/en not_active Withdrawn
- 2014-06-11 WO PCT/US2014/041841 patent/WO2015017027A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020013846A1 (en) * | 1998-03-20 | 2002-01-31 | Sun Microsystems, Inc. | Apparatus, methods, and computer program products for transactional support of network management operations |
US20040267877A1 (en) * | 2003-06-24 | 2004-12-30 | Microsoft Corporation | System-wide selective action management |
CN1755645A (zh) * | 2004-09-29 | 2006-04-05 | 微软公司 | 选择用于复验自动化的测试实例执行行为的系统和方法 |
US20130120439A1 (en) * | 2009-08-28 | 2013-05-16 | Jerry G. Harris | System and Method for Image Editing Using Visual Rewind Operation |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032752A (zh) * | 2017-06-12 | 2018-12-18 | 微软技术许可有限责任公司 | 基于云平台的操作撤销 |
US11513918B2 (en) | 2017-06-12 | 2022-11-29 | Microsoft Technology Licensing, Llc | Action undo service based on cloud platform |
CN109032752B (zh) * | 2017-06-12 | 2023-03-10 | 微软技术许可有限责任公司 | 基于云平台的操作撤销 |
CN113741753A (zh) * | 2021-09-13 | 2021-12-03 | 京东方科技集团股份有限公司 | 撤销方法、电子设备、存储介质及计算机程序产品 |
CN114879889A (zh) * | 2022-05-07 | 2022-08-09 | 上海米哈游天命科技有限公司 | 一种处理方法、装置、撤销系统、电子设备及存储介质 |
CN114879889B (zh) * | 2022-05-07 | 2024-03-29 | 上海米哈游天命科技有限公司 | 一种处理方法、装置、撤销系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3005091A1 (en) | 2016-04-13 |
US20150039566A1 (en) | 2015-02-05 |
US9703637B2 (en) | 2017-07-11 |
CN105431821B (zh) | 2019-01-18 |
WO2015017027A1 (en) | 2015-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105431821A (zh) | 撤销系统 | |
RU2530342C2 (ru) | Взаимодействие с временной шкалой мультимедиа | |
US9990059B2 (en) | Ink modes | |
US10205985B2 (en) | Management of the channel bar | |
JP4911962B2 (ja) | タスクバーボタンインタフェースの方法とシステム | |
US7614012B1 (en) | Methods and apparatus for graphical object implementation | |
CN113190314B (zh) | 互动内容生成方法、装置、存储介质及电子设备 | |
US20170300151A1 (en) | Management of the channel bar | |
CN108260014A (zh) | 一种视频播放方法和终端以及存储介质 | |
CN102591562A (zh) | 显示设备和提供该显示设备的用户界面的方法 | |
KR101895646B1 (ko) | 이머시브 쉘 및 애플리케이션 쉘의 디스플레이 | |
US20100083161A1 (en) | Calculator emulation apparatus | |
CN103034406A (zh) | 用于在触摸装置中操作功能的方法和设备 | |
US8739120B2 (en) | System and method for stage rendering in a software authoring tool | |
US9891787B2 (en) | Method and apparatus of operating electronic device | |
US8077182B2 (en) | User interface controls for managing content attributes | |
CN110300328A (zh) | 一种视频播放控制方法、装置及可读存储介质 | |
US20150180998A1 (en) | User terminal apparatus and control method thereof | |
TW201239730A (en) | Method for customizing user interface and electronic device thereof | |
CN109308207A (zh) | 一种动态壁纸的显示方法、装置、电子设备及存储介质 | |
EP2737400B1 (en) | Mode notifications | |
CN108268293A (zh) | 移动app快速原型演示的方法 | |
US20150149966A1 (en) | Method and apparatus for generating an explorer for user interface prototyping | |
US20240007428A1 (en) | Animated notification indicator | |
KR101806922B1 (ko) | 가상현실 컨텐츠 제작방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190118 Termination date: 20200611 |
|
CF01 | Termination of patent right due to non-payment of annual fee |