(57)【特許請求の範囲】
【請求項１】
文書に対して操作を実行する際に利用されるコントロールの組み合わせを、モードとして保持するアプリケーションを有する情報処理装置であって、
複数のモードそれぞれに配置されるコントロールを管理する管理手段と、
前記複数のモードのうちの一つのモードに配置される前記コントロールの編集を、ユーザによって指示された際に設定されている第一のモードを取得し、前記管理手段によって管理された前記コントロールに基づいて、前記第一のモードに配置するコントロールが編集可能であるかを判定する判定手段と、
前記判定手段によって、前記第一のモードに配置するコントロールが編集可能でないと判定された場合、
予め設定されたデフォルトである第二のモードのコントロールを編集対象として設定する設定手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記判定手段によって、前記第一のモードに配置するコントロールが編集可能であると判定された場合、
前記設定手段は、前記第一のモードを編集対象として設定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記複数のモードは、タブにより切り替え表示されるタブシートであることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記判定手段によって編集可能であるかどうかを判定する判定対象である前記コントロールは、前記第一のモードでのみ実行可能なコントロールと、複数のモードで実行可能なコントロールであることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記モードを編集するための編集画面は、
編集対象であるモードを変更するための第一の操作領域と、
前記第一の操作領域において指定されている前記編集対象であるモードに対応して、前記編集対象であるモードに配置されるコントロールを一覧表示する第二の操作領域と、を有することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記複数のモードは、前記文書を編集するためのモードと、前記文書の印刷設定を編集するためのモードとのうち少なくともいずれかを含むことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記複数のモードに対して共通に表示されるツールバーに配置されるコントロールを、ユーザの指示に基づいて編集する編集手段を、更に有することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項９】
文書に対して操作を実行する際に利用されるコントロールの組み合わせを、モードとして保持するアプリケーションを有する情報処理装置の制御方法であって、
複数のモードそれぞれに配置されるコントロールを管理する管理ステップと、
前記複数のモードのうちの一つのモードに配置される前記コントロールの編集を、ユーザによって指示された際に設定されている第一のモードを取得し、前記管理ステップによって管理された前記コントロールに基づいて、前記第一のモードに配置するコントロールが編集可能であるかを判定する判定ステップと、
前記判定ステップによって、前記第一のモードに配置するコントロールが編集可能でないと判定された場合、
予め設定されたデフォルトである第二のモードのコントロールを編集対象として設定する設定ステップと、
を有することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、情報処理装置（コンピュータ）上で動作するアプリケーションが提供する機能は、ユーザインタフェース（以下ＵＩ）にコントロール（ボタンやドロップダウンリスト等のＵＩ）として配置されることで実現される。しかし、機能数が増加することにより、多数のコントロールが同一画面上に配置される。これにより、ユーザによって本当に必要な機能を持ったコントロールが分散されて配置されるなど、該当の機能をもったコントロールを探索するのに時間がかかることなどがあった。
【０００３】
そこで、上記のような課題について対応するため、ＵＩ上のコントロールをユーザによってカスタマイズする機能が存在する。これは、アプリケーションがもともと編集コマンド（編集処理）を行うために配置されている編集コントロール（ボタンなど）を、ユーザが配置できるようにするものである。
さらには、コントロールの配置を使用する機能に重要度を関連付けして自動的に配置するようなことも行われている（特許文献１）。
【０００４】
さらに、各機能を提供するコントロールをタブごとにまとめて配置し、選択されたタブに応じて表示対象のコントロールを切り替えるようなアプリケーションが存在する。このようなアプリケーションに対しても、ユーザの指示に基づき、既存のタブに新たなコントロールを追加配置したり、新たなタブ自体を作成してその新たなタブに任意の編集コントロールを配置することができるアプリケーションも存在する。
【０００５】
また、１つのウィンドウ上で複数の編集モードを持ち、編集モードごとに異なる編集画面を切り替え表示するアプリケーションが存在する。
例えば、文書を編集するアプリケーションについて、文書そのものを編集するための第１の編集モードと、印刷設定を変更するための第２の編集モードなどを持つものがある。文書を編集する第１の編集モードでは、編集対象とする文書内の１ページを編集領域の画面に表示して、ユーザの指示に基づき、当該表示された文書の１ページの内容を編集可能とする。また、印刷設定を変更する第２の編集モードでは、文書を印刷する場合のプレビュー画面を表示して、印刷状態を確認可能とするとともに、余白設定や紙の向きなどの印刷設定を変更可能とする。このような複数の編集モードを有するアプリケーションにおいては、各編集モードに適したＵＩに切り替えて表示するものが一般的に存在する。
【０００６】
また、こういった複数の編集モードを持つアプリケーションでは、特定の編集モードでのみ使用可能な編集コマンド（編集コントロール）が存在する。
例えば、印刷設定を変更するための編集コマンドを使用する際は、印刷のプレビュー画面が表示されていないと何を変更したかが見た目としてわかりづらくなる。したがって、プレビュー画面が表示されている場合にのみ、印刷設定を変更するための編集コントロールを表示するのが望ましい。
一方、文書内の所望のページに対して描画を付加するような機能のコントロール（例えば注釈機能などの文書内容を編集するためのコントロール）は、印刷プレビュー画面が表示されているときに、使用できないように制御を行うのが望ましい。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−３１２０３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
一方、このような特定の編集モードでのみ使用可能な編集コマンドおよび、複数の編集モードで使用可能な共通コマンドが存在するアプリケーションにおいて、タブ上のコントロールＵＩをユーザが任意にカスタマイズできるようにした場合、以下のような課題が生じる。
例えば、同一のタブ上に、互いに異なるモードでのみ動作可能なコマンドの複数のコントロールを配置すると、あるモードでアプリケーションが動作している場合には、別のモードでのみ動作可能なコントロールについては実行することができなくなる。このような場合、別のモードでのみ動作可能なコントロールのコマンドを実行するためにユーザがモードの切り替えを能動的に行う必要が発生してしまう。
【０００９】
これに対し、本発明では、タブが選択されると画面の編集モードも同時に切り替える機能をタブに持たせ、かつ、各タブ上には、同一のモードで動作可能なコントロールまたは、複数のモードで実行可能な共通のコントロールのみを配置することが容易にできるようにする。
【００１０】
すなわち、本発明の目的は、複数の編集モードそれぞれに応じた内容を表示する複数のユーザインタフェース（複数のタブ）を有するアプリケーションにおいて、ユーザがコントロールをカスタマイズする際に、どのコマンド（コントロール）がどのモードで動作可能かをユーザが把握するのを容易にし、且つ必要な機能のコントロールを各編集モードに応じたタブに正しく配置することができるようにするための仕組みを提供することである。
【課題を解決するための手段】
【００１１】
上記目的を達成する本発明の情報処理装置は、文書に対して操作を実行する際に利用されるコントロールの組み合わせを、モードとして保持するアプリケーションを有する情報処理装置であって、複数のモードそれぞれに配置されるコントロールを管理する管理手段と、前記複数のモードのうちの一つのモードに配置される前記コントロールの編集を、ユーザーによって指示された際に設定されている第一のモードを取得し、前記管理手段によって管理された前記コントロールに基づいて、前記第一のモードに配置するコントロールが編集可能であるかを判定する判定手段と、前記判定手段によって、前記第一のモードに配置するコントロールが編集可能でないと判定された場合、予め設定されたデフォルトである第二のモードのコントロールを編集対象として設定する設定手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、複数の編集モードそれぞれに応じた内容を表示する複数のユーザインタフェースを有するアプリケーションにおいて、ユーザの所望する機能のコントロールを適切に配置したカスタマイズＵＩを容易に作成できる。
【図面の簡単な説明】
【００１３】
【図１】データ処理システムの構成を示す図である。
【図２】情報処理装置のハードウェア構成を示す図である。
【図３】画像処理装置内のハードウェア構成を説明するブロック図である。
【図４】文書編集アプリケーションの機能構成の一例を示す図である。
【図５】文書編集アプリケーションの表示画面を模式的に示した図である。
【図６】文書編集アプリケーションの表示画面を模式的に示した図である。
【図７】文書編集アプリケーションに表示するダイアログを示す図である。
【図８】文書編集アプリケーションの表示画面を模式的に示した図である。
【図９】表示制御情報として管理される情報の構成を説明する図である。
【図１０】情報処理装置の制御方法を説明するフローチャートである。
【図１１】情報処理装置の制御方法を説明するフローチャートである。
【図１２】表示制御情報として管理あれる情報の構成を説明する図である。
【図１３】文書編集アプリケーションに表示するダイアログを示す図である。
【図１４】ＵＩカスタマイズダイアログの一例を示す図である。
【発明を実施するための形態】
【００１４】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
図１は、本実施形態を示すデータ処理システムの構成を示す図である。本実施形態は、後述する情報処理装置と後述する画像処理装置とがネットワークを介して通信可能なシステムである。
【００１５】
図１において、１００は情報処理装置であって、画像処理装置１０１及び１０２に対して印刷やＦＡＸ送信を指示するユーザの使用するＰＣである。１０１、１０２は画像処理装置であって、プリンタ機能、ＦＡＸ機能、コピー機能、スキャナ機能、ファイル送信機能等を備える。なお、情報処理装置１００には、所定のオペレーティングシステム（ＯＳ）がインストールされ、かつ、不図示である特定の機能処理を実行する各種のアプリケーションもインストールされている。
【００１６】
ここで、特定の機能処理とは、文書処理、表計算処理、プレゼンテーション処理、画像処理、図形処理等が含まれ、各アプリケーションはそれぞれ独自のデータ構造（ファイル構造）を備える。さらに、ＯＳは、各ファイルの識別子を参照して対応するアプリケーションに印刷指示を行える構成となっている。
また、本実施形態を示す情報処理装置１００には、画像処理装置１０１，１０２を利用するため文書編集アプリケーション４００がインストールされている。ここで、文書編集アプリケーション４００は画像処理装置１０１，１０２に対する印刷やＦＡＸ送信等の出力指示を行う機能、画像処理装置１０１，１０２の使用状態や出力ジョブの実行状況を表示する機能を備えている。１０３は上記装置が接続されているＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であって、ＬＡＮ１０３を介して上記装置は情報の相互通信を行っている。
【００１７】
［ハードウェア構成（情報処理装置）］
図２は、図１に示した情報処理装置１００のハードウェア構成を示す図である。
図２において、キーボードやポインティングデバイスなどのユーザ操作入力を受信する入力デバイス２０５が設けられている。さらに、ユーザに視覚的な出力情報フィードバックを与える表示部２０２を備える。
さらに、本実施形態における各種プログラムや実行情報を保管する記憶デバイスＲＡＭ２０３，ＨＤＤ（ハードディスクドライブ）やＦＤＤ（フレキシブルディスクドライブ）などの外部メモリ２０６，ＲＯＭ２０４が設けられる。さらに、外部機器との通信を行うインタフェースデバイスＩ／Ｏ２０７を備え、アプリケーション等のコンピュータプログラムを実行するＣＰＵ２０１を備える。
【００１８】
なお、周辺機器との接続形態は有線／無線を問わない。情報処理装置１００は、この外部機器接続Ｉ／Ｆを介して画像処理装置１０１や１０２と接続する。本実施例に記載されている処理はＲＯＭ２０４に記録されているプログラムをＲＡＭ２０３に読み込み、ＣＰＵ２０１で逐次実行することによって実現される。
【００１９】
［ハードウェア構成（画像処理装置）］
図３は、図１に示した画像処理装置１０１、１０２内のハードウェア構成を説明するブロック図である。
なお、本実施形態は、スキャナ機能と、プリンタ機能と、そしてＦＡＸ機能を有する複合機（ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ））の例を示す。図３において、３０１はＩ／Ｏで、ネットワーク（ＬＡＮ）１０４などの通信媒介を介して情報処理装置１００と接続している。Ｉ／Ｏ３０１は複数の接続形態に対応するために複数個搭載されていてもよい。このＩ／Ｏ  ３０１を通して、画像処理装置１０１（１０２）は、デバイスＩＤやスキャンイメージを情報処理装置１００に渡す。また情報処理装置１００より、各種の制御コマンドを受けて処理を行う。
【００２０】
Ｉ／Ｆ制御部３０２は、画像処理装置１０１（１０２）に搭載されているスキャナ（不図示）やプリンタ（不図示）やまたはＦＡＸ（不図示）などの処理系に関してデバイスＩＤを発行する制御をおこなっている。ＲＡＭ３０３は、一次記憶装置で、Ｉ／Ｏ３０１で取得した制御コマンドなどの外部データや、スキャナエンジン３１３で読み取られたイメージを格納するに使用される。さらに、ＲＡＭ３０３は、プリンタコントローラ３１０で展開されたプリンタエンジン３０６に渡される前にイメージの格納などに使用される。
【００２１】
ＲＡＭ３０３の割り当て管理はＲＡＭ制御部３０４が行っている。画像データ調歩回路３０５は、プリンタコントローラ３１０やスキャナエンジン３１３によって取り込まれたＲＡＭ制御部３０４に展開されたイメージをプリンタエンジン３０６の回転にあわせて出力する装置である。プリンタエンジン３０６は紙などの出力メディアにイメージを現像する装置である。
【００２２】
メインコントローラ３０８は、エンジンＩ／Ｆ３０７によりプリンタエンジン３０６の各種制御を行う。また、メインコントローラ３０８は、制御の要のモジュールであり、スキャナコントローラ３０９やプリンタコントローラ３１０やＦＡＸコントローラ３１１にＩ／Ｏ３０１経由で情報処理装置１００より受け取る制御言語の適切な振り分け処理を行う。さらに、メインコントローラ３０８は、それぞれのコントローラやＵＩ３１２からの支持をうけてプリンタエンジン３０６やスキャナエンジン３１３の制御を行う。
【００２３】
メインコントローラ３０８と各種コントローラの間の制御インタフェースを統一することにより、一つの周辺機器に複数種類の制御コマンドを処理可能な拡張ボードが搭載可能になる。また現在搭載されている拡張コントローラのデバイスＩＤを各コントローラより取得し管理するのもメインコントローラの役割である。スキャンコントローラ３０９は情報処理装置１００より受けたスキャン制御コマンドをメインコントローラ３０８が解釈可能な内部実行命令に分解する。
【００２４】
またスキャナエンジン３１３で読み取ったイメージをスキャン制御コマンドに変更する。プリンタコントローラ３１０は情報処理装置１００より受けたページ記述言語をメインコントローラ３０８が解釈可能なページ記述言語の展開イメージなどを含む内部実行命令に分解する。展開イメージはプリンタエンジンまで運ばれ、用紙などの出力メディアに印刷される。ＦＡＸコントローラ３１１は、情報処理装置１００より受けたＦＡＸ制御言語をイメージに展開し不図示の公衆回線、又はインターネットを介して他のＦＡＸ装置やＩＰ−ＦＡＸへ転送する。
【００２５】
ＵＩは、メインコントローラ３０８の各種設定や、スキャナ機能やプリンタ機能や、そしてＦＡＸ機能を直接画像処理装置１０１、１０２で実行する際に、ユーザによる指示の入出力手段として使用される。スキャナエンジン３１３はメインコントローラ３０８の指示により光学装置を用いて印刷されたイメージを読み取り、電気信号に変換してメインコントローラ３０８に受け渡す。
【００２６】
［ソフトウェア構成図］
図４は、図１に示した情報処理装置１００が文書編集アプリケーション４００を実行することにより実現される、情報処理装置の機能構成の一例を示す図である。なお、文書編集アプリケーション４００は、外部メモリ２０６に記憶されており、実行時にＲＡＭ２０３及びＲＯＭ２０４に展開され、ＣＰＵ２０１により実行されるアプリケーションプログラムである。
図４において、文書編集アプリケーション４００は、文書内の各ページを編集するためのアノテーション機能を提供する編集モードと、文書に対して印刷設定を行うための編集モードなど、の複数の編集モードを備えるものとする。文書編集アプリケーション４００は、情報処理装置１００のＣＰＵ２０１を、出力管理部４０１、文書編集部４０２、入力管理部４０３、画面表示管理部４０４、コマンド管理部４０５として機能させるためのコンピュータプログラムである。出力管理部４０１は、文書編集部４０２で編集し保存した文書を、画像処理装置１０１（１０２）に対して出力処理を行う。具体的には、プリンタコントローラ３１０を介して用紙へ印刷、ファクスコントローラー３１１を介してＦＡＸ送信といったものが出力処理である。
【００２７】
文書編集部４０２は、文書に対して編集や保存処理などを行う。本実施例での編集とは、文書内の各ページに対する編集であるアノテーション機能と、文書に対する印刷設定が含まれるものとするが、本発明はこれに限るものではない。入力管理部４０３は、画面表示管理部４０４により表示された文書編集アプリケーション４００のＵＩを介して、ユーザによる入力デバイス２０５の操作を検知し、ユーザの操作情報を取得する。
【００２８】
画面表示管理部４０４は、文書編集アプリケーション４００のＵＩの一例として示す図５のようなＵＩの表示等の画面表示制御を行う。コマンド管理部４０５は、文書編集アプリケーション４００がもつコマンドの管理を行う。コマンドの情報は後述する図９のコントロール情報９２０としてコマンド管理部４０５により管理されている。具体的には、コマンド管理部４０５がＲＡＭ２０３にコントロール情報９２０を格納して管理する。
【００２９】
［文書編集アプリケーション表示画面］
図５は、図４に示した文書編集アプリケーション４００の表示画面を模式的に示した図である。
図５において、５００は表示部２０２に表示される表示画面のＵＩを表している。５０１はタブ一覧であり、複数のタブ（５０３，６００）が表示される。図５の例では、現在選択中のアノテーション編集タブ５０３と、図６の画面に切り替えるための印刷タブ６００とが表示されている。また、選択中のタブ５０３に対応するタブシートに配置されている編集コントロール（５０４，５１０）が表示される。
【００３０】
５０２は作業領域であり、編集モードに応じた文書内容を表示する文書表示領域５０５および、設定のためのコントロールを表示する設定表示領域５０６で構成される。タブ一覧５０１に存在する各タブは、それぞれの編集モードを対応づけて保持しており、任意のタブが選択されると当該選択されたタブが保持する編集モードで使用される作業領域を表示するように画面を更新する。すなわち、タブが選択されると、作業領域５０２の表示画面は、タブそれぞれに関連付けられた編集モードに適した作業領域の表示形式に変更される。
【００３１】
なお、切り替え前のタブが保持する編集モードと、切り替え後のタブが保持する編集モードが同一の場合はこの限りではない。また、共通的なコマンド（たとえば、保存など）をもつコントロールの配置を目的とした編集モードを持たないタブを配置することで、必要な作業領域を表示の更新を行わないようにすることも可能である。本画面の構成例においては、アノテーション編集タブ５０３は、アノテーション編集モードを保持しており、印刷タブ６００は印刷設定編集モードを保持しているものとする。
【００３２】
５０３はアノテーション編集タブであり、アノテーション編集コマンドに関する編集コントロール一覧を配置している。アノテーションとは、文書のページに対して追加的に付加する描画オブジェクトである。図の例では、テキストボックス挿入コントロール５０４、スタンプ挿入コントロール５１０が編集コントロールとして配置されている。テキストボックスおよびスタンプの挿入コマンドは、アノテーション編集モードと予め関連付けられており、アノテーション編集モードにおいてのみ使用可能なコマンドである。
【００３３】
５０４はテキストボックス挿入コントロールである。ユーザがテキストボックス挿入コントロール５０４を選択すると、テキストボックス挿入コマンドが実行され、編集対象文書内の表示されているページに対してテキストボックスを挿入する。また、ユーザがスタンプ挿入コントロール５１０を選択すると、スタンプ挿入コマンドが実行され、当該表示されているページに対してスタンプが挿入される。
【００３４】
５０５はアノテーション編集モードの文書表示領域であり、文書のページごとに表示する。テキストボックス挿入コマンド実行時には、アノテーション編集モードで表示されている文書内容にテキストボックスが挿入され、当該テキストボックスが挿入されたページの状態が表示される。また、挿入したテキストボックスについては、ユーザの指示に基づき、選択や移動を行うことが可能である。
【００３５】
５０６はアノテーション編集モードの設定表示領域であり、アノテーション編集モードの文書表示領域５０５で挿入されたアノテーション（テキストボックスやスタンプ等）がユーザに選択されたとき、当該選択されたアノテーションの属性情報などを表示する。例えば、テキストボックスのアノテーションを選択した場合、当該選択されたテキストボックスのフォント情報などが表示され、設定表示領域５０６からフォント情報を変更することも可能である。
【００３６】
５０７はツールバー領域で、文書編集アプリケーション４００において、タブの選択状態や編集モードによらずに、表示される領域である。ツールバー領域に配置されるコントロールは、常に表示されるため、実行可能な状態であれば常に実行可能となる。本画面の例においては文書を開く（Ｏ）コマンド５０８および文書を保存する（Ｓ）コマンド５０９の機能をもつコントロールが配置されている。
【００３７】
図６は、図４に示した文書編集アプリケーション４００の表示画面を模式的に示した図であり、図５に示したＵＩ画面において、タブ一覧５０１の中の印刷タブ６００がユーザにより選択された際の表示状態を示す。
【００３８】
図６において、６００は印刷タブであり、選択中のタブ６００に対応するタブシートに配置されている編集コントロール（印刷設定コマンドに関するコントロール６０１，６０３）を表示している。図６の例では、用紙サイズ設定コントロール６０１、用紙の向き設定コントロール６０３が配置された状態を示す。用紙サイズおよび向き設定コマンドは、印刷設定編集モードと予め関連付けられており、印刷設定編集モードにおいてのみ使用可能なコマンドである。
６０１は用紙サイズ設定コントロールである。用紙サイズ設定コントロール６０１がユーザにより選択されると、用紙サイズ設定コマンドが実行され、ユーザの指示に基づき、文書を印刷する際の用紙サイズを変更することができる。
【００３９】
６０２は印刷設定編集モードの文書表示領域であり、印刷結果のプレビューを表示する。用紙サイズ設定コマンド実行時には、用紙サイズを変更した場合の印刷結果のプレビューが表示される。
また、用紙の向き設定コントロール６０３がユーザにより選択されると、用紙の向き設定コマンドが実行され、ユーザの指示に基づき、用紙の向きを縦向き／横向きのいずれかに変更することができる。
【００４０】
［ＵＩカスタム設定ダイアログ］
図７は、図４に示した文書編集アプリケーション４００のＵＩをカスタマイズ（編集）するためのダイアログの表示の一例を示す図である。このカスタマイズダイアログを介して、ユーザからタブのカスタマイズ指示（タブシートに表示されるべきコントロールの編集指示）を受け付ける。
図７において、７００はＵＩカスタム設定ダイアログであり、タブ一覧５０１から選択された任意のタブに対して、任意の編集コマンドを追加したり削除したりすることができる。編集コマンドを追加すると、タブには編集コマンドに対応する編集コントロール（ボタンやリストなど）が表示されるようになる。
【００４１】
７０１は追加可能なコマンド一覧であり、文書編集アプリケーション４００の持つ編集コマンドの一覧を示す。７０８は選択されている現在のモードを示しており、選択されているモードに属する編集コマンドおよび、複数のモードで共通に使用可能なコマンドがコマンド一覧７０１には表示される。
図７の（ａ）では、選択中のモード７０８としてアノテーションモードが選択されており、このとき、アノテーション編集モード専用の「テキストボックス挿入」コマンドと「スタンプ挿入」コマンド、および、共通コマンドである「保存」と「開く」のコマンドが、コマンド一覧７０１に表示されている。
図７の（ｂ）では、選択中のモード７０８として印刷設定編集モードが選択されており、印刷設定編集モード専用の、「用紙サイズ」の設定コマンドと「用紙の向き」の設定コマンド、および、共通のコマンドである「保存」と「開く」のコマンドが、コマンド一覧が表示されている。なお、選択中のモード７０８がユーザの指示により変更されると、当該変更後のモードに対応するコマンド一覧に表示変更される。
【００４２】
７０２は、追加先のタブ一覧であり、タブ表示領域５０１に表示されているタブの一覧を示す。また、新たなタブを追加することもでき、当該追加された新規タブも表示される。また文書編集アプリケーション４００の機能によっては、特定の状態のみ表示されるタブもあり、その場合は追加先のタブ一覧７０２には、タブ表示領域５０１に表示されるタブ以外を表示するようにしてもよい。追加先のタブ一覧７０２は、ツリー構成で表示される。ツリーの表示状態はユーザの操作によって開閉することができる。
【００４３】
図７に示す例では、新規（アノテーション）タブのツリーが開かれた状態となっており、新規（アノテーション）タブには「スタンプ挿入」コマンドが配置されていることを示す。タブ一覧７０２に表示されているタブのいずれかが追加先として選択されると、当該選択されたタブに関連付けられているモードに合わせて、上述した選択されているモード７０８を変更するようにしてもよい。
【００４４】
７０３はコマンド追加ボタンである。ユーザは追加可能なコマンド一覧７０１から任意のコマンドを選択し、追加先のタブ一覧７０２から任意のタブを追加先として選択する。この状態でコマンド追加ボタン７０３がユーザにより押下されると、選択したコマンドを選択したタブに追加することができる。
【００４５】
７０４はコマンド削除ボタンである。ユーザの操作により、追加先のタブ一覧７０２から任意のコマンドが選択されて、コマンド削除ボタン７０４が押下されると、追加先のタブ一覧７０２で選択されているコマンドが属するタブから削除される。
【００４６】
７０５はタブの追加ボタンである。タブの追加ボタン７０５がユーザにより押下されると、追加先のタブ一覧７０２に新しくタブが追加される。この時、追加されるタブに関連付けられるモードは、選択されている現在のモード７０８とする。新たなタブが追加されると、文書編集アプリケーション４００では、タブ一覧５０１に新しく追加されたタブも表示されるようになる。７０６はＯＫボタンであり、ＵＩカスタム設定ダイアログ７００で設定したコマンドの追加や削除、タブの追加などを適用する。
７０７はキャンセルボタンであり、ＵＩカスタム設定ダイアログ７００で設定したコマンドの追加や削除、タブの追加などを適用せず、ダイアログを開く前の状態にする。
【００４７】
７１０は、タブの追加ボタン７０５のドロップダウン部分７０９が選択された場合に表示されるコントロールであり、選択されている現在のモード７０８とは無関係に、新規で追加するタブに関連づけるモードをユーザが指定するためのものである。７１０の例では、アノテーション編集モードに関連するタブおよび印刷設定編集モードに関連するタブのいずれかを選択して新たに追加することが可能となっている。
【００４８】
図８は、図４に示した文書編集アプリケーション４００の表示画面を模式的に示した図である。
図８において、８００は、新規（アノテーション）タブが追加された状態のＵＩの構成例である。８０１は、アノテーション編集モードが関連付けられたタブである。８０１が選択されると、アノテーション編集タブ５０３が選択された時と同様に、作業領域５０２がアノテーション編集モードの表示画面に更新される。８０２には、図７の７０２で設定された「スタンプ挿入コマンド」のコントロールが配置されている。
【００４９】
図９は、本実施形態を示す情報処理装置における表示制御情報として管理される情報の構成を説明する図である。本例は、ＵＩのカスタマイズおよび、カスタマイズしたＵＩを表示することに関連するデータの内容の一例を示している。
図９において、９００は、文書編集アプリケーション４００の持つアプリケーション全体の設定値である。９０１は、現在のモードであり、文書編集アプリケーション４００が動作中に、いずれのモードで動作しているかが格納されている。９０２はタブリストで、図５及び図６で示したようなＵＩ上に表示されているタブの情報がリスト化されて格納されている。本情報を参照し、画面表示管理部４０４は、タブおよびタブ上のコントロールの配置を行う。
【００５０】
タブリスト９０２は、１または複数のタブ情報９１０からなる。９１１はタブを識別する一意のタブＩＤである。９１２は、モードＩＤであり、後述するモード情報９３０のモードＩＤ９３１と対応する。９１３はコントロールＩＤリストであり、当該タブ上に配置されているコントロール情報９２０のコントロールＩＤ９２１がリスト化されて格納されている。９１４は、タブの名称である。
【００５１】
９０３はモードリストであり、文書編集アプリケーション４００のもつ、モードの情報がリスト化されて格納されている。モードリスト９０３は１または複数のモード情報９３０からなる。モードＩＤは、モードを識別する一意のＩＤである。名称９３２はモードの名称である。
９３３は作業領域情報であり、モードが動作をする上で必要な作業領域５０２のＵＩを構築するために必要な情報が格納されている。本情報をもとに、画面表示管理部４０４はタブ切り替えなどにおいてモードが変更された時には、作業領域５０２の表示内容を更新する。
【００５２】
９２０は編集コマンドをタブ上にコントロールとして配置するためのコントロール情報であり、文書編集アプリケーション４００に存在するコマンドの数だけ存在する。９２１は、コントロールＩＤであり、コントロールを識別するための一意のＩＤでる。９２２は、種類であり、コントロールの種類（たとえばボタン）の情報が格納されている。
【００５３】
９２３には、コントロールの動作可能なモードＩＤが格納されている。なお、いずれのモードでも使用可能な共通なコマンドの場合には、「ＡＬＬ」といったような特別なモードを格納してもよいし、すべてのモードを保持するようにしてもよい。９２４は、コントロールに関連づいたコマンド（たとえば、アノテーションの追加など）への参照情報が格納されている。９２５には、コントロールがカスタマイズにより、任意のタブやツールバー領域に配置できるか否かの情報が格納されている。
【００５４】
［カスタマイズダイアログ表示時の処理フロー］
図１０は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、カスタマイズダイアログ表示時の処理例に対応する。なお、各ステップは、図２に示した情報処理装置のＣＰＵ２０１が外部メモリ２０６に記憶される制御プログラム（図４に示すモジュール）を実行することで実現される。以下、図４に示すモジュールを主体として処理の内容を説明する。
本処理は、ユーザにより、カスタマイズダイアログ７００を表示するための不図示のコントロールが押下され、入力管理部４０３が通知を受けることにより本処理フローが開始される。すなわち、タブに配置されるコントロールのカスタマイズ（ユーザインタフェースのカスタマイズ）がユーザにより指示されると、入力管理部４０３は、画面表示管理部４０４に通知し、図７に示したカスタマイズダイアログ７００の生成および、表示を依頼する。
【００５５】
Ｓ１００１では、カスタマイズダイアログ７００の生成の依頼を受けた、画面表示管理部４０４は、現在選択されているモード９０１を参照し、現在のモードを取得する。続いて、Ｓ１００２では、画面表示管理部４０４はコマンド管理部４０５に依頼し、コントロール情報９２０のモードＩＤ９２３を参照し、現在のモードと比較し、同一のモードを持つコントロール情報９２０を取得する。
続けて、Ｓ１００３では、画面表示管理部４０４はモード専用コマンドが１つ以上存在したかを１つ以上コントロール情報が存在したか否かで判定する。モード専用コマンドがあると画面表示管理部４０４が判定した時にはＳ１００４へ進み、画面表示管理部４０４が取得したコントロール情報９２０のカスタマイズ可否９２５を参照し、現在のモードでカスタマイズ可能コマンドを取得する。
【００５６】
Ｓ１００５では、画面表示管理部４０４は現在のモード専用でカスタマイズ可能なコマンドが１つ以上存在するか否かを、例えば１つ以上コントロール情報が存在したか否かで判定する。ここで、モード専用でカスタマイズ可能なコマンドが１つ以上あると画面表示管理部４０４が判定した時にはＳ１００６へ進み、モード専用でカスタマイズ可能なコマンドが存在しないと画面表示管理部４０４が判定した時には、Ｓ１００７へ進む。
なお、ここでは、モード専用のカスタマイズ可能なコマンドが存在するかをコントロールごとに判定したが、モードごとにカスタマイズ可能か否かを決定するような動作としてもよい。この場合、モード情報に、カスタマイズ可否の情報が存在することとなる。
Ｓ１００６では、画面表示管理部４０４はＳ１００１で取得したモードを、カスタマイズダイアログ７００の現在のモード７０８に設定する。なお、このとき、カスタマイズダイアログ７００の「追加先のタブ一覧」７０２に表示される複数のタブのうち、カスタマイズダイアログ７００を表示するためのコントロールがユーザにより押下されたときに選択されていたタブを選択状態にしてもよい。
【００５７】
次に、Ｓ１０１０では、画面表示管理部４０４はコマンド管理部４０５に依頼し、複数のモードで使用可能なコマンド、すなわち、選択された編集モード以外でも使用可能な共通コマンドの取得を行う。Ｓ１０１１では、画面表示管理部４０４はＳ１０１０で取得したコントロール情報９２０のカスタマイズ可否９２５を参照し、カスタマイズ可能な共通コマンドを取得する。Ｓ１０１２では、画面表示管理部４０４は、Ｓ１００４およびＳ１０１１で取得したカスタマイズ可能なコマンドをコマンド一覧７０１に表示し、７０８に、Ｓ１００６で設定されたモードを選択した状態でカスタマイズダイアログの表示を行い、処理を終了する。
このように構成することにより、ユーザがカスタマイズを指示したときに選択されているモードで使用可能なコマンドがコマンド一覧７０１に表示された状態で、カスタマイズダイアログが表示されるので、あるモードが関連づけられたタブシートに対して、異なるモードでのみ使用可能なコントロールをユーザが誤って設定する可能性が低くなる。
【００５８】
一方、Ｓ１００７では、画面表示管理部４０４はデフォルトのモードをカスタマイズダイアログ７００に設定する。
【００５９】
ここでいうデフォルトのモードは文書編集アプリケーションが一意に保持してもよいし、カスタマイズダイアログ７００が一意に保持してもよい。Ｓ１００８では、画面表示管理部４０４はコマンド管理部４０５に依頼し、コントロール情報９２０のモードＩＤ９２３を参照し、デフォルトモードと比較し、同一のモードを持つコントロール情報を取得する。Ｓ１００９では、画面表示管理部４０４はＳ１００８で取得したコントロール情報９２０のカスタマイズ可否９２５を参照し、デフォルトのモードでカスタマイズ可能コマンドを取得する。そして、上述したようにＳ１０１０およびＳ１０１１でカスタマイズ可能な共通コマンドを取得し、Ｓ１０１２では、Ｓ１００９およびＳ１０１１で取得したカスタマイズ可能なコマンドをコマンド一覧７０１に表示し、７０８に、Ｓ１００７で設定されたデフォルトモードを選択した状態でカスタマイズダイアログの表示を行い、処理を終了する。
【００６０】
［新規タブ追加時の処理フロー］
図１１は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、新規タブ追加時の処理例に対応する。なお、各ステップは、図２に示した情報処理装置のＣＰＵ２０１が外部メモリ２０６に記憶される制御プログラム（図４に示すモジュール）を実行することで実現される。以下、図４に示すモジュールを主体として処理の内容を説明する。本処理フローは、図７に示したタブの追加ボタン７０５または、コントロール７１０のいずれかが押下されることにより開始される。
Ｓ１１０１では、画面表示管理部４０４は追加するタブのモードが指定されているか否かを判定する。すなわち、コントロール７１０によりモード指定されて、タブの追加が実行されたと画面表示管理部４０４が判断した場合には、Ｓ１１０３に進み、追加ボタン７０５によりモード指定なしでタブの追加が実行された場合には、Ｓ１１０２に進む。
Ｓ１１０２では、画面表示管理部４０４はカスタマイズダイアログ７００に設定されている現在のモードを取得する。Ｓ１１０３では、画面表示管理部４０４はコントロール７１０で指定されたモードの名称を、名称９３２を参照し取得する。Ｓ１１０４では、画面表示管理部４０４はＳ１１０２で取得した現在のモードの名称を、名称９３２を参照し、取得する。
【００６１】
Ｓ１１０５では、画面表示管理部４０４は新規タブの名称を生成する。その際、画面表示管理部４０４はＳ１１０３または、Ｓ１１０４で取得したモード名をもとに名称を生成する。例えば、新規（アノテーション）や新規（印刷設定）などとすればよい。また、このときユーザがタブ名を指定させるようにしてもよい。Ｓ１１０６では、Ｓ１１０５で生成したタブ名、および、Ｓ１１０２またはＳ１１０３で取得したモードと関連づけたタブを追加して処理を終了する。
本実施形態によれば、特定の編集モードでのみ使用可能な編集コマンドおよび、複数のモードで使用可能な共通コマンドが存在するアプリケーションにおいて、タブに関連するモードで使用可能なコマンドおよび共通コマンドのみを一覧表示するので、各タブに適したコマンドのコントロールをユーザが容易に設定することができる。
【００６２】
〔第２実施形態〕
次に、第２実施形態を記述する。第１実施形態との差異は、追加するコマンドの追加先がモードに依存しない領域（ツールバー）にコントロールを配置することである。
【００６３】
情報処理装置１００の表示部２０２に表示されるツールバーは、タブの状態、現在のモードによらず、常に表示されている。そのため現在のモードとは異なる、コマンドを持つコントロールが配置されることがある。よって、モードが不一致の状態では対象のコントロール（コマンド）を実行できないという問題が発生する。
【００６４】
そこで、第２実施形態では、上記課題を解消するための最良の形態について図面を用いて説明する。また、基本的な実施形態については、第１実施形態に基づき、第１実施形態と同様の内容の部分は説明を割愛する。
【００６５】
図１２は、本実施形態を示す情報処理装置における表示制御情報として管理される情報の構成を説明する図である。以下、本実施形態において、ＵＩを表示することに関連するデータの内容の一例を説明する。
図１２において、１２００はツールバー情報を示している。本情報をもとに画面表示管理部４０４は、ツールバー上のコントロールの配置を行う。１２０１には、モードの切り替え方法が格納されている。モードの切り替え方法には、コントロールの操作時に、現在のモード９０１およびそれに必要な作業領域５０２を自動的に切り替えるかどうかという情報が入っている。１２０２は、ツールバー上に配置されているコントロールＩＤリストである。１または複数のツールバー上に配置されているコントロール情報９２０からなる。
【００６６】
１２１０は、文書編集アプリケーション４００で実行されたコマンドの使用履歴である。コントロール情報９２０のコマンド９２４が実行されることで、コントロールＩＤリスト１２１１にコントロールＩＤ９２１が格納される。
【００６７】
１２１１はグループ情報で、コントロール（コマンド）が属するグループが保持されている。ここでいうグループとは、任意に決められたカテゴリーである。例えば、特定の使用方法を想定し、同一で使うことが好ましいようなコマンドを同一のグループとすることが考えられる。より、具体的には、文書の校閲を、印刷の成果物作成や、ＦＡＸを送信する等をグループとすることなどが考えられる。
【００６８】
図１３は、図４に示した文書編集アプリケーション４００のＵＩのカスタム設定するダイアログの表示の一例を示す図である。本ＵＩ画面は、追加するコントロール一覧の編集画面に対応する。
図１３において、１３００はツールバー設定ダイアログでありツールバー設定ダイアログ１３００は、ツールバー５０７に対して、任意の編集コマンドを追加する。編集コマンドを追加すると、コントロールの配置先となるツールバーには編集コマンドに対応する編集コントロールが表示されるようになる。
【００６９】
１３０１は、追加するコマンド一覧であり、文書編集アプリケーション４００の持つ編集コマンドの一覧を示す。なお、コマンドをもつコントロールの一覧の情報はＵＩカスタマイズダイアログ９００と同様で、コントロール情報９２０から表示するモード専用のカスタマイズコマンドおよび共通コマンドを表示する。１３０８は、選択されているモードを示しており、選択されているモードに属する編集コマンドおよび、共通で使用可能なコマンドが１３０１には表示される。１３０２は、ツールバー５０７に表示されているコントロールの一覧を示し、コントロールＩＤリスト１２０２をもとに構築される。
１３０３は、コマンド追加ボタンである。ユーザは追加するコマンド一覧１３０１から任意のコマンドを選択する。この状態でコマンド追加ボタン１３０３を押下すると、選択したコマンドを追加することができる。
【００７０】
１３０４は、コマンド削除ボタンである。ユーザはツールバー一覧１３０２から任意のコマンドを選択する。この状態でコマンド削除ボタン１３０４を押下すると、ツールバー一覧１３０２で選択されているコマンドが削除される。
【００７１】
１３０５は、ツールバーに登録されているコマンドが実行された時に、現在のモード９０１および作業領域５０２を自動的に切り替えるか否かを設定するためのコントロールである。ツールバーに登録後、コントロールの表示およびが押下時の動作は、コントロール１３０５により設定される、モード切替方法１２０１により決定される。モード切替方法に、自動的に切り替えを行わない設定がされていた場合には、登録されたコントロールが保持するモードが現在のモード９０１と異なる場合には、コントロールが非活性の状態になるように制御を行う。
【００７２】
モード切替方法に、自動的に切り替えを行う設定がされていた場合には、コントロールが活性の状態になるように制御を行う。そして、コントロールが押下された場合には、画面表示管理部４０４はコントロールの持つモードに現在のモード９０１を変更し、作業領域５０２を更新し、該当のコマンドを実行する。なお、登録されたコントロールが保持するモードが現在のモード９０１と異なる場合に、押下された場合には、現在のモードおよび作業領域５０２の変更のみを行うようにしてもよい。
【００７３】
１３０６はＯＫボタンであり、ツールバー設定ダイアログ１３００で設定したコマンドの追加や削除などを適用する。
１３０７は、キャンセルボタンであり、ツールバー設定ダイアログ１３００で設定したコマンドの追加や削除を適用せず、ダイアログを開く前の状態にする。
本実施形態によれば、ユーザの所望する機能を組み合わせたツールバーを備えるＵＩを作成できる。
【００７４】
〔第３実施形態〕
以下、第３実施形態について詳述する。本実施形態と第１、第２実施形態との差異は、ＵＩカスタマイズダイアログ１４００の現在のモード７０８がモード以外のフィルタリング方法を保持しておりフィルタリングが可能であること、およびコマンド一覧７０１に追加するコマンドの一覧の表示方法および表示内容である。
【００７５】
文書編集アプリケーション４００が多数のコマンドを保持すると、コマンド一覧７０１には、多数のコマンドが表示されることになる。そのため、ユーザは、タブに追加するコマンドを探索することが困難となることがある。
【００７６】
ツールバーは、タブの状態、現在のモードによらず、常に表示されている。そのため現在のモードとは異なる、コマンドをもつコントロールが配置されることがある。よって、モードが不一致の状態では対象のコントロール（コマンド）を実行できないという問題が発生する。
【００７７】
第３実施形態では、上記課題を解消するための最良の形態について図面を用いて説明する。また、基本的な実施形態については、第１、２実施形態に基づき、第１、２実施形態と同様の内容の部分は説明を割愛する。
【００７８】
図１４は、図２に示した表示部２０２に表示されるＵＩ画面の一例を示す図である。本ＵＩ画面は、ＵＩカスタマイズダイアログ１４００である。また、本ＵＩ画面は、図１０のＳ１０１２に、以下で説明するコントロールへの処理を追加することで表示方法の変更を実現している。
【００７９】
図１４において、１４０１は、追加するコマンド一覧７０１のコマンドを使用した履歴順で表示するか否かを設定するためのコントロールである。履歴順に表示する場合には、使用した順にコントロールＩＤが保持されている、使用履歴はコントロールＩＤリスト１２１１を参照し、コマンド一覧７０１に表示されるカスタマイズ可能なコマンドの表示順序の並び替えを行う。
【００８０】
１４０２は、追加するコマンド一覧７０１のフィルタリングを設定するためのコントロールである。本図では、作業目的（ユースケース）をもとにフィルタリングが可能となっている。作業目的の候補は、コントロール情報９２０のグループ属性を示すグループ１２１１を参照し取得する。アノテーションモードの、ユースケースである文書校閲、ＦＡＸが選択可能となっており、文書校閲が選択された状態になっている。この状態では、コマンド一覧７０１には、文書校閲を１２２１のグループに保持するコマンドのみが表示されることとなる。
【００８１】
さらには、ＵＩカスタマイズダイアログ１４００の表示時に、使用履歴１２１０を参照し、最後に使用したコマンドがコマンド一覧７０１に存在する場合には、該当のコマンドをもつコントロールを選択状態にしてもよい。このように、ＵＩカスタマイズダイアログ１４００の表示内容を制御することで、ユーザの所望するコマンドを探索するのが容易となる。
本実施形態によれば、特定の編集モードでのみ使用可能な編集コマンドおよび、複数のモードで使用可能な共通コマンドが存在するアプリケーションに対してユーザの所望する機能を所定のフィルタに合わせて組み合わせたＵＩを作成できる。
【００８２】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【００８３】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００８４】
１００  情報処理装置
１０１，１０２  画像処理装置
【図１】
0006525532.tif 000002
【図２】
0006525532.tif 000003
【図３】
0006525532.tif 000004
【図４】
0006525532.tif 000005
【図５】
0006525532.tif 000006
【図６】
0006525532.tif 000007
【図７】
0006525532.tif 000008
【図８】
0006525532.tif 000009
【図９】
0006525532.tif 000010
【図１０】
0006525532.tif 000011
【図１１】
0006525532.tif 000012
【図１２】
0006525532.tif 000013
【図１３】
0006525532.tif 000014
【図１４】
0006525532.tif 000015