(57)【特許請求の範囲】
【請求項１】
コンピュータプログラムアプリケーションにおける文書であって文書状態を有する文書を編集するユーザと対話するコンピュータによって実現される方法において、
文書編集手段が、文書を変更するための一連のユーザにより入力されたコマンドに応答してディスプレイスクリーン上に表示されている文書の文書状態を変更し、
文書状態付加手段が、文書状態が変更される度にコンピュータによって読取り可能なメモリ装置内に維持されている状態履歴へ変更した文書状態を付加し、
項目付加手段が、状態履歴へ付加した各文書状態に対して、グラフィカルユーザインターフェースの一部として動作されるコンピュータによって制御されるディスプレイ装置のディスプレイスクリーン上に表示された履歴リストであって、前記文書状態に対応しており且つ前記文書状態とは別に形成された項目で前記文書状態が変更された場合に使用された文書編集ツールを表すアイコン表示及びそれに対応するテキスト表示を含む項目からなる履歴リストに対して前記変更した文書状態に対応する項目を付加し、
更新手段が、前記履歴リスト内のユーザにより選択された項目に対応する文書状態に前記ディスプレイスクリーン上に表示されている文書の文書状態を更新する、
上記各ステップを有することを特徴とする方法。
【請求項２】
請求項１において、前記履歴リストの項目数が予め定めた最大数に制限されており且つ前記最大数を越える新たな項目が付加される場合には最も古い項目が前記履歴リストの上部からスクロールによって外されることを特徴とする方法。
【請求項３】
請求項１において、前記履歴リスト内の選択した項目への後戻りコマンドの後の文書を変更するためのコマンドが、前記選択した項目の後の全ての項目を前記履歴リストから削除させ且つ対応する文書状態を前記状態履歴から削除させることを特徴とする方法。
【請求項４】
請求項１において、前記履歴リスト内の選択した項目へ後戻りコマンドの後の文書を変更するコマンドが、前記選択した項目の後のいずれの項目も前記履歴リストから削除させることはなく且つ前記履歴リストの終わりへ新たな項目を付加し且つ新たな文書状態を前記状態履歴へ付加させることを特徴とする方法。
【請求項５】
請求項１において、前記履歴リストに関するユーザインターフェースジェスチャーが前記状態履歴からの文書状態から新たな文書を作成することを可能とすることを特徴とする方法。
【請求項６】
文書を作成し且つ編集するべく動作可能なコンピュータプログラムアプリケーションにおいて実現される方法において、
文書編集手段が、文書を変更するための一連のユーザにより入力されたコマンドに応答してディスプレイスクリーン上に表示されている文書の文書状態を変更し、
文書状態付加手段が、文書状態が変更される度にコンピュータによって読取り可能なメモリ装置内に維持されている状態履歴へ変更した文書状態を付加し、
履歴リスト維持手段が、前記文書状態に対応しており且つ前記文書状態とは別に形成された項目で前記文書状態が変更された場合に使用された文書編集ツールを表すアイコン表示及びそれに対応するテキスト表示を含む項目からなる履歴リストを維持し、
選択手段が、ユーザ入力に応答して、前記履歴リスト内の第１項目を選択して前記第１項目に対応する文書状態をアクティブ文書の現在の状態として設定し、
前記選択手段が、ユーザ入力に応答して、履歴をベースとしたツールによる操作に対するソースとして前記履歴リスト内の第２項目を選択し、
前記文書編集手段が、前記第２項目のソースとしての文書状態を前記ツールの操作に従って前記第１項目に対応する文書状態内に確立する、
ことを特徴とする方法。
【請求項７】
文書を作成し且つ編集すべく動作可能なコンピュータプログラムアプリケーションにおいて実現される方法において、
文書編集手段が、文書を変更するための一連のユーザにより入力されたコマンドに応答してディスプレイスクリーン上に表示されている文書の文書状態を変更し、
文書状態付加手段が、文書状態が変更される度にコンピュータによって読取り可能なメモリ装置内に維持されている状態履歴へ変更した文書状態を付加し、
履歴維持手段が、前記文書状態の履歴を維持し、
履歴リスト維持手段が、前記文書状態に対応しており且つ前記文書状態とは別に形成された項目で前記文書状態が変更された場合に使用された文書編集ツールを表すアイコン表示及びそれに対応するテキスト表示を含む項目からなる履歴リストを維持し、
廃棄手段が、前記履歴リストの内でユーザが選択した少なくとも１個の項目を廃棄し、
文書状態変更手段が、前記履歴リストの項目のユーザ選択が後戻り及び前進する場合に、それに対応して前記ディスプレイスクリーン上に表示される文書の文書状態を変更させる、
ことを特徴とする方法。
【請求項８】
文書処理用コンピュータプログラムアプリケーションにおいて実現される方法において、
文書編集手段が、文書を変更するための一連のユーザにより入力されたコマンドに応答してディスプレイスクリーン上に表示されている文書の文書状態を変更し、
文書状態付加手段が、文書状態が変更される度にコンピュータによって読取り可能なメモリ装置内に維持されている状態履歴へ変更した文書状態を付加し、
履歴維持手段が、前記アプリケーションに対するユーザコマンドが文書の状態を変更する場合には作成された文書状態の履歴を自動的に維持し、
履歴リスト維持手段が、前記文書状態に対応しており且つ前記文書状態とは別に形成された項目で前記文書状態が変更された場合に使用された文書編集ツールを表すアイコン表示及びそれに対応するテキスト表示を含む項目からなる履歴リストを維持し、
廃棄手段が、前記履歴内の文書状態のうちの何れかのユーザが選択した組を廃棄し、
インストール手段が、前記履歴内の文書状態のうちの何れか一つをユーザが指定した場合に、その指定した状態を前記ディスプレイスクリーン上の文書の現在の状態としてインストールする、
ことを特徴とする方法。
【請求項９】
文書状態を有する文書に関する動作を実施するコンピュータプログラムアプリケーションにおいて実現される方法において、
状態履歴維持手段が、文書状態を格納するために文書の状態履歴をメモリ内に維持し、
文書状態を変更させるものとして予め定められている興味のある操作が発生した場合に、付加手段が、前記動作の後に存在する文書状態を自動的に捕獲し且つその捕獲した状態を前記状態履歴へ付加させ、
履歴リスト維持手段が、前記状態履歴内に格納されている前記文書状態に対応しており且つ前記文書状態とは別に形成された項目で前記文書状態が変更された場合に使用された文書編集ツールを表すアイコン表示及びそれに対応するテキスト表示を含む項目からなる履歴リストを維持している、
ことを特徴とする方法。
【請求項１０】
請求項９において、前記メモリがディスクファイルを有していることを特徴とする方法。
【請求項１１】
請求項９において、
前記状態履歴が文書状態及び格納されている状態が前記状態履歴へ自動的に付加された順番を包含しており、
前記状態履歴がそれらの格納順に示される文書状態のリストとしてディスプレイスクリーン上に表示され、
分類手段が、ある操作が文書状態を変更する場合にはその操作を前記興味のある操作として分類し、
前記付加手段が、前記ある操作が前記興味のある操作として分類される場合にのみ文書状態を前記状態履歴へ付加し且つそうでない場合には付加せず、
後戻り操作手段が、前記状態履歴内に格納されている文書状態を文書の現在の文書状態としてインストールすることによって後戻り操作を行い、その際に、全ての後戻り操作は文書を前記興味のある操作の直後に発生した文書状態とさせ、
前進操作手段が、前記状態履歴内に格納されている文書状態を文書の現在の文書状態としてインストールすることによって前進操作を行い、その際に、全ての前進操作は文書を前記興味のある操作の直後に発生した文書状態とさせる、
ことを特徴とする方法。
【請求項１２】
請求項１１において、
前記履歴リストが複数個の項目からなるリストを有しており、各項目は前記興味のある操作の後に存在したものであって且つ前記後戻り操作手段で回復させることの可能な文書状態を表しており、
前記履歴リストが複数個の項目からなるリストを有しており、各項目は前記興味のある操作の後に存在したものであって且つ該項目が選択された場合に直接的に回復させることの可能な文書状態を表している、
ことを特徴とする方法。
【請求項１３】
請求項１２において、
前記アプリケーションがデジタル形態でイメージを作成し且つ修正すべく動作可能なデジタルグラフィックプログラムであり、
前記アプリケーションが前記状態履歴から選択された文書状態の少なくとも一部を得且つそれを文書の現在の状態へ適用するためにユーザの制御下において動作可能なツールを与える、
ことを特徴とする方法。
【請求項１４】
請求項１２において、
前記アプリケーションが表示された項目のリストにおける任意の項目をユーザが選択することを可能とし且つ前記アプリケーションをして前記選択した項目に対応する文書状態を持った新たな文書を作成させる、
ことを特徴とする方法。
【請求項１５】
請求項１２において、前記状態履歴における捕獲した状態の各々が基本的にそのオリジナルの形態で状態データを維持していることを特徴とする方法。
【請求項１６】
文書に対して行った修正をユーザが元に戻すことを可能とさせる方法において、
文書編集手段が、文書を変更するための一連のユーザにより入力されたコマンドに応答してディスプレイスクリーン上に表示されている文書の文書状態を変更し、
文書状態付加手段が、文書状態が変更される度に格納手段内に維持されている状態履歴へ変更した文書状態を付加し、
前記格納手段が文書状態を変更させるものとして予め定められている興味のある操作を第一履歴として格納し、
前記格納手段がユーザによって要求された全ての操作を第二履歴として格納し、
前記第一履歴ではなく前記第二履歴が特定の文書の文書状態を変更するものではないものとして予め定められている操作を包含している、
ことを特徴とする方法。
【請求項１７】
請求項１６において、前記第一履歴に関して動作する第一やり直しコマンド機能及び前記第二履歴に関して動作する第二やり直しコマンド機能がユーザへ提供されていることを特徴とする方法。
【請求項１８】
コンピュータプログラムアプリケーションにおける文書であって文書状態を有する文書を編集するために、コンピュータをして、
文書を変更するための一連のユーザにより入力されたコマンドに応答してディスプレイスクリーン上に表示されている文書の文書状態を変更する手順、
文書状態が変更される度にコンピュータによって読取り可能なメモリ装置内に維持されている状態履歴へ変更した文書状態を付加する手順、
状態履歴へ付加した各文書状態に対して、グラフィカルユーザインターフェースの一部として動作されるコンピュータによって制御されるディスプレイ装置のディスプレイスクリーン上に表示された履歴リストであって、前記文書状態に対応しており且つ前記文書状態とは別に形成された項目で前記文書状態が変更された場合に使用された文書編集ツールを表すアイコン表示及びそれに対応するテキスト表示を含む項目からなる履歴リストに対して前記変更した文書状態に対応する項目を付加する手順、
前記履歴リスト内のユーザにより選択された項目に対応する文書状態に前記ディスプレイスクリーン上に表示されている文書の文書状態を更新する手順、
を実行させるプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【請求項１９】
請求項１８において、前記履歴リストの項目数が予め定めた最大数に制限されており且つ前記最大数を越える新たな項目が付加される場合には最も古い項目が前記履歴リストの上部からスクロールによって外されることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２０】
請求項１８において、前記履歴リスト内の選択した項目への後戻りコマンドの後の文書を変更するためのコマンドが、前記選択した項目の後の全ての項目を前記履歴リストから削除させ且つ対応する文書状態を前記状態履歴から削除させることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２１】
請求項１８において、前記履歴リスト内の選択した項目へ後戻りコマンドの後の文書を変更するコマンドが、前記選択した項目の後のいずれの項目も前記履歴リストから削除させることはなく且つ前記履歴リストの終わりへ新たな項目を付加し且つ新たな文書状態を前記状態履歴へ付加させることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２２】
請求項１８において、前記履歴リストに関するユーザインターフェースジェスチャーが前記状態履歴からの文書状態から新たな文書を作成することを可能とすることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２３】
文書を作成し且つ編集するべく動作可能なコンピュータプログラムアプリケーションにおいて実現するために、コンピュータをして、
文書を変更するための一連のユーザにより入力されたコマンドに応答してディスプレイスクリーン上に表示されている文書の文書状態を変更する手順、
文書状態が変更される度にコンピュータによって読取り可能なメモリ装置内に維持されている状態履歴へ変更した文書状態を付加する手順、
前記文書状態に対応しており且つ前記文書状態とは別に形成された項目で前記文書状態が変更された場合に使用された文書編集ツールを表すアイコン表示及びそれに対応するテキスト表示を含む項目からなる履歴リストを維持する手順、
ユーザ入力に応答して、前記履歴リスト内の第１項目を選択して前記第１項目に対応する文書状態をアクティブ文書の現在の状態として設定する手順、
ユーザ入力に応答して、履歴をベースとしたツールによる操作に対するソースとして前記履歴リスト内の第２項目を選択する手順、
前記第２項目のソースとしての文書状態を前記ツールの操作に従って前記第１項目に対応する文書状態内に確立する手順、
を実行させるプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【請求項２４】
文書を作成し且つ編集すべく動作可能なコンピュータプログラムアプリケーションにおいて実現するために、コンピュータをして、
文書を変更するための一連のユーザにより入力されたコマンドに応答してディスプレイスクリーン上に表示されている文書の文書状態を変更する手順、
文書状態が変更される度にコンピュータによって読取り可能なメモリ装置内に維持されている状態履歴へ変更した文書状態を付加する手順、
前記文書状態の履歴を維持する手順、
前記文書状態に対応しており且つ前記文書状態とは別に形成された項目で前記文書状態が変更された場合に使用された文書編集ツールを表すアイコン表示及びそれに対応するテキスト表示を含む項目からなる履歴リストを維持する手順、
前記履歴リストの内でユーザが選択した少なくとも１個の項目を廃棄する手順、
前記履歴リストの項目のユーザ選択が後戻り及び前進する場合に、それに対応して前記ディスプレイスクリーン上に表示される文書の文書状態を変更させる手順、
を実行させるプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【請求項２５】
文書処理用コンピュータプログラムアプリケーションを実現するために、コンピュータをして、
文書を変更するための一連のユーザにより入力されたコマンドに応答してディスプレイスクリーン上に表示されている文書の文書状態を変更する手順、
文書状態が変更される度にコンピュータによって読取り可能なメモリ装置内に維持されている状態履歴へ変更した文書状態を付加する手順、
前記アプリケーションに対するユーザコマンドが文書の状態を変更する場合には作成された文書状態の履歴を自動的に維持する手順、
前記文書状態に対応しており且つ前記文書状態とは別に形成された項目で前記文書状態が変更された場合に使用された文書編集ツールを表すアイコン表示及びそれに対応するテキスト表示を含む項目からなる履歴リストを維持する手順、
前記履歴内の文書状態のうちの何れかのユーザが選択した組を廃棄する手順、
前記履歴内の文書状態のうちの何れか一つをユーザが指定した場合に、その指定した状態を前記ディスプレイスクリーン上の文書の現在の状態としてインストールする手順、
を実行させるプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【請求項２６】
文書状態を有する文書に関する動作を実施するコンピュータプログラムアプリケーションを実現するために、コンピュータをして、
文書状態が変更される度に文書状態を格納するために文書の状態履歴をメモリ内に維持する手順、
文書状態を変更させるものとして予め定められている興味のある操作が発生した場合に、前記動作の後に存在する文書状態を自動的に捕獲し且つその捕獲した状態を前記状態履歴へ付加させる手順、
前記状態履歴内に格納されている前記文書状態に対応しており且つ前記文書状態とは別に形成された項目で前記文書状態が変更された場合に使用された文書編集ツールを表すアイコン表示及びそれに対応するテキスト表示を含む項目からなる履歴リストを維持する手順、
を実行させるプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【請求項２７】
請求項２６において、前記メモリがディスクファイルを有していることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２８】
請求項２６において、
前記状態履歴が文書状態及び格納されている状態が前記状態履歴へ自動的に付加された順番を包含しており、
前記状態履歴がそれらの格納順に示される文書状態のリストとしてディスプレイスクリーン上に表示され、
ある操作が文書状態を変更する場合にはその操作を前記興味のある操作として分類し、
前記ある操作が前記興味のある操作として分類される場合にのみ文書状態を前記状態履歴へ付加し且つそうでない場合には付加せず、
前記状態履歴内に格納されている文書状態を文書の現在の文書状態としてインストールすることによって後戻り操作を行い、その際に、全ての後戻り操作は文書を前記興味のある操作の直後に発生した文書状態とさせ、
前記状態履歴内に格納されている文書状態を文書の現在の文書状態としてインストールすることによって前進操作を行い、その際に、全ての前進操作は文書を前記興味のある操作の直後に発生した文書状態とさせる、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２９】
請求項２８において、
前記履歴リストが複数個の項目からなるリストを有しており、各項目は前記興味のある操作の後に存在したものであって且つ前記後戻り操作で回復させることの可能な文書状態を表しており、
前記履歴リストが複数個の項目からなるリストを有しており、各項目は前記興味のある操作の後に存在したものであって且つ該項目が選択された場合に直接的に回復させることの可能な文書状態を表している、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項３０】
請求項２９において、
前記アプリケーションがデジタル形態でイメージを作成し且つ修正すべく動作可能なデジタルグラフィックプログラムであり、
前記アプリケーションが前記状態履歴から選択された文書状態の少なくとも一部を得且つそれを文書の現在の状態へ適用するためにユーザの制御下において動作可能なツールを与える、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項３１】
請求項２９において、
前記アプリケーションが表示された項目のリストにおける任意の項目をユーザが選択することを可能とし且つ前記アプリケーションをして前記選択した項目に対応する文書状態を持った新たな文書を作成させる、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項３２】
請求項２９において、前記状態履歴における捕獲した状態の各々が基本的にそのオリジナルの形態で状態データを維持していることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項３３】
文書に対して行った修正をユーザが元に戻すことを可能とさせるために、コンピュータをして、
文書を変更するための一連のユーザにより入力されたコマンドに応答してディスプレイスクリーン上に表示されている文書の文書状態を変更する手順、
文書状態が変更される度に格納手段内に維持されている状態履歴へ変更した文書状態を付加する手順、
前記格納手段が文書状態を変更させるものとして予め定められている興味のある操作を第一履歴として格納する手順、
前記格納手段がユーザによって要求された全ての操作を第二履歴として格納する手順、
を実行させるプログラムを記録しており、その場合に、前記第一履歴ではなく前記第二履歴が特定の文書の文書状態を変更するものではないものとして予め定められている操作を包含している、コンピュータ読み取り可能な記録媒体。
【請求項３４】
請求項３３において、前記第一履歴に関して動作する第一やり直しコマンド機能及び前記第二履歴に関して動作する第二やり直しコマンド機能がユーザへ提供されていることを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子文書を作成し且つ編集するためにプログラムの制御下において動作可能な電子システム及び方法に関するものである。
【０００２】
【従来の技術】
文書を作成し且つ編集するコンピュータプログラムアプリケーションの従来の一つの特徴はアンドゥ（ｕｎｄｏ）即ち元に戻す（取消し）コマンドである。マイクロソフト（商標）ウインドウズ９５オペレーティングシステムに対して書かれたアプリケーションは、しばしば、アンドゥ即ち元に戻すコマンドに対するキーボードショートカットとしてＣｔｒｌ＋Ｚをしばしば使用する。
【０００３】
アプリケーションにおいてアンドゥ即ち元に戻すことを実現するための一つのメカニズムは、操作をどの様にしてドゥ（ｄｏ）即ち行うこと、アンドゥ（ｕｎｄｏ）即ち元に戻すこと、及びリドゥ（ｒｅｄｏ）即ちやり直しを行うかを知っているコマンドオブジェクトに基づくものである。このことについては、例えば、Ｇａｍｍａ  ｅｔ  ａｌ．著「パターンの設計（Ｄｅｓｉｇｎ  Ｐａｔｔｅｒｎｓ）」、アジソン・ウエズリー出版社、１９９５年、２３３−２４２頁に記載されている。従って、コマンドの履歴を維持することによって複数個のアンドゥ即ち元に戻すことを実現することが可能である。Ｇａｍｍａが２３９頁において記載しているように、この様なインプリメンテーション即ち具体化は、エラーを蓄積する強い可能性を有しており且つコマンドオブジェクトの一部として「思い出（ｍｅｍｅｎｔｏ）」パターンを使用することを推奨している。あるアプリケーションでは、ユーザに最も最近のアクション（行為）のリストを与え且つユーザがそれらのアクションのうちの一つを選択することを可能とし、それによってその選択したアクション及び該リスト内のその上方の全てのアクション（即ち、全てのより最近のアクション）を元に戻すこと即ち取消すことを可能としている。
【０００４】
あるアプリケーションにおいて使用可能な関連した特徴は、編集中の文書をユーザが保存し且つ後に保存したものを復活させることを可能とし、それによって該文書に対する中間的な変更を廃棄することを可能としている。
【０００５】
やり直し（取消し）コマンドの従来の挙動は、文書を、やり直し中の操作が行われた前にそれが有した状態へ回復させることである。
【０００６】
【発明が解決しようとする課題】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、文書を作成し且つ修正するシステムにおいて有用な方法及び装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
一般的に、一つの側面においては、本発明は、状態を持った文書に関する操作を実施する技術を実施化する方法及び装置を提供している。本発明技術は、文書状態を格納するために文書の状態履歴をメモリ内に維持し、且つ、興味のある操作が発生した場合に、その操作の後に存在する文書の状態を自動的に捕獲し且つその捕獲した状態を状態履歴へ付加するための操作を実行することを包含している。
【０００８】
一般的には、別の側面においては、本発明技術は、興味のある操作の第一履歴及びユーザによって要求された全ての操作の第二履歴を維持する操作を包含しており、該第一履歴ではなく該第二履歴がアプリケーションの状態に対してグローバルな操作を包含している。
【０００９】
一般的に、別の側面においては、本発明技術は、文書を変更するための一連のコマンドをユーザから受取り、各コマンドに応答して文書の状態を変更し、文書の状態が変更される度にコンピュータによって読取り可能なメモリ装置内に維持されている状態履歴へ変更された文書状態を付加し、状態履歴へ付加された各文書状態に対して、グラフィカルユーザインターフェースの一部として動作されるコンピュータによって制御されるディスプレイ装置上においてユーザに対して表示される履歴リストへ対応するエントリを付加し、且つ履歴リスト内のある項目へ後戻りするユーザのアクションに応答して、該文書を更新して対応する文書状態を該状態履歴内に保存させる、上記各操作を包含している。
【００１０】
一般的に、別の側面においては、本発明技術は、履歴リストを維持し、履歴リスト内の前の状態へ後戻りし、操作に対するデータの発生源として前の状態の後に作成された状態である履歴リストから将来の状態を選択し、該前の状態に関して将来のデータで操作を実施する、上記各操作を包含している。
【００１１】
一般的に、別の側面においては、本発明技術は、ユーザによって作成された文書状態の履歴を維持し、ユーザが該履歴のうちの何れかを廃棄することを可能とし、且つユーザが該履歴を介して後戻り及び前進することを可能とさせそれによって該文書の状態を該履歴内の文書状態のうちの何れかへ変更させる操作を包含している。
【００１２】
一般的に、別の側面においては、本発明技術は、アプリケーションに対するユーザコマンドが文書の状態を変更させる場合には自動的に作成される文書状態の履歴を維持し、ユーザが該履歴内の文書状態のうちのユーザが選択した何れかの組を廃棄することを可能とさせ、ユーザが該履歴内の文書状態のうちの何れか一つを指定し且つそれによってその指定した状態を文書の現在の状態としてインストールさせることを可能とさせる、上記各操作を包含している。
【００１３】
一般的に、別の側面においては、本発明技術は、文書を作成し且つ修正し、ユーザに対してディスプレイ装置上においてアプリケーションの操作によって該文書が経験した一組の状態を識別し、ユーザが識別された状態のうちの任意の何れか一つを指定することを可能とさせる、上記各操作を包含している。
【００１４】
本発明の特定の実施形態では、以下の利点のうちの一つ又はそれ以上を有している。状態履歴を使用することは、迅速で且つ効率的な複数個のアンドゥ即ち元に戻す（取消し）操作をサポートし、特に、しばしば文書全体に関して作用するイメージ編集アプリケーションのようなアプリケーションにおいて特に有用である。それはユーザが文書の前の状態へランダムにアクセスすることを可能とする。それは、文書の前の状態をそれ自身の文書を組込むことを可能とさせる。それは、操作シーケンスの依存性を回避しながら、複数個の元に戻す（取消し）動作を効率的に実現する方法を提供している。文書に関するコマンドの大きな履歴を迅速に且つ多数のコマンドを介してナビゲーションするための時間的コストを増加させることなしに、ナビゲーションすることが可能である。それは、例えばイメージ内の同一のオブジェクトを移動させる複数個のコマンドのような複数個の連続したユーザコマンドを元に戻す（取消し）の目的のための単一のコマンドとして幾分簡単化させる。別の文書からのデータを使用して一つの文書に対して修正がなされる場合には、本発明は文書間の依存性の危険性なしで複数個の元に戻す（取消し）特徴を提供する。
【００１５】
さらなる利点としては以下のようなものがある。非線形動作モードにおいては、ユーザは後に捕獲される状態を失うことなしに先に捕獲した文書状態から始めて文書を編集することが可能である。例えば、デジタルペイント用アプリケーションを使用して、ユーザはイメージに対して一連のフィルタを適用し、次いでオリジナルのイメージ状態へ戻って、次いで履歴ペイントブラッシュツールを使用してこれらのフィルタの効果において選択的にペイントを行うことが可能である。滑らかに移動する制御インターフェース要素を使用することは、履歴状態が該制御要素によって選択される場合に履歴状態を観察し、文書作成及び編集プロセスの少なくとも一部の映画のようなプレゼンテーションを作成しながら、ユーザが文書の履歴を介して容易にスキャンすることを可能とする。
【００１６】
【発明の実施の形態】
図１に示したように、従来のプログラム可能なコンピュータシステム１００は、少なくとも、コンピュータプログラム命令を実行することの可能なプロセサコンポーネント１１４、プログラムとデータとを格納するためのメモリコンポーネント１１２、ユーザがシステム１００上で稼動するプログラムと対話することの可能なユーザインターフェース装置１１６とを有している。これら及びその他のコンポーネントは互いに相互作用を行うために一つ又はそれ以上のバス１１８によって接続されている。メモリコンポーネントは、通常、揮発性のランダムアクセスメモリ（ＲＡＭ）、非揮発性のリードオンリーメモリ（ＲＯＭ）、１個又はそれ以上の大型のディスクドライブを包含している。本システムは、一つ又はそれ以上のプログラムをラン即ち稼動させることが可能である。アプリケーション１２０は特定のタスクに対して設計されたコンピュータプログラムであり、且つ、典型的なように、それはドキュメント即ち文書と呼ばれる中央保管所に関して動作を行い、該文書の内容はユーザが作成し且つ編集を行う。図示した如く、あるアプリケーションは、ユーザが例えばある時間に開いている文書１３０及び１４０のような一つを超える文書を有することを可能とし、且つ編集及びその他の文書に関連する動作のフォーカス即ちターゲットとしてのアクティブ文書としてそれらのうちの一方又は他方をユーザが選択することを可能とする。
【００１７】
文書は、典型的に、文書ウインドと呼ばれるディスプレイスクリーンの矩形領域内に表示される。スプレッドシートアプリケーションは、二次元テーブルのように見え且つ動作すべく設計されたスプレッドシート文書を表示する。文書処理アプリケーションは、用紙のように見えるべく設計された文書を表示する。イメージ処理アプリケーションは写真又は図面のように見えるべく設計された文書を表示する。
【００１８】
従来技術におけるように、アプリケーション１２０は、データ１２４に関して動作を行うべく実行することの可能なプログラム命令１２２を有するものとして図示してある。アプリケーション１２０は状態履歴特徴を実現すべくプログラムされており、従って、各開いている文書１３０及び１４０、対応する状態履歴１３２及び１４２、及び対応する元に戻すバッファ１３４及び１４４を、それぞれ、互いに関連付けさせる。該アプリケーションは、又、アプリケーション自身に対する元に戻すバッファ１２６を有している。別の具体例においては、アプリケーションの元に戻すバッファは唯一の元に戻すバッファであり、且つそこに格納されているコマンドは、存在する場合に、関連する文書への参照を包含している。アプリケーションの元に戻すバッファが元に戻すコマンドを有している場合には、元に戻すこと・やり直すことの特徴の直感的な動作を維持するために、文書の元に戻すバッファの全てが空であるべきである。
【００１９】
図２に示したように、履歴リストを実現するアプリケーションはグラフィカルユーザインターフェースの一部として、フローティング履歴パレット２００を与え、ユーザはメニューコマンド又はその他のユーザインターフェースコマンドでそれを見せるか又は隠すことが可能である。アプリケーションの操作の関連性のある側面について、履歴パレット２００上で使用可能とされる情報及びユーザが履歴パレットを使用して実施することの可能な操作について説明する。
【００２０】
文書が開かれるか又は新たに作成される場合には、アプリケーションはその文書のスナップショットを発生し且つ該スナップショット又は該パレットの上部領域２０４を該スナップショットを表わすサムネイルイメージ及びユーザが編集することの可能なスナップショットの名前で更新する。該パレットの下側部分２０６は初期的な文書状態に対して「開く」又は「新規」として示された項目で初期化され、従ってユーザは最初の状態変更操作から後戻りすることが可能である。（このことは、以下に説明するように、文書を開き且つ作成することを「興味のある」操作として特性付けるものとして見ることが可能である。）履歴パレット２００は特定の文書と関連付けされている。ユーザが開いている二つの文書１３０及び１４０（図１）を有している場合には、各々は別個の履歴パレットを有しており、且つ該文書のうちの一つがアクティブである場合に示される履歴パレットは対応する文書１３０又は１４０の状態履歴１３２又は１４２をそれぞれ反映する。
【００２１】
アプリケーションがどの様にして文書の表示に影響を与えるが実際の文書データに影響を与えることのない例えばビューイング倍率などのビューイング（ｖｉｅｗｉｎｇ）パラメータは、特定のインプリメンテーション即ち実現例において興味のあるものと考えることが可能である。例えば、文書の全てのビューに適用されるビューイングパラメータは、興味のあるものとして取扱い且つ文書の状態の一部と考えることが可能であり、一方、各ビューに対して異なって設定することの可能なビューイングパラメータを有する複数個の開いたウインド内で文書をビュー即ち観察することが可能である場合には、当然に興味のあるもの又は文書状態の一部と考えられることはない。
【００２２】
文書の状態は、ユーザが文書の状態を変更する文書に対する変更を行った後に状態履歴内に記録される。アプリケーションは、暗示的に又は明示的に、コマンドを、文書状態を変更させるもの（「興味のある」もの）と文書状態を変更しないものとに分類することが可能である。一つの例として、例えば単一のオブジェクトを移動させる相次ぐ連続的なコマンドのような幾つかのコマンドは、それらが単一のオブジェクト移動コマンドとされた場合に、集合体においてのみ興味のあるものである場合がある。別の例としては、幾つかのコマンドは、例えばパレットに対するか又は優先性に対する変更のようなグローバルなものである場合には、それらはアプリケーションの状態を変更し特定の文書に対してなされるものではない。
【００２３】
文書状態が記録されると、それは履歴リスト部分２０６の終わりに一つの項目としてアペンド即ち付属される。各項目はアイコン及び対応するコマンドの簡単なテキスト説明を有している。該アイコンはそのコマンドを実行するために使用するツールを示し、又は、メニュー及びダイヤログコマンドの場合には、それはメニュー又はダイヤログアイコンである。上部部分２０４及び下部部分２０６は両方共、現在の文書に対して特定的なものであり且つ異なる文書がアクティブとされる場合に変化する。
【００２４】
ユーザは、パレットの左側の上にある小さなコントロール即ち制御体２０８を掴み且つそれを上下方向へドラッグしてその制御体の位置に従って文書の状態を表示させることが可能である。そうすることは現在の状態、即ちドラッグアクションの結果として表示されているものをハイライトさせ且つその後に位置しているものを薄暗くさせる。図２において、第二履歴リスト項目「セレクション」（選択）に対応する状態がハイライトされ、且つそれに続くものは薄暗くされる。一つの項目上でクリックすることなどのその他のユーザインターフェースジェスチャー（所作）は同一の効果を有している。次いで、ユーザが文書の変更を開始すると、選択した項目下側の履歴リスト２０６内の全ての項目が削除される。（別法であり且つ更に強力な動作モード、即ち非線形履歴モードについては後に説明する。）
フローティングパレットの左側の欄はボタン２１０を有しており、それらは、履歴をベースとしたツールによってソース即ち発生源状態として使用される状態として、状態履歴内の状態であるか又はスナップショットであるかに拘らず、対応する状態を確立するために選択することが可能である。この様なセレクション即ち選択はパレット上に記録され、アイコンがその選択した状態を表わす。図示したように、履歴ペイントブラシアイコンは、履歴ペイントブラシツールがアクティブ文書上で使用される場合に、対応する状態が使用されることを表わすために使用される。履歴をベースとしたツールに対するソース即ち発生源としてたった一つの状態を選択することが可能であるに過ぎない場合には、ボタン２１０はラジオボタンのように動作し、その場合に、一つの状態を選択することはその他の選択された状態を脱選択状態とさせる。以下に記載するように、先の及び後の両方の文書状態（即ち、履歴リスト内の現在の状態の項目の上方及び下方の両方の項目）は履歴ソース（発生源）として選択することが可能である。
【００２５】
履歴ペイントブラシツールは、ユーザが文書に関して操作を行うために選択することの可能なその他のツールと同様にツールパレットから選択することが可能である。動作について説明すると、履歴ペイントブラシはソース即ち発生源からのターゲット文書入力上をペイントすべく動作する。イメージアプリケーションにおいては、入力がピクセルデータ、モード混合、経路クリップ、又は発生源文書状態の一部である何らかのその他のデータとすることが可能である。ツールのセマンティクスは、そのソース即ち発生源がターゲット文書の状態（現在、過去又は将来）であることを要求する場合があるが、そうする必要性はなく、一方、該セマンティクスは、ターゲット文書から全く独立した文書から派生された状態をソース即ち発生源としてツールが使用することを可能とする場合がある。
【００２６】
履歴パレット２００は、又、ドラッグ及びドロップコマンドに対するソース即ち発生源として使用することが可能である。ユーザがパレット上の一つの項目を掴み且つそれを別の文書へドラッグする場合には、ソース状態（ドラッグ項目に対応する文書状態）がターゲット文書へ適用される。一つの状態を一つの文書へ適用するセマンティクスはアプリケーションに特定的なものであり、且つソース状態の性質に依存する場合がある。（例えば、それは、例えば状態履歴内において見出されるような完全な文書状態とすることが可能であり、又は、それは、例えばイメージ文書の単一のレイヤのスナップショットがとられる場合に捕獲されるような部分的な状態とすることが可能である。）一つのインプリメンテーション即ち具体化のセマンティクスにおいては、完全な文書状態を適用することは、ソース状態を履歴リストへアペンド即ち付属させ且つそれをターゲット文書の現在の状態としてインストールする。該ソースがイメージレイヤなどの部分的な状態である場合には、それはターゲット文書に対する一つのレイヤとして付加することが可能である。一方、完全なソースイメージ文書であっても、単一のレイヤへ平坦化させ且つターゲット文書へ付加することが可能である。
【００２７】
履歴パレットは、又、ポップアップメニュー２０２を有している。このメニューは履歴リストを介して前進し、履歴リストを介して後戻りし、新しいスナップショットを作成し、履歴又はスナップショット項目を削除し、履歴リスト２０６（及び対応する状態履歴）をクリアし、保存した文書状態から新たな文書を作成し、且つ履歴特徴に対するオプションを設定するためのコマンドを提供する。
【００２８】
前進及び後戻りコマンドは、ユーザが、制御体２０８を参照して先に説明したように、現在の履歴リスト２０６を介してユーザが後方及び前方へ歩くことを可能とする。
【００２９】
ユーザはポップアップメニュー２０２における新たなスナップショットコマンドを使用することによるか又はパレット内のコマンドボタン２１４を使用することによって、文書の履歴内の任意の点のスナップショットを作成することが可能である。例えば、ユーザは制御体２０８を対応するリスト項目へ移動させ、次いでスナップショットに名前を付け且つオプションとしてスナップショット制御オプションを設定するためにユーザに対してダイアログウインドを繰出すスナップショットボタン２１４を選択することによって、履歴状態を選択することが可能である。特に、ユーザはその状態からの完全な文書、即ち文書状態の全てのレイヤの組成、又は選択した文書状態において存在する現在のレイヤのスナップショットをとることを選択する場合がある。新たに作成されたスナップショットの一つの項目がパレットの上部リスト２０４へアペンドされる。
【００３０】
前述したように、履歴パレット２００と関連している特徴は二つの重要な観点において上述したものと異なって非線形履歴モードで動作する。非線形履歴モードにおいては、履歴リスト２０６からの項目の削除は、その削除した項目の下側の項目を削除させるものではない。後の文書状態はそれ自身完全なものであるから、何ら悪影響なしで先のものを削除することが可能である。又、非線形履歴モードにおいては、ユーザは先の文書状態へ後戻りし、そこから作業を開始し、後の文書状態を削除させないようにすることが可能である。そうではなく、新たな文書状態は履歴リストの終わりに付加され、そのことは、結果的に、状態履歴の二つの分岐を示す。
【００３１】
履歴パレットの操作は、ユーザによってなされた変更の全てではなく幾つかを記録する。文書に対してローカル即ち局所的な変更が記録され、一方アプリケーションにとってグローバルな変更は記録されない。ツールに対する設定を変更するなどのグローバルな変更は文書状態を状態履歴内に保存させるか又は項目を履歴リストへ付加させることはない。なぜならば、文書状態は変更されておらず、従って、前に捕獲された状態が未だにその文書の状態であるからである。一方、文書パス（ｐａｔｈ）、レイヤ（ｌａｙｅｒ）、又はチャンネル（ｃｈａｎｎｅｌ）を作成するか又は修正することなどのローカル即ち局所的な変更は、文書状態を保存させ且つ項目を履歴リストへ付加させる。
【００３２】
履歴パレットに関連して、それがローカルなものであったか又はグローバルなものであったかに拘らずに、最も最近のコマンドをユーザが元に戻す（取消す）及びやり直すことを可能とする従来のアンドゥ（元に戻す）・リドゥ（やり直す）特徴を有することが有用である。このことは、最も最近のユーザコマンドに対するやり直し項目を文書特定バッファ内に保存し且つその操作を元に戻し且つやり直すためにトグルとして元に戻すメニューコマンド又はそのキーボードショートカットを適用することによって達成される。
【００３３】
図３及び４は、以下の説明と共に、状態履歴特徴の動作及び使用を説明するために意図したものであり、従って、それらは容易に理解することが可能であり、従って具体化及び最適化の詳細は省略する。関連性のあるコマンドのディスパッチ及び処理機能の実際的なインプリメンテーション即ち具体化は、図示したステップを結合し且つ再構成し且つそれらをよく理解されたソフトウエアエンジニアリング技術に従って実現するものと予測される。
【００３４】
図３に示したように、状態履歴特徴のインプリメンテーション即ち具体例の動作は、ユーザがコマンドをエンターする場合に開始することを理解することが可能である（ステップ３０２）。コマンドは、アプリケーションの状態又はアクティブ文書の状態を変更するために、グラフィカルユーザインターフェースを介してアプリケーションに対してユーザによって行われる要求である。アプリケーションは対応するアクションを行う（ステップ３０４、それについては更に図４を参照して説明する）。そのアクションが文書の状態に影響を与えるものではないものとして分類されるものである場合には（ステップ３０６の否定分岐）、状態履歴及び履歴リストは影響を受けることはない。そうではなく、該コマンドのアクションが状態履歴における一時的に最も最近の状態に対応する履歴リスト内の一時的に最も最近のエントリの状態における文書で実施された場合には、そのアクションの後の該文書の状態が状態履歴内に格納され且つ履歴パレット上の履歴リストが更新される（即ち、ステップ３０８の肯定分岐、及びステップ３１２，３１４，３２０）。ステップ３０８の否定分岐上において、非線形履歴モードが有効である場合には、興味のあるコマンドがエンターされているので、履歴リスト又は状態履歴から何も廃棄されることはない（ステップ３１０の肯定分岐）。線形履歴モードにおいては（ステップ３１０の否定分岐）、例えば履歴ペイントブラシなどの履歴をベースとしたツールに対するソースとして選択された項目以外の、現在の状態項目及び状態履歴内の対応する状態より下側の履歴リスト項目が廃棄される（ボタン２１０に関する上の説明を参照）。
【００３５】
履歴リスト又は状態履歴の最大寸法に到達すると、履歴リストからのトップの（最も速い）項目、履歴をベースとしたツールに対するソースとして選択された項目を除くが、新たな文書状態が格納される前に、状態履歴内の対応する文書状態と共に、廃棄される（ステップ３１２の否定分岐及びステップ３１８）。
【００３６】
実際的なインプリメンテーション即ち具体例を発生するために、冗長な情報を格納する場合に消費されるメモリの量を最小とし且つそれを書込み且つ読取るために消費されるプロセサ資源を最小に維持するために、保存した状態の間で多大な共用を可能とする形態で文書状態を格納することが有益的である。この目的のために適したデータ表現は１９９６年８月２６日付で出願した発明者がＨａｍｂｕｒｇである本願出願人に譲渡されている「共用タイルイメージ表現（Ｓｈａｒｅｄ  Ｔｉｌｅ  Ｉｍａｇｅ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ）」という名称の米国特許出願第０８／７０２，９４１号において記載されている。
【００３７】
図４を参照すると、状態履歴特徴のインプリメンテーションに関連するアクション実施ステップ（ステップ３０、図３）の側面についての説明は割愛する。ユーザのコマンドがアンドゥ（元に戻す）又はリドゥ（やり直し）ではない場合、即ちＣｔｒｌ＋Ｚのトグルではない場合には、そのコマンドは例えば図１のバッファ１３４及び１４４のようなアクティブ文書に関連しているアンドゥ（元に戻す）バッファ内に格納される（ステップ４１０の肯定分岐及びステップ４１２）。そのコマンドがアンドゥ（元に戻す）又はリドゥ（やり直し）である場合には、アンドゥ（元に戻す）バッファ内のコマンドのアンドゥ（元に戻す）又はリドゥ（やり直し）操作が実行される（ステップ４１２）。注意すべきことであるが、履歴に関連したコマンド、特に、履歴リスト及び状態履歴に対する変更は、従来のアンドゥ（元に戻す）及びリドゥ（やり直し）に服従させることが可能である。このことは、有益的で且つ優雅なユーザインターフェースを与え、それは、例えば、単一の繰返しキーストロークで状態履歴内のどこかから前に選択した二つの文書状態の間でユーザがトグル動作することを可能とする。
【００３８】
図４に復帰して説明すると、次の関連性のあるステップは、該コマンドが履歴リストに関するものであるか又は履歴パレットに関するものであるかを検討することである。そうでない場合には、該コマンドが実行され（ステップ４１８）且つ判別ステップ３０６（図３）で動作が継続して行われる（ステップ４２０）。そうでない場合には、該コマンドは履歴リストを使用するものであり（判別ステップ４１６の肯定分岐）、且つその処理について次に説明する。
【００３９】
該コマンドが履歴リストをナビゲーションする即ち移動する場合、例えば、後戻りコマンド、前進コマンド、又はリスト項目選択コマンドである場合には、選択した項目に対応する文書状態がアクティブ文書の現在の状態としてインストールされる（ステップ４３０及び４３２）。
【００４０】
該コマンドが履歴をベースとしたコマンドに対するソースを指定する場合、例えば、履歴ペイントブラシに対するソースを指定するために欄２１０のボタンを選択するコマンドである場合には、ターゲットとされる履歴状態がソース文書としてソース文書状態を入力としてとることの可能なツールへリンクされる（ステップ４３４及び４３６）。ペイントアプリケーションにおいて実現することの可能な履歴をベースとしたコマンドは、ソース状態からアクティブ文書上へペイントする履歴ペイントブラシ、ソース状態からの入力でアクティブ文書に関しフィル（充填）操作を実施する履歴からフィル（充填）コマンド、及びアクティブ文書をソース状態へ消去するイレイザを包含している。前述したように、ソース状態は現在の状態よりも先であるか又は後の何れかとすることが可能であり、ユーザが将来又は過去の何れかからペイントすることを可能とする。
【００４１】
コマンドが履歴リスト項目を削除すると（ステップ４３８の肯定分岐）、その挙動は、動作モードが線形履歴モードであるか又は非線形履歴モードであるか否か及び履歴リスト内のどこに選択された項目が該当するかに依存する（ステップ４４４）。図５に示したように、非線形履歴モードにおいては、選択した項目及びその文書状態のみが削除される（判別ステップ５０２の肯定分岐及びステップ５０４）。そうでない場合には、選択した項目の該文書の現在の状態に関する位置が考慮される（ステップ５０６）。選択した項目が現在の状態より下であるか（後に作成されたもの）又は現在の状態と同一である場合には、選択した項目及びその状態の両方、及びその後の項目（履歴リスト内の選択した項目の下側）及びそれらの状態も削除される（ステップ５１０）。選択した項目が現在の状態より上方（先に作成された）ものである場合には、選択した項目及びその状態の両方、及びそれより先の項目（履歴リスト内の選択した項目の上方）及びそれらの状態も削除される（ステップ５０８）。ある範囲の状態が削除される場合には（ステップ５０８及び５１０）、履歴をベースとしたツール用のソースとして選択されている項目を削除しないように特別のチェックが行われる。
【００４２】
図４に戻って説明すると、該コマンドが新たな文書を作成すると（判別ステップ４４６の肯定分岐）、その新たな文書の初期状態が選択した履歴リスト項目に対応する状態履歴内の文書状態からコピーされる（ステップ４４８）。
【００４３】
クリア履歴コマンドを実現することも可能であり、その場合には、ユーザは現在の状態以外の全てのスナップショットではない状態及び履歴ペイントブラシソース状態を削除することが可能である。
【００４４】
状態履歴特徴は、特に、例えばカリフォルニア州サンノゼのアドビシステムズインコーポレイテッドから入手可能なフォトショップ（Ｐｈｏｔｏｓｈｏｐ）（商標）プログラムのようなイメージ処理アプリケーションにおいて特に有益的である。このアプリケーションにおいては、各文書は、典型的であるように、単一頁イメージであり、それは、通常、作成及び編集プロセスにおいてユーザによって全体として観察される。このアプリケーションは多くの強力なペイント及び選択ツールを有しており、多数のレイヤをサポートしており、各レイヤは複数個のチャンネル、特別効果フィルタ、及び照明効果を有している。この洗練された環境においては、非線形動作モードを有する状態履歴特徴は特に有益的であり、即ち、それは一組の状態を介してユーザが後戻り及び前進することを可能とし、将来の状態からの効果をピックアップしそれらを過去の状態へ適用してイメージを開発する新たなブランチを作成することを可能とする。
【００４５】
本発明は、デジタル電子回路、又は、コンピュータハードウエア、ファームウエア、ソフトウエア、又はそれらの組合わせで実現することが可能である。本発明装置は、プログラム可能なプロセサによって実行するために機械読取り可能な格納装置に実現したコンピュータプログラム製品の形態で実現することが可能であり、且つ本発明方法ステップは入力データに関して動作し且つ出力を発生する本発明の機能を実施するための命令からなるプログラムを実行するプログラム可能なプロセサによって実施することが可能である。本発明は、データ格納システムからデータ及び命令を受取り且つそれへデータ及び命令を送るべく結合されている少なくとも１個のプログラム可能なプロセサ、少なくとも１個の入力装置、及び少なくとも１個の出力装置を包含するプログラム可能なシステムに関して実行可能な１個又はそれ以上のコンピュータプログラムで実現することが可能である。各コンピュータプログラムは、ハイレベルの手順又はオブジェクト指向型プログラミング言語で実現することが可能であり、又は、所望により、アッセンブリ又はマシン言語で実現することが可能であり、且つ何れかの場合においても、該言語はコンパイル型又はインタプリタ型の言語とすることが可能である。適宜のプロセサとしては、例示として、汎用及び特定目的マイクロプロセサの両方を有することが可能である。
【００４６】
一般的に、プロセサはリードオンリーメモリ及び／又はランダムアクセスメモリから命令及びデータを受取る。コンピュータプログラム命令及びデータを格納するのに適した格納装置は、全ての形態の非揮発性メモリを包含しており、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装置などの半導体メモリ装置、内部ハードディスク及び着脱自在なディスクなどの磁気ディスク、ＭＯディスク、ＣＤ−ＲＯＭディスクなどがある。前述したものの何れもが特別に設計されたＡＳＩＣ（応用特定集積回路）によって補充されるか又はその中に組込むことが可能である。
【００４７】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。例えば、本発明のステップを実施する順番は当業者によって修正することが可能であり、それによっても尚且つ所望の結果を達成することが可能である。状態履歴を示すためにパレット上のリスト以外のユーザインターフェースの形態を使用することが可能であり、例えば複数個の項目からなるスタック又はプルダウンメニュー又はポップアップメニューを使用することが可能であり、非線形履歴モードで作成された改訂分岐はツリー又は閉路なし有向グラフの表現として示すことが可能である。アンドゥ（元に戻す）・リドゥ（やり直し）特徴又は状態履歴特徴がどの様にして特定のアプリケーションにおいて動作するかのユーザの優先性即ち好みを満足させるために、該アプリケーションは選択したコマンド又は操作を興味のないものとして取扱い、従ってアンドゥ（元に戻す）バッファ又は状態履歴内において捕獲されることがないようにすることが可能であり、それによってアプリケーションのユーザインターフェースの設計をユーザの期待通りに適合させることが可能である。本発明のユーザインターフェース側面は、状態差又はコマンド履歴を格納することによって、全体的な状態を格納するのではなく文書状態情報を保存する方法を使用して実施化することが可能である。
【図面の簡単な説明】
【図１】  本発明に基づくアプリケーションプログラムを稼動するコンピュータシステムを示した概略ブロック図。
【図２】  本発明のインプリメンテーション即ち具体化の履歴パレットユーザインターフェース要素を示した概略図。
【図３】  本発明に基づいて動作するアプリケーションによって実施されるステップを示したフローチャート。
【図４】  図３のフローチャートのさらなる詳細を示したフローチャート。
【図５】  図４のフローチャートのさらなる詳細を示したフローチャート。
【符号の説明】
１００  プログラム可能コンピュータシステム
１１２  メモリ
１１４  プロセサ
１１６  ユーザインターフェース装置
１１８  バス
１２０  アプリケーション
１２２  命令
１２４  データ
１２６，１３４，１４４  アンドゥ（元に戻す）バッファ
１３０，１４０  文書
１３２，１４２  状態履歴
２００  フローティング履歴パレット
２０４  上部部分
２０６  下部部分
２０６  履歴リスト
２０８  コントロール（制御体）
２１０  ボタン
【図１】
0004829390.tif 000002
【図２】
0004829390.tif 000003
【図３】
0004829390.tif 000004
【図４】
0004829390.tif 000005
【図５】
0004829390.tif 000006