JP2005310116A - Computer system and undo/redo method therefor - Google Patents

Computer system and undo/redo method therefor Download PDF

Info

Publication number
JP2005310116A
JP2005310116A JP2005066314A JP2005066314A JP2005310116A JP 2005310116 A JP2005310116 A JP 2005310116A JP 2005066314 A JP2005066314 A JP 2005066314A JP 2005066314 A JP2005066314 A JP 2005066314A JP 2005310116 A JP2005310116 A JP 2005310116A
Authority
JP
Japan
Prior art keywords
command
function
undo
redo
instruction
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.)
Ceased
Application number
JP2005066314A
Other languages
Japanese (ja)
Inventor
Satoshi Nakajima
ナカジマ サトシ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005310116A publication Critical patent/JP2005310116A/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an undo/redo mechanism of all commands to an operating system, when running an application program. <P>SOLUTION: An operating system keeps a log of user commands and provides a cursor that instructs a position within the log. Each command may be encapsulated in an object that supports an interface for performing undo/redo operations. Similarly, the log may be encapsulated in such an object that it supports operations that facilitate a multiple-level undo/redo operations. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明はデータ処理装置、更に言えば、オペレーティングシステムおよびアプリケーションプログラムにおける多重レベル取消(undo)/再実行(redo)機能を提供するメカニズムに関する。   The present invention relates to data processing devices, and more particularly to mechanisms that provide multi-level undo / redo functionality in operating systems and application programs.

単一レベルの取消メカニズムは、ワシントン、レッドモンドのMicrosoft Corporationが販売するMicrosoft Word、 5.0版、ワードプロセッシングパッケージのようなソフトウエアパッケージによって提供される。単一レベル取消メカニズムにより、コマンドがすでに実行されてしまった後にユーザコマンドを取り消すことができる(つまり、コマンドの効果が回復される)。取消コマンドは一般に、オプションとして取消コマンドをリストに掲げているようなメニュー項目を選択することによって実行される。   A single level revocation mechanism is provided by software packages such as Microsoft Word, version 5.0, a word processing package sold by Microsoft Corporation of Redmond, Washington. A single level cancellation mechanism allows a user command to be canceled after the command has already been executed (ie, the effect of the command is restored). The cancel command is typically executed by selecting a menu item that optionally lists the cancel command.

ユーザは、単一レベルの取消コマンドに制限されるため、最も最近実行したコマンドだけしか回復することができない。   Because the user is limited to a single level of cancel command, only the most recently executed command can be recovered.

本発明は、コンピュータを有し、1つのコマンドが実行された時にそのコマンドが実行される前のコンピュータの状態に戻すアンドゥ機能およびアンドゥ機能により戻されたコンピュータの状態から前記コマンドをリドゥするリドゥ機能を有するコンピュータシステムにおいて、前記コンピュータは前記実行されたコマンドを記憶すると共に、アンドゥ機能を適用すべきコマンドおよびリドゥ機能を適用すべきコマンドを前記記憶手段上の記憶位置で表す記憶手段と、アンドゥ機能を適用可能な全てのコマンドに対して、アンドゥ機能を実行するように指示する第1の指示手段と、アンドゥ機能を適用可能な1つのコマンドに対して、アンドゥ機能を実行するように指示する第2の指示手段と、前記第1の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドから前記記憶手段に最初に記憶されたコマンドまでアンドゥ機能を自動的に繰り返し実行し、該アンドゥ機能が繰り返し実行されるごとにアンドゥ機能を適用すべきコマンドを示す前記記憶位置を1つ前の記憶位置に更新し、前記第2の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドのみに対してアンドゥ機能を実行し、アンドゥ機能を適用すべきコマンドを示す前記記憶位置を1つ前の記憶位置に更新する情報処理手段とを備えたことを特徴とする。   The present invention has a computer and an undo function for returning to the state of the computer before the command is executed when one command is executed, and a redo function for redoing the command from the computer state returned by the undo function A storage means for storing the executed command, a command to which the undo function is applied, and a command to which the redo function is to be applied, which are represented by storage locations on the storage means, and an undo function. The first instruction means for instructing to execute the undo function for all commands to which the undo function can be applied, and the first instruction means for instructing to execute the undo function for one command to which the undo function can be applied. 2 instruction means and when the instruction is given by the first instruction means The automatic undo function is automatically repeated from the command indicated by the storage position of the storage means to the command first stored in the storage means, and the undo function is applied each time the undo function is repeatedly executed. The storage position indicating the power command is updated to the previous storage position, and when an instruction is given by the second instruction means, an undo function is performed only for the command indicated by the storage position of the storage means. And information processing means for updating the storage location indicating the command to which the undo function should be applied to the previous storage location.

本発明によれば、これまでに実行したコマンドの全てを一度にアンドゥ(取り消し)しおよびリドゥ(再実行)することができるので、1つづつコマンドをアンドゥしおよびリドゥする機能と併用することにより、ユーザに従来にはない便宜性を与えることができる。   According to the present invention, since all the commands executed so far can be undone (cancelled) and redone (re-executed) at a time, the command can be used together with the function to undo and redo the commands one by one. , It is possible to provide the user with convenience not found in the past.

以下、図面を参照して本発明の実施形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

本発明のより好ましい実施例は、アプリケーションプログラムで多重レベルの取消/再実行動作を実行するメカニズムを提供する。このメカニズムはユーザコマンドのログを備え、アプリケーションプログラムの現状を監視するために現在の位置をログに保持する。ログはこのメカニズムによって使用され、多重レベルの取消動作と多重レベルの再実行動作を実行する。   A more preferred embodiment of the present invention provides a mechanism for performing multiple levels of undo / redo operations in an application program. This mechanism includes a log of user commands and keeps the current location in the log to monitor the current state of the application program. Logs are used by this mechanism to perform multilevel undo operations and multilevel replay operations.

図1は、本発明のより好ましい実施例を実施するのに適したデータ処理システム10のブロック図である。データ処理システム10は、中央処理装置(CPU)12とメモリ14を備える。メモリ14は、アプリケーションプログラム22、オペレーティングシステム24、更に他のアイテムを保持する。データ処理システム10は、また、キーボード16、マウス18、ビデオディスプレイ20を備える。図1に示されたデータ処理システム10は従来の単一の処理システムである。それにもかかわらず、本発明は分散システム若しくは他の環境で実行し得ることに注意すべきである。   FIG. 1 is a block diagram of a data processing system 10 suitable for implementing a more preferred embodiment of the present invention. The data processing system 10 includes a central processing unit (CPU) 12 and a memory 14. The memory 14 holds an application program 22, an operating system 24, and other items. The data processing system 10 also includes a keyboard 16, a mouse 18, and a video display 20. The data processing system 10 shown in FIG. 1 is a conventional single processing system. Nevertheless, it should be noted that the present invention may be implemented in a distributed system or other environment.

本発明のより好ましい実施例は、オブジェクト指向型のプログラミング環境で使用するために設計されている。以下の記述のため、オペレーティングシステム24はオブジェクト指向型のオペレーティングシステムであると仮定する。しかしながら、当業者には明らかなように、本発明はオブジェクト指向型のオペレーティングシステムに限定されるものではなく、他の環境でも実行することが可能である。   A more preferred embodiment of the present invention is designed for use in an object-oriented programming environment. For the following description, it is assumed that the operating system 24 is an object-oriented operating system. However, as will be apparent to those skilled in the art, the present invention is not limited to an object-oriented operating system and can be executed in other environments.

オブジェクト指向型のオペレーティングシステム24は、データ処理システム10における「オブジェクト」の使用をサポートする。オブジェクトは、データメンバ(data members)とメンバ機能(menber functions)の組合せと見ることもできる。データメンバはデータ構造に記憶された属性であり、メンバ機能はこれらの属性で作用する機能である。本発明のより好ましい実施例の多重レベル取消/再実行メカニズムでは、オブジェクト概念が利用されており、ここでは、このメカニズムの所定の特徴がオブジェクトとして実行される。   The object-oriented operating system 24 supports the use of “objects” in the data processing system 10. Objects can also be viewed as a combination of data members and member functions. Data members are attributes stored in the data structure, and member functions are functions that operate on these attributes. The multi-level revocation / re-execution mechanism of the more preferred embodiment of the present invention utilizes the object concept, where certain features of this mechanism are implemented as objects.

インタフェースは、命名された単位に構成された意味的(semantically)に関連した機能の集合である。各インタフェースはその識別子によって唯一つに識別され得る。インタフェースは事例(instantiation)を持たない、つまり、インタフェース定義はインタフェースで指定された機能を実行するコードを含んでいない。インタフェースは機能のためのシグネチャの組を特定する。オブジェクトはインタフェースを「サポート」する。オブジェクトがインタフェースをサポートする場合、そのオブジェクトはそのインタフェースによって指定された機能のためにコードを提供する。しかしながら、オブジェクトによって与えられるコードは、インタフェースによって指定されたシグネチャに従わなければならない。   An interface is a collection of semantically related functions organized into named units. Each interface can be uniquely identified by its identifier. An interface has no instantiation, that is, the interface definition does not contain code that performs the function specified by the interface. The interface specifies a set of signatures for the function. The object “supports” the interface. If an object supports an interface, that object provides code for the function specified by that interface. However, the code provided by the object must follow the signature specified by the interface.

本発明の好ましい実施例の多重レベルの取消/再実行メカニズムは、ユーザコマンドのコマンドログを保持するため、アプリケーションプログラムに対する機能をサポートする。コマンドログに保持されたデータやデータを保持するための機能は、コマンドログオブジェクト中にカプセル化される。コマンドログオブジェクトは、コマンド要素オブジェクトとカーソル32のリスト30(図5)を含む。コマンド要素オブジェクトのリストは、ユーザコマンドを指定するコマンド要素オブジェクトの逐次リストである。カーソル32は、コマンド要素オブジェクトのリスト30上で最後に与えられた(つまり、最後に実行された)コマンドに対応する現在位置を指定する。   The multilevel cancel / re-execute mechanism of the preferred embodiment of the present invention supports functionality for application programs to maintain a command log of user commands. Data held in the command log and the function for holding the data are encapsulated in a command log object. The command log object includes a command element object and a list 30 of cursors 32 (FIG. 5). The list of command element objects is a sequential list of command element objects that specify user commands. The cursor 32 designates the current position corresponding to the command given last (that is, executed last) on the list 30 of command element objects.

アプリケーションプログラム24の実行中にユーザによってエンターされる各コマンドは、図2に示されているような関連するコマンド要素オブジェクト40を発生する。コマンド要素オブジェクト40は、V−ポインタ42とコマンドの特性を指定する。V−ポインタ42は、コマンド要素オブジェクト40で実行され得る動作に対してのエントリーを備えた(つまり、C++プログラミング言語で見られるような仮想テーブルを備えた)V−テーブル46を指示する。これらの動作には、取消動作、再実行動作、およびマージ動作が含まれ、これらの動作のそれぞれに対して48a、48b、48cが提供される。エントリ48a、48b、48cは、それらの関連動作を実行するためコード50a、50b、50cの部分を指示する。取消動作は現在のカーソル位置にあるコマンドを取り消す。再実行動作はリスト30の次の動作(図5)を実行する。マージ動作は、可能ならば、コマンドログ要素オブジェクトをマージする。   Each command entered by the user during execution of the application program 24 generates an associated command element object 40 as shown in FIG. The command element object 40 designates the V-pointer 42 and the characteristics of the command. V-pointer 42 points to V-table 46 with entries for actions that can be performed on command element object 40 (ie, with a virtual table as seen in the C ++ programming language). These operations include a cancel operation, a re-execute operation, and a merge operation, and 48a, 48b, and 48c are provided for each of these operations. Entries 48a, 48b, 48c point to portions of code 50a, 50b, 50c to perform their associated operations. A cancel operation cancels the command at the current cursor position. The re-execution operation executes the next operation in the list 30 (FIG. 5). The merge operation merges command log element objects if possible.

コマンドログオブジェクトは、コマンド要素オブジェクト40で動作を実行するためにコード50a、50b、50cの実行について知る必要はない。このコード50a、50b、50cの詳細は、コマンド要素対象物40に関係がある。
このように、コマンドログオブジェクトは、それ自身はそのような詳細に関与する必要がないため、より容易に実行され得る。
The command log object need not know about the execution of the codes 50a, 50b, 50c in order to perform operations on the command element object 40. The details of the codes 50a, 50b, 50c are related to the command element object 40.
In this way, the command log object can be executed more easily because it does not need to be concerned with such details itself.

コマンドログオブジェクトとコマンド要素オブジェクト40は、アプリケーションプログラム22(図1)によって生成される。オペレーティングシステム24は、多重レベルの取消/再実行設備を提供し、多重取消/再実行動作をアプチケーションプログラムのためにサポートする。このメカニズムの一部はユーザインタフェースである。ユーザインタフェースは、取消、再実行コマンドのそれぞれを実行するよう動作し得るボタン51、53(図3の(a))を表示する。取消ボタン51と再実行ボタン53は、連続的に複数の取消若しくは再実行を実行するために複数回数動作し得る。ユーザは、最も最近のコマンドのみの取消に限定されず、また、最も最近取り消されたコマンドの再実行に制限されない。コンテキストメニュー55は、動作中に取消ボタン51(図3の(b)参照)に提供される。同様のコンテキストメニュー57(図3の(c))が再実行ボタンに対して提供される。コンテキストメニュー55(図3の(b))と57(図3の(b)は2つのオプションを提供する。即ち、「ラストアプライ (最後に付与されたコマンド)」と「オールザウェイ (全てのコマンド)」である。これらのオプションは、最後に付与された単一のコマンドを取り消し/再実行するか、若しくは、複数のコマンドを取り消し/再実行する。   The command log object and the command element object 40 are generated by the application program 22 (FIG. 1). The operating system 24 provides multiple levels of undo / redo facilities and supports multiple undo / redo operations for application programs. Part of this mechanism is the user interface. The user interface displays buttons 51 and 53 (FIG. 3A) that can be operated to execute the cancel and re-execute commands, respectively. The cancel button 51 and the re-execution button 53 can be operated a plurality of times in order to continuously execute a plurality of cancellations or re-executions. The user is not limited to canceling only the most recent command, and is not limited to re-executing the most recently canceled command. A context menu 55 is provided to the cancel button 51 (see FIG. 3B) during operation. A similar context menu 57 (FIG. 3c) is provided for the redo button. The context menus 55 (FIG. 3 (b)) and 57 (FIG. 3 (b) provide two options: “last priority” (the last command given) and “all the way (all commands)”. These options cancel / re-execute the last command given, or cancel / re-execute multiple commands.

本発明のより好ましい実施例の多重レベルの取消/再実行メカニズムによって提供される4つの動作は、おそらく、例示するには最も好ましいものである。故に、本発明の好ましい実施例によって実行される段階とともに、4つの動作タイプのそれぞれについて以下に例示する。   The four operations provided by the multilevel undo / redo mechanism of the more preferred embodiment of the present invention are probably the most preferred to illustrate. Thus, together with the steps performed by the preferred embodiment of the present invention, each of the four operation types is illustrated below.

図4は、ユーザが新たなコマンドにエンターしたときに、本発明の好ましい実施例によって実行される段階を示すフローチャートである。図4は、図5の表に関連して記述されている。図5は、コマンド要素オブジェクトのリスト30の例を示す。最初にユーザはコマンドをエンターする(図4のステップ52)。図5の例において、リスト30は初期的には空である。ユーザがその後、コマンド「a」をエンターすると仮定する。好ましい実施例の多重レベル取消/再実行メカニズムは、カーソル32の前のリスト上に何らかのコマンドが存在するかどうかチェックする(図4のステップ54)。カーソル32の前のリスト上にコマンドが存在しなければ、例えば図5に示す場合は、コマンドがリスト30の前に付加され(図4のステップ58)、リストの前を指示するようカーソルを移動する(ステップ60)。この結果、図5に示すように、コマンド「a」がエンターされた後にエントリー64(つまり、コマンド「a」に対するコマンド要素オブジェクトに対するエントリー)がリスト30の前に付加され、カーソル32はエントリー64を指示するよう移動される。ユーザが他のコマンド「b」をエンターすると仮定する(故に、図4のステップ52を反復する)。図4のステップ54、58、60がその後に反復され、エントリー66(図5)が、コマンド「a」に対するエントリー64の前のリスト30の前部に付加される。カーソル32は、コマンド「b」に対するエントリー66を指示するよう更新される。   FIG. 4 is a flowchart illustrating the steps performed by the preferred embodiment of the present invention when a user enters a new command. FIG. 4 is described in relation to the table of FIG. FIG. 5 shows an example of a list 30 of command element objects. Initially, the user enters a command (step 52 in FIG. 4). In the example of FIG. 5, the list 30 is initially empty. Assume that the user then enters the command “a”. The multilevel cancel / replay mechanism of the preferred embodiment checks whether there are any commands on the list in front of cursor 32 (step 54 of FIG. 4). If the command does not exist on the list in front of the cursor 32, for example, as shown in FIG. 5, the command is added in front of the list 30 (step 58 in FIG. 4), and the cursor is moved to indicate the front of the list. (Step 60). As a result, as shown in FIG. 5, after the command “a” is entered, an entry 64 (that is, an entry for the command element object for the command “a”) is added in front of the list 30, and the cursor 32 changes the entry 64. Moved to direct. Assume that the user enters another command “b” (thus repeating step 52 of FIG. 4). Steps 54, 58, 60 of FIG. 4 are then repeated, and entry 66 (FIG. 5) is added to the front of list 30 before entry 64 for command “a”. The cursor 32 is updated to point to the entry 66 for the command “b”.

上述の方法により、コマンド要素オブジェクトのリスト30が構成される。上述のオブジェクトモデルにより、ユーザがコマンドをエンターする毎に、コマンド要素オブジェクト40(図2)のインスタンスが生成され、新たなコマンド要素オブジェクト40がリストの前部に付加され、カーソル位置が更新される。   The command element object list 30 is constructed by the method described above. With the above object model, each time a user enters a command, an instance of the command element object 40 (FIG. 2) is generated, a new command element object 40 is added to the front of the list, and the cursor position is updated. .

図4のステップ54で、カーソル32の前に位置決めされたコマンドがリスト30上に存在すると判断された場合には、カーソル前のリスト上の全てのコマンドが消去される(図4のステップ56)。図6はこのような消去の例を示す。コマンドログ要素のリスト30は初期的には、図6に示すように、コマンド「a」、「b」、「c」それぞれに対するエントリ68、70、72を含む。カーソル32はコマンド「b」に対するエントリ70を指示する。次に、ユーザはコマンド「d」をエンターする。図4のステップ54で、コマンド「c」に対するエントリ72がリスト30でカーソルの前に位置付けされる。故にエントリ72は、図4のステップ56で消去される。更に、コマンド「d」に対するエントリ73が、リスト30の前に付加され(図4のステップ58を参照)、カーソル32(図6)は、エントリ73を指示するよう更新される(図4のステップ60)。   If it is determined in step 54 of FIG. 4 that the command positioned before the cursor 32 exists on the list 30, all commands on the list before the cursor are deleted (step 56 of FIG. 4). . FIG. 6 shows an example of such erasure. The list 30 of command log elements initially includes entries 68, 70, 72 for commands "a", "b", "c", respectively, as shown in FIG. The cursor 32 points to the entry 70 for the command “b”. Next, the user enters the command “d”. In step 54 of FIG. 4, an entry 72 for the command “c” is positioned in the list 30 before the cursor. Therefore, entry 72 is erased at step 56 of FIG. Further, an entry 73 for the command “d” is added in front of the list 30 (see step 58 in FIG. 4), and the cursor 32 (FIG. 6) is updated to point to the entry 73 (step in FIG. 4). 60).

一旦、ユーザがコマンド要素オブジェクトのリスト30を構成すると、上述のように、ユーザは取消コマンドを実行することができる。図7は、取消コマンドがリクエストされた場合に実行されるステップのフローチャートである。図8は、複数の取消コマンドがリストで実行された後の、コマンド要素オブジェクトのリスト30の状態を示す図である。図7のステップは、図8の図と共に記述されている。初めにユーザは、ユーザインタフェースに設けられた取消ボタン51(図3の(b))を作動させることによって取消動作をリクエストする。上で述べたように、コンテキストメニュー55はボタン51が作動された後に表示され、コンテキストメニューは、最も最近のコマンド(つまり、「最後に付与されたもの」オプション)だけを取り消すオプションをユーザに提供する。ユーザがコンテキストメニュー55で「ラストアプライ」オプションを選択したと仮定する(図7のステップ74)。カーソル32によって指示されるコマンドは、そのコマンドを取り消すためのコマンド要素オブジェクト(ステップ76)で与えられるコード50a(図2)を実行することによって取り消される。更に、カーソル32は、コマンド要素オブジェクトのリスト30で次に続くエントリを指示するよう減分される。多重レベルの取消動作を実行するため、ユーザは取消ボタン51を複数回数動作させ、上述のステップを反復する。   Once the user has configured the list 30 of command element objects, the user can execute a cancel command as described above. FIG. 7 is a flowchart of the steps executed when a cancel command is requested. FIG. 8 is a diagram showing a state of the command element object list 30 after a plurality of cancel commands are executed on the list. The steps of FIG. 7 are described in conjunction with the diagram of FIG. First, the user requests a cancel operation by operating a cancel button 51 (FIG. 3B) provided on the user interface. As mentioned above, the context menu 55 is displayed after the button 51 is activated, and the context menu provides the user with an option to cancel only the most recent command (ie, the “last given” option). To do. Assume that the user has selected the “Last Store Pry” option in the context menu 55 (step 74 in FIG. 7). The command indicated by the cursor 32 is canceled by executing the code 50a (FIG. 2) given by the command element object (step 76) for canceling the command. In addition, cursor 32 is decremented to point to the next entry in command element object list 30. To perform a multi-level cancel operation, the user operates the cancel button 51 multiple times and repeats the above steps.

図8は連続する取消動作の例を示す。コマンド要素オブジェクトのリストが初期的にコマンド「a」、「b」、「c」それぞれに対するエントリ80、82、84を含むと仮定する。ユーザが次に取消動作をリクエストした場合、コマンド「c」が取り消され、カーソル32はコマンド「b」に対するエントリ82を指示するよう移動される。ユーザが付加的な取消動作リクエストを行った場合、コマンド「b」も取り消され、カーソルはコマンド「a」に対するエントリ80を指示するよう移動される。   FIG. 8 shows an example of successive cancellation operations. Assume that the list of command element objects initially includes entries 80, 82, 84 for commands "a", "b", "c", respectively. When the user next requests a cancel operation, the command “c” is canceled and the cursor 32 is moved to point to the entry 82 for the command “b”. If the user makes an additional cancel operation request, command “b” is also canceled and the cursor is moved to point to entry 80 for command “a”.

ユーザは単一の再実行動作をリクエストすることもできる。図9は、最も最近取り消されたコマンドの単一の再実行動作を実行するステップのフローチャートである。このプロセスは、最も最近取り消されたコマンドの再実行動作を要求しているユーザによって開始される。ユーザは、ユーザインタフェースからの再実行ボタン53(図3の(c))を作動させ、その後、「ラストアプライ」オプションをコンテキストメニュー57から選択する(図9のステップ86)。リスト30での現在のカーソル位置のすぐ前のコマンドがその後実行され(ステップ88)、カーソルが増分される(ステップ90)。図2を参照して上に述べたオブジェクトモデルにより、再実行コード50bが最も最近取り消されたコマンド要素オブジェクト40で実行される。多重レベルの再実行動作を実行するため、ユーザは再実行ボタン53を複数回数作動させ、図9のステップを反復させる。   The user can also request a single replay operation. FIG. 9 is a flow chart of the steps for performing a single re-execution operation for the most recently canceled command. This process is initiated by the user requesting the re-execution operation of the most recently canceled command. The user activates the re-execute button 53 (FIG. 3 (c)) from the user interface, and then selects the “last save” option from the context menu 57 (step 86 in FIG. 9). The command immediately preceding the current cursor position in list 30 is then executed (step 88) and the cursor is incremented (step 90). With the object model described above with reference to FIG. 2, the re-executed code 50b is executed on the command element object 40 that was most recently canceled. In order to execute a multi-level re-execution operation, the user operates the re-execution button 53 a plurality of times, and repeats the steps of FIG.

図10は、再実行コマンドの効果を例示する。初期的には、リスト30はコマンド「a」、「b」それぞれに対するエントリ92,94を含む。カーソル32は、コマンド「a」に対するエントリ92を指示する。ユーザが再実行コマンドをエンターした場合、コマンド「b」が再び実行され、カーソル32はコマンド「b」に対するエントリ94を指示するよう増分される。   FIG. 10 illustrates the effect of the re-execution command. Initially, list 30 includes entries 92 and 94 for commands “a” and “b”, respectively. The cursor 32 points to the entry 92 for the command “a”. If the user enters a re-execute command, the command “b” is executed again and the cursor 32 is incremented to point to the entry 94 for the command “b”.

ユーザはコマンド要素オブジェクトのリスト30の全てのコマンドを取り消す付加的なオプションを有する。図11は、「オールザウェイ」取消動作のために実行されるステップのフローチャートである。初めに、ユーザは、「オールザウェイ」取消動作が実行されるよう要求する(図11のステップ96)。ユーザは取消ボタン51を作動し、次にコンテキストメニュー55の「オールザウェイ」のオプションを選択することによってそのようなコマンドを要求する。コンテキストコマンドから初期コマンドまでの全てのユーザコマンドが回復される(図11のステップ98)。更に、カーソルはリスト30の初期コマンドの前を指示するよう移動される(ステップ100)。   The user has the additional option of canceling all commands in the command element object list 30. FIG. 11 is a flowchart of the steps performed for an “all the way” cancellation operation. Initially, the user requests that an “all the way” cancel operation be performed (step 96 in FIG. 11). The user requests such a command by activating the cancel button 51 and then selecting the “all the way” option in the context menu 55. All user commands from the context command to the initial command are recovered (step 98 in FIG. 11). In addition, the cursor is moved to point before the initial command in the list 30 (step 100).

図12は、「オールザウェイ」取消動作の効果を例示する。初期的に、コマンド要素オブジェクト30のリスト30は、コマンド「a」、「b」、「c」それぞれに対するエントリ102、104、106を含む。カーソル32はコマンド「c」に対するエントリ106を指示する。ユーザが「オールザウェイ」取消動作を要求した後、コマンド「c」、「b」、「a」は順次取り消され、カーソル32はリスト30の第1のエントリの前を指示するよう増分させる。   FIG. 12 illustrates the effect of an “all the way” cancellation operation. Initially, the list 30 of command element objects 30 includes entries 102, 104, 106 for commands “a”, “b”, “c”, respectively. The cursor 32 points to the entry 106 for the command “c”. After the user requests an “all the way” cancel operation, the commands “c”, “b”, “a” are canceled in sequence, and the cursor 32 is incremented to point before the first entry in the list 30.

同様に、ユーザは、現在のカーソル位置の前に位置決めされたリスト上の全てのコマンドを再実行するため、再実行動作を「オールザウェイ」で実行するよう要求することもできる。図13はこのような動作を実行するステップのフローチャートである。最初に、ユーザは、「オールザウェイ」再実行動作を実行するよう要求する(図13のステップ108)。他の動作と同様に、ユーザは、ユーザインタフェースを通じて動作を選択する。特に、ユーザは再実行ボタン53を作動させ、その後、「オールザウェイ」オプションをコンテキストメニュー57(図3の(c))から選択する。選択がなされた後にリスト上のカーソル32の前に位置づけられたコマンドが実行される(図13のステップ110)。更に、カーソル位置が増分され、リストの前部を指示する(ステップ112)。   Similarly, the user can request that the re-execute operation be performed “all the way” to re-execute all commands on the list positioned before the current cursor position. FIG. 13 is a flowchart of steps for executing such an operation. Initially, the user requests to perform an “all the way” re-execution operation (step 108 in FIG. 13). As with other actions, the user selects an action through the user interface. In particular, the user activates the redo button 53 and then selects the “all the way” option from the context menu 57 (FIG. 3c). After the selection is made, the command positioned before the cursor 32 on the list is executed (step 110 in FIG. 13). In addition, the cursor position is incremented to indicate the front of the list (step 112).

図14は、「オールザウェイ」再実行動作の効果を例示する。初期的に、コマンド要素オブジェクトのリスト30は、コマンド「a」、「b」、「c」それぞれに対するエントリ114、116、118を含む。カーソル32は、コマンド「a」に対するエントリ114を指示する。「オールザウェイ」再実行動作が実行された後、コマンド「b」、「c」が続いて実行され、コマンド「c」に対するエントリ118を指示するようカーソル位置が増分される。   FIG. 14 illustrates the effect of an “all the way” re-execution operation. Initially, command element object list 30 includes entries 114, 116, 118 for commands "a", "b", and "c", respectively. The cursor 32 points to the entry 114 for the command “a”. After the “all the way” re-execution operation is performed, commands “b” and “c” are subsequently executed, and the cursor position is incremented to point to entry 118 for command “c”.

本発明をより好ましい実施例を参照して記述してきたが、特許請求の範囲で定義された本発明から逸脱することなく、その形態および詳細について様々な変更をなし得ることは当業者には明らかであろう。   Although the invention has been described with reference to more preferred embodiments, it will be apparent to those skilled in the art that various changes in form and detail can be made without departing from the invention as defined in the claims. Will.

本発明のより好ましい実施例を実行するデータ処理システムのブロック図。1 is a block diagram of a data processing system that implements a more preferred embodiment of the present invention. 本発明の好ましい実施例で使用するコマンド要素オブジェクトを示すブロック図。FIG. 3 is a block diagram illustrating command element objects used in a preferred embodiment of the present invention. 本発明のより好ましい実施例の多重取消/再実行メカニズムを実行するユーザインタフェース要素を示す図。FIG. 4 illustrates user interface elements that implement the multiple undo / redo mechanism of a more preferred embodiment of the present invention. 本発明のより好ましい実施例においてユーザがコマンドをエンターする際に実行するステップを示すフローチャート。6 is a flowchart illustrating steps performed when a user enters a command in a more preferred embodiment of the present invention. 本発明のより好ましい実施例においてコマンドが付加された後のコマンド要素オブジェクトのリスト状態を示す図。The figure which shows the list state of the command element object after a command is added in the more preferable Example of this invention. 本発明のより好ましい実施例においてリスト上の要素の消去が実行されたときのコマンド要素オブジェクトのリストを示す図。The figure which shows the list | wrist of a command element object when deletion of the element on a list | wrist is performed in the more preferable Example of this invention. 本発明のより好ましい実施例の取消動作で実行されるステップを示すフローチャート。The flowchart which shows the step performed by cancellation operation | movement of the more preferable Example of this invention. 本発明のより好ましい実施例で実行される取消動作時のコマンド要素オブジェクトのリストを示す図。The figure which shows the list | wrist of the command element object at the time of cancellation operation | movement performed by the more preferable Example of this invention. 本発明のより好ましい実施例で実行される再実行動作で実行されるステップを示すフローチャート。The flowchart which shows the step performed by the re-execution operation performed by the more preferable Example of this invention. 本発明のより好ましい実施例で実行される再実行動作時のコマンド要素オブジェクトのリストを示す図。The figure which shows the list | wrist of the command element object at the time of the re-execution operation | movement performed by the more preferable Example of this invention. 本発明のより好ましい実施例で実行される「オールザウェイ」取消動作時のステップを示すフローチャート。The flowchart which shows the step at the time of "all the way" cancellation | release operation | movement performed by the more preferable Example of this invention. 本発明のより好ましい実施例で実行される「オールザウェイ」取消動作時のコマンド要素オブジェクトのリストを示す図。FIG. 10 is a diagram showing a list of command element objects during an “all-the-way” cancel operation executed in a more preferred embodiment of the present invention. 本発明のより好ましい実施例で実行される「オールザウェイ」再実行動作時に実行されるステップを示すフローチャート。6 is a flowchart illustrating steps performed during an “all-the-way” re-execution operation performed in a more preferred embodiment of the present invention. 本発明のより好ましい実施例で実行される「オールザウェイ」再実行動作時のコマンド要素オブジェクトのリストを示すフローチャート。6 is a flowchart showing a list of command element objects during an “all the way” re-execution operation performed in a more preferred embodiment of the present invention.

符号の説明Explanation of symbols

10 データ処理システム
12 CPU
14 メモリ
16 キーボード
18 マウス
20 ビデオディスプレイ
22 アプリケーションプログラム
24 オペレーティングシステム
10 Data processing system 12 CPU
14 Memory 16 Keyboard 18 Mouse 20 Video display 22 Application program 24 Operating system

Claims (12)

コンピュータを有し、1つのコマンドが実行された時にそのコマンドが実行される前のコンピュータの状態に戻すアンドゥ機能およびアンドゥ機能により戻されたコンピュータの状態から前記コマンドをリドゥするリドゥ機能を有するコンピュータシステムにおいて、
前記コンピュータは前記実行されたコマンドを記憶すると共に、アンドゥ機能を適用すべきコマンドおよびリドゥ機能を適用すべきコマンドを前記記憶手段上の記憶位置で表す記憶手段と、
アンドゥ機能を適用可能な全てのコマンドに対して、アンドゥ機能を実行するように指示する第1の指示手段と、
アンドゥ機能を適用可能な1つのコマンドに対して、アンドゥ機能を実行するように指示する第2の指示手段と、
前記第1の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドから前記記憶手段に最初に記憶されたコマンドまでアンドゥ機能を自動的に繰り返し実行し、該アンドゥ機能が繰り返し実行されるごとにアンドゥ機能を適用すべきコマンドを示す前記記憶位置を1つ前の記憶位置に更新し、前記第2の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドのみに対してアンドゥ機能を実行し、アンドゥ機能を適用すべきコマンドを示す前記記憶位置を1つ前の記憶位置に更新する情報処理手段と
を備えたことを特徴とするコンピュータシステム。
A computer system having a computer and having an undo function for returning to the state of the computer before the command is executed when one command is executed, and a redo function for redoing the command from the state of the computer returned by the undo function In
The computer stores the executed command, and storage means for indicating a command to which an undo function is applied and a command to which a redo function is to be applied, as storage locations on the storage means;
First instruction means for instructing all commands to which the undo function can be applied to execute the undo function;
A second instruction means for instructing execution of the undo function for one command to which the undo function can be applied;
When an instruction is given by the first instruction means, the undo function is automatically and repeatedly executed from the command indicated by the storage position of the storage means to the command first stored in the storage means. Each time the function is repeatedly executed, the storage position indicating the command to which the undo function should be applied is updated to the previous storage position, and when the instruction by the second instruction means is performed, the storage means And an information processing means for executing the undo function only on the command indicated by the storage position of the information, and updating the storage position indicating the command to which the undo function is applied to the previous storage position. Computer system.
請求項1に記載のコンピュータシステムにおいて、前記第1の指示手段および第2の指示手段はコンテキストメニューであることを特徴とするコンピュータシステム。   2. The computer system according to claim 1, wherein the first instruction means and the second instruction means are context menus. 請求項1または2に記載のコンピュータシステムにおいて、リドゥ機能を適用可能な全てのコマンドに対して、リドゥ機能を実行するように指示する第3の指示手段と、
リドゥ機能を適用可能な1つのコマンドに対して、リドゥ機能を実行するように指示する第4の指示手段とを有し、
前記情報処理手段は、前記第3の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドから前記記憶手段に最後に記憶されたコマンドまでリドゥ機能を自動的に繰り返し実行し、該リドゥ機能が繰り返し実行されるごとにリドゥ機能を適用すべきコマンドを示す前記記憶位置を1つ後の記憶位置に更新し、前記第4の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドのみに対してリドゥ機能を実行し、リドゥ機能を適用すべきコマンドを示す前記記憶位置を1つ後の記憶位置に更新することを特徴とするコンピュータシステム。
In the computer system according to claim 1 or 2, third instruction means for instructing all commands to which the redo function can be applied to execute the redo function;
A fourth instruction means for instructing to execute the redo function for one command to which the redo function can be applied;
The information processing means automatically performs a redo function from the command indicated by the storage position of the storage means to the last stored command in the storage means when an instruction is given by the third instruction means. When it is repeatedly executed and the storage position indicating the command to which the redo function is to be applied is updated to the next storage position each time the redo function is repeatedly executed, and an instruction is given by the fourth instruction means Includes performing a redo function only on the command indicated by the storage position of the storage means, and updating the storage position indicating the command to which the redo function should be applied to the next storage position. Computer system.
請求項1〜3のいずれかに記載のコンピュータシステムにおいて、前記第3の指示手段および前記第4の指示手段はコンテキストメニューであることを特徴とするコンピュータシステム。   4. The computer system according to claim 1, wherein the third instruction unit and the fourth instruction unit are context menus. 1つのコマンドが実行された時にそのコマンドが実行される前のコンピュータの状態に戻すアンドゥ機能およびアンドゥ機能により戻されたコンピュータの状態から前記コマンドをリドゥするリドゥ機能を有するコンピュータを有するコンピュータシステムのアンドゥおよびリドゥ方法において、前記コンピュータは第1の指示手段、第2の指示手段、情報処理手段および前記コンピュータは前記実行されたコマンドを記憶すると共に、アンドゥ機能を適用すべきコマンドおよびリドゥ機能を適用すべきコマンドを前記記憶手段上の記憶位置で表す記憶手段を有し、
アンドゥ機能を適用可能な全てのコマンドに対して、アンドゥ機能を実行するように前記第1の指示手段により指示する第1の指示ステップと、
アンドゥ機能を適用可能な1つのコマンドに対して、アンドゥ機能を実行するように前記第2の指示手段により指示する第2の指示ステップと、
前記第1の指示手段による指示が行なわれた場合には、前記情報処理手段により前記記憶手段の記憶位置により示されるコマンドから前記記憶手段に最初に記憶されたコマンドまでアンドゥ機能を自動的に繰り返し実行し、該アンドゥ機能が繰り返し実行されるごとにアンドゥ機能を適用すべきコマンドを示す前記記憶位置を1つ前の記憶位置に更新し、前記第2の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドのみに対してアンドゥ機能を実行し、アンドゥ機能を適用すべきコマンドを示す前記記憶位置を1つ前の記憶位置に更新する情報処理ステップと
を備えたことを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。
Undo of a computer system having a computer having an undo function for returning to the state of the computer before the execution of the command when one command is executed and a computer having a redo function for redoing the command from the state of the computer returned by the undo function In the redo method, the computer stores the executed command, and applies the command to which the undo function is applied and the redo function, the first instruction means, the second instruction means, the information processing means, and the computer. Storage means for representing a command to be represented by a storage position on the storage means;
A first instruction step that instructs the first instruction means to execute the undo function for all commands to which the undo function can be applied;
A second instruction step instructing the second instruction means to execute the undo function for one command to which the undo function can be applied;
When an instruction is given by the first instruction means, the undo function is automatically repeated from the command indicated by the storage position of the storage means to the command first stored in the storage means by the information processing means. Each time the undo function is repeatedly executed, the storage position indicating the command to which the undo function is to be applied is updated to the previous storage position, and the instruction by the second instruction means is performed. Includes an information processing step of executing an undo function only for a command indicated by a storage position of the storage means and updating the storage position indicating a command to which the undo function is applied to a previous storage position. An undo and redo method for a computer system characterized by the above.
請求項5に記載のコンピュータシステムのアンドゥおよびリドゥ方法において、前記第1の指示手段および第2の指示手段はコンテキストメニューであることを特徴とするコンピュータのアンドゥおよびリドゥ方法。   6. The computer undo and redo method according to claim 5, wherein the first instruction means and the second instruction means are context menus. 請求項5または6に記載のコンピュータシステムのアンドゥおよびリドゥ方法において、前記コンピュータは第3の指示手段および第4の指示手段をさらに有し、
リドゥ機能を適用可能な全てのコマンドに対して、リドゥ機能を実行するように前記第3の指示手段により指示する第3の指示ステップと、
リドゥ機能を適用可能な1つのコマンドに対して、リドゥ機能を実行するように前記第4の指示手段により指示する第4の指示ステップとを有し、
前記第3の指示手段による指示が行なわれた場合には、前記情報処理手段により、前記記憶手段の記憶位置により示されるコマンドから前記記憶手段に最後に記憶されたコマンドまでリドゥ機能を自動的に繰り返し実行し、該リドゥ機能が繰り返し実行されるごとにリドゥ機能を適用すべきコマンドを示す前記記憶位置を1つ後の記憶位置に更新し、前記第4の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドのみに対してリドゥ機能を実行し、リドゥ機能を適用すべきコマンドを示す前記記憶位置を1つ後の記憶位置に更新することを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。
The undo and redo method for a computer system according to claim 5 or 6, wherein the computer further comprises third instruction means and fourth instruction means,
A third instruction step for instructing all commands to which the redo function can be applied by the third instruction means to execute the redo function;
A fourth instruction step for instructing one command to which the redo function can be applied by the fourth instruction means to execute the redo function;
When an instruction is given by the third instruction means, the information processing means automatically performs a redo function from the command indicated by the storage position of the storage means to the last command stored in the storage means. When it is repeatedly executed and the storage position indicating the command to which the redo function is to be applied is updated to the next storage position each time the redo function is repeatedly executed, and an instruction is given by the fourth instruction means Includes performing a redo function only on the command indicated by the storage position of the storage means, and updating the storage position indicating the command to which the redo function should be applied to the next storage position. How to undo and redo computer systems.
請求項5〜7のいずれかに記載のコンピュータシステムのアンドゥおよびリドゥ方法において、前記第3の指示手段および前記第4の指示手段はコンテキストメニューであることを特徴とするコンピュータのアンドゥおよびリドゥ方法。   8. The computer system undo and redo method according to claim 5, wherein the third instruction means and the fourth instruction means are context menus. コンピュータおよびビデオディスプレイを有し、オペレーティングシステムおよびアプリケーションプログラムを実行するコンピュータシステムのアンドゥおよびリドゥ方法であって、前記コンピュータは、
コマンド要素オブジェクトを前記アプリケーションプログラムにより作成するステップであって、そこでは各関連のコマンドが前記アプリケーションプログラムで実行され、各コマンド要素オブジェクトはV−テーブルに対するポインタを含み、該V−テーブルは少なくとも1つのエントリを有し、該エントリはアンドゥするための、または、前記コマンド要素オブジェクトに関連するコマンドを実行するためのコードに対するポインタを有する機能と、
複数の前記コマンド要素関連のコマンドが実行された順に従って、シーケンスリストの中で、前記複数の前記コマンド要素オブジェクトをリンクさせる機能と、
前記アプリケーションプログラムにより与えられるコマンドログオブジェクトにおいてリンクのコマンド要素オブジェクトのシーケンスリストを保持する機能と、
前記ビデオディスプレイ上のウィンドウにおいてアンドゥ/リドゥのインターフェース要素ユーザのアクチベートに応答して、V−テーブル中のエントリにより指定されるコードを呼び出す機能であって、そこでは、該V−テーブルのエントリは複数のコマンド要素オブジェクトの中の選択されたコマンド要素オブジェクトの中のポインタにより示され、前記複数のコマンド要素オブジェクトは、前記選択のコマンド要素オブジェクトに関連するコマンドをアンドゥまたはリドゥするための前記シーケンスリスト中にある機能と
を実行することを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。
An undo and redo method for a computer system having a computer and a video display and executing an operating system and an application program, the computer comprising:
Creating a command element object by the application program, wherein each associated command is executed in the application program, each command element object including a pointer to a V-table, the V-table comprising at least one A function having an entry, the entry having a pointer to code for undoing or executing a command associated with the command element object;
A function of linking the plurality of command element objects in a sequence list in the order in which the plurality of command element related commands are executed;
A function for holding a sequence list of command element objects of a link in a command log object provided by the application program;
In response to an undo / redo interface element user activation in a window on the video display, the function calls a code specified by an entry in the V-table, wherein there are multiple entries in the V-table. A plurality of command element objects in the sequence list for undoing or redoing commands associated with the selected command element object. A method for undoing and redoing a computer system, characterized by executing the functions described in claim 1.
請求項9に記載のコンピュータシステムのアンドゥおよびリドゥ方法において、前記アンドゥ/リドゥのユーザインタフェース要素は、アンドゥのユーザインタフェース要素であり、および選択のコマンド要素オブジェクトの中のポインタにより示される、V−テーブル中のエントリは、前記選択のコマンド要素オブジェクトに関連するコマンドを実行するためのコードに対するポインタを有することを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。   10. A computer system undo and redo method according to claim 9, wherein the undo / redo user interface element is an undo user interface element and is indicated by a pointer in a command element object of choice. The computer system undo and redo method characterized in that the entry in the computer has a pointer to a code for executing a command related to the selected command element object. 請求項9に記載のコンピュータシステムのアンドゥおよびリドゥ方法において、前記アンドゥ/リドゥのユーザインタフェース要素はリドゥのユーザインタフェース要素であり、および選択のコマンド要素オブジェクトの中のポインタにより示される、V−テーブル中のエントリは、前記選択のコマンド要素オブジェクトに関連するコマンドを実行するためのコードに対するポインタを有することを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。   10. The computer system undo and redo method according to claim 9, wherein the undo / redo user interface element is a redo user interface element and is indicated by a pointer in a selected command element object in a V-table. The computer system undo and redo method characterized in that the entry has a pointer to code for executing a command associated with the selected command element object. コンピュータおよびビデオディスプレイを有し、オペレーティングシステムおよびアプリケーションプログラムを実行するコンピュータシステムのアンドゥおよびリドゥ方法であって、前記コンピュータは、
アクチベート可能な全アンドゥインターフェースを前記ビデオディスプレイ上の、前記アプリケーションプログラムにより提供されるウィンドウ中で表示する機能を執行し、
前記全アンドゥインターフェースのアクチベートに応答して、前記アプリケーションプログラムにより前記コンピュータで実行した全コマンドの効果をアンドゥする機能を
実行することを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。
An undo and redo method for a computer system having a computer and a video display and executing an operating system and an application program, the computer comprising:
Execute the function to display all activatable undo interfaces in the window provided by the application program on the video display;
An undo and redo method for a computer system, wherein a function for undoing the effect of all commands executed by the computer by the application program is executed in response to the activation of the all undo interface.
JP2005066314A 1993-04-22 2005-03-09 Computer system and undo/redo method therefor Ceased JP2005310116A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/052,036 US5659747A (en) 1993-04-22 1993-04-22 Multiple level undo/redo mechanism

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP08319694A Division JP3723236B2 (en) 1993-04-22 1994-04-21 Operating system and method in a computer system for executing an application program

Publications (1)

Publication Number Publication Date
JP2005310116A true JP2005310116A (en) 2005-11-04

Family

ID=21975015

Family Applications (2)

Application Number Title Priority Date Filing Date
JP08319694A Expired - Lifetime JP3723236B2 (en) 1993-04-22 1994-04-21 Operating system and method in a computer system for executing an application program
JP2005066314A Ceased JP2005310116A (en) 1993-04-22 2005-03-09 Computer system and undo/redo method therefor

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP08319694A Expired - Lifetime JP3723236B2 (en) 1993-04-22 1994-04-21 Operating system and method in a computer system for executing an application program

Country Status (5)

Country Link
US (2) US5659747A (en)
EP (1) EP0621528B1 (en)
JP (2) JP3723236B2 (en)
CA (1) CA2121107C (en)
DE (1) DE69427423T2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269281A (en) * 2007-04-20 2008-11-06 Meidensha Corp Software development support system, development support method and program
US8817326B2 (en) 2010-05-24 2014-08-26 Canon Kabushiki Kaisha Image processing apparatus
US9311113B2 (en) 2009-11-05 2016-04-12 International Business Machines Corporation Navigation through historical stored interactions associated with a multi-user view

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659747A (en) * 1993-04-22 1997-08-19 Microsoft Corporation Multiple level undo/redo mechanism
US5692143A (en) * 1994-12-30 1997-11-25 International Business Machines Corporation Method and system for recalling desktop states in a data processing system
US6167455A (en) 1995-05-05 2000-12-26 Apple Computer, Inc. Method and system for synchronous operation of linked command objects
US6178464B1 (en) * 1996-05-10 2001-01-23 Apple Computer, Inc. System and method for canceling a computer request
US5890181A (en) * 1996-11-14 1999-03-30 Kurzwell Applied Intelligence, Inc. System and method for remotely grouping contents of an action history stack
JPH10254719A (en) * 1997-03-14 1998-09-25 Canon Inc Information processor and information processing method
US6748524B1 (en) * 1997-04-30 2004-06-08 Gateway, Inc. Display and recordation of non-volatile memory changes
US6016553A (en) 1997-09-05 2000-01-18 Wild File, Inc. Method, software and apparatus for saving, using and recovering data
US7062497B2 (en) * 1998-01-22 2006-06-13 Adobe Systems Incorporated Maintaining document state history
US6505212B2 (en) * 1998-02-04 2003-01-07 Interwoven Inc System and method for website development
US6732293B1 (en) 1998-03-16 2004-05-04 Symantec Corporation Method, software and apparatus for recovering and recycling data in conjunction with an operating system
US6731309B1 (en) 1998-08-28 2004-05-04 Corel Corporation Real time preview
US6523134B2 (en) * 1998-09-18 2003-02-18 International Business Machines Corporation Selective undo
US7055055B1 (en) 1999-04-23 2006-05-30 Symantec Corporation Write cache flushing method for reducing data corruption
US7051055B1 (en) 1999-07-09 2006-05-23 Symantec Corporation Optimized disk storage defragmentation with swapping capabilities
WO2001004801A1 (en) * 1999-07-09 2001-01-18 Wild File, Inc. Optimized disk storage defragmentation with swapping capabilities
JP2003505759A (en) * 1999-07-15 2003-02-12 アルカテル Transaction recovery system
US6711715B1 (en) * 1999-08-27 2004-03-23 Microsoft Corporation Method and system for efficient storage and restoration of display state data
US6901582B1 (en) * 1999-11-24 2005-05-31 Quest Software, Inc. Monitoring system for monitoring the performance of an application
US7509420B2 (en) 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
US7062648B2 (en) * 2000-02-18 2006-06-13 Avamar Technologies, Inc. System and method for redundant array network storage
US6704730B2 (en) 2000-02-18 2004-03-09 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system
US6826711B2 (en) 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
US7194504B2 (en) * 2000-02-18 2007-03-20 Avamar Technologies, Inc. System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques
US7657887B2 (en) 2000-05-17 2010-02-02 Interwoven, Inc. System for transactionally deploying content across multiple machines
US6810398B2 (en) 2000-11-06 2004-10-26 Avamar Technologies, Inc. System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences
FR2819959A1 (en) * 2001-01-22 2002-07-26 Canon Kk METHOD FOR CANCELING A REMOTELY EXECUTED OPERATION ON A SERVER STATION
US7203866B2 (en) 2001-07-05 2007-04-10 At & T Corp. Method and apparatus for a programming language having fully undoable, timed reactive instructions
US7734958B1 (en) 2001-07-05 2010-06-08 At&T Intellectual Property Ii, L.P. Method and apparatus for a programming language having fully undoable, timed reactive instructions
KR100447398B1 (en) * 2002-03-22 2004-09-04 엘지전자 주식회사 A method of local undo function at editing mode
US20040267823A1 (en) * 2003-06-24 2004-12-30 Microsoft Corporation Reconcilable and undoable file system
US7631120B2 (en) 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7239581B2 (en) 2004-08-24 2007-07-03 Symantec Operating Corporation Systems and methods for synchronizing the internal clocks of a plurality of processor modules
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7409587B2 (en) 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7296008B2 (en) 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7818718B2 (en) * 2003-09-30 2010-10-19 Sap Ag Undoing user actions in a client program
US7081093B2 (en) * 2003-12-05 2006-07-25 Vermon Array transducer for 3D tilting probes
US20050138306A1 (en) * 2003-12-19 2005-06-23 Panchbudhe Ankur P. Performance of operations on selected data in a storage area
US20080046809A1 (en) * 2004-11-12 2008-02-21 Justsystems Corporation Data Processing Device and Data Processing Method
US7949665B1 (en) 2004-11-19 2011-05-24 Symantec Corporation Rapidly traversing disc volumes during file content examination
US7580954B1 (en) * 2005-04-12 2009-08-25 Apple Inc. Random access action list for digital signal data editing
US7321372B2 (en) * 2005-09-19 2008-01-22 Lexmark International, Inc. Method for performing image editing
US7536583B2 (en) 2005-10-14 2009-05-19 Symantec Operating Corporation Technique for timeline compression in a data store
US20070088729A1 (en) * 2005-10-14 2007-04-19 International Business Machines Corporation Flexible history manager for manipulating data and user actions
EP1780637A1 (en) * 2005-10-25 2007-05-02 Siemens Aktiengesellschaft method for undoing actions via a graphical user interface
US20070192383A1 (en) * 2006-01-31 2007-08-16 Microsoft Corporation Extension specified undo transactions
EP2021926A4 (en) 2006-05-05 2009-07-15 Hybir Inc Group based complete and incremental computer file backup system, process and apparatus
US7979245B1 (en) 2006-05-17 2011-07-12 Quest Software, Inc. Model-based systems and methods for monitoring computing resource performance
US8127278B2 (en) * 2006-09-28 2012-02-28 Sap Ag System and method for extending legacy applications with undo/redo functionality
US7979494B1 (en) 2006-11-03 2011-07-12 Quest Software, Inc. Systems and methods for monitoring messaging systems
US8627268B2 (en) * 2006-11-06 2014-01-07 International Business Machines Corporation System and method for a non-sequential undo mechanism
US8307337B2 (en) 2006-12-01 2012-11-06 Murex S.A.S. Parallelization and instrumentation in a producer graph oriented programming framework
US8332827B2 (en) 2006-12-01 2012-12-11 Murex S.A.S. Produce graph oriented programming framework with scenario support
US7865872B2 (en) * 2006-12-01 2011-01-04 Murex S.A.S. Producer graph oriented programming framework with undo, redo, and abort execution support
US8191052B2 (en) 2006-12-01 2012-05-29 Murex S.A.S. Producer graph oriented programming and execution
US8701084B1 (en) * 2006-12-29 2014-04-15 The Mathworks, Inc. Preview of auto-fix changes to software code
US7900142B2 (en) * 2007-01-15 2011-03-01 Microsoft Corporation Selective undo of editing operations performed on data objects
US8175863B1 (en) 2008-02-13 2012-05-08 Quest Software, Inc. Systems and methods for analyzing performance of virtual environments
US9898173B2 (en) * 2008-10-07 2018-02-20 Adobe Systems Incorporated User selection history
US20110107246A1 (en) * 2009-11-03 2011-05-05 Schlumberger Technology Corporation Undo/redo operations for multi-object data
US20110106776A1 (en) * 2009-11-03 2011-05-05 Schlumberger Technology Corporation Incremental implementation of undo/redo support in legacy applications
WO2011123924A1 (en) * 2010-04-08 2011-10-13 Robert Alexander Mccarter A personal financial planning system and method with a novel undo system and method
JP5459031B2 (en) * 2010-04-13 2014-04-02 ソニー株式会社 Information processing apparatus, information processing method, and program
US8533594B2 (en) * 2011-04-19 2013-09-10 Autodesk, Inc. Hierarchical display and navigation of document revision histories
US8533593B2 (en) * 2011-04-19 2013-09-10 Autodesk, Inc Hierarchical display and navigation of document revision histories
US8874525B2 (en) 2011-04-19 2014-10-28 Autodesk, Inc. Hierarchical display and navigation of document revision histories
US8533595B2 (en) * 2011-04-19 2013-09-10 Autodesk, Inc Hierarchical display and navigation of document revision histories
US9215142B1 (en) 2011-04-20 2015-12-15 Dell Software Inc. Community analysis of computing performance
US9146914B1 (en) * 2012-02-17 2015-09-29 Google Inc. System and method for providing a context sensitive undo function
US9223483B2 (en) 2012-02-24 2015-12-29 Blackberry Limited Method and apparatus for providing a user interface on a device that indicates content operators
EP2631760A1 (en) 2012-02-24 2013-08-28 Research In Motion Limited Method and apparatus for providing a user interface on a device enabling selection of operations to be performed in relation to content
US9348512B2 (en) * 2012-08-08 2016-05-24 Nuance Communications, Inc. Methods for facilitating text entry
US9557879B1 (en) 2012-10-23 2017-01-31 Dell Software Inc. System for inferring dependencies among computing systems
US10333820B1 (en) 2012-10-23 2019-06-25 Quest Software Inc. System for inferring dependencies among computing systems
US11005738B1 (en) 2014-04-09 2021-05-11 Quest Software Inc. System and method for end-to-end response-time analysis
US9479414B1 (en) 2014-05-30 2016-10-25 Dell Software Inc. System and method for analyzing computing performance
US10291493B1 (en) 2014-12-05 2019-05-14 Quest Software Inc. System and method for determining relevant computer performance events
US9274758B1 (en) 2015-01-28 2016-03-01 Dell Software Inc. System and method for creating customized performance-monitoring applications
US9996577B1 (en) 2015-02-11 2018-06-12 Quest Software Inc. Systems and methods for graphically filtering code call trees
US10187260B1 (en) 2015-05-29 2019-01-22 Quest Software Inc. Systems and methods for multilayer monitoring of network function virtualization architectures
US10200252B1 (en) 2015-09-18 2019-02-05 Quest Software Inc. Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems
US10230601B1 (en) 2016-07-05 2019-03-12 Quest Software Inc. Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems
US10698561B2 (en) 2017-06-12 2020-06-30 Google Llc Intelligent command batching in an augmented and/or virtual reality environment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62249271A (en) * 1986-04-23 1987-10-30 Ricoh Co Ltd Document editing device
JPH02240762A (en) * 1989-03-14 1990-09-25 Canon Inc Information processor
JPH03294960A (en) * 1990-04-13 1991-12-26 Casio Comput Co Ltd Data editing device
JPH04290161A (en) * 1991-03-19 1992-10-14 Fujitsu Ltd Editing system
JPH04342025A (en) * 1991-05-18 1992-11-27 Fujitsu Ltd Text managing and restoring system
JPH05324555A (en) * 1992-05-20 1993-12-07 Mutoh Ind Ltd Already executed operation canceller
JPH05324556A (en) * 1992-05-20 1993-12-07 Mutoh Ind Ltd Already executed operation canceller
JPH076135A (en) * 1993-04-22 1995-01-10 Microsoft Corp Cancellation / rerun mechanism of multilevel

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4905181A (en) * 1987-04-20 1990-02-27 Wang Laboratories, Inc. Interactive system with state manager subsystem
US5095421A (en) * 1989-08-17 1992-03-10 International Business Machines Corporation Transaction processing facility within an operating system environment
US5287501A (en) * 1991-07-11 1994-02-15 Digital Equipment Corporation Multilevel transaction recovery in a database system which loss parent transaction undo operation upon commit of child transaction
US5481710A (en) * 1992-09-16 1996-01-02 International Business Machines Corporation Method of and system for providing application programs with an undo/redo function
US5530864A (en) * 1992-12-23 1996-06-25 Taligent Command object system for an object-oriented software platform
US5519862A (en) * 1993-02-26 1996-05-21 Taligent, Inc. Concurrent processing apparatus with incremental command objects

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62249271A (en) * 1986-04-23 1987-10-30 Ricoh Co Ltd Document editing device
JPH02240762A (en) * 1989-03-14 1990-09-25 Canon Inc Information processor
JPH03294960A (en) * 1990-04-13 1991-12-26 Casio Comput Co Ltd Data editing device
JPH04290161A (en) * 1991-03-19 1992-10-14 Fujitsu Ltd Editing system
JPH04342025A (en) * 1991-05-18 1992-11-27 Fujitsu Ltd Text managing and restoring system
JPH05324555A (en) * 1992-05-20 1993-12-07 Mutoh Ind Ltd Already executed operation canceller
JPH05324556A (en) * 1992-05-20 1993-12-07 Mutoh Ind Ltd Already executed operation canceller
JPH076135A (en) * 1993-04-22 1995-01-10 Microsoft Corp Cancellation / rerun mechanism of multilevel

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269281A (en) * 2007-04-20 2008-11-06 Meidensha Corp Software development support system, development support method and program
US9311113B2 (en) 2009-11-05 2016-04-12 International Business Machines Corporation Navigation through historical stored interactions associated with a multi-user view
US9348611B2 (en) 2009-11-05 2016-05-24 International Business Machines Corporation Navigation through historical stored interactions associated with a multi-user view
US11662891B2 (en) 2009-11-05 2023-05-30 International Business Machines Corporation Navigation through historical stored interactions associated with a multi-user view
US8817326B2 (en) 2010-05-24 2014-08-26 Canon Kabushiki Kaisha Image processing apparatus

Also Published As

Publication number Publication date
DE69427423T2 (en) 2001-09-27
USRE38270E1 (en) 2003-10-07
CA2121107C (en) 2004-06-15
JP3723236B2 (en) 2005-12-07
JPH076135A (en) 1995-01-10
CA2121107A1 (en) 1994-10-23
US5659747A (en) 1997-08-19
EP0621528A1 (en) 1994-10-26
EP0621528B1 (en) 2001-06-13
DE69427423D1 (en) 2001-07-19

Similar Documents

Publication Publication Date Title
JP3723236B2 (en) Operating system and method in a computer system for executing an application program
CA2211478C (en) Systems, methods and apparatus for generating and controlling display of medical images
US5754175A (en) Method and system for in-place interaction with contained objects
US5220675A (en) Method and system for customizing a user interface in an integrated environment
US5862379A (en) Visual programming tool for developing software applications
US5437006A (en) Spreadsheet command/function capability from a dynamic-link library
US20030081002A1 (en) Method and system for chaining and extending wizards
US6707469B1 (en) Synchronous execution in a medical imaging system
JPH10333800A (en) Docking and floating of menu/tool bar
US6246403B1 (en) Method and apparatus for generating a graphical user interface
US5831612A (en) Cell overlap detection and correction in a medical imaging system
JPS59195749A (en) Non-synchronous check pointing system for recovery of errors
JPH07111675B2 (en) Window display device and method
JPH07109585B2 (en) Scope command change processing method and device
JPH10333897A (en) Inquiry selection for program development environment
US20030081007A1 (en) Object oriented explorer type environment
JPH0635709A (en) Object class specifying device, widget and realizing method thereof
EP0784264B1 (en) A computer-implemented process for determining a minimum code set for an executable application in a data processing system
MX2010012829A (en) Regaining control of a processing resource that executes an external execution context.
JP4288017B2 (en) Method and system for changing a text file for computer configuration
JP3463331B2 (en) Menu selection method
JPH05216641A (en) Graphical user interface control program generator
EP1594060A1 (en) Web application for supporting transaction processing
JP3442083B2 (en) Job control system
JP3060113B2 (en) Command display selection device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090528

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20090602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090602

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100811

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100903

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20110121