(57)【特許請求の範囲】
【請求項１】
複数のソフトウェア部品の組み合わせによってアプリケーションが構築される画像形成装置であって、
前記ソフトウェア部品単位で各ソフトウェア部品の設定項目の構成を示す設定項目情報を管理する第一の管理手段と、
前記ソフトウェア部品とは別の単位で分類されるカテゴリごとに前記設定項目の対応付け情報を管理する第二の管理手段と、
前記対応付け情報に基づいて、前記設定項目に対応する表示部品を含む画面を前記カテゴリ別に表示装置に表示させる表示手段とを有することを特徴とする画像形成装置。
【請求項２】
前記カテゴリと前記設定項目との対応関係を編集させる編集画面を前記表示装置に表示させ、前記編集画面に対する入力に応じて前記対応付け情報を変更するカスタマイズ手段を有することを特徴とする請求項１記載の画像形成装置。
【請求項３】
新たにインストールされたソフトウェア部品に対する設定項目を前記対応付け情報において所定のカテゴリに対応付ける登録手段を有することを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
アンインストールされたソフトウェア部品に対する設定項目と前記カテゴリとの対応関係を前記対応付け情報より削除する削除手段を有することを特徴とする請求項１乃至３いずれか一項記載の画像形成装置。
【請求項５】
複数のソフトウェア部品の組み合わせによってアプリケーションが構築される画像形成装置が実行する画面構築方法であって、
前記ソフトウェア部品単位で各ソフトウェア部品の設定項目の構成を示す設定項目情報を第一の管理手段に登録する第一の登録手順と、
前記ソフトウェア部品とは別の単位で分類されるカテゴリごとに前記設定項目の対応付け情報を第二の管理手段に登録する第二の登録手順と、
前記対応付け情報に基づいて、前記設定項目に対応する表示部品を含む画面を前記カテゴリ別に表示装置に表示させる表示手順とを有することを特徴とする画面構築方法。
【請求項６】
前記カテゴリと前記設定項目との対応関係を編集させる編集画面を前記表示装置に表示させ、前記編集画面に対する入力に応じて前記対応付け情報を変更するカスタマイズ手手順を有することを特徴とする請求項５記載の画面構築方法。
【請求項７】
新たにインストールされたソフトウェア部品に対する設定項目を前記対応付け情報において所定のカテゴリに対応付ける対応付け手順を有することを特徴とする請求項５又は６記載の画面構築方法。
【請求項８】
アンインストールされたソフトウェア部品に対する設定項目と前記カテゴリとの対応関係を前記対応付け情報より削除する削除手順を有することを特徴とする請求項５乃至７いずれか一項記載の画面構築方法。
【請求項９】
複数のソフトウェア部品の組み合わせによってアプリケーションが構築される画像形成装置に、
前記ソフトウェア部品単位で各ソフトウェア部品の設定項目の構成を示す設定項目情報を第一の管理手段に登録する第一の登録手順と、
前記ソフトウェア部品とは別の単位で分類されるカテゴリごとに前記設定項目の対応付け情報を第二の管理手段に登録する第二の登録手順と、
前記対応付け情報に基づいて、前記設定項目に対応する表示部品を含む画面を前記カテゴリ別に表示装置に表示させる表示手順とを実行させるためのプログラム。
【請求項１０】
前記カテゴリと前記設定項目との対応関係を編集させる編集画面を前記表示装置に表示させ、前記編集画面に対する入力に応じて前記対応付け情報を変更するカスタマイズ手手順を有することを特徴とする請求項９記載のプログラム。
【請求項１１】
新たにインストールされたソフトウェア部品に対する設定項目を前記対応付け情報において所定のカテゴリに対応付ける対応付け手順を有することを特徴とする請求項９又は１０記載のプログラム。
【請求項１２】
アンインストールされたソフトウェア部品に対する設定項目と前記カテゴリとの対応関係を前記対応付け情報より削除する削除手順を有することを特徴とする請求項９乃至１１いずれか一項記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画面構築方法、及びプログラムに関し、画面のカスタマイズの可能な画像形成装置、画面構築方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、コピー、スキャナ、ＦＡＸ、プリンタ等の画像形成装置は、利用方法の多様化に対応するため、多機能化が進んでいる。多機能化に伴い、操作パネルから設定される動作モードの数も多くなり、所望のアウトプットを得るための設定操作が煩雑化する傾向にある。しかし、利用者によっては、必ずしも全ての機能を使用せず、特定の一部の機能のみを使用する者も多い。それにも拘わらず、多数の機能を搭載するために、開発・部品・製造などのコストが嵩んで画像形成装置が高価になってしまうと、利用者とって不利益となる。一部の機能しか利用しない利用者にとっては、当該一部の機能に関する動作モードの入力手段だけが分かり易い態様で操作パネルに表示されることが操作性の向上につながる。
【０００３】
但し、利用者の装置使用の習熟度によって、使い易いユーザインタフェースは異なってくる。利用頻度の低い利用者にとっては、複雑なユーザインタフェースでは操作ミスが起こりやすく、また時間効率も悪い。したがって、機能を絞ったシンプルなユーザインタフェースが歓迎される。
【０００４】
一方、利用頻度の高い利用者にとっては、多少煩雑な操作であっても使いこなすことは可能であり、多くの機能を利用する場合には全ての機能を設定することが可能なユーザインタフェースが必要である。
【０００５】
これらの問題を解決するために、利用者の好みに合わせて画面を構成する要素（ボタン等）の表示／非表示の切替えや並び替え等のカスタマイズを行う技術（例えば、特許文献１）や、認証によって特定された利用者毎に表示内容を切替える技術（例えば、特許文献２）が開示されている。
【０００６】
他方において、機能のインストール／アンインストールや、機能に対する拡張を追加でインストール／アンインストールすることにより、ファームウェアの更新が可能とされた画像形成装置が開示されている（例えば、特許文献３、特許文献４）。
【特許文献１】特開２００５−４５３７０号公報
【特許文献２】特開２００３−１５０９７１号公報
【特許文献３】特開２００３−２５６２１６号公報
【特許文献４】特開２００４−２１５７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、画像形成装置の操作パネルの表示領域（タッチパネル）の大きさは限られているため、一つのアプリケーションに対する設定情報を複数の画面の遷移によって入力させることが多い。
【０００８】
しかしながら、従来のカスタマイズ方式は、各画面内において各表示部品の表示態様を変化させる程度にとどまっており、必ずしも自由度が高いものであるとはいえなかった。例えば、遷移可能な複数の画面をまたがった横断的なカスタマイズ（例えば、或る画面に表示されているボタンを他の画面に移動させる等）を自由に行うことはできなかった。
【０００９】
本発明は、上記の点に鑑みてなされたものであって、画面のカスタマイズの自由度を適切に向上させることのできる画像形成装置、画面構築方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、本発明は、複数のソフトウェア部品の組み合わせによってアプリケーションが構築される画像形成装置であって、前記ソフトウェア部品単位で各ソフトウェア部品の設定項目の構成を示す設定項目情報を管理する第一の管理手段と、前記ソフトウェア部品とは別の単位で分類されるカテゴリごとに前記設定項目の対応付け情報を管理する第二の管理手段と、前記対応付け情報に基づいて、前記設定項目に対応する表示部品を含む画面を前記カテゴリ別に表示装置に表示させる表示手段とを有することを特徴とする。
【００１１】
このような画像形成装置では、画面のカスタマイズの自由度を適切に向上させることができる。
【発明の効果】
【００１２】
本発明によれば、画面のカスタマイズの自由度を適切に向上させることのできる画像形成装置、画面構築方法、及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。図１では、画像形成装置の具体例として、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する複合機１のハードウェア構成が示されている。
【００１４】
複合機１のハードウェアとしては、コントローラ６０１と、オペレーションパネル６０２と、ファクシミリコントロールユニット（ＦＣＵ）６０３と、撮像部６０４と、印刷部６０５が存在する。
【００１５】
コントローラ６０１は、ＣＰＵ６１１、ＡＳＩＣ６１２、ＮＢ６２１、ＳＢ６２２、ＭＥＭ−Ｐ６３１、ＭＥＭ−Ｃ６３２、ＨＤＤ（ハードディスクドライブ）６３３、メモリカードスロット６３４、ＮＩＣ（ネットワークインタフェースコントローラ）６４１、ＵＳＢデバイス６４２、ＩＥＥＥ１３９４デバイス６４３、セントロニクスデバイス６４４により構成される。
【００１６】
ＣＰＵ６１１は、種々の情報処理用のＩＣである。ＡＳＩＣ６１２は、種々の画像処理用のＩＣである。ＮＢ６２１は、コントローラ６０１のノースブリッジである。ＳＢ６２２は、コントローラ６０１のサウスブリッジである。ＭＥＭ−Ｐ６３１は、複合機１のシステムメモリである。ＭＥＭ−Ｃ６３２は、複合機１のローカルメモリである。ＨＤＤ６３３は、複合機１のストレージである。メモリカードスロット６３４は、メモリカード２３５をセットするためのスロットである。ＮＩＣ６４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス６４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス６４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス６４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル６０２は、オペレータが複合機１に入力を行うためのハードウェア（操作部）であると共に、オペレータが複合機１から出力を得るためのハードウェア（表示部）である。
【００１７】
図２は、本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。図２に示されるように、複合機１におけるソフトウェアは、ユーザインタフェース層１０、コントロール層２０、機能実現層３０、デバイスサービス層４０、及びデバイス制御層５０等より構成される。なお、図２における各層の上下関係は、各層間の呼び出し関係に基づいている。すなわち、基本的に図中において上にある層が下の層を呼び出す。
【００１８】
ユーザインタフェース層１０は、ジョブ（例えば、コピー、印刷、スキャン、ファクス送信等）の実行要求を受け付けるための機能が実装されている部分である。ユーザインタフェース層１０において受け付けられたジョブの実行要求は、コントロール層２０に伝えられる。ユーザインタフェース層１０に含まれる各ソフトウェア部品又はプログラムモジュール（以下、単に「コンポーネント」という。）については後述する。
【００１９】
コントロール層２０は、要求されたジョブを実行するための処理を制御するための機能が実装されている部分である。コントロール層２０は、例えば、プラグイン管理部２１０、リクエスト管理部２２０、及び認証管理部２３０等が含まれる。プラグイン管理部２１０は、複合機１に対するコンポーネントのインストール及びアンインストールや、インストールされたコンポーネントの名前とその実体の物理的なアドレス（保存位置情報）との対応情報等を管理する。
【００２０】
リクエスト管理部２２０は、要求されたジョブの実行を機能実現層３０が有する各アプリケーションに要求する。また、複数のジョブが実行される場合は、それらの実行順のスケジューリングを行う。
【００２１】
なお、本実施の形態において「ジョブ」とは、複合機１がユーザに対して提供する一つのまとまった単位（要求が入力されて最終的な出力が得られるまで）のサービスをいう。一つのジョブは、基本的に一つのアプリケーションによって実行されるが、複数のアプリケーションの連携によって実行されてもよい。
【００２２】
認証管理部２３０は、利用者の認証要求を受け付け、アカウント名とパスワード等の利用者を特定する情報（認証情報）に基づいて認証を行う。
【００２３】
機能実現層３０は、それぞれが複合機１において提供されるジョブの一部を実行するコンポーネント群が実装されている部分である。すなわち、機能実現層３０におけるコンポーネントを組み合わせることにより一つのジョブを実行するためのアプリケーションが構築される。本実施の形態では、機能実現層３０における一部のコンポーネントを「フィルタ」と呼ぶ。これは、複合機１のジョブを実行する手アプリケーションが、「パイプ＆フィルタ」と呼ばれるソフトウェアアーキテクチャを採用していることに基づく。
【００２４】
図３は、パイプ＆フィルタアーキテクチャの概念を説明するための図である。図３において、「Ｆ」はフィルタを示し、「Ｐ」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【００２５】
すなわち、本実施の形態における複合機１では、ジョブをドキュメント（データ）に対する「変換」の連続として捉える。複合機１のジョブは、ドキュメントの入力、加工、及び、出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び、「出力」を、それぞれ「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「加工フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。なお、各フィルタは独立しており、フィルタ間における依存関係（呼び出し関係）は基本的に存在しない。従って、フィルタ単位で追加（インストール）又は削除（アンインストール）が可能である。
【００２６】
図２において、機能実現層３０には、入力フィルタとして、読取フィルタ３１１、保管文書読出フィルタ３１２、メール受信フィルタ３１３、及びファクス受信フィルタ３１４等が示されている。
【００２７】
読取フィルタ３１１は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ３１２は、複合機１の記憶装置に保管されている文書データ（画像データ）を読み出し、読み出されたデータを出力する。メール受信フィルタ３１３は、電子メールを受信し、当該電子メールに含まれているデータを出力する。ファクス受信フィルタ３１４は、ファクス受信を制御し、受信されたデータを出力する。
【００２８】
また、加工フィルタとしては、文書編集フィルタ３２１及び文書変換フィルタ３２２等が示されている。文書編集フィルタ３２１は、入力されたデータに所定の画像変換処理（集約、拡大、又は、縮小等）を施し、出力する。文書変換フィルタ３２２は、画像データのデータ形式を変換する。文書変換フィルタ３２２は、例えば、レンダリング処理、すなわち、入力されたＰｏｓｔＳｃｒｉｐｔデータをビットマップデータに変換して出力する。
【００２９】
また、出力フィルタとしては、印刷フィルタ３３１、保管文書登録フィルタ３３２、メール送信フィルタ３３３、及びファクス送信フィルタ３３４等が示されている。
【００３０】
印刷フィルタ３３１は、入力されたデータをプロッタに出力（印刷）させる。保管文書登録フィルタ３３２は、入力されたデータを複合機１内の記憶装置、例えば、ＨＤＤ６３３に保存する。メール送信フィルタ３３３は、入力されたデータを電子メールに添付して送信する。ファクス送信フィルタ３３４は、入力されたデータをファクス送信する。
【００３１】
機能実現層３０には、また、複数のフィルタをどの順番で接続するかを管理し、その順番でフィルタを実行させることによりジョブを実行するコンポーネント（このようなコンポーネントを本実施の形態では「アプリケーション」という。）として、コピーアプリケーション３０１、送信アプリケーション３０２、及びファクスアプリケーション３０３等が含まれる。例えば、コピーアプリケーション３０１は、読取フィルタ３１１と、文書編集フィルタ３２１と、印刷フィルタ３３１との組み合わせにより、コピー機能（コピーアプリケーション）を実現するアプリケーションである。
【００３２】
なお、機能実現層３０におけるアプリケーションも独立してインストール及びアンインストール可能である。
【００３３】
機能実現層３０には、ユーザ情報管理部３４１、表示管理部３５０、及びＵＩカスタマイズ部３６０が含まれる。
【００３４】
ユーザ情報管理部３４１は、複合機１にログインするためのユーザの名やパスワード等の認証情報を、後述するデータ管理部４１０に登録（永続化）し、参照、更新、削除、検索を行う。表示管理部３５０は、各フィルタ及び各アプリケーションに対する操作画面の表示に関する情報を管理する。ＵＩカスタマイズ部３６０は、各アプリケーションの操作画面のカスタマイズ処理を制御する。
【００３５】
デバイスサービス層４０は、機能実現層３０における各フィルタから共通に利用される下位機能が実装されている部分であり、データ管理部４１０を有する。データ管理部４１０は、各種のデータベースである。
【００３６】
デバイス制御層５０は、複合機１が有するデバイス毎に設けられたデバイスを制御する手段を有する。
【００３７】
ところで、図２において、ユーザインタフェース層１０は、コピーアプリＵＩ１１１、送信アプリＵＩ１１２、読取ＵＩ１２１、文書編集ＵＩ１２２、印刷ＵＩ１２３、及びメール送信ＵＩ１２４等のＵＩコンポーネントを含む。ここで、ＵＩコンポーネントとは、機能実現層３０におけるアプリケーション又はフィルタの表示に関する処理を行うコンポーネントであり、それぞれアプリケーション又はフィルタと対をなす。
【００３８】
アプリケーションに対応するＵＩコンポーネントを特に「アプリＵＩコンポーネント」という。同図では、コピーアプリＵＩ１１１及び送信アプリＵＩ１１２がアプリＵＩコンポーネントとして例示されている。すなわち、コピーアプリＵＩ１１１は、コピーアプリケーション３０１のＵＩコンポーネントである。送信アプリＵＩ１１２は、送信アプリケーション３０２のＵＩコンポーネントである。
【００３９】
一方、フィルタに対応するＵＩコンポーネントを特に「フィルタＵＩコンポーネント」という。同図では、読取ＵＩ１２１、文書編集ＵＩ１２２、印刷ＵＩ１２３、及びメール送信ＵＩ１２４がフィルタＵＩコンポーネントとして例示されている。すなわち、読取ＵＩ１２１、文書編集ＵＩ１２２、印刷ＵＩ１２３、メール送信ＵＩ１２４は、それぞれ読取フィルタ３１１、文書編集フィルタ３２１、印刷フィルタ３３１、メール送信フィルタ３２３のＵＩコンポーネントである。
【００４０】
なお、同図では、一部のアプリケーション又はフィルタに対するＵＩコンポーネントについては便宜上省略されている。
【００４１】
以下、複合機１の処理手順について説明する。図４は、ＵＩコンポーネントのインストール処理の処理手順を説明するためのシーケンス図である。同図では、読取ＵＩ１２１、文書編集ＵＩ１２２、印刷ＵＩ１２３、及びコピーアプリＵＩ１１１のインストール処理について説明する。なお、ＵＩコンポーネントのインストールは、対応するアプリケーション又はフィルタのインストールに伴って実行されるが、同図ではアプリケーション及びフィルタのインストール手順については省略している。
【００４２】
読取ＵＩ１２１は、プラグイン管理部２１０によってインストールされると（Ｓ１０１）、自らが有する又は自らに関連付けられている（例えば、共にパッケージ化されている）表示可能情報及び表示対象情報を表示管理部３５０に対して登録する（Ｓ１０２）。表示可能情報とは、フィルタに対する設定項目として操作画面上に表示させることができる全ての設定項目（換言すれば、フィルタに設定可能な全ての設定項目）の構成が定義された情報である。表示対象情報とは、表示可能情報のうち、初期状態（操作画面がカスタマイズされていない状態）において実際に表示対象とする設定項目の構成が定義された情報である。
【００４３】
図５は、読取ＵＩの表示可能情報の例を示す図である。同図ではＸＭＬ（eXtensible Markup Language）形式で記述された例が示されている。
【００４４】
同図において、表示可能情報は、ｆｕｎｃｔｉｏｎ要素をルート要素とする。ｆｕｎｃｔｉｏｎ要素のｎａｍｅ属性の値は、当該表示可能情報が対応するＵＩコンポーネントの識別子（コンポーネント名）を示す。すなわち、「ｓｃａｎｕｉ」は、読取ＵＩ１２１のコンポーネント名を示す。
【００４５】
ｆｕｎｃｔｉｏｎ要素は、一つ以上のｉｔｅｍ要素を子要素として含む。一つのｉｔｅｍ要素は一つの設定項目に対応する。ｉｔｅｍ要素の値は、対応する設定項目の識別子を示す。また、ｉｔｅｍ要素のｓｔｒｉｎｇ属性の値は、対応する設定項目の表示文字列を示す。同図では、３つのｉｔｅｍ要素（「原稿サイズ」、「原稿面」、「解像度」）が定義されている。したがって、読取ＵＩ１３１としては（読取フィルタ３１１の設定項目としては）、３つの設定項目が表示可能であることが分かる。
【００４６】
また、図６は、読取ＵＩの表示対象情報の例を示す図である。表示対象情報の書式は表示可能情報の書式とほぼ同様である。但し、表示対象情報は、ｆｕｎｃｔｉｏｎ要素の子要素としてｎａｍｅ要素を含む。ｎａｍｅ要素の値（「読取設定」）は、表示対象情報において表示対象とされた設定項目の集合に対する名前である。
【００４７】
なお、同図の表示対象情報では、表示可能情報における３つのｉｔｅｍ要素のうち２つのｉｔｅｍ要素のみがｆｕｎｃｔｉｏｎ要素の子要素とされている。すなわち、当該表示対象情報では、２つの設定項目（「原稿サイズ」、「原稿面」）のみを初期状態において表示対象とすることが定義されている。
【００４８】
なお、続いて実行される他のフィルタＵＩコンポーネントのインストール処理においても読取ＵＩ１２１と同様に、それぞれの表示可能情報及び表示対象情報が表示管理部３５０に登録される（Ｓ１０４〜１０９）。ここで、文書編集ＵＩ１２２の表示可能情報には「変倍率」及び「画質」が、表示対象情報には「画質」が設定項目として含まれていることとする。また、印刷ＵＩ１２３の表示可能情報には濃度、トレイ選択、及び印刷方向が、表示対象情報には「濃度」が設定項目として含まれていることとする。表示管理部３５０は、登録された表示可能情報及び表示対象情報を、例えば、ＨＤＤ６３３に保存して管理する。
【００４９】
続いて、プラグイン管理部２１０によってコピーアプリＵＩ１１１のインストールが実行されると（Ｓ１１０）、コピーアプリＵＩ１１１は、自らが有する又は自らに関連付けられている（例えば、共にパッケージ化されている）利用情報を表示管理部３５０に登録する（Ｓ１１１）。ここで、利用情報とは、アプリＵＩコンポーネントとフィルタＵＩコンポーネントとの利用関係が定義された情報である。すなわち、複合機１におけるアプリケーションは、複数のフィルタを組み合わせることによって構成される。したがって、アプリケーションとフィルタとの間には利用関係が存在する（例えば、コピーアプリケーション３０１は、読取フィルタ３１１、文書編集フィルタ３２１、及び印刷フィルタ３３１を利用する）。斯かる利用関係はユーザインタフェースに対しても影響し、アプリＵＩコンポーネントとフィルタＵＩコンポーネントとの利用関係となって現れる。
【００５０】
図７は、コピーアプリＵＩの利用情報の例を示す図である。同図ではＸＭＬ形式で記述された例が示されている。
【００５１】
同図において、利用情報は、ｃｏｍｐｏｎｅｎｔ要素をルート要素とする。ｃｏｍｐｏｎｅｎｔ要素のｎａｍｅ属性の値は、当該利用情報が対応するアプリＵＩコンポーネントの識別子（コンポーネント名）を示す。すなわち、「ｃｏｐｙａｐｌｕｉ」は、コピーアプリＵＩ１１１のコンポーネント名を示す。
【００５２】
ｃｏｍｐｏｎｅｎｔ要素は、一つ以上のｓｕｂｃｏｍｐｏｎｅｎｔ要素を子要素として含む。ｓｕｂｃｏｍｐｏｎｅｎｔ要素の値は、当該アプリＵＩコンポーネント（コピーアプリＵＩ１１１）によって利用されるフィルタＵＩコンポーネントのコンポーネント名を示す。同図では、３つのｓｕｂｃｏｍｐｏｎｅｎｔ要素（ｓｃａｎｕｉ、ｅｄｉｔｕｉ、ｐｒｉｎｔｕｉ）が定義されている。これらは、読取ＵＩ１２１、文書編集ＵＩ１２２、印刷ＵＩ１２３に対応する。
【００５３】
なお、表示管理部３５０は、登録された利用情報を、例えば、ＨＤＤ６３３に保存して管理する。以上の処理において表示管理部３５０に登録された情報の構成に示すと次のようになる。
【００５４】
図８は、表示管理部に登録された情報の構成を示す図である。同図に示されるように、コピーアプリＵＩ１１１の利用情報において、コピーアプリＵＩ１１１は読取ＵＩ１２１、文書編集ＵＩ１２２、及び印刷ＵＩ１２３を利用することが定義されている。また、読取ＵＩ１２１の表示可能情報において、原稿サイズ、原稿面、及び解像度の設定項目が表示可能であることが定義されている。更に、読取ＵＩ１２１の表示対象情報において、原稿サイズ及び原稿面の設定項目が表示対象であることが定義されている。なお、文書編集ＵＩ１２２及び印刷ＵＩ１２３の表示可能情報及び表示対象情報の図示については便宜上省略されている。
【００５５】
ステップＳ１１１に続いて、コピーアプリＵＩ１１１は、利用情報において１番目に利用対象として定義されているフィルタＵＩコンポーネント（読取ＵＩ１２１）の表示対象情報を読取ＵＩ１２１のコンポーネント名に基づいて表示管理部３５０より取得する（Ｓ１１２）。続いて、コピーアプリＵＩ１１１は、取得された表示対象情報に含まれている設定項目をコピーアプリＵＩ１１１の「カテゴリ１」に登録する（対応付ける）ことを表示管理部３５０に要求する（Ｓ１１３）。また、この際、コピーアプリＵＩ１１１は、当該表示対象情報のｎａｍｅ要素の値（図６によれば、「読取設定」）をカテゴリ１の名前（カテゴリ名）とすることを表示管理部３５０に登録する。
【００５６】
ここで、「カテゴリ」とは、アプリケーションの操作画面を構成する複数のシートの中の一つのシートにする対応する概念（単位）である。すなわち、ステップＳ１１３における要求は、コピーアプリケーション３０１の操作画面の１番目のシートに読取ＵＩ１２１の表示対象情報に含まれている設定項目を割り当てることを意味する。
【００５７】
同様に、コピーアプリＵＩ１１１は、利用する他のフィルタＵＩコンポーネントの表示対象情報に含まれている設定項目及びｎａｍｅ要素の値をそれぞれ異なるカテゴリに登録する（それぞれ異なるシートに割り当てる）。すなわち、ステップＳ１１４において、コピーアプリＵＩ１１１は、利用情報において２番目に利用対象として定義されているフィルタＵＩコンポーネント（文書編集ＵＩ１２２）の表示対象情報を文書編集ＵＩ１２２のコンポーネント名に基づいて表示管理部３５０より取得する（Ｓ１１４）。続いて、コピーアプリＵＩ１１１は、取得された表示対象情報に含まれている設定項目及びｎａｍｅ要素の値をコピーアプリＵＩ１１１の「カテゴリ２」に登録することを表示管理部３５０に要求する（Ｓ１１５）。また、コピーアプリＵＩ１１１は、利用情報において３番目に利用対象として定義されているフィルタＵＩコンポーネント（印刷ＵＩ１２３）の表示対象情報を印刷ＵＩ１２３のコンポーネント名に基づいて表示管理部３５０より取得する（Ｓ１１６）。続いて、コピーアプリＵＩ１１１は、取得された表示対象情報に含まれている設定項目及びｎａｍｅ要素の値をコピーアプリＵＩ１１１の「カテゴリ３」に登録することを表示管理部３５０に要求する（Ｓ１１７）。
【００５８】
なお、表示管理部３５０は、登録が要求された情報（設定項目とカテゴリとの対応付け情報）をカテゴリごとにＨＤＤ６３３に保存する。
【００５９】
続いて、コピーアプリＵＩは、自らが利用するフィルタＵＩコンポーネント（読取ＵＩ１２１、文書編集ＵＩ１２２、印刷ＵＩ１２３）ごとに未分類のカテゴリ（読取未分類、文書編集未分類、印刷未分類）を表示管理部３５０に登録する（Ｓ１１８〜Ｓ１２０）。なお、未分類のカテゴリの存在意義については後述する。
【００６０】
ステップＳ１１２〜Ｓ１２０の処理によって、コピーアプリＵＩに対して以下のようなカテゴリ情報が表示管理部３５０に登録されたことになる。
【００６１】
図９は、コピーアプリＵＩに対して登録されたカテゴリ情報を示す図である。同図に示されるように、コピーアプリＵＩ１１１には、カテゴリ１、カテゴリ２、カテゴリ３、読取未分類、文書編集未分類、及び印刷未分類のカテゴリが登録されている。このうち、カテゴリ１にはカテゴリ名として「読取設定」が、設定項目として「原稿サイズ」及び「原稿面」が登録されている。また、カテゴリ２にはカテゴリ名として「文書編集設定」が、設定項目として「変倍率」が登録されている。また、カテゴリ３にはカテゴリ名として「印刷設定」が、設定項目として「濃度」が登録されている。一方、この段階において各未分類のカテゴリには何も登録されていない。
【００６２】
なお、図４においてコピーアプリＵＩ１１１に係る処理は、各アプリＵＩコンポーネントがインストールされる際に同様に実行される。したがって、例えば、送信アプリＵＩ１２がインストールされる際は、送信アプリＵＩ１１２に対するカテゴリ１、カテゴリ２、カテゴリ３が登録される。また、送信アプリＵＩ１１２が利用するフィルタＵＩコンポーネントごとの未分類のカテゴリ（読取未分類、文書編集未分類、及びメール送信未分類）も登録される。
【００６３】
また、表示管理部３５０は、各カテゴリの登録に応じて、設定項目ごとにいずれのカテゴリに属しているかを示す情報（以下、「逆引き情報」）という。）を生成し、ＨＤＤ６３３に保存する。
【００６４】
図１０は、逆引き情報を示す図である。同図は、図９に対応する逆引き情報である。同図に示されるように、逆引き情報によれば、表示対象とされている各設定項目がいずれのカテゴリに属しているかを効率的に特定することができる。
【００６５】
続いて、アプリケーションの操作画面の生成処理の処理手順について説明する。図１１は、コピーアプリケーションの操作画面の生成処理の処理手順を説明するためのシーケンス図である。
【００６６】
例えば、利用者によってオペレーションパネル６０２介してコピーアプリケーション３０１の操作画面（コピー画面）の表示要求が入力されると、コピーアプリＵＩ１１１は、コピーアプリＵＩ１１１に対して登録されているカテゴリの一覧情報を表示管理部３５０より取得する（Ｓ２０１）。ここでは、図９に示されるように、カテゴリ１、カテゴリ２、カテゴリ３、読取未分類、文書編集未分類、印刷未分類を含む一覧が取得される。
【００６７】
続いて、コピーアプリＵＩ１１１は、取得された一覧情報に含まれているカテゴリごとに（カテゴリ別に）、当該カテゴリに対応する画面（シート）の生成を行う。まず、コピーアプリＵＩ１１１は、カテゴリ１に登録されたカテゴリ情報を表示管理部３５０より取得する（Ｓ２０２）。続いて、コピーアプリＵＩ１１１は、取得されたカテゴリ情報に含まれている設定項目を表示対象としてカテゴリ１に対応するシートの生成を行う（Ｓ２０３）。この際、コピーアプリＵＩ１１１は、当該シートの見出し（タブ）の表示文字列を、当該カテゴリのカテゴリ名とする。カテゴリ２及びカテゴリ３についても同様に、コピーアプリＵＩ１１１は、それぞれに登録されたカテゴリ情報に基づいてシート及びそのタブを生成する（Ｓ２０４〜Ｓ２０７）。
【００６８】
続いて、コピーアプリＵＩ１１１は、各未分類のカテゴリ（ここでは、読取ＵＩ未分類、文書編集ＵＩ未分類、及び印刷ＵＩ未分類）に登録されている情報を表示管理部３５０より取得する（Ｓ２０８〜Ｓ２１０）。続いて、コピーアプリＵＩ１１１は、各未分類のカテゴリより取得された情報を集約し、集約した情報（設定項目）を表示させる一つの未分類のシートを生成する（Ｓ２１１）。この際、コピーアプリＵＩ１１１は、当該シートのタブの表示文字列を「未分類」とする。すなわち、未分類のカテゴリについては、それぞれについてシートが生成されるのではなく、複数の未分類に対して一つのシートが生成される。なお、この段階では、図９に示されるように、各未分類のカテゴリには何も登録されていない。したがって、空のシートが生成される。
【００６９】
続いて、コピーアプリＵＩ１１１は、生成された各シートを含むコピー画面をオペレーションパネル６０２に表示させる（Ｓ２１２）。
【００７０】
図１２は、コピー画面の表示例を示す図である。同図のコピー画面５００において、破線５１０で囲まれる領域が、カスタマイズ可能な領域（以下、「カスタマイズ領域５１０」という。）であり、図１１においてその生成手順を説明した領域である。
【００７１】
カスタマイズ領域５１０は、カテゴリ一覧表示領域５２０とカテゴリ表示領域５３０とを含む。カテゴリ一覧表示領域５２０には、各カテゴリに対して生成されたシートのタブが配列されている。同図では、「読取設定」、「文書編集設定」、「印刷設定」、及び「未分類」の４つタブが表示されている。これらは、それぞれ、図１１のステップ２０３、Ｓ２０５、Ｓ２０７、Ｓ２１１において生成されたシートに対するタブである。
【００７２】
カテゴリ表示領域５３０には、タブの操作によって現在選択されているシートが表示される領域である。同図では、読取設定タブが選択された状態が示されている。したがって、カテゴリ１に登録されている設定項目に対応する表示部品（ボタン５３１及び５３２）が表示されている。
【００７３】
続いて、カスタマイズ領域５１０のカスタマイズ（すなわち、カテゴリと設定項目との対応関係の編集）について説明する。当該カスタマイズは、オペレーションパネル６０２に表示されるカスタマイズ画面を介して行われる。
【００７４】
図１３は、コピーアプリケーションのカスタマイズ画面の表示例を示す図である。同図のカスタマイズ画面７１０において、７１１は、カテゴリ１（読取設定カテゴリ）に対するカスタマイズ領域である。７１２は、カテゴリ２（文書編集設定カテゴリ）に対するカスタマイズ領域である。７１３は、カテゴリ３（印刷設定カテゴリ）に対するカスタマイズ領域である。各カスタマイズ領域には、表示対象として選択可能な設定項目ごとに行が表示される。また、各行は、設定項目名表示領域７１４とチェック領域７１５とを含む。チェック領域７１５は、当該設定項目を表示対象とするか否かを選択させるための領域である。例えば、カテゴリ１（読取設定カテゴリ）では、原稿サイズ、原稿面、及び解像度を表示対象とすることが可能であり、そのうち、原稿サイズ及び原稿面が表示対象として選択されている。
【００７５】
一方、設定項目表示領域７１４は、設定項目名を表示させると共に、当該設定項目が属するカテゴリを変更させるための領域である。具体的には、いずれかの行の設定項目表示領域７１４が選択されると、次のような画面がオペレーションパネル６０２に表示される。
【００７６】
図１４は、カテゴリ選択画面の表示例を示す図である。同図において、カテゴリ選択画面７２０は、コピーアプリＵＩ１１１に対するカテゴリごとにチェック領域を有する。いずれかのチェック領域が選択（チェック）されると、カスタマイズ画面７１０において選択されている行に係る設定項目は選択されたカテゴリに移動する。例えば、図１３のカスタマイズ画面７１０において解像度が選択され、カテゴリ選択画面７２０において印刷設定カテゴリが選択されると、カスタマイズ画面７１０の表示状態は次のように更新される。
【００７７】
図１５は、設定項目のカテゴリの変更後のカスタマイズ画面の表示例を示す図である。同図では、解像度が印刷設定カテゴリのカスタマイズ領域７１３内に移動している。
【００７８】
なお、カスタマイズ画面７１０において、カテゴリの行（「読取設定」、「編集設定」、「印刷設定」が表示されている行）が選択されると、当該カテゴリのカテゴリ名を変更させる画面を表示させ、当該画面に入力された名前によって、カテゴリ名を更新可能としてもよい。
【００７９】
このように、カスタマイズ画面７１０では、設定項目ごとにボタンの表示又は非表示の設定が可能であるばかりでなく、各設定項目のボタンの表示場所をカテゴリを跨いで（すなわち、シート（画面）を跨いで）変更することができる。すなわち、コピーアプリＵＩ１１１のインストール直後においては、コピーアプリＵＩ１１１が利用するフィルタＵＩコンポーネントに対応させてカテゴリが登録された。しかし、カスタマイズ画面７１０等によって可能なカスタマイズ方法より明らかなように、カテゴリは、必ずしも各フィルタＵＩコンポーネントに対応するものではなく、別の単位（ユーザの任意の単位）によって分類されるものである。したがって、各設定項目は、いずれのフィルタＵＩコンポーネントに対するものであるに関係せず、自由にカテゴリを変更することができる。このように、本実施の形態における複合機１では、自由度の高いカスタマイズが可能とされている。
【００８０】
以下、上記において説明したカスタマイズを実現するために複合機１が実行する処理手順について説明する。図１６は、カスタマイズ画面の表示処理及びカスタマイズ処理の処理手順を説明するためのシーケンス図である。
【００８１】
オペレーションパネル６０２を介してユーザによってコピー画面のカスタマイズ要求が入力されると、ＵＩカスタマイズ部３６０は、表示管理部３５０よりコピーアプリＵＩ１１１に対して登録されている利用情報（図７参照）を取得する（Ｓ３０１）。続いて、ＵＩカスタマイズ部３６０は、利用情報において利用対象として定義されている各フィルタＵＩコンポーネントに対して登録されている表示可能情報（図５参照）を取得する（Ｓ３０２〜Ｓ３０４）。ここでは、読取ＵＩ１２１、文書編集ＵＩ１２２、印刷ＵＩ１２３のそれぞれの表示可能情報が取得される。
【００８２】
続いて、ＵＩカスタマイズ部３６０は、コピーアプリＵＩ１１１に対して登録されているカテゴリの一覧情報を表示管理部３５０より取得する（Ｓ３０５）。続いて、ＵＩカスタマイズ部３６０は、取得された一覧情報に含まれているカテゴリごとにカテゴリ情報（カテゴリ名、カテゴリに属する設定項目に関する情報）を取得する（Ｓ３０６〜Ｓ３１１）。ここでは、図９に示される情報（すなわち、カテゴリ１、カテゴリ２、カテゴリ３、読取未分類、文書編集未分類、印刷未分類のカテゴリ情報）が取得される。
【００８３】
続いて、ＵＩカスタマイズ部３６０は、複数の未分類のカテゴリ情報を一つのカテゴリ（未分類）にマージする（Ｓ３１２）。続いて、ＵＩカスタマイズ部３６０は、カスタマイズ画面７１０（図１３参照）を生成し、オペレーションパネル６０２に表示させる（Ｓ３１３）。カスタマイズ画面７１０は、次のように生成される。まず、ＵＩカスタマイズ部７１０は、ステップＳ３０２〜Ｓ３０４において取得された表示可能情報に含まれている設定項目を、コピーアプリＵＩ１１１に属する未分類以外のカテゴリ１〜３のそれぞれにおいて選択可能な設定項目（選択肢）とする。この際、ＵＩカスタマイズ部３６０は、ステップＳ３０２〜Ｓ３０４における取得順（すなわち、利用情報におけるフィルタＵＩコンポーネントの定義順）に表示可能情報をカテゴリ１〜３に割り当てる。したがって、カテゴリ１には読取ＵＩ１２１の表示可能情報の設定項目が、カテゴリ２には文書編集ＵＩ１２２の表示可能情報の設定項目が、カテゴリ３には印刷ＵＩ１２３の表示可能情報の設定項目が選択肢として割り当てられる。
【００８４】
続いて、ＵＩカスタマイズ部３６０は、各カテゴリについて、選択肢とした割り当てられた設定項目のうち、ステップＳ３０６〜Ｓ３０８において取得されたカテゴリ情報に含まれている設定項目を選択状態とする。この際、カテゴリ情報に含まれている設定項目が対応するカテゴリの選択肢として含まれていない可能性がある。既に行われたカスタマイズによって、設定項目はカテゴリを跨いで移動されている可能性があるからである。このような場合、ＵＩカスタマイズ部３６０は、各カテゴリの選択肢をカテゴリ情報によって修正する。具体的には、例えば、読取ＵＩ１２１の表示可能情報に設定項目として含まれている解像度がカテゴリ３に移動されている場合。ＵＩカスタマイズ部３６０は、解像度をカテゴリ１の選択肢から除去し、カテゴリ３の選択肢として追加するとともに選択状態とする。
【００８５】
また、未分類については、一つの未分類にマージされた設定項目を選択肢とする。但し、この時点では、未分類には何も登録されていないため、未分類の表示は省略される。
【００８６】
以上の処理の後、ＵＩカスタマイズ部３６０は、図１３に示されるように、カスタマイズ画面７１０を表示させる。
【００８７】
続いて、カスタマイズ画面７１０を介して、チェック領域７１５の操作により表示対象とする設定項目が更新されると（Ｓ３１４）、ＵＩカスタマイズ部３６０は、当該更新を表示管理部３５０によって管理されているカテゴリ情報に反映させる（Ｓ３１５）。例えば、或る設定項目がチェックされた場合、ＵＩカスタマイズ部３６０は、当該設定項目が属するカテゴリ情報に対して当該設定項目を表示対象として追加する。一方、或る設定項目のチェックが解除された場合、ＵＩカスタマイズ部３６０は、当該設定項目が属するカテゴリ情報より当該設定項目を削除する。
【００８８】
また、カテゴリ画面７１０において或る設定項目が選択され、カテゴリ変更画面７２０（図１４参照）等を介して当該設定項目のカテゴリが変更された場合（Ｓ３１６）、ＵＩカスタマイズ３６０は、当該設定項目についてカテゴリ情報を更新する（Ｓ３１７）。すなわち、当該設定項目を移動元のカテゴリより削除し、移動先のカテゴリに追加登録する。また、ＵＩカスタマイズ部３６０は、当該設定項目の逆引き情報を更新する（Ｓ３１８）。すなわち、移動元のカテゴリを逆引き情報より削除し、移動先のカテゴリを逆引き情報に追加する。
【００８９】
続いて、或るフィルタに対して、機能拡張が行われた場合について説明する。各フィルタは、予め動的に（ソースコードを変更することなく）機能拡張が可能なように拡張点を有している。当該拡張点は、具体的には、所定のフォルダ内に所定の機能拡張用コンポーネント（例えば、動的にリンク可能なライブラリ）が存在する場合、当該所定のコンポーネントに含まれている所定の関数を呼び出すといった実装である。すなわち、フィルタ側が備えているインタフェースに従った関数を有する当該所定の機能拡張用コンポーネントを生成することにより、各フィルタの機能拡張を行うことができる。
【００９０】
このような機能拡張が行われた場合、当該機能拡張に関する設定も操作画面上で可能とする必要がある。以下では、斯かる機能を可能とした例について説明する。なお、本実施の形態では、印刷フィルタ３３１に対してマーキング埋め込みの機能拡張を行うコンポーネント（以下、「マーキングコンポーネント」という。）がインストールされた場合を例とする。この場合、マーキングコンポーネントと共に、マーキングコンポーネントの設定項目に対応するＵＩコンポーネントであるマーキングＵＩもインストールされる。なお、マーキング埋め込みとは、印刷媒体に対して所定の目的（印刷媒体の識別、コピー抑止）に対応したマーキングを行う（バーコード、地紋等を印字する）する機能をいう。
【００９１】
図１７は、マーキングＵＩのインストール処理を説明するためのシーケンス図である。
【００９２】
プラグイン管理部２１０によってマーキングＵＩ１２５がインストールされると（Ｓ４０１）、マーキングＵＩ１２５は、印刷ＵＩ１２３の表示可能情報に対するマーキングＵＩ１２５の設定項目（「埋め込み方式」）の追加登録を表示管理部３５０に要求する（Ｓ４０２）。当該要求に応じ、表示管理部３５０は、保存されている印刷ＵＩ１２３の表示可能情報に「埋め込み方式」を設定項目として追加する。
【００９３】
続いて、マーキングＵＩ１２５は、印刷未分類のカテゴリ情報に対する当該設定項目（「埋め込み方式」）の追加を表示管理部３５０に要求する（Ｓ４０３）。当該要求に応じ、表示管理部３５０は、保存されている印刷未分類に係るカテゴリ情報に対して当該設定項目を追加する。なお、印刷未分類のカテゴリは、印刷ＵＩ１２３を利用するアプリケーションごとに生成される。したがって、複数の印刷未分類が表示管理部３５０に登録されている場合がある。この場合、全ての印刷未分類に対して当該設定項目が追加される。
【００９４】
また、表示管理部３５０は、マーキングＵＩ１２５の設定項目について逆引き情報を生成する（Ｓ４０４）。当該逆引き情報では、当該設定項目に対して、一つ以上の印刷未分類のカテゴリが関連付けられる。
【００９５】
ところで、拡張機能として新たに追加された機能に対する設定項目を未分類のカテゴリに追加するのは、以下の理由による。
【００９６】
本実施の形態では、各カテゴリについて表示対象とする設定項目を自由に設定することができる。したがって、各カテゴリには、表示対象とする設定項目がユーザの明確な意志によって設定されている可能性がある。また、各カテゴリと各フィルタＵＩコンポーネントとの対応関係は必ずしも明確ではない。更に、各フィルタは、複数のアプリケーションから利用されることがあり、フィルタに対する機能拡張による設定項目の追加は、当該フィルタを利用する全てのアプリケーションに対して等しく行われることが望ましい。
【００９７】
このような状況において、マーキングＵＩ１２５に対する設定項目をいずれのカテゴリに登録するのが最もユーザの意図に沿うのかを自動的に判定するのは非常に困難である。しかしながら、当該設定項目はいずれかのカテゴリに登録されない限り操作画面に表示されない。
【００９８】
そこで、本実施の形態では、「未分類」というカテゴリを予め用意（アプリケーションのインストール時に生成）し、機能拡張等が行われることにより設定項目を追加する必要がある場合は、当該設定項目をとりあえず未分類のカテゴリに追加するようにしているのである。
【００９９】
したがって、図１７の処理の終了後、改めてコピー画面５００を表示させ、未分類のシートを表示させると「埋め込み方式」の設定項目に対応したボタンが表示させる。なお、ステップＳ４０３において説明したように、当該設定項目は、全ての印刷未分類に対して追加されため、コピーアプリケーション３０１以外で印刷フィルタ３３１を利用するアプリケーションが有れば、斯かるアプリケーションの操作画面の未分類のシートにも、「埋め込み方式」の設定項目は表示される。
【０１００】
このように、新たに追加された機能を未分類に登録することで、ユーザによって設定されている各カテゴリの表示対象を変更することなく、新たに追加された機能に対する設定項目を表示対象とすることができる。
【０１０１】
なお、マーキングＵＩ１２５のインストール後、コピー画面５００のカスタマイズを行う場合、カスタマイズ画面７１０は、図１６の処理の結果、次のように表示される。
【０１０２】
図１８は、マーキングＵＩのインストール後のカスタマイズ画面の表示例を示す図である。図１８中、図１３と同一部分には同一符号を付している。
【０１０３】
同図のカスタマイズ画面７１０には、未分類のカスタマイズ領域７１６が追加されている。また、カスタマイズ領域７１６には、「埋め込み方式」が設定項目として含まれている。カスタマイズ領域７１６は、印刷未分類のカテゴリ情報に基づいて表示されたものである。
【０１０４】
ここで、「埋め込み方式」を選択し、カテゴリ変更画面７２０において印刷設定カテゴリを選択すると、カスタマイズ画面７１０は次のように変化する。
【０１０５】
図１９は、マーキングＵＩの設定項目のカテゴリの変更後のカスタマイズ画面の表示例を示す図である。同図に示されるように、「埋め込み方式」は、印刷設定カテゴリのカスタマイズ領域７１３に移動している。
【０１０６】
続いて、ＵＩコンポーネントのアンインストール時の処理手順について説明する。図２０は、マーキングＵＩのアンインストール時の処理手順を説明するためのシーケンス図である。
【０１０７】
マーキングＵＩ１２５は、プラグイン管理部２１０よりアンインストールが通知されると（Ｓ５０１）、マーキングＵＩ１２５の設定項目（「埋め込み方式」）が属するカテゴリを表示管理部３５０に問い合わせる（Ｓ５０２）。表示管理部３５０は、当該設定項目に対して保存されている逆引き情報に基づいて当該設定項目が属するカテゴリ名の一覧を返却する。
【０１０８】
続いて、マーキングＵＩ１２５は、取得されたカテゴリ名に対応するカテゴリ情報を表示管理部３５０より取得し（Ｓ５０３）、当該カテゴリ情報よりマーキングＵＩ１２５の設定項目を削除する（Ｓ５０４）。続いて、マーキングＵＩ１２５は、更新されたカテゴリ情報を表示管理部３５０に登録し直す（Ｓ５０５）。なお、ステップＳ５０３〜Ｓ５０５は、マーキングＵＩ１２５の設定項目が属する全てのカテゴリに関して行われる。
【０１０９】
続いて、マーキングＵＩ１２５は、印刷ＵＩ１２３の表示可能情報を表示管理部３５０より取得する（Ｓ５０６）。続いて、マーキング部１２５は、取得された表示可能情報よりマーキングＵＩ１２５の設定項目を削除する（Ｓ５０７）。続いて、マーキング部１２５は、更新された表示可能情報を表示管理部３５０に登録し直す（Ｓ５０８）。
【０１１０】
以上の処理によって、マーキングＵＩ１２５の設定項目は、各カテゴリより削除される。したがって、マーキングＵＩ１２５のアンインストール後に、その設定項目が表示されるという不整合の発生が防止される。
【０１１１】
上述したように、本実施の形態における複合機１によれば、各設定項目に対応する表示部品（ボタン等）について、単なる表示又は非表示の変更のみならず、画面を跨いで表示場所を変更させることができる。したがって、画面のカスタマイズの自由度を向上させることができる。
【０１１２】
但し、斯かるカスタマイズの柔軟性の向上により、各画面の位置付け（意味）が曖昧になってしまう可能性がある。そこで、本実施の形態では、「未分類」という、いわば固定的なカテゴリを用意し、新たな機能（コンポーネント）の追加時には当該未分類にその設定項目を追加するようにしている。したがって、ユーザによるカスタマイズ結果がユーザの意図に反して自動的に更新されることが回避される。
【０１１３】
なお、本実施の形態では、表示可能情報と表示対象情報とを明確に区別しているが、フィルタ等のインストール当初から全ての設定項目を表示させてもよいのであれば、表示対象情報は必ずしも必要ではない。表示対象情報が無い場合、表示可能情報を表示対象情報の代わりに用いればよい。
【０１１４】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。
【図２】本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。
【図３】パイプ＆フィルタアーキテクチャの概念を説明するための図である。
【図４】ＵＩコンポーネントのインストール処理の処理手順を説明するためのシーケンス図である。
【図５】読取ＵＩの表示可能情報の例を示す図である。
【図６】読取ＵＩの表示対象情報の例を示す図である。
【図７】コピーアプリＵＩの利用情報の例を示す図である。
【図８】表示管理部に登録された情報の構成を示す図である。
【図９】コピーアプリＵＩに対して登録されたカテゴリ情報を示す図である。
【図１０】逆引き情報を示す図である。
【図１１】コピーアプリケーションの操作画面の生成処理の処理手順を説明するためのシーケンス図である。
【図１２】コピー画面の表示例を示す図である。
【図１３】コピーアプリケーションのカスタマイズ画面の表示例を示す図である。
【図１４】カテゴリ選択画面の表示例を示す図である。
【図１５】設定項目のカテゴリの変更後のカスタマイズ画面の表示例を示す図である。
【図１６】カスタマイズ画面の表示処理及びカスタマイズ処理の処理手順を説明するためのシーケンス図である。
【図１７】マーキングＵＩのインストール処理を説明するためのシーケンス図である。
【図１８】マーキングＵＩのインストール後のカスタマイズ画面の表示例を示す図である。
【図１９】マーキングＵＩの設定項目のカテゴリの変更後のカスタマイズ画面の表示例を示す図である。
【図２０】マーキングＵＩのアンインストール時の処理手順を説明するためのシーケンス図である。
【符号の説明】
【０１１６】
１          複合機
１０        ユーザインタフェース層
２０        コントロール層
３０        機能実現層
４０        デバイスサービス層
５０        デバイス制御層
１１１      コピーアプリＵＩ
１１２      送信アプリＵＩ
１２１      読取ＵＩ
１２２      文書編集ＵＩ
１２３      印刷ＵＩ
１２４      メール送信ＵＩ
２１０      プラグイン管理部
２２０      リクエスト管理部
２３０      認証管理部
３１１      読取フィルタ
３１２      保管文書読出フィルタ
３１３      メール受信フィルタ
３１４      ファクス受信フィルタ
３２１      文書編集フィルタ
３２２      文書変換フィルタ
３３１      印刷フィルタ
３３２      保管文書登録フィルタ
３３３      メール送信フィルタ
３３４      ファクス送信フィルタ
３４１      ユーザ情報管理部
３５０      表示管理部
３６０      ＵＩカスタマイズ部
４１０      データ管理部
６０４      撮像部
６０５      印刷部
６０１      コントローラ
６０２      オペレーションパネル６０２
６０３      ファクシミリコントロールユニット
６１１      ＣＰＵ
６１２      ＡＳＩＣ
６２１      ＮＢ
６２２      ＳＢ
６３１      ＭＥＭ−Ｐ
６３２      ＭＥＭ−Ｃ
６３３      ＨＤＤ
６３４      メモリカードスロット
２３５      メモリカード
６４１      ＮＩＣ
６４２      ＵＳＢデバイス
６４３      ＩＥＥＥ１３９４デバイス
６４４      セントロニクスデバイス
【図１】
0004920009.tif 000002
【図２】
0004920009.tif 000003
【図３】
0004920009.tif 000004
【図４】
0004920009.tif 000005
【図５】
0004920009.tif 000006
【図６】
0004920009.tif 000007
【図７】
0004920009.tif 000008
【図８】
0004920009.tif 000009
【図９】
0004920009.tif 000010
【図１０】
0004920009.tif 000011
【図１１】
0004920009.tif 000012
【図１２】
0004920009.tif 000013
【図１３】
0004920009.tif 000014
【図１４】
0004920009.tif 000015
【図１５】
0004920009.tif 000016
【図１６】
0004920009.tif 000017
【図１７】
0004920009.tif 000018
【図１８】
0004920009.tif 000019
【図１９】
0004920009.tif 000020
【図２０】
0004920009.tif 000021