(57)【要約】      （修正有）【課題】アプリケーションプログラムの実行時における、全コマンドの取消／再実行メカニズムをオペレーティングシステムに提供する。【解決手段】オペレーティングシステムは、ユーザコマンドのログを保持し且つログ内の位置を指示するカーソルを提供する。各コマンドは、取消／再実行動作を実行するインタフェースをサポートするようなオブジェクト中にカプセル化される。同様に、ログは、多重レベルの取消／再実行を容易化する動作をサポートするようなオブジェクト中にカプセル化される。【選択図】図２
2005310116.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを有し、１つのコマンドが実行された時にそのコマンドが実行される前のコンピュータの状態に戻すアンドゥ機能およびアンドゥ機能により戻されたコンピュータの状態から前記コマンドをリドゥするリドゥ機能を有するコンピュータシステムにおいて、
前記コンピュータは前記実行されたコマンドを記憶すると共に、アンドゥ機能を適用すべきコマンドおよびリドゥ機能を適用すべきコマンドを前記記憶手段上の記憶位置で表す記憶手段と、
アンドゥ機能を適用可能な全てのコマンドに対して、アンドゥ機能を実行するように指示する第１の指示手段と、
アンドゥ機能を適用可能な１つのコマンドに対して、アンドゥ機能を実行するように指示する第２の指示手段と、
前記第１の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドから前記記憶手段に最初に記憶されたコマンドまでアンドゥ機能を自動的に繰り返し実行し、該アンドゥ機能が繰り返し実行されるごとにアンドゥ機能を適用すべきコマンドを示す前記記憶位置を１つ前の記憶位置に更新し、前記第２の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドのみに対してアンドゥ機能を実行し、アンドゥ機能を適用すべきコマンドを示す前記記憶位置を１つ前の記憶位置に更新する情報処理手段と
を備えたことを特徴とするコンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムにおいて、前記第１の指示手段および第２の指示手段はコンテキストメニューであることを特徴とするコンピュータシステム。
【請求項３】
請求項１または２に記載のコンピュータシステムにおいて、リドゥ機能を適用可能な全てのコマンドに対して、リドゥ機能を実行するように指示する第３の指示手段と、
リドゥ機能を適用可能な１つのコマンドに対して、リドゥ機能を実行するように指示する第４の指示手段とを有し、
前記情報処理手段は、前記第３の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドから前記記憶手段に最後に記憶されたコマンドまでリドゥ機能を自動的に繰り返し実行し、該リドゥ機能が繰り返し実行されるごとにリドゥ機能を適用すべきコマンドを示す前記記憶位置を１つ後の記憶位置に更新し、前記第４の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドのみに対してリドゥ機能を実行し、リドゥ機能を適用すべきコマンドを示す前記記憶位置を１つ後の記憶位置に更新することを特徴とするコンピュータシステム。
【請求項４】
請求項１〜３のいずれかに記載のコンピュータシステムにおいて、前記第３の指示手段および前記第４の指示手段はコンテキストメニューであることを特徴とするコンピュータシステム。
【請求項５】
１つのコマンドが実行された時にそのコマンドが実行される前のコンピュータの状態に戻すアンドゥ機能およびアンドゥ機能により戻されたコンピュータの状態から前記コマンドをリドゥするリドゥ機能を有するコンピュータを有するコンピュータシステムのアンドゥおよびリドゥ方法において、前記コンピュータは第１の指示手段、第２の指示手段、情報処理手段および前記コンピュータは前記実行されたコマンドを記憶すると共に、アンドゥ機能を適用すべきコマンドおよびリドゥ機能を適用すべきコマンドを前記記憶手段上の記憶位置で表す記憶手段を有し、
アンドゥ機能を適用可能な全てのコマンドに対して、アンドゥ機能を実行するように前記第１の指示手段により指示する第１の指示ステップと、
アンドゥ機能を適用可能な１つのコマンドに対して、アンドゥ機能を実行するように前記第２の指示手段により指示する第２の指示ステップと、
前記第１の指示手段による指示が行なわれた場合には、前記情報処理手段により前記記憶手段の記憶位置により示されるコマンドから前記記憶手段に最初に記憶されたコマンドまでアンドゥ機能を自動的に繰り返し実行し、該アンドゥ機能が繰り返し実行されるごとにアンドゥ機能を適用すべきコマンドを示す前記記憶位置を１つ前の記憶位置に更新し、前記第２の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドのみに対してアンドゥ機能を実行し、アンドゥ機能を適用すべきコマンドを示す前記記憶位置を１つ前の記憶位置に更新する情報処理ステップと
を備えたことを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。
【請求項６】
請求項５に記載のコンピュータシステムのアンドゥおよびリドゥ方法において、前記第１の指示手段および第２の指示手段はコンテキストメニューであることを特徴とするコンピュータのアンドゥおよびリドゥ方法。
【請求項７】
請求項５または６に記載のコンピュータシステムのアンドゥおよびリドゥ方法において、前記コンピュータは第３の指示手段および第４の指示手段をさらに有し、
リドゥ機能を適用可能な全てのコマンドに対して、リドゥ機能を実行するように前記第３の指示手段により指示する第３の指示ステップと、
リドゥ機能を適用可能な１つのコマンドに対して、リドゥ機能を実行するように前記第４の指示手段により指示する第４の指示ステップとを有し、
前記第３の指示手段による指示が行なわれた場合には、前記情報処理手段により、前記記憶手段の記憶位置により示されるコマンドから前記記憶手段に最後に記憶されたコマンドまでリドゥ機能を自動的に繰り返し実行し、該リドゥ機能が繰り返し実行されるごとにリドゥ機能を適用すべきコマンドを示す前記記憶位置を１つ後の記憶位置に更新し、前記第４の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドのみに対してリドゥ機能を実行し、リドゥ機能を適用すべきコマンドを示す前記記憶位置を１つ後の記憶位置に更新することを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。
【請求項８】
請求項５〜７のいずれかに記載のコンピュータシステムのアンドゥおよびリドゥ方法において、前記第３の指示手段および前記第４の指示手段はコンテキストメニューであることを特徴とするコンピュータのアンドゥおよびリドゥ方法。
【請求項９】
コンピュータおよびビデオディスプレイを有し、オペレーティングシステムおよびアプリケーションプログラムを実行するコンピュータシステムのアンドゥおよびリドゥ方法であって、前記コンピュータは、
コマンド要素オブジェクトを前記アプリケーションプログラムにより作成するステップであって、そこでは各関連のコマンドが前記アプリケーションプログラムで実行され、各コマンド要素オブジェクトはＶ−テーブルに対するポインタを含み、該Ｖ−テーブルは少なくとも１つのエントリを有し、該エントリはアンドゥするための、または、前記コマンド要素オブジェクトに関連するコマンドを実行するためのコードに対するポインタを有する機能と、
複数の前記コマンド要素関連のコマンドが実行された順に従って、シーケンスリストの中で、前記複数の前記コマンド要素オブジェクトをリンクさせる機能と、
前記アプリケーションプログラムにより与えられるコマンドログオブジェクトにおいてリンクのコマンド要素オブジェクトのシーケンスリストを保持する機能と、
前記ビデオディスプレイ上のウィンドウにおいてアンドゥ／リドゥのインターフェース要素ユーザのアクチベートに応答して、Ｖ−テーブル中のエントリにより指定されるコードを呼び出す機能であって、そこでは、該Ｖ−テーブルのエントリは複数のコマンド要素オブジェクトの中の選択されたコマンド要素オブジェクトの中のポインタにより示され、前記複数のコマンド要素オブジェクトは、前記選択のコマンド要素オブジェクトに関連するコマンドをアンドゥまたはリドゥするための前記シーケンスリスト中にある機能と
を実行することを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。
【請求項１０】
請求項９に記載のコンピュータシステムのアンドゥおよびリドゥ方法において、前記アンドゥ／リドゥのユーザインタフェース要素は、アンドゥのユーザインタフェース要素であり、および選択のコマンド要素オブジェクトの中のポインタにより示される、Ｖ−テーブル中のエントリは、前記選択のコマンド要素オブジェクトに関連するコマンドを実行するためのコードに対するポインタを有することを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。
【請求項１１】
請求項９に記載のコンピュータシステムのアンドゥおよびリドゥ方法において、前記アンドゥ／リドゥのユーザインタフェース要素はリドゥのユーザインタフェース要素であり、および選択のコマンド要素オブジェクトの中のポインタにより示される、Ｖ−テーブル中のエントリは、前記選択のコマンド要素オブジェクトに関連するコマンドを実行するためのコードに対するポインタを有することを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。
【請求項１２】
コンピュータおよびビデオディスプレイを有し、オペレーティングシステムおよびアプリケーションプログラムを実行するコンピュータシステムのアンドゥおよびリドゥ方法であって、前記コンピュータは、
アクチベート可能な全アンドゥインターフェースを前記ビデオディスプレイ上の、前記アプリケーションプログラムにより提供されるウィンドウ中で表示する機能を執行し、
前記全アンドゥインターフェースのアクチベートに応答して、前記アプリケーションプログラムにより前記コンピュータで実行した全コマンドの効果をアンドゥする機能を
実行することを特徴とするコンピュータシステムのアンドゥおよびリドゥ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置、更に言えば、オペレーティングシステムおよびアプリケーションプログラムにおける多重レベル取消（ｕｎｄｏ）／再実行（ｒｅｄｏ）機能を提供するメカニズムに関する。
【背景技術】
【０００２】
単一レベルの取消メカニズムは、ワシントン、レッドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎが販売するＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ、  ５．０版、ワードプロセッシングパッケージのようなソフトウエアパッケージによって提供される。単一レベル取消メカニズムにより、コマンドがすでに実行されてしまった後にユーザコマンドを取り消すことができる（つまり、コマンドの効果が回復される）。取消コマンドは一般に、オプションとして取消コマンドをリストに掲げているようなメニュー項目を選択することによって実行される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ユーザは、単一レベルの取消コマンドに制限されるため、最も最近実行したコマンドだけしか回復することができない。
【課題を解決するための手段】
【０００４】
本発明は、コンピュータを有し、１つのコマンドが実行された時にそのコマンドが実行される前のコンピュータの状態に戻すアンドゥ機能およびアンドゥ機能により戻されたコンピュータの状態から前記コマンドをリドゥするリドゥ機能を有するコンピュータシステムにおいて、前記コンピュータは前記実行されたコマンドを記憶すると共に、アンドゥ機能を適用すべきコマンドおよびリドゥ機能を適用すべきコマンドを前記記憶手段上の記憶位置で表す記憶手段と、アンドゥ機能を適用可能な全てのコマンドに対して、アンドゥ機能を実行するように指示する第１の指示手段と、アンドゥ機能を適用可能な１つのコマンドに対して、アンドゥ機能を実行するように指示する第２の指示手段と、前記第１の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドから前記記憶手段に最初に記憶されたコマンドまでアンドゥ機能を自動的に繰り返し実行し、該アンドゥ機能が繰り返し実行されるごとにアンドゥ機能を適用すべきコマンドを示す前記記憶位置を１つ前の記憶位置に更新し、前記第２の指示手段による指示が行なわれた場合には、前記記憶手段の記憶位置により示されるコマンドのみに対してアンドゥ機能を実行し、アンドゥ機能を適用すべきコマンドを示す前記記憶位置を１つ前の記憶位置に更新する情報処理手段とを備えたことを特徴とする。
【発明の効果】
【０００５】
本発明によれば、これまでに実行したコマンドの全てを一度にアンドゥ（取り消し）しおよびリドゥ（再実行）することができるので、１つづつコマンドをアンドゥしおよびリドゥする機能と併用することにより、ユーザに従来にはない便宜性を与えることができる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【実施例】
【０００７】
本発明のより好ましい実施例は、アプリケーションプログラムで多重レベルの取消／再実行動作を実行するメカニズムを提供する。このメカニズムはユーザコマンドのログを備え、アプリケーションプログラムの現状を監視するために現在の位置をログに保持する。ログはこのメカニズムによって使用され、多重レベルの取消動作と多重レベルの再実行動作を実行する。
【０００８】
図１は、本発明のより好ましい実施例を実施するのに適したデータ処理システム１０のブロック図である。データ処理システム１０は、中央処理装置（ＣＰＵ）１２とメモリ１４を備える。メモリ１４は、アプリケーションプログラム２２、オペレーティングシステム２４、更に他のアイテムを保持する。データ処理システム１０は、また、キーボード１６、マウス１８、ビデオディスプレイ２０を備える。図１に示されたデータ処理システム１０は従来の単一の処理システムである。それにもかかわらず、本発明は分散システム若しくは他の環境で実行し得ることに注意すべきである。
【０００９】
本発明のより好ましい実施例は、オブジェクト指向型のプログラミング環境で使用するために設計されている。以下の記述のため、オペレーティングシステム２４はオブジェクト指向型のオペレーティングシステムであると仮定する。しかしながら、当業者には明らかなように、本発明はオブジェクト指向型のオペレーティングシステムに限定されるものではなく、他の環境でも実行することが可能である。
【００１０】
オブジェクト指向型のオペレーティングシステム２４は、データ処理システム１０における「オブジェクト」の使用をサポートする。オブジェクトは、データメンバ（ｄａｔａ  ｍｅｍｂｅｒｓ）とメンバ機能（ｍｅｎｂｅｒ  ｆｕｎｃｔｉｏｎｓ）の組合せと見ることもできる。データメンバはデータ構造に記憶された属性であり、メンバ機能はこれらの属性で作用する機能である。本発明のより好ましい実施例の多重レベル取消／再実行メカニズムでは、オブジェクト概念が利用されており、ここでは、このメカニズムの所定の特徴がオブジェクトとして実行される。
【００１１】
インタフェースは、命名された単位に構成された意味的（ｓｅｍａｎｔｉｃａｌｌｙ）に関連した機能の集合である。各インタフェースはその識別子によって唯一つに識別され得る。インタフェースは事例（ｉｎｓｔａｎｔｉａｔｉｏｎ）を持たない、つまり、インタフェース定義はインタフェースで指定された機能を実行するコードを含んでいない。インタフェースは機能のためのシグネチャの組を特定する。オブジェクトはインタフェースを「サポート」する。オブジェクトがインタフェースをサポートする場合、そのオブジェクトはそのインタフェースによって指定された機能のためにコードを提供する。しかしながら、オブジェクトによって与えられるコードは、インタフェースによって指定されたシグネチャに従わなければならない。
【００１２】
本発明の好ましい実施例の多重レベルの取消／再実行メカニズムは、ユーザコマンドのコマンドログを保持するため、アプリケーションプログラムに対する機能をサポートする。コマンドログに保持されたデータやデータを保持するための機能は、コマンドログオブジェクト中にカプセル化される。コマンドログオブジェクトは、コマンド要素オブジェクトとカーソル３２のリスト３０（図５）を含む。コマンド要素オブジェクトのリストは、ユーザコマンドを指定するコマンド要素オブジェクトの逐次リストである。カーソル３２は、コマンド要素オブジェクトのリスト３０上で最後に与えられた（つまり、最後に実行された）コマンドに対応する現在位置を指定する。
【００１３】
アプリケーションプログラム２４の実行中にユーザによってエンターされる各コマンドは、図２に示されているような関連するコマンド要素オブジェクト４０を発生する。コマンド要素オブジェクト４０は、Ｖ−ポインタ４２とコマンドの特性を指定する。Ｖ−ポインタ４２は、コマンド要素オブジェクト４０で実行され得る動作に対してのエントリーを備えた（つまり、Ｃ＋＋プログラミング言語で見られるような仮想テーブルを備えた）Ｖ−テーブル４６を指示する。これらの動作には、取消動作、再実行動作、およびマージ動作が含まれ、これらの動作のそれぞれに対して４８ａ、４８ｂ、４８ｃが提供される。エントリ４８ａ、４８ｂ、４８ｃは、それらの関連動作を実行するためコード５０ａ、５０ｂ、５０ｃの部分を指示する。取消動作は現在のカーソル位置にあるコマンドを取り消す。再実行動作はリスト３０の次の動作（図５）を実行する。マージ動作は、可能ならば、コマンドログ要素オブジェクトをマージする。
【００１４】
コマンドログオブジェクトは、コマンド要素オブジェクト４０で動作を実行するためにコード５０ａ、５０ｂ、５０ｃの実行について知る必要はない。このコード５０ａ、５０ｂ、５０ｃの詳細は、コマンド要素対象物４０に関係がある。
このように、コマンドログオブジェクトは、それ自身はそのような詳細に関与する必要がないため、より容易に実行され得る。
【００１５】
コマンドログオブジェクトとコマンド要素オブジェクト４０は、アプリケーションプログラム２２（図１）によって生成される。オペレーティングシステム２４は、多重レベルの取消／再実行設備を提供し、多重取消／再実行動作をアプチケーションプログラムのためにサポートする。このメカニズムの一部はユーザインタフェースである。ユーザインタフェースは、取消、再実行コマンドのそれぞれを実行するよう動作し得るボタン５１、５３（図３の（ａ））を表示する。取消ボタン５１と再実行ボタン５３は、連続的に複数の取消若しくは再実行を実行するために複数回数動作し得る。ユーザは、最も最近のコマンドのみの取消に限定されず、また、最も最近取り消されたコマンドの再実行に制限されない。コンテキストメニュー５５は、動作中に取消ボタン５１（図３の（ｂ）参照）に提供される。同様のコンテキストメニュー５７（図３の（ｃ））が再実行ボタンに対して提供される。コンテキストメニュー５５（図３の（ｂ））と５７（図３の（ｂ）は２つのオプションを提供する。即ち、「ラストアプライ  （最後に付与されたコマンド）」と「オールザウェイ  （全てのコマンド）」である。これらのオプションは、最後に付与された単一のコマンドを取り消し／再実行するか、若しくは、複数のコマンドを取り消し／再実行する。
【００１６】
本発明のより好ましい実施例の多重レベルの取消／再実行メカニズムによって提供される４つの動作は、おそらく、例示するには最も好ましいものである。故に、本発明の好ましい実施例によって実行される段階とともに、４つの動作タイプのそれぞれについて以下に例示する。
【００１７】
図４は、ユーザが新たなコマンドにエンターしたときに、本発明の好ましい実施例によって実行される段階を示すフローチャートである。図４は、図５の表に関連して記述されている。図５は、コマンド要素オブジェクトのリスト３０の例を示す。最初にユーザはコマンドをエンターする（図４のステップ５２）。図５の例において、リスト３０は初期的には空である。ユーザがその後、コマンド「ａ」をエンターすると仮定する。好ましい実施例の多重レベル取消／再実行メカニズムは、カーソル３２の前のリスト上に何らかのコマンドが存在するかどうかチェックする（図４のステップ５４）。カーソル３２の前のリスト上にコマンドが存在しなければ、例えば図５に示す場合は、コマンドがリスト３０の前に付加され（図４のステップ５８）、リストの前を指示するようカーソルを移動する（ステップ６０）。この結果、図５に示すように、コマンド「ａ」がエンターされた後にエントリー６４（つまり、コマンド「ａ」に対するコマンド要素オブジェクトに対するエントリー）がリスト３０の前に付加され、カーソル３２はエントリー６４を指示するよう移動される。ユーザが他のコマンド「ｂ」をエンターすると仮定する（故に、図４のステップ５２を反復する）。図４のステップ５４、５８、６０がその後に反復され、エントリー６６（図５）が、コマンド「ａ」に対するエントリー６４の前のリスト３０の前部に付加される。カーソル３２は、コマンド「ｂ」に対するエントリー６６を指示するよう更新される。
【００１８】
上述の方法により、コマンド要素オブジェクトのリスト３０が構成される。上述のオブジェクトモデルにより、ユーザがコマンドをエンターする毎に、コマンド要素オブジェクト４０（図２）のインスタンスが生成され、新たなコマンド要素オブジェクト４０がリストの前部に付加され、カーソル位置が更新される。
【００１９】
図４のステップ５４で、カーソル３２の前に位置決めされたコマンドがリスト３０上に存在すると判断された場合には、カーソル前のリスト上の全てのコマンドが消去される（図４のステップ５６）。図６はこのような消去の例を示す。コマンドログ要素のリスト３０は初期的には、図６に示すように、コマンド「ａ」、「ｂ」、「ｃ」それぞれに対するエントリ６８、７０、７２を含む。カーソル３２はコマンド「ｂ」に対するエントリ７０を指示する。次に、ユーザはコマンド「ｄ」をエンターする。図４のステップ５４で、コマンド「ｃ」に対するエントリ７２がリスト３０でカーソルの前に位置付けされる。故にエントリ７２は、図４のステップ５６で消去される。更に、コマンド「ｄ」に対するエントリ７３が、リスト３０の前に付加され（図４のステップ５８を参照）、カーソル３２（図６）は、エントリ７３を指示するよう更新される（図４のステップ６０）。
【００２０】
一旦、ユーザがコマンド要素オブジェクトのリスト３０を構成すると、上述のように、ユーザは取消コマンドを実行することができる。図７は、取消コマンドがリクエストされた場合に実行されるステップのフローチャートである。図８は、複数の取消コマンドがリストで実行された後の、コマンド要素オブジェクトのリスト３０の状態を示す図である。図７のステップは、図８の図と共に記述されている。初めにユーザは、ユーザインタフェースに設けられた取消ボタン５１（図３の（ｂ））を作動させることによって取消動作をリクエストする。上で述べたように、コンテキストメニュー５５はボタン５１が作動された後に表示され、コンテキストメニューは、最も最近のコマンド（つまり、「最後に付与されたもの」オプション）だけを取り消すオプションをユーザに提供する。ユーザがコンテキストメニュー５５で「ラストアプライ」オプションを選択したと仮定する（図７のステップ７４）。カーソル３２によって指示されるコマンドは、そのコマンドを取り消すためのコマンド要素オブジェクト（ステップ７６）で与えられるコード５０ａ（図２）を実行することによって取り消される。更に、カーソル３２は、コマンド要素オブジェクトのリスト３０で次に続くエントリを指示するよう減分される。多重レベルの取消動作を実行するため、ユーザは取消ボタン５１を複数回数動作させ、上述のステップを反復する。
【００２１】
図８は連続する取消動作の例を示す。コマンド要素オブジェクトのリストが初期的にコマンド「ａ」、「ｂ」、「ｃ」それぞれに対するエントリ８０、８２、８４を含むと仮定する。ユーザが次に取消動作をリクエストした場合、コマンド「ｃ」が取り消され、カーソル３２はコマンド「ｂ」に対するエントリ８２を指示するよう移動される。ユーザが付加的な取消動作リクエストを行った場合、コマンド「ｂ」も取り消され、カーソルはコマンド「ａ」に対するエントリ８０を指示するよう移動される。
【００２２】
ユーザは単一の再実行動作をリクエストすることもできる。図９は、最も最近取り消されたコマンドの単一の再実行動作を実行するステップのフローチャートである。このプロセスは、最も最近取り消されたコマンドの再実行動作を要求しているユーザによって開始される。ユーザは、ユーザインタフェースからの再実行ボタン５３（図３の（ｃ））を作動させ、その後、「ラストアプライ」オプションをコンテキストメニュー５７から選択する（図９のステップ８６）。リスト３０での現在のカーソル位置のすぐ前のコマンドがその後実行され（ステップ８８）、カーソルが増分される（ステップ９０）。図２を参照して上に述べたオブジェクトモデルにより、再実行コード５０ｂが最も最近取り消されたコマンド要素オブジェクト４０で実行される。多重レベルの再実行動作を実行するため、ユーザは再実行ボタン５３を複数回数作動させ、図９のステップを反復させる。
【００２３】
図１０は、再実行コマンドの効果を例示する。初期的には、リスト３０はコマンド「ａ」、「ｂ」それぞれに対するエントリ９２，９４を含む。カーソル３２は、コマンド「ａ」に対するエントリ９２を指示する。ユーザが再実行コマンドをエンターした場合、コマンド「ｂ」が再び実行され、カーソル３２はコマンド「ｂ」に対するエントリ９４を指示するよう増分される。
【００２４】
ユーザはコマンド要素オブジェクトのリスト３０の全てのコマンドを取り消す付加的なオプションを有する。図１１は、「オールザウェイ」取消動作のために実行されるステップのフローチャートである。初めに、ユーザは、「オールザウェイ」取消動作が実行されるよう要求する（図１１のステップ９６）。ユーザは取消ボタン５１を作動し、次にコンテキストメニュー５５の「オールザウェイ」のオプションを選択することによってそのようなコマンドを要求する。コンテキストコマンドから初期コマンドまでの全てのユーザコマンドが回復される（図１１のステップ９８）。更に、カーソルはリスト３０の初期コマンドの前を指示するよう移動される（ステップ１００）。
【００２５】
図１２は、「オールザウェイ」取消動作の効果を例示する。初期的に、コマンド要素オブジェクト３０のリスト３０は、コマンド「ａ」、「ｂ」、「ｃ」それぞれに対するエントリ１０２、１０４、１０６を含む。カーソル３２はコマンド「ｃ」に対するエントリ１０６を指示する。ユーザが「オールザウェイ」取消動作を要求した後、コマンド「ｃ」、「ｂ」、「ａ」は順次取り消され、カーソル３２はリスト３０の第１のエントリの前を指示するよう増分させる。
【００２６】
同様に、ユーザは、現在のカーソル位置の前に位置決めされたリスト上の全てのコマンドを再実行するため、再実行動作を「オールザウェイ」で実行するよう要求することもできる。図１３はこのような動作を実行するステップのフローチャートである。最初に、ユーザは、「オールザウェイ」再実行動作を実行するよう要求する（図１３のステップ１０８）。他の動作と同様に、ユーザは、ユーザインタフェースを通じて動作を選択する。特に、ユーザは再実行ボタン５３を作動させ、その後、「オールザウェイ」オプションをコンテキストメニュー５７（図３の（ｃ））から選択する。選択がなされた後にリスト上のカーソル３２の前に位置づけられたコマンドが実行される（図１３のステップ１１０）。更に、カーソル位置が増分され、リストの前部を指示する（ステップ１１２）。
【００２７】
図１４は、「オールザウェイ」再実行動作の効果を例示する。初期的に、コマンド要素オブジェクトのリスト３０は、コマンド「ａ」、「ｂ」、「ｃ」それぞれに対するエントリ１１４、１１６、１１８を含む。カーソル３２は、コマンド「ａ」に対するエントリ１１４を指示する。「オールザウェイ」再実行動作が実行された後、コマンド「ｂ」、「ｃ」が続いて実行され、コマンド「ｃ」に対するエントリ１１８を指示するようカーソル位置が増分される。
【００２８】
本発明をより好ましい実施例を参照して記述してきたが、特許請求の範囲で定義された本発明から逸脱することなく、その形態および詳細について様々な変更をなし得ることは当業者には明らかであろう。
【図面の簡単な説明】
【００２９】
【図１】本発明のより好ましい実施例を実行するデータ処理システムのブロック図。
【図２】本発明の好ましい実施例で使用するコマンド要素オブジェクトを示すブロック図。
【図３】本発明のより好ましい実施例の多重取消／再実行メカニズムを実行するユーザインタフェース要素を示す図。
【図４】本発明のより好ましい実施例においてユーザがコマンドをエンターする際に実行するステップを示すフローチャート。
【図５】本発明のより好ましい実施例においてコマンドが付加された後のコマンド要素オブジェクトのリスト状態を示す図。
【図６】本発明のより好ましい実施例においてリスト上の要素の消去が実行されたときのコマンド要素オブジェクトのリストを示す図。
【図７】本発明のより好ましい実施例の取消動作で実行されるステップを示すフローチャート。
【図８】本発明のより好ましい実施例で実行される取消動作時のコマンド要素オブジェクトのリストを示す図。
【図９】本発明のより好ましい実施例で実行される再実行動作で実行されるステップを示すフローチャート。
【図１０】本発明のより好ましい実施例で実行される再実行動作時のコマンド要素オブジェクトのリストを示す図。
【図１１】本発明のより好ましい実施例で実行される「オールザウェイ」取消動作時のステップを示すフローチャート。
【図１２】本発明のより好ましい実施例で実行される「オールザウェイ」取消動作時のコマンド要素オブジェクトのリストを示す図。
【図１３】本発明のより好ましい実施例で実行される「オールザウェイ」再実行動作時に実行されるステップを示すフローチャート。
【図１４】本発明のより好ましい実施例で実行される「オールザウェイ」再実行動作時のコマンド要素オブジェクトのリストを示すフローチャート。
【符号の説明】
【００３０】
１０  データ処理システム
１２  ＣＰＵ
１４  メモリ
１６  キーボード
１８  マウス
２０  ビデオディスプレイ
２２  アプリケーションプログラム
２４  オペレーティングシステム
【図１】
2005310116.tif 000003
【図２】
2005310116.tif 000004
【図３】
2005310116.tif 000005
【図４】
2005310116.tif 000006
【図５】
2005310116.tif 000007
【図６】
2005310116.tif 000008
【図７】
2005310116.tif 000009
【図８】
2005310116.tif 000010
【図９】
2005310116.tif 000011
【図１０】
2005310116.tif 000012
【図１１】
2005310116.tif 000013
【図１２】
2005310116.tif 000014
【図１３】
2005310116.tif 000015
【図１４】
2005310116.tif 000016