(57)【要約】【課題】操作パネルの表示画面のカスタマイズ作業を簡便化させることのできる画像形成装置、画面管理方法及び画面管理プログラムの提供を目的とする。【解決手段】操作パネルを備えた画像形成装置であって、前記操作パネルに表示される表示画面ごとに当該表示画面に配置される表示部品の構成情報及び当該表示画面における前記表示部品の配置情報を管理する構成情報管理手段と、前記表示部品ごとの表示部品データを管理する表示部品管理手段と、表示対象とされた表示画面に対応した前記構成情報及び前記配置情報と、当該構成情報に定義された表示部品の表示部品データとを取得し、取得された表示部品を前記配置情報に基づいて配置することで当該表示画面を表示させる表示制御手段と、前記表示画面の編集指示の入力に応じ、少なくとも編集対象とされた表示画面に対応する前記構成情報を変更する編集手段とを有することにより上記課題を解決する。【選択図】図３
2008147961.tif 000002
【特許請求の範囲】
【請求項１】
操作パネルを備えた画像形成装置であって、
前記操作パネルに表示される表示画面ごとに当該表示画面に配置される表示部品の構成情報及び当該表示画面における前記表示部品の配置情報を管理する構成情報管理手段と、
前記表示部品ごとの表示部品データを管理する表示部品管理手段と、
表示対象とされた表示画面に対応した前記構成情報及び前記配置情報と、当該構成情報に定義された表示部品の表示部品データとを取得し、取得された表示部品を前記配置情報に基づいて配置することで当該表示画面を表示させる表示制御手段と、
前記表示画面の編集指示の入力に応じ、少なくとも編集対象とされた表示画面に対応する前記構成情報を変更する編集手段とを有することを特徴とする画像形成装置。
【請求項２】
前記表示制御手段は、前記編集指示の入力を受け付けるための表示画面であるカスタマイズ画面の一部の領域に編集対象とされた前記表示画面を当該表示画面に対応する前記構成情報及び前記配置情報に基づいて表示させ、
前記編集手段は、前記カスタマイズ画面の一部の領域に表示された前記表示画面に対応する前記構成情報を変更することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記構成情報及び前記配置情報はユーザに応じて定義されており、
前記表示制御手段は、前記カスタマイズ画面の一部の領域に、当該画像形成装置にログインしているユーザに対応する前記構成情報及び前記配置情報に基づいて前記表示画面を表示させることを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記操作パネルへの表示画面の表示制御を行うＷｅｂブラウザを備え、
前記表示制御手段は、前記Ｗｅｂブラウザのプラグインとして構成されることを特徴とする請求項１乃至３いずれか一項記載の画像形成装置。
【請求項５】
前記表示制御手段は、前記Ｗｅｂブラウザのプラグインによって処理されるコンテンツを含み、
前記コンテンツが、表示対象とされた表示画面に対応した前記構成情報及び前記配置情報と、当該構成情報に定義された表示部品の表示部品データとを取得し、取得された表示部品を前記配置情報に基づいて配置することで当該表示画面を表示させることを特徴とする請求項４記載の画像形成装置。
【請求項６】
操作パネルを備えた画像形成装置が実行する画面管理方法であって、
前記操作パネルに表示される表示画面ごとに当該表示画面に配置される表示部品の構成情報及び当該表示画面における前記表示部品の配置情報を管理する構成情報管理手順と、
前記表示部品ごとの表示部品データを管理する表示部品管理手順と、
表示対象とされた表示画面に対応した前記構成情報及び前記配置情報と、当該構成情報に定義された表示部品の表示部品データとを取得し、取得された表示部品を前記配置情報に基づいて配置することで当該表示画面を表示させる表示制御手順と、
前記表示画面の編集指示の入力に応じ、少なくとも編集対象とされた表示画面に対応する前記構成情報を変更する編集手順とを有することを特徴とする画面管理方法。
【請求項７】
前記表示制御手順は、前記編集指示の入力を受け付けるための表示画面であるカスタマイズ画面の一部の領域に編集対象とされた前記表示画面を当該表示画面に対応する前記構成情報及び前記配置情報に基づいて表示させ、
前記編集手順は、前記カスタマイズ画面の一部の領域に表示された前記表示画面に対応する前記構成情報を変更することを特徴とする請求項６記載の画面管理方法。
【請求項８】
前記構成情報及び前記配置情報はユーザに応じて定義されており、
前記表示制御手順は、前記カスタマイズ画面の一部の領域に、当該画像形成装置にログインしているユーザに対応する前記構成情報及び前記配置情報に基づいて前記表示画面を表示させることを特徴とする請求項７記載の画面管理方法。
【請求項９】
前記操作パネルへの表示画面の表示制御を行うＷｅｂブラウザを備え、
前記表示制御手順は、前記Ｗｅｂブラウザのプラグインが実行することを特徴とする請求項６乃至８いずれか一項記載の画面管理方法。
【請求項１０】
前記Ｗｅｂブラウザのプラグインによって処理されるコンテンツが、表示対象とされた表示画面に対応した前記構成情報及び前記配置情報と、当該構成情報に定義された表示部品の表示部品データとを取得し、取得された表示部品を前記配置情報に基づいて配置することで当該表示画面を表示させることを特徴とする請求項９記載の画面管理方法。
【請求項１１】
操作パネルを備えた画像形成装置を、
前記操作パネルに表示される表示画面ごとに当該表示画面に配置される表示部品の構成情報及び当該表示画面における前記表示部品の配置情報を管理する構成情報管理手段と、
前記表示部品ごとの表示部品データを管理する表示部品管理手段と、
表示対象とされた表示画面に対応した前記構成情報及び前記配置情報と、当該構成情報に定義された表示部品の表示部品データとを取得し、取得された表示部品を前記配置情報に基づいて配置することで当該表示画面を表示させる表示制御手段と、
前記表示画面の編集指示の入力に応じ、少なくとも編集対象とされた表示画面に対応する前記構成情報を変更する編集手段として機能させるための画面管理プログラム。
【請求項１２】
前記表示制御手段は、前記編集指示の入力を受け付けるための表示画面であるカスタマイズ画面の一部の領域に編集対象とされた前記表示画面を当該表示画面に対応する前記構成情報及び前記配置情報に基づいて表示させ、
前記編集手段は、前記カスタマイズ画面の一部の領域に表示された前記表示画面に対応する前記構成情報を変更することを特徴とする請求項１１記載の画面管理プログラム。
【請求項１３】
前記構成情報及び前記配置情報はユーザに応じて定義されており、
前記表示制御手段は、前記カスタマイズ画面の一部の領域に、当該画像形成装置にログインしているユーザに対応する前記構成情報及び前記配置情報に基づいて前記表示画面を表示させることを特徴とする請求項１２記載の画面管理プログラム。
【請求項１４】
前記操作パネルへの表示画面の表示制御を行うＷｅｂブラウザを備え、
前記表示制御手段は、前記Ｗｅｂブラウザのプラグインとして構成されることを特徴とする請求項１１乃至１３いずれか一項記載の画面管理プログラム。
【請求項１５】
前記表示制御手段は、前記Ｗｅｂブラウザのプラグインによって処理されるコンテンツを含み、
前記コンテンツが、表示対象とされた表示画面に対応した前記構成情報及び前記配置情報と、当該構成情報に定義された表示部品の表示部品データとを取得し、取得された表示部品を前記配置情報に基づいて配置することで当該表示画面を表示させることを特徴とする請求項１４記載の画面管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画面管理方法及び画面管理プログラムに関し、特に操作パネルを備えた画像形成装置、該操作パネルの画面管理方法及び画面管理プログラムに関する。
【背景技術】
【０００２】
近年、デジタル複写機又は複合機等の操作パネル上における液晶パネル（タッチパネル）も大型化してきており、その表示内容も充実している。例えば、アイコン等を用いた多彩な表示画面をソフトウェア（以下、「表示用ソフトウェア」という。）の制御に基づいて表示させることにより、ユーザフレンドリなユーザインタフェースを提供している（例えば、特許文献１）。
【０００３】
液晶パネルの表示内容の充実に伴い、表示画面をユーザの権限や好み等に応じて異なるものとしたいという要求が高まっている。また、機能強化等に伴って新たに追加された機能に対応する画面等の追加が必要とされる場合もある。
【特許文献１】特開平１１−１７４９１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来、表示画面の表示内容は、表示用ソフトウェアのロジックとして組み込まれていたため、表示内容をカスタマイズするには、表示用ソフトウェアのソースコードを修正する必要があった。また、ユーザごとに表示内容をカスタマイズ可能な場合であっても、カスタマイズ可能な範囲は、表示用ソフトウェアに組み込まれた固定的な選択肢の範囲に限られており、カスタマイズの柔軟性に欠けるという問題があった。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、操作パネルの表示画面のカスタマイズ作業を簡便化させることのできる画像形成装置、画面管理方法及び画面管理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、操作パネルを備えた画像形成装置であって、前記操作パネルに表示される表示画面ごとに当該表示画面に配置される表示部品の構成情報及び当該表示画面における前記表示部品の配置情報を管理する構成情報管理手段と、前記表示部品ごとの表示部品データを管理する表示部品管理手段と、表示対象とされた表示画面に対応した前記構成情報及び前記配置情報と、当該構成情報に定義された表示部品の表示部品データとを取得し、取得された表示部品を前記配置情報に基づいて配置することで当該表示画面を表示させる表示制御手段と、前記表示画面の編集指示の入力に応じ、少なくとも編集対象とされた表示画面に対応する前記構成情報を変更する編集手段とを有することを特徴とする。
【０００７】
このような画像形成装置では、操作パネルの表示画面のカスタマイズ作業を簡便化させることができる。
【発明の効果】
【０００８】
本発明によれば、操作パネルの表示画面のカスタマイズ作業を簡便化させることのできる画像形成装置、画面管理方法及び画面管理プログラムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図１には、画像形成装置１における主なハードウェアが示されている。
【００１０】
図１において、画像形成装置１は、操作部１０とコントローラ部２０とに大別される。操作部１０は、ＲＯＭ１０１、ＲＡＭ１０２、ＣＰＵ１０３、及びオペレーションパネル１０４（操作パネル）等を含み、オペレーションパネル１０４への操作画面（表示画面）の表示制御等を実行する部分である。ＲＯＭ１０１は、表示制御等と実行するためのプログラム及び当該プログラムによって利用されるデータ等を記憶している。ＲＡＭ１０２は、当該プログラムの実行時に、当該プログラム等をロードするための記憶領域として用いられる。ＣＰＵ１０３は、ＲＡＭ１０２にロードされたプログラムを実行することにより、オペレーションパネル１０４の表示処理等を実行する。オペレーションパネル１０４は、オペレータが画像形成装置１に入力を行うためのハードウェアであると共に、オペレータが画像形成装置１から出力を得るためのハードウェアである。
【００１１】
図２は、オペレーションパネルの例を示す図である。図２に示されるように、オペレーションパネル１０４は、タッチパネル３１１と、テンキー３１２と、スタートボタン３１３と、リセットボタン３１４と、機能キー３１５と、初期設定ボタン３１６により構成される。タッチパネル３１１は、タッチ操作で入力を行うためのハードウェア（タッチ操作部）であると共に、画面表示で出力を得るためのハードウェア（画面表示部）である。テンキー３１２は、キー（ボタン）操作で数字入力を行うためのハードウェアである。スタートボタン３１３は、ボタン操作でスタート操作を行うためのハードウェアである。リセットボタン３１４は、ボタン操作でリセット操作を行うためのハードウェアである。機能キー３１５は、キー（ボタン）操作で各種の操作画面を表示させるためのハードウェアである。初期設定ボタン３１６は、ボタン操作で初期設定画面を表示させるためのハードウェアである。
【００１２】
図１に戻る。コントローラ部２０は、ＲＯＭ２０１、ＲＡＭ２０２、ＣＰＵ２０３、スキャナ２０４、プロッタ２０５、及びＨＤＤ（Hard Disk Drive）２０６等を含み、画像形成装置１のハードウェア資源の制御を主に実行する部分である。ＲＯＭ２０１は、コントローラ部２０の機能を実現するためのプログラム及び当該プログラムによって利用されるデータ等を記憶している。ＲＡＭ２０２は、当該プログラムの実行時に、当該プログラム等をロードするための記憶領域として用いられる。ＣＰＵ２０３は、ＲＡＭ２０２にロードされたプログラムを実行することにより、コントローラ部２０の機能を実行する。スキャナ２０４は、紙文書より画像データを読み取るための装置（ハードウェア資源）である。プロッタ２０５は、画像データを印刷用紙に出力（印刷）するための装置（ハードウェア資源）である。ＨＤＤ２０６は、各種の情報を保存するための大規模な記憶領域を提供し、例えば、スキャナ２０４によって読み取られた画像データを保存するために用いられる。
【００１３】
操作部１０とコントローラ部２０とは、バス又はＵＳＢ（Universal Serial Bus）ケーブル等によって接続されている。オペレーションパネル１０４に対する入力は、イベントとしてコントローラ部２０に通知される。コントローラ部２０は、イベントに応じた処理を実行する。一方、コントローラ部２０においてに検知されるイベント（例えば、スキャナ２０４やプロッタ２０５等より発生するイベント）は、操作部１０に通知される。操作部１０は、通知されるイベントに応じた表示処理を実行する。
【００１４】
図３は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。図３において、操作部１０は、ＯＳ１１、Ｗｅｂブラウザ１２、コンテンツ表示プラグイン１３、フレームワークコンテンツ１４及び表示コンテンツ１５等より構成される。これらは、操作部１０のＣＰＵ１０３が、それぞれに係るプログラムを実行することにより機能する。
【００１５】
ＯＳ１１は、Ｌｉｎｕｘ等、一般的なＯＳである。Ｗｅｂブラウザ１２は、一般的なＷｅｂブラウザであり、ＨＴＭＬ（HyperText Markup Language）データや、ＸＭＬ（eXtensible Markup Language）データ等に基づいてタッチパネル３１１の表示制御を行う。コンテンツ表示プラグイン１３は、Ｗｅｂブラウザ１２に対するプラグインであり、所定の形式（例えば、コンテンツ表示プラグイン１３に固有の形式）によって構成されるコンテンツを処理することにより当該コンテンツに定義された操作画面の表示制御を行う。当該コンテンツは、例えば、ＨＴＭＬデータやＸＭＬデータでは表現が困難な、表現豊かなユーザインタフェースを提供可能な表示用データ又は表示用プログラムである。したがって、コンテンツ表示プラグイン１３がＷｅｂブラウザ１２にプラグインされることで、Ｗｅｂブラウザ１２の表示機能が拡張され、タッチパネル３１１に表示させる操作画面をより表現豊かなものとすることができる。
【００１６】
フレームワークコンテンツ１４は、コンテンツ表示プラグイン１３によって処理されるコンテンツの一つである。但し、フレームワークコンテンツ１４は、実際には可視化されない。フレームワークコンテンツ１４は、実際に可視化される各種の表示コンテンツ１５の共通部分が実装されているコンテンツであると共に、コンテンツ表示プラグイン１３上への表示コンテンツ１５のロードや表示制御等を実行する。表示コンテンツ１５は、コンテンツ表示プラグイン１３及びフレームワークコンテンツ１４によってタッチパネル３１１に表示されるコンテンツである。表示コンテンツ１５が表示されることにより、タッチパネルには画像形成装置１を操作するための操作画面が表示される。
【００１７】
一方、コントローラ部２０は、ＯＳ２１、Ｊａｖａ（登録商標）ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）２２、ＯＳＧｉ（Open Services Gateway Initiative）フレームワーク２３、ＵＩコントロール部２４、表示定義部２５、データ管理部２６、セッション管理部２７、及びロジック部２８、コンテンツ管理部３１、及び画面管理部３２等より構成される。これらは、コントローラ部２０のＣＰＵ２０３が、それぞれに係るプログラムを実行することにより機能する。
【００１８】
ＯＳ１１は、Ｌｉｎｕｘ等、一般的なＯＳである。Ｊａｖａ（登録商標）ＶＭ２２は、Ｊａｖａ（登録商標）コンパイラによって生成された中間コード（Ｊａｖａ（登録商標）バイトコード）によるプログラムを解釈し、実行する、いわゆるＪａｖａ（登録商標）仮想マシンである。ＯＳＧｉフレームワーク２３は、Ｊａｖａ（登録商標）に基づいたオープンなソフトウェア部品化技術（ＯＳＧｉアライアンスによる標準化技術）に基づくソフトウェアの実行環境を実現する。ＵＩコントロール部２４は、画像形成装置１の状態に応じてコンテンツ表示プラグイン１３及びフレームワークコンテンツ１４上で表示させるコンテンツを判断する。ところで、ＯＳＧｉフレームワーク２３上で実行されるソフトウェアは、「バンドル」と呼ばれる部品として実装される。ＵＩコントロール部２４は、斯かるバンドルの一つとして実装される。
【００１９】
データ管理部２６は、画面構成情報管理部３２において管理されているデータに対するアクセス手段を提供する。すなわち、画面構成情報管理部３２において管理されているデータに対するアクセスは、データ管理部２６を介して行われる。セッション管理部２７は、画像形成装置１を操作するユーザを識別する。ユーザの識別は、操作が開始される前に実行されるユーザの認証に応じて開設されるセッションに基づいて行われる。ロジック部２８は、表示コンテンツ１５に対する入力に応じて画像形成装置１を機能させるための制御を実行する。
【００２０】
コンテンツ管理部３１は、タッチパネル３１１に表示される操作画面に応じて異なる各種の表示コンテンツ１５、及びフレームワークコンテンツ１４を管理する。画面構成情報管理部３２は、表示コンテンツ１５に基づいて表示される操作画面を構成する情報（画面構成情報）を管理する。フレームワークコンテンツ１４による表示コンテンツ１５の表示は、画面構成情報に基づいて行われる。
【００２１】
表示定義部２５は、画像形成装置１の状態（ユーザのログインの有無等）に応じた画面構成情報を表示対象として選択する。
【００２２】
操作部１０におけるフレームワークコンテンツ１４及び表示コンテンツ１５について更に詳しく説明する。図４は、操作部におけるフレームワークコンテンツ及び表示コンテンツを説明するための図である。
【００２３】
図４において、フレームワークコンテンツ１４は、ベースコンテンツ１４１と共通部品１４２とによって構成される。ベースコンテンツ１４１は、フレームワークコンテンツ１４における主要部分であり、通信部１４１１及び表示コンテンツ制御部１４１２等より構成される。通信部１４１１は、コンテンツ表示プラグイン１３の通信モジュール１３１を介してコントローラ部２０との間で通信（ＨＴＴＰ通信）を行う。当該通信によって、画面構成情報や表示コンテンツ１５等がコントローラ部２０より取得される。また、当該通信によって、表示コンテンツ１５において検知されたイベント（例えば、表示コンテンツ１５が表示させている操作画面に対するタッチパネル３１１を介したユーザによる入力操作に基づくイベント）がコントローラ部２０に通知される。なお、コンテンツ表示プラグイン１３における通信モジュール１３１は、Ｗｅｂブラウザ１２によるＨＴＴＰ通信機能へのインタフェースを通信部１４１１に対して提供する。
【００２４】
表示コンテンツ制御部１４１２は、表示コンテンツ１５の表示制御を実行する。具体的には、画面構成情報を解析し、表示対象とされている表示コンテンツ１５を構成するファイル群をロードする。ロードされたファイルは、コンテンツ表示プラグイン１３によって表示される。
【００２５】
共通部品コンテンツ１４２は、各種の表示コンテンツ１５において共通に用いられる表示部品（ボタン、背景、ロゴ等）に係るコンテンツである。共通部品コンテンツ１４２は、例えば、部品ごとにファイル化されている。
【００２６】
表示コンテンツ１５としては、その一例として、メニューＵＩコンテンツ１５１、カスタマイズＵＩコンテンツ１５２、コピーＵＩコンテンツ１５３、ＦＡＸＵＩコンテンツ１５４、及びスキャナＵＩコンテンツ１５５等が図示されている。各コンテンツは、それぞれ異なる操作画面に対応している。例えば、メニューＵＩコンテンツ１５１は、メニュー画面を表示させるコンテンツである。カスタマイズＵＩコンテンツ１５２は、カスタマイズ設定画面を表示させるコンテンツである。カスタマイズ設定画面とは、操作画面の構成を編集（カスタマイズ）させるための画面をいう。コピーＵＩコンテンツ１５３、ＦＡＸＵＩコンテンツ１５４、スキャナＵＩコンテンツ１５５は、それぞれ、コピー画面、ＦＡＸ画面、スキャナ画面を表示させるコンテンツである。なお、各表示コンテンツ１５は、必ずしも一つのファイルによって構成されなくてもよい。本実施の形態においても、表示コンテンツ１５は、それぞれデータ形式の異なる複数のファイル群によって一つの操作画面を表示させる。
【００２７】
フレームワークコンテンツ１４は、例えば、次のようなクラス群によって構成される。図５は、フレームワークコンテンツのクラス図の一例を示す図である。図５において、フレームワークコンテンツ１４は、接続クラス１４１１ａ、ＸＭＬ変換クラス１４１１ｂ、表示制御クラス１４１２ａ、及び中間データクラス１４１３ａ等より構成される。
【００２８】
接続クラス１４１１ａ及びＸＭＬ変換クラス１４１１ｂは、通信部１４１１を構成する。接続クラス１４１１ａは、Ｗｅｂブラウザ１３の通信モジュール１３１を用いてコントローラ部２０との通信を実現するクラスである。接続クラス１４１１ａは、送信メソッドとイベントメソッドとを有する。送信メソッドは、引き数に指定されたＸＭＬデータを通信モジュール１３１に出力するためのメソッドである。イベントメソッドは、通信モジュール１３１より返信データを受け取るためのメソッドである。
【００２９】
表示制御クラス１４１２ａは、表示コンテンツ制御部１４１２を構成するクラスである。表示制御クラス１４１２ａは、イベントメソッド、画面遷移メソッド、及び表示メソッド等を有する。イベントメソッドは、コントローラ部２０より送信されるデータを受け取るためのメソッドである。画面遷移メソッドは、表示対象とする表示コンテンツ１５の更新の際に、遷移先となる表示コンテンツ１５を取得するためのメソッドである。表示メソッドは、取得された表示コンテンツ１５をコンテンツ表示プラグイン１３上に表示させるためのメソッドである。
【００３０】
ＸＭＬ変換クラス１４１１ｂは、表示制御クラス１４１２ａが解釈可能なデータ形式（以下、当該データ形式のデータを「中間データ」という。）のデータとコントローラ部２０との通信において利用されるデータ形式（ＸＭＬ形式）との変換処理を実現するクラスである。ＸＭＬ変換クラス１４１１ｂの存在によって、表示制御クラス１４１２ａは、通信に用いられるデータ形式に依存することなく実装され得る。ＸＭＬ変換クラス１４１１ｂは、ＸＭＬ化メソッドとイベントメソッドとを有する。ＸＭＬ化メソッドは、中間データをＸＭＬデータに変換するためのメソッドである。イベントメソッドは、コントローラ部２０より送信されるＸＭＬデータを受け取るためのメソッドである。
【００３１】
中間データクラス１４１３ａは、上述の中間データを表現するクラスである。
【００３２】
一方、表示コンテンツ１５は、例えば、次のように構成される。図６は、表示コンテンツのクラス図の一例を示す図である。図６において、表示コンテンツ１５は、操作画面クラス１５０１、テンプレートクラス１５０２、部品ファイル１５０３、仕様ファイル１５０４、及びレイアウトファイル１５０５等より構成される。
【００３３】
操作画面クラス１５０１は、一つの操作画面を表現するクラスであり、そのインスタンスは、一つの表示コンテンツ１５（操作画面）において一つ存在する。テンプレートクラス１５０２は、操作画面に対して表示部品を配置するための仮想的な部品（以下「テンプレート」という。）を表現するクラスである。
【００３４】
図７は、操作画面とテンプレートとの関係を示す図である。図７は、タッチパネル３１１における操作画面の表示イメージを示す。図中では、操作画面１５０１Ｇに、テンプレート１５０２Ｔ−１、１５０２Ｔ−２、１０５２Ｔ−３、１０５２Ｔ−４が配置された例が示されている。図示されるように、テンプレートは、一つの操作画面に対して複数配置することが可能であり、各テンプレートは、区切られた一つの表示領域を形成する。また、テンプレート内に更にテンプレートを配置することも可能である。図中でも、テンプレート１５０２Ｔ−１内にテンプレート１５０２Ｔ−２が、テンプレート１５０２Ｔ−３内にテンプレート１５０２Ｔ−４が配置された例が示されている。斯かる点は、テンプレートクラス１５０２が、テンプレートクラス１５０２を集約していることによって表現されている。
【００３５】
図６に戻る。部品ファイル１５０３、仕様ファイル１５０４、及びレイアウトファイル１５０５は、クラスではなく、上記における画面構成情報を構成するデータ（ファイル）に相当する。各テンプレートは、複数の部品ファイル１５０３と、一つの仕様ファイル１５０４と、一つのレイアウトファイルとによって構成される。
【００３６】
部品ファイル１５０３は、テンプレート上に配置される各種の表示部品（ボタン、イメージ等）を実現するデータを格納するファイルであり、表示部品ごとに一つずつファイル化されている。それぞれの表示部品は、それぞれの特性に応じて画像データ、動画データ、テキストデータ、ＧＵＩ部品を表現するデータ等の各種のデータ形式によって構成されている。
【００３７】
仕様ファイル１５０４は、テンプレート内に配置される表示部品の構成（一覧）を示す情報（部品構成情報）が定義されるファイルである。図８は、仕様ファイルの定義例を示す図である。図８において、部品構成情報は、ＸＭＬによって記述されている例が示されているが、部品構成情報の定義形式はＸＭＬに限定されない。図中において、ｒｏｏｔ要素の各子要素は、それぞれテンプレートに配置される一つの表示部品に対応する。各要素のタグ名は、当該要素が対応する表示部品の種類を示す。例えば「ｉｍｇ」は、イメージデータ（画像データ）を示す。「ｂｔｎ」は、ボタンを示す。「ｍｓｇ」は、メッセージを示す。また、各要素には、ｉｄ属性とｎａｍｅ属性とが定義されている。ｉｄ属性は、当該表示部品を一意に識別するためのＩＤである。ｎａｍｅ属性は、当該表示部品の部品ファイル１５０３のファイル名である。
【００３８】
例えば、要素１５０４−１には、ＩＤが「１ａ」で、ｃｏｐｙ．ｊｐｇという部品ファイル１５０３に格納されたイメージデータに係る表示部品が定義されている。要素１５０４−２には、ＩＤが「３ｂ」で、ｏｋ．ｘｘｘという部品ファイル１５０３に格納されたボタンが定義されている。このように、仕様ファイル１５０４内には、一つのテンプレートに配置される全ての部品について、そのＩＤ及びファイル名等が定義されている。
【００３９】
レイアウトファイル１５０５は、テンプレート内における各表示部品の配置位置を示す情報（部品配置情報）が定義されるファイルである。図９は、レイアウトファイルの定義内容を示す概念図である。図９には、部品配置情報の具体的な定義形式ではなく、部品配置情報の内容が概念的に示されている。図中において矩形Ｔは、一つのテンプレートの表示領域を示す。テンプレートＴ内に配置されたそれぞれ円の中の符号は、仕様ファイル１５０４内で定義されている各表示部品のＩＤを示す。また、円の位置は、テンプレートＴ内における当該表示部品の配置位置を示す。すなわち、レイアウトファイル１５０５には、仕様ファイル１５０４に定義されている表示部品ごとに、その配置位置が定義されている。具体的な定義形式は、例えばＸＭＬ形式であってもよい。この場合、表示部品ごとに要素を割り当て、その属性として配置位置を示す座標値を指定するようにしてもよい。
【００４０】
なお、仕様ファイル１５０４及びレイアウトファイル１５０５は、例えば、画面構成情報管理部３２において次のようなテーブルによって管理されている。図１０は画面構成情報管理テーブルの構成例を示す図である。図１０の画面構成情報管理テーブル３２１は、ユーザ又はグループごとに、各操作画面の仕様ファイル１５０４及びレイアウトファイル１５０５が登録されている。このように、仕様ファイル１５０４及びレイアウトファイル１５０５は、ユーザ又はグループごと、かつ、操作画面ごとに定義され、管理されている。したがって、両ファイルの定義内容に応じて、ユーザごと又はグループごとに異なる操作画面を表示させることが可能とされている。なお、画面構成情報管理テーブル３２１において、「デフォルト」とは、画像形成装置１にユーザがログインされていない状態に対応する。
【００４１】
次に、コントローラ部２０のＵＩコントロール部２４及びロジック部２８について説明する。図１１は、コントローラ部におけるＵＩコントロール部及びロジック部を説明するための図である。
【００４２】
図１１において、ＵＩコントロール部２４は、ＵＩコントロールフレームワーク２４１及びＵＩコントローラ２４２より構成される。ＵＩコントロール部２４は、操作部１０において表示される各種の操作画面（表示コンテンツ１５）に対する入力に応じた処理制御のうち各操作画面に共通の処理制御を実行する部分であり、通信部２４１１及び制御部２４１２より構成される。
【００４３】
通信部２４１１は、ＯＳＧｉフレームワーク２３におけるＨＴＴＰサーバ２３１（図３参照）を介して操作部１０との間で通信（ＨＴＴＰ通信）を行う。当該通信によって、画面構成情報や表示コンテンツ１５等が操作部１０に提供される。また、当該通信によって、表示コンテンツ１５において検知されたイベントが操作部１０より通知される。
【００４４】
制御部２４１２は、通信部２４１１による通信によって操作部１０から送信されるリクエスト（ＨＴＴＰリクエスト）に応じた処理を制御する。例えば、制御部２４１２は、現在表示されている表示コンテンツ１５に対応するＵＩコントローラ２４２を呼び出す。
【００４５】
ＵＩコントローラ２４２としては、その一例として、メニューＵＩコントローラ２４２１、カスタマイズＵＩコントローラ２４２２、コピーＵＩコントローラ２４２３、ＦＡＸＵＩコントローラ２４２４、及びスキャナＵＩコントローラ２４２５等が図示されている。ＵＩコントローラ２４２は、表示コンテンツ１５ごと（操作画面ごと）に実装され、各表示コンテンツ１５において発生するイベントに応じて実行すべき処理を制御する。例えば、メニューＵＩコントローラ２４２１は、メニューＵＩコンテンツ１５１に対応する。カスタマイズＵＩコントローラ２４２２は、カスタマイズＵＩコンテンツ１５２に対応する。コピーＵＩコントローラ２４２３、ＦＡＸＵＩコントローラ２４２４、スキャナＵＩコントローラ２４２５は、それぞれコピーＵＩコンテンツ１５３、ＦＡＸＵＩコンテンツ１５４、スキャナＵＩコンテンツ１５５に対応する。
【００４６】
ロジック部２８は、ＵＩコントローラ２４２ごとに実装されている。図１１においても、各ＵＩコントローラ２４２に対応させて、メニューロジック２８１、カスタマイズロジック２８２、コピーロジック２８３、ＦＡＸロジック２８４、及びスキャナロジック２８５が図示されている。各ロジック部２８は、各ＵＩコントローラ２４２からの要求に応じて、画像形成装置１のハードウェアの制御等を実行する。
【００４７】
ＵＩコントロール部２４は、例えば、次のようなクラス群によって構成される。図１２は、ＵＩコントロール部のクラス図の一例を示す図である。図１２において、ＵＩコントロール部２４は、ＨＴＴＰコネクタクラス２４１１ａ、イベントコントローラクラス２４１２ａ、画面動作クラス２４２０ａ、メニュー画面動作クラス２４２１ａ、カスタマイズ画面動作クラス２４２２ａ、コピー画面動作クラス２４２３ａ、ＦＡＸ画面動作クラス２４２４ａ、及びスキャナ画面動作クラス２４２５ａ等より構成される。
【００４８】
ＨＴＴＰコネクタクラス２４１１ａは、通信部２４１１を構成するクラスである。ＨＴＴＰコネクタクラス２４１１ａは、送信メソッドを有する。送信メソッドは、引き数に指定されたデータをＨＴＴＰ通信によってＷｅｂブラウザ１２に送信（ＨＴＴＰレスポンス）するためのメソッドである。
【００４９】
イベントコントローラクラス２４１２ａは、制御部２４１２を構成するクラスである。イベントコントローラクラス２４１２ａは、イベントメソッドを有する。イベントメソッドは、操作部１０において検知されたイベントを受け取るためのメソッドである。
【００５０】
画面動作クラス２４２０ａには、各ＵＩコントローラ２４２に共通の動作が定義されるクラスでありＵＩコントロールフレームワーク２４１に含まれる。画面動作クラス２４２０ａは、また、各ＵＩコントローラ２４２の共通のインタフェースを規定する。当該共通のインタフェース（メソッド）としては、例えば、ｏｎＣｒｅａｔｅメソッド、及びａｃｔｉｏｎメソッド等がある。ｏｎＣｒｅａｔｅメソッドは、対応する表示コンテンツ１５の表示時に発生するイベント（ｏｎＣｒｅａｔｅイベント）に応じて実行されるべき処理を定義するためのメソッドである。ａｃｔｉｏｎメソッドは、ボタンの押下等、ｏｎＣｒｅａｔｅ以外のイベントに応じて実行されるべき処理を定義するためのメソッドである。
【００５１】
各ＵＩコントローラ２４２は、画面動作クラス２４２０ａを継承するクラスによって構成される拡張部分である。すなわち、各ＵＩコントローラ２４２を構成するクラス（メニュー画面動作クラス２４２１ａ、カスタマイズ画面動作クラス２４２２ａ、コピー画面動作クラス２４２３ａ、ＦＡＸ画面動作クラス２４２４ａ、スキャナ画面動作クラス２４２５ａ）は、画面動作クラス２４２０ａに対する差分プログラミングによって実装され得る。各サブクラスには、画面動作クラス２４２０ａが規定するインタフェース（ｏｎＣｒｅａｔｅメソッド及びａｔｉｏｎメソッド等）において、それぞれが対応する操作画面に特有の動作が定義される。ＵＩコントローラ２４２が斯かるクラス構成を有することにより、新たな操作画面（表示コンテンツ１５）が追加される場合は、当該操作画面に対応するクラスを画面動作クラス２４２０ａのサブクラスとして実装し、また、必要に応じて当該操作画面に対応するロジック部２８を実装すればよい。
【００５２】
以下、画像形成装置１の処理手順について説明する。図１３は、ユーザがログインしていないときの操作画面の表示処理を説明するためのシーケンス図である。ユーザがログインしていない場合、タッチパネル３１１には、ユーザ固有の操作画面でなく、全ユーザに対して共通の操作画面としてデフォルトの操作画面が表示される。
【００５３】
画像形成装置１が起動され、タッチパネル３１１への操作画面の表示が行われる段階になると、コンテンツ表示プラグイン１３は、フレームワークコンテンツ１４に対しメニュー画面（初期画面）の表示を指示する（Ｓ１０１）。メニュー画面の表示指示に応じ、フレームワークコンテンツ１４は、ＨＴＴＰ通信を介してＵＩコントロールフレームワーク２４１に対し初期化を要求する（Ｓ１０２）。なお、フレームワークコンテンツ１４によるＨＴＴＰ通信は、コンテンツ表示プラグイン１３の通信モジュール１３１及びＷｅｂブラウザ１２等を介して行われるが、斯かる点に関しては便宜上省略して説明する。
【００５４】
初期化の要求に応じ、ＵＩコントロールフレームワーク２４１は、メニュー画面の「固定部分」に対応する仕様ファイル１５０４及びレイアウトファイル１５０５の位置情報（例えば、ＵＲＬ（Uniform Resource Locator）等）を所定の記憶領域より取得し（Ｓ１０３）、取得した情報（メニュー画面情報）をフレームワークコンテンツ１４に返信する（Ｓ１０４）。ここで、メニュー画面の固定部分とは、メニュー画面においてユーザごとにカスタマイズできない部分をいう。したがって、ユーザごとにカスタマイズ可能な部分（以下「可変部分」という。）については、固定部分に対応する仕様ファイル１５０４及びレイアウトファイル１５０５において穴あき状態となっている（定義されていない）。
【００５５】
続いて、フレームワークコンテンツ１４は、返信されたメニュー画面情報に含まれている仕様ファイル１５０４のＵＲＬに基づいて、ＨＴＴＰサーバ２３１に対してメニュー画面の固定部分の仕様ファイル１５０４の提供を要求することにより（Ｓ１０５）、ＨＴＴＰサーバ２３１より当該仕様ファイル１５０４を取得する（Ｓ１０６）。続いて、フレームワークコンテンツ１４は、メニュー画面情報に含まれているレイアウトファイル１５０５のＵＲＬに基づいて、ＨＴＴＰサーバ２３１に対してメニュー画面の固定部分のレイアウトファイル１５０５の提供を要求することにより（Ｓ１０７）、ＨＴＴＰサーバ２３１より当該レイアウトファイル１５０５を取得する（Ｓ１０８）。
【００５６】
続いて、フレームワークコンテンツ１４は、メニュー画面の仕様ファイル１５０４にそのファイル名が記述（定義）されている部品ファイル１５０３の提供をＨＴＴＰサーバ２３１に対して要求することにより（Ｓ１０９）、ＨＴＴＰサーバ２３１より当該部品ファイル１５０３を取得する（Ｓ１１０）。
【００５７】
続いて、フレームワークコンテンツ１４の表示コンテンツ制御部１４１２は、取得された部品ファイル１５０３に格納された各表示部品を、取得されたレイアウトファイル１５０５に定義された位置に配置することによりメニュー画面を生成し、当該メニュー画面をタッチパネル３１１に表示させる（Ｓ１１１）。但し、この段階で表示されるのはメニュー画面の固定部分のみである。したがって、可変部分については非表示とされている。
【００５８】
そこで、可変部分を埋めるため、フレームワークコンテンツ１４は、ＨＴＴＰサーバ２３１に対し、現在表示されている画面（ここではメニュー画面）の状態の更新要求を送信する（Ｓ１１２）。当該更新要求は、ＵＩコントロールフレームワーク２４１、メニューＵＩコントローラ２４２１、メニューロジック２８１を経て表示定義部２５に通知される。
【００５９】
表示定義部２５は、セッション管理部２７に対して現在ログインしているユーザを問い合わせる（Ｓ１１３）。ここでは、ユーザがログインしていない場合であるため、セッション管理部２７からはユーザはログインされていない旨が返却される（Ｓ１１４）。そこで、表示定義部２５は、デフォルトのメニュー画面の可変部分に対応する仕様ファイル１５０４及びレイアウトファイル１５０５（以下「デフォルトファイル」という。）の取得をデータ管理部２６に要求する（Ｓ１１５）。データ管理部２６は、デフォルトファイルを画面構成情報管理テーブル３２１に基づいて特定し、当該デフォルトファイルを取得し（Ｓ１１６）、表示定義部２５に返却する（Ｓ１１７）。当該デフォルトファイルは、表示定義部２５、メニューロジック２８１、メニューＵＩコントローラ２４２１、ＵＩコントロールフレームワーク２３１、及びＨＴＴＰサーバ２３１を介してフレームワークコンテンツ１４に返信される（Ｓ１１８）。
【００６０】
フレームワークコンテンツ１４は、返信されたデフォルトファイルに基づいてメニュー画面の可変部分を表示させる（Ｓ１１９）。この際、フレームワークコンテンツ１４は、必要に応じて、可変部分に対応する部品ファイル１５０３をＨＴＴＰサーバ２３１より取得する。以上によって、タッチパネル３１１には、デフォルトのメニュー画面が完全に表示される。
【００６１】
次に、ユーザが画像形成装置１にログインしている場合について説明する。図１４は、ユーザがログインしていたときの操作画面の表示処理を説明するためのシーケンス図である。
【００６２】
例えば、タッチパネル３１１に表示されているメニュー画面においてユーザＩＤ及びパスワードが入力され、ログインボタンが押下されると、フレームワークコンテンツ１４は、ＨＴＴＰ通信を介してメニューＵＩコントローラ２４２１に対して、ユーザのログイン要求を送信する（Ｓ１５１）。当該ログイン要求には、入力されたユーザＩＤ及びパスワードが含まれている。メニューＵＩコントローラ２４２１は、ログイン要求に含まれているユーザＩＤ及びパスワードを指定して、セッション管理部２７に対してユーザのログインを要求する（Ｓ１５２）。セッション管理部２７は、ユーザＩＤ及びパスワードに基づいてユーザを認証する（Ｓ１５３）。ユーザが認証された場合、セッション管理部２７は、当該ユーザ（以下「カレントユーザ」という。）に対するセッションを開設し、ログインの成功を示す応答をメニューＵＩコントローラ２４２１に対して返却する（Ｓ１５４）。メニューＵＩコントローラ２４２１は、ログインの成功を示すＨＴＴＰレスポンスをフレームワークコンテンツ１４に返信する（Ｓ１５５）。
【００６３】
フレームワークコンテンツ１４は、ログインの成功に応じ、現在表示中のメニュー画面を、カレントユーザに対応したメニュー画面（すなわち、カレントユーザ用にカスタマイズされたメニュー画面）に更新するため、メニュー画面の状態の更新要求を送信する（Ｓ１５６）。当該更新要求は、ＵＩコントロールフレームワーク２４１、メニューＵＩコントローラ２４２１、メニューロジック２８１を経て表示定義部２５に通知される。
【００６４】
表示定義部２５は、セッション管理部２７に対して現在ログインしているユーザを問い合わせる（Ｓ１５７）。セッション管理部２７は、現在開設されているセッションに基づいてカレントユーザを識別し、カレントユーザの識別情報（例えば、ユーザ名）を返却する（Ｓ１５８）。表示定義部２５は、カレントユーザのユーザ名を指定して、データ管理部２６に対して、カレントユーザに対応する仕様ファイル１５０４及びレイアウトファイル１５０５（以下「ユーザファイル」という。）の取得をデータ管理部２６に要求する（Ｓ１５９）。データ管理部２６は、ユーザファイルを画面構成情報管理テーブル３２１に基づいて特定し、当該ユーザファイルを取得し（Ｓ１６０）、表示定義部２５に返却する（Ｓ１６１）。当該ユーザファイルは、表示定義部２５、メニューロジック２８１、メニューＵＩコントローラ２４２１、ＵＩコントロールフレームワーク２３１、及びＨＴＴＰサーバ２３１を介してフレームワークコンテンツ１４に返信される（Ｓ１６２）。
【００６５】
フレームワークコンテンツ１４は、返信されたユーザファイルに基づいてメニュー画面の可変部分を更新する（Ｓ１６３）。この際、フレームワークコンテンツ１４は、必要に応じて、新たな部品ファイル１５０３をＨＴＴＰサーバ２３１より取得する。以上によって、タッチパネル３１１には、カレントユーザ用にカスタマイズされたメニュー画面が表示される。
【００６６】
次に、操作画面のカスタマイズについて説明する。各操作画面のカスタマイズは、カスタマイズ設定画面を入り口として行われる。図１５は、カスタマイズ設定画面の表示例を示す図である。図１５において、カスタマイズ設定画面５１０は、コピーボタン５１１、ＦＡＸボタン５１２、スキャナボタン５１３、及びメニューボタン５１４等より構成されている。各ボタンは、それぞれのボタン名に対応する操作画面のカスタマイズ用画面を表示させるためのものである。例えば、コピーボタン５１１が押下されると、コピー画面のカスタマイズ用画面（以下、「コピーＵＩ設定画面」という。）がタッチパネル３１１に表示される。以下では、コピー画面をカスタマイズ対象として、カスタマイズの処理手順について説明する。
【００６７】
図１６は、コピーＵＩ設定画面の表示処理を説明するためのシーケンス図である。
【００６８】
タッチパネル３１１に図１５のカスタマイズ設定画面５１０が表示されている状態において、コピーボタン５１１が選択（押下）されると、フレームワークコンテンツ１４は、コピーボタン５１１の選択を検知し、コピーボタン５１１が選択されたことをＨＴＴＰサーバ２３１に通知する（Ｓ２０１）。コピーボタン５１１の選択は、ＵＩコントロールフレームワーク２４１、カスタマイズＵＩコントローラ２４２２を介してカスタマイズロジック２８２に通知される。
【００６９】
カスタマイズロジック２８２は、コピーボタン５１１に対応するカスタマイズ用画面、すなわち、コピーＵＩ設定画面のＵＲＬを含む情報（以下「ＵＲＬ情報」という。）を所定の記憶領域より取得する（Ｓ２０２）。
【００７０】
図１７は、コピーＵＩ設定画面のＵＲＬ情報を示す図である。図１７のＵＲＬ情報５２１はＸＭＬ形式によって記述された例を示す。ＵＲＬ情報５２１において、ｔｒａｎｓｉｔｉｏｎｉｎｆｏ要素の子要素として定義されているｕｒｌ要素の値（「ｔｈｅｍｅ／ｃｏｐｙ−ｃｕｓｔｏｍｉｚｅ」）が、コピーＵＩ設定画面のＵＲＬに相当する。なお、当該ＵＲＬは、コピーＵＩ設定画面の「固定部分」のＵＲＬに相当する。
【００７１】
ＵＲＬ情報５２１は、カスタマイズロジック２８２、カスタマイズＵＩコントローラ２４２２、ＵＩコントロールフレームワーク２４１、及びＨＴＴＰサーバ２３１を経て、フレームワークコンテンツ１４に返信される（Ｓ２０３）。
【００７２】
ＵＲＬ情報５２１を受信したフレームワークコンテンツ１４は、ＵＲＬ情報５２１に含まれているＵＲＬに基づいて、コピーＵＩ設定画面の固定部分の仕様ファイル１５０４及びレイアウトファイル１５０５をＨＴＴＰサーバ２３１より取得する（Ｓ２０４〜Ｓ２０７）。フレームワークコンテンツ１４は、取得された仕様ファイル１５０４にそのファイル名が記述されている部品ファイル１５０３をＨＴＴＰサーバ２３１より取得する（Ｓ２０８、Ｓ２０９）。フレームワークコンテンツ１４は、更に、取得された部品ファイル１５０３に格納された各表示部品を、取得されたレイアウトファイル１５０５に定義された位置に配置することによりコピーＵＩ設定画面の固定部分を生成し、タッチパネル３１１に表示させる（Ｓ２１０）。
【００７３】
図１８は、コピーＵＩ設定画面の固定部分の表示例を示す図である。図１８において、コピーＵＩ設定画面５３０は、コピー画面表示領域５３１、画面共通設定領域５３２、ボタン個別設定領域５３３、非表示ボタン表示領域５３４、保存ボタン５３５、キャンセルボタン５３６、及び終了ボタン５３７等より構成されている。この中で、コピー画面表示領域５３１以外は固定部分である。したがって、図１８においても、コピー画面表示領域５３１以外については完全な状態で表示されている。
【００７４】
コピー画面表示領域５３１は、コピー画面の現在の設定状態（カスタマイズ状態）が表示される領域である。コピー画面のカスタマイズ状態は、ユーザによって異なる。したがって、コピー画面表示領域５３１は可変部分に相当するのである。
【００７５】
続いて、フレームワークコンテンツ１４は、コピーＵＩ設定画面５３０の可変部分、すなわち、コピー画面を表示させるため、コピー画面のＵＲＬ情報の問い合わせをＨＴＴＰサーバ２３１に送信する（Ｓ２１１）。当該問い合わせは、ＨＴＴＰサーバ２３１、ＵＩコントロールフレームワーク２４１、カスタマイズＵＩコントローラ２４２２、及びコピーＵＩコントローラ２４２３を経て、コピーロジック２８３に通知される。コピーロジック２８３は、コピー画面のＵＲＬを含む情報（ＵＲＬ情報）を所定の記憶領域より取得する（Ｓ２１２）。
【００７６】
図１９は、コピー画面のＵＲＬ情報を示す図である。図１９のＵＲＬ情報５２２はＸＭＬ形式によって示されている。ＵＲＬ情報５２２において、ｔｒａｎｓｉｔｉｏｎｉｎｆｏ要素の子要素として定義されているｕｒｌ要素の値（「ｔｈｅｍｅ／ｃｏｐｙ」）が、コピー画面のＵＲＬに相当する。
【００７７】
ＵＲＬ情報５２２は、コピーロジック２８３、コピーＵＩコントローラ２４２３、ＵＩコントロールフレームワーク２４１、及びＨＴＴＰサーバ２３１を経て、フレームワークコンテンツ１４に返信される（Ｓ２１３）。
【００７８】
続いて、フレームワークコンテンツ１４は、コピーＵＩ設定画面５３０の表示状態を更新するため（すなわち、コピー画面表示領域５３１にコピー画面を表示させるため）、ＵＲＬ情報５２２に含まれているＵＲＬを指定して、コピーＵＩ設定画面５３０の更新要求をＨＴＴＰサーバ２３１に送信する（Ｓ２１４）。当該更新要求は、ＵＩコントロールフレームワーク２４１、コピーＵＩコントローラ２４２３、コピーロジック２８３を経て表示定義部２５に通知される。
【００７９】
表示定義部２５は、セッション管理部２７に対して現在ログインしているユーザを問い合わせる（Ｓ２１５）。セッション管理部２７は、現在開設されているセッションに基づいてカレントユーザを識別し、カレントユーザの識別情報（例えば、ユーザ名）を返却する（Ｓ２１６）。表示定義部２５は、カレントユーザのユーザ名を指定して、データ管理部２６に対して、カレントユーザに対応するコピー画面の仕様ファイル１５０４及びレイアウトファイル１５０５（以下「ユーザファイル」という。）の取得をデータ管理部２６に要求する（Ｓ２１７）。データ管理部２６は、ユーザファイルを画面構成情報管理テーブル３２１に基づいて特定し、当該ユーザファイルを取得し（Ｓ２１８）、表示定義部２５に返却する（Ｓ２１９）。当該ユーザファイルは、表示定義部２５、コピーロジック２８３、コピーＵＩコントローラ２４２３、ＵＩコントロールフレームワーク２３１、及びＨＴＴＰサーバ２３１を介してフレームワークコンテンツ１４に返信される（Ｓ２２０）。
【００８０】
フレームワークコンテンツ１４は、返信されたユーザファイルに基づいてコピーＵＩ設定画面５３０の可変部分（コピー画面表示領域５３１）を更新する（Ｓ２２１）。すなわち、コピー画面表示領域５３１に、カレントユーザの現在のコピー画面を表示させる。この際、フレームワークコンテンツ１４は、必要に応じて、新たな部品ファイル１５０３をＨＴＴＰサーバ２３１より取得する。以上によって、タッチパネル３１１には、完全なメニコピーＵＩ設定画面が表示される。
【００８１】
図２０は、完全なコピーＵＩ設定画面の表示例を示す図である。図２０のコピーＵＩ設定画面５３０には、そのコピー画面表示領域５３０にコピー画面が表示されている。斯かる状態のコピーＵＩ設定画面に対するユーザによる操作によって、コピー画面のカスタマイズ（編集操作）が行われる。
【００８２】
図２１は、コピー画面のカスタマイズ処理を説明するためのシーケンス図である。
【００８３】
コピーＵＩ設定画面５３０のコピー画面表示領域５３１に表示されているコピー画面を構成するいずれかのボタン（例えば、ＡＵＴＯボタン５３１１）が選択（押下）されると、フレームワークコンテンツ１４は、ＡＵＴＯボタン５３１１の押下を検知し、ＡＵＴＯボタン５３１１が押下されたことを示すデータ（イベント通知データ）をＨＴＴＰサーバ２３１に通知する（Ｓ２５１）。
【００８４】
図２２は、イベント通知データの例を示す図である。図２２のイベント通知データ５２３は、ＸＭＬによって記述された例を示す。イベント通知データ５２３において、ｗｉｄ要素５２３１の値（「ｃｏｐｙ＿ｃｕｓｔｏｍｉｚｅ」）は、イベントが発生した操作画面のＩＤを示す。ｃｏｐｙ＿ｃｕｓｔｏｍｉｚｅは、コピーＵＩ設定画面５３０のＩＤである。ｃｉｄ要素５２３２の値（「ｂｔｎ＿ａｕｔｏ」）は、イベントの対象となった表示部品のＩＤを示す。ｂｔｎ＿ａｕｔｏは、ＡＵＴＯボタン５３１１のＩＤである。ｅｖｔ要素５２３３の値（「ｐｒｅｓｓ」）は、イベントの種類を示す。ｐｒｅｓｓは、押下イベントを示す識別子である。したがって、イベント通知データ５２３には、ＡＵＴＯボタン５３１１が押下されたことが記述されていることになる。
【００８５】
イベント通知データ５２３は、ＵＩコントロールフレームワーク２４１、カスタマイズＵＩコントローラ２４２２を介してカスタマイズロジック２８２に通知される。カスタマイズロジック２８２は、イベント通知データ５２３に基づいて、ＡＵＴＯボタン５３１１の押下を認識し、当該イベントに対応した処理として、ＡＵＴＯボタン５３１１の選択に応じた画面の表示状態の更新指示を示すデータ（状態更新指示データ）の生成を実行する（Ｓ２５２）。
【００８６】
図２３は、状態更新指示データの例を示す図である。図２３の状態更新指示データ５２４は、ＸＭＬによって記述された例を示す。状態更新指示データ５２４において、ｗｉｄ要素５２４１の値（「ｃｏｐｙ＿ｃｕｓｔｏｍｉｚｅ」）は、更新対象となる操作画面のＩＤを示す。ｃｏｐｙ＿ｃｕｓｔｏｍｉｚｅは、コピーＵＩ設定画面５３０のＩＤである。状態更新指示データ５２４は、更新対象となる表示部品の数だけｉｔｅｍ要素を含む。ｉｔｅｍ要素は、ｃｉｄ要素とｓｔａｔｕｓ要素を子要素として含む。ｃｉｄ要素の値は、更新対象となる表示部品のＩＤを示す。ｓｔａｔｕｓ要素は、更新後の状態を示す。図中では、ｉｔｅｍ要素５２４２の子要素として、ｃｉｄ要素５２４３及びｓｔａｔｕｓ要素５２４４が含まれている。ｃｉｄ要素５２４３の値は「ｂｔｎ＿ａｕｔｏ」（ＡＵＴＯボタン５３１１）である。ｓｔａｔｕｓ要素の値は「ｓｅｌｅｃｔ」である。したがって、更新指示データ５２４では、ＡＵＴＯボタン５３１１を選択状態にする旨の指示が記述されていることになる。
【００８７】
状態更新指示データ５２４は、カスタマイズロジック２８２、カスタマイズＵＩコントローラ２４２２、ＵＩコントロールフレームワーク２４１、及びＨＴＴＰサーバ２３１を経て、フレームワークコンテンツ１４に返信される（Ｓ２５３）。状態更新指示データ５２４を受信したフレームワークコンテンツ１４は、状態更新指示データ５２４に従って、コピーＵＩ設定画面５３０の表示状態を更新する（Ｓ２５４）。すなわち、ＡＵＴＯボタン５３１１を選択状態（編集対象）とする。
【００８８】
続いて、コピーＵＩ設定画面５３０において、ユーザによってコピー画面の表示設定の変更指示が入力される。例えば、画面共通設定領域５３２では、コピー画面全体に関して、表示色、表示サイズ、ロゴの表示の有無等の設定が可能である。また、ボタン個別設定領域５３３では、編集対象とされているボタンについて、表示又は非表示の設定が可能である。例えば、ＯＦＦボタン５３３２が押下すると、編集対象とされているボタンは非表示に設定され、当該ボタンが非表示ボタン表示領域５３４に移動する。非表示ボタン表示領域５３４に表示されているボタンを選択して表示ボタン５３３１を押下すると、当該ボタンは、元の表示位置に戻り、表示対象とされる。
【００８９】
ここでは、ボタン個別設定領域５３３において、ＯＦＦボタン５３３２が押下されたこととする。この場合、フレームワークコンテンツ１４は、ＯＦＦボタン５３３２が押下されたことを示すイベント通知データをＨＴＴＰサーバ２３１に送信する（Ｓ２５５）。当該イベント通知データは、ＵＩコントロールフレームワーク２４１、カスタマイズＵＩコントローラ２４２２を介してカスタマイズロジック２８２に通知される。
【００９０】
カスタマイズロジック２８２は、イベント通知データに基づいて、ＯＦＦボタン５３３２の押下を認識し、当該イベントに対応する処理として、ＡＵＴＯボタン５３１１を非表示とする設定変更内容をメモリ内に保持する（Ｓ２５５）。また、カスタマイズロジック２８２は、コピーＵＩ設定画面５３０において、ＡＵＴＯボタン５３１１を非表示ボタン表示領域５３４に移動すべき旨を示す状態更新指示データを生成する。当該状態更新指示データは、カスタマイズロジック２８２、カスタマイズＵＩコントローラ２４２２、ＵＩコントロールフレームワーク２４１、及びＨＴＴＰサーバ２３１を経て、フレームワークコンテンツ１４に返信される（Ｓ２５７）。
【００９１】
状態更新指示データを受信したフレームワークコンテンツ１４は、当該状態更新指示データ５２４に従って、ＡＵＴＯボタン５３１１の表示位置を非表示ボタン表示領域５３４に移動する（Ｓ２５８）。
【００９２】
その後、ユーザは、コピーＵＩ設定画面５３０において、他のボタンや画面全体の設定に関して継続して設定変更を行うことができる。入力された設定変更の内容は、カスタマイズロジック２８２がメモリ内に保持する。
【００９３】
設定変更の入力が完了し、保存ボタン５３５が押下されると、フレームワークコンテンツ１４は、保存ボタン５３５の押下を示すイベント通知データをＨＴＴＰサーバ２３１に送信する（Ｓ２５９）。当該イベント通知データは、ＵＩコントロールフレームワーク２４１及びカスタマイズＵＩコントローラ２４２２を介してカスタマイズロジック２８２に通知される。カスタマイズロジック２８２は、イベント通知データに基づいて保存ボタン５３５の押下を認識すると、これまでメモリ内に保持されていた設定変更内容の保存を表示定義部２５に指示する（Ｓ２６０）。
【００９４】
表示定義部２５は、セッション管理部２７に対して現在ログインしているユーザを問い合わせる（Ｓ２６１）。セッション管理部２７は、現在開設されているセッションに基づいてカレントユーザを識別し、カレントユーザの識別情報（例えば、ユーザ名）を返却する（Ｓ２６２）。表示定義部２５は、カレントユーザのユーザ名を指定して、データ管理部２６に対して、カレントユーザに対応するコピー画面の仕様ファイル１５０４（また、必要に応じてレイアウトファイル１５０５）への設定変更内容の保存（反映）を要求する（Ｓ２６３）。データ管理部２６は、要求されたユーザに対するコピーが面の仕様ファイル１５０４等を画面構成情報管理テーブル３２１に基づいて特定し、当該仕様ファイル１５０４等に対して設定変更内容を保存する（Ｓ２６４）。ここでは、ＡＵＴＯボタン５３１１が非表示とされている。したがって、カレントユーザのコピー画面の仕様ファイル１５０４は、例えば、次のように更新され、保存される。
【００９５】
図２４は、仕様ファイルの更新の例を示す図である。図２４において、仕様ファイル１０５４ａは、更新前の仕様ファイル１０５４であり、仕様ファイル１０５４ｂは、更新後の仕様ファイル１０５４である。仕様ファイル１０５４ａにおいて、要素１０５４ａ−１は、ＡＵＴＯボタン５３１１に対する定義である。ＡＵＴＯボタン５３１１が非表示に設定された場合、仕様ファイル１０５４ｂに示されるように、要素１０５４ａ−１は削除される。以降、当該ユーザがログインした際には、仕様ファイル１０５４ｂに基づいてコピー画面が生成される。仕様ファイル１０５４ｂには、ＡＵＴＯボタン５３１１に関する定義は無いため、当該コピー画面においてＡＵＴＯボタン５３１１は表示されない。
【００９６】
なお、上記において、操作画面のカスタマイズは、画像形成装置１の操作パネルに表示される例について説明したが、ネットワークを介して接続するＰＣ（Personal Computer）等のコンピュータよりリモートで行われてもよい。
【００９７】
図２５は、リモートカスタマイズを行う場合の構成例を示す図である。図２５中、図３と同一部分には同一符号を付し、その説明は省略する。図２５において、ＰＣ４０は、画像形成装置１とネットワーク（有線又は無線の別は問わない。）を介して接続され、ＯＳ４１、Ｗｅｂブラウザ４２、及びコンテンツ表示プラグイン４３等を有する。ＯＳ４１、Ｗｅｂブラウザ４２、コンテンツ表示プラグイン４３は、それぞれ、画像形成装置１の操作部１０におけるＯＳ１１、Ｗｅｂブラウザ１２、及びコンテンツ表示プラグイン１３と同様のソフトウェアである。但し、ＯＳ４１及びＷｅｂブラウザ４２については、操作部１０におけるものと同一の種類のものである必要はない。なお、図２５では、操作部１０の構成要素の図示は便宜上省略されている。図２５に示されるような構成によれば、ＰＣ４０のコンテンツ表示プラグイン４３上に、フレームワークコンテンツ１４と、カスタマイズ設定画面５１０及びコピーＵＩ設定画面５３０に対応するコンテンツ１５を画像形成装置１よりダウンロードすることにより、カスタマイズ設定画面５１０やコピーＵＩ設定画面５３０等をＰＣ４０の表示装置に表示させることができる。したがって、ＰＣ４０の表示装置に表示された画面を操作させることにより、各種操作画面のカスタマイズをリモート操作（遠隔操作）で行わせることができる。
【００９８】
上述したように、本発明の実施の形態における画像形成装置１は、操作画面ごとに定義された画面構成情報（仕様ファイル１５０４、レイアウトファイル１５０５）に基づいて、各操作画面を表示させる。また、操作画面に配置される各表示部品は、それぞれ独立したデータ（ファイル）として管理されている。したがって、画面構成情報を変更することで、簡便に操作画面の表示態様を変更（カスタマイズ）することができる。例えば、或る表示部品を非表示としたい場合は、仕様ファイル１５０４内における当該表示部品の定義を削除すればよい。また、表示部品の表示態様を変更したい場合は、当該表示部品の部品ファイル１５０３を変更すればよい。
【００９９】
また、画面構成情報は、ユーザごとに定義され、管理されるため、各操作画面の表示態様をユーザごとに異なったものとすることができる。
【０１００】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１０１】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図２】オペレーションパネルの例を示す図である。
【図３】本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。
【図４】操作部におけるフレームワークコンテンツ及び表示コンテンツを説明するための図である。
【図５】フレームワークコンテンツのクラス図の一例を示す図である。
【図６】表示コンテンツのクラス図の一例を示す図である。
【図７】操作画面とテンプレートとの関係を示す図である。
【図８】仕様ファイルの定義例を示す図である。
【図９】レイアウトファイルの定義内容を示す概念図である。
【図１０】画面構成情報管理テーブルの構成例を示す図である。
【図１１】コントローラ部におけるＵＩコントロール部及びロジック部を説明するための図である。
【図１２】ＵＩコントロール部のクラス図の一例を示す図である。
【図１３】ユーザがログインしていないときの操作画面の表示処理を説明するためのシーケンス図である。
【図１４】ユーザがログインしたときの操作画面の表示処理を説明するためのシーケンス図である。
【図１５】カスタマイズ設定画面の表示例を示す図である。
【図１６】コピーＵＩ設定画面の表示処理を説明するためのシーケンス図である。
【図１７】コピーＵＩ設定画面のＵＲＬ情報を示す図である。
【図１８】コピーＵＩ設定画面の固定部分の表示例を示す図である。
【図１９】コピー画面のＵＲＬ情報を示す図である。
【図２０】完全なコピーＵＩ設定画面の表示例を示す図である。
【図２１】コピー画面のカスタマイズ処理を説明するためのシーケンス図である。
【図２２】イベント通知データの例を示す図である。
【図２３】状態更新指示データの例を示す図である。
【図２４】仕様ファイルの更新の例を示す図である。
【図２５】リモートカスタマイズを行う場合の構成例を示す図である。
【符号の説明】
【０１０２】
１          画像形成装置
１０        操作部
１１        ＯＳ
１２        Ｗｅｂブラウザ
１３        コンテンツ表示プラグイン
１４        フレームワークコンテンツ
１５        表示コンテンツ
２０        コントローラ部
２１        ＯＳ
２２        Ｊａｖａ（登録商標）ＶＭ
２３        ＯＳＧｉフレームワーク
２４        ＵＩコントロール部
２５        表示定義部
２６        データ管理部
２７        セッション管理部
２８        ロジック部
３１        コンテンツ管理部
３２        画面管理部
１０１      ＲＯＭ
１０２      ＲＡＭ
１０３      ＣＰＵ
１０４      オペレーションパネル
１３１      通信モジュール
１４１      ベースコンテンツ
１４２      共通部品
１５１      メニューＵＩコンテンツ
１５２      カスタマイズＵＩコンテンツ
１５３      コピーＵＩコンテンツ
１５４      ＦＡＸＵＩコンテンツ
１５５      スキャナＵＩコンテンツ
２０１      ＲＯＭ
２０２      ＲＡＭ
２０３      ＣＰＵ
２０４      スキャナ
２０５      プロッタ
２０６      ＨＤＤ
２４１      ＵＩコントロール部
２４２      ＵＩコントローラ
２８１      メニューロジック
２８２      カスタマイズロジック
２８３      コピーロジック
２８４      ＦＡＸロジック
２８５      スキャナロジック
３１１      タッチパネル
３１２      テンキー
３１３      スタートボタン
３１４      リセットボタン
３１５      機能キー
３１６      初期設定ボタン
１４１１    通信部
１４１２    表示コンテンツ制御部
１４１１ａ  接続クラス
１４１１ｂ  ＸＭＬ変換クラス
１４１２ａ  表示制御クラス
１４１３ａ  中間データクラス
１５０１    操作画面クラス
１５０２    テンプレートクラス
１５０３    表示部品
１５０４    仕様ファイル
１５０５    レイアウトファイル
２４１１    通信部
２４１２    制御部
２４２１    メニューＵＩコントローラ
２４２２    カスタマイズＵＩコントローラ
２４２３    コピーＵＩコントローラ
２４２４    ＦＡＸＵＩコントローラ
２４２５    スキャナＵＩコントローラ
１４１１ａ  接続クラス
１４１１ｂ  ＸＭＬ変換クラス
１４１２ａ  表示制御クラス
１４１３ａ  中間データクラス
２４１１ａ  ＨＴＴＰコネクタクラス
２４１２ａ  イベントコントローラクラス
２４２０ａ  画面動作クラス
２４２１ａ  メニュー画面動作クラス
２４２２ａ  カスタマイズ画面動作クラス
２４２３ａ  コピー画面動作クラス
２４２４ａ  ＦＡＸ画面動作クラス
２４２５ａ  スキャナ画面動作クラス
【図１】
2008147961.tif 000003
【図２】
2008147961.tif 000004
【図３】
2008147961.tif 000005
【図４】
2008147961.tif 000006
【図５】
2008147961.tif 000007
【図６】
2008147961.tif 000008
【図７】
2008147961.tif 000009
【図８】
2008147961.tif 000010
【図９】
2008147961.tif 000011
【図１０】
2008147961.tif 000012
【図１１】
2008147961.tif 000013
【図１２】
2008147961.tif 000014
【図１３】
2008147961.tif 000015
【図１４】
2008147961.tif 000016
【図１５】
2008147961.tif 000017
【図１６】
2008147961.tif 000018
【図１７】
2008147961.tif 000019
【図１８】
2008147961.tif 000020
【図１９】
2008147961.tif 000021
【図２０】
2008147961.tif 000022
【図２１】
2008147961.tif 000023
【図２２】
2008147961.tif 000024
【図２３】
2008147961.tif 000025
【図２４】
2008147961.tif 000026
【図２５】
2008147961.tif 000027