(57)【要約】【課題】プリンタドライバのＵＩの設定項目を、使用性を低下させることなく、インストール前後を問わずに、同じ方法で編集、表示可能とする。【解決手段】ユーザに情報を提供するとともにユーザの入力情報を受け取るための表示部と、その表示部による表示情報を制御する表示制御部とを備え、所定のパラメータとＧＵＩモジュールの生成関数とを依存設定情報として依存設定情報記憶部１９に記憶し、表示制御部１５からの要求により依存設定管理部１６が、依存設定情報記憶部１９から所定のパラメータとＧＵＩモジュールの生成関数とを読み込んで表示制御部１５に渡すと、表示制御部１５は、依存設定管理部１６から受け取ったＧＵＩモジュールの生成関数に所定のパラメータを設定することによってＧＵＩモジュールを生成する。【選択図】        図１
2010067063.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに情報を提供するとともにユーザの入力情報を受け取るための表示部と、
該表示部による表示情報を制御する表示制御部と、
所定のパラメータとＧＵＩモジュールの生成関数とを依存設定情報として記憶する依存設定情報記憶部と、
前記表示制御部からの要求により前記依存設定情報記憶部から前記所定のパラメータと前記ＧＵＩモジュールの生成関数とを読み込んで前記表示制御部に渡す依存設定管理部とを備え、
前記表示制御部が、前記依存設定管理から受け取ったＧＵＩモジュールの生成関数に所定のパラメータを設定することによってＧＵＩモジュールを生成するようにしたことを特徴とする情報処理装置。
【請求項２】
前記ＧＵＩモジュールの生成関数は、画面ごとにその画面を構成するＧＵＩモジュールの一覧であり、前記所定のパラメータには、ＧＵＩモジュールの種類又はタイプ、機能名、およびレイアウト情報が含まれていることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ＧＵＩモジュールの機能名に対応する仕様を管理するプリンタ機能管理部を更に備え、前記表示制御部は、前記生成したＧＵＩモジュールに設定された機能名を基に前記プリンタ機能管理部から該機能名に対応する仕様を取得し、該仕様に合った表示を行うように表示情報を制御することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記依存設定情報記憶部が、当該情報処理装置でのみ書き換え及び利用可能な第１の依存設定情報記憶部であり、さらに当該情報処理装置とネットワークを介して接続された他の情報処理装置からも利用可能な第２の依存設定情報記憶部を備え、
前記依存設定管理部は、前記第１の依存設定情報記憶部の依存設定情報が更新されたと判断した場合には、該第１の依存設定情報記憶部の依存設定情報によって前記第２の依存設定情報記憶部の依存設定情報を更新する機能を有することを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
用語を管理する用語管理部を更に備え、前記表示制御部は、当該情報処理装置の実行環境の地域情報に基づいて前記用語管理部が管理する用語から適切な用語を取得して表示するよう制御する機能を有することを特徴とする請求項１から４のいずれか一項に記載の情報処理装置。
【請求項６】
ユーザインタフェースドライバと、グラフィックドライバと、プリンタドライバデータ記憶部とを有するプリンタドライバを備え、
前記表示制御部と、前記依存設定管理部と、前記第１の依存設定情報記憶部は前記ユーザインタフェースドライバに設けられ、前記第２の依存設定情報記憶部は前記プリンタドライバデータ記憶部に設けられていることを特徴とする請求項４に記載の情報処理装置。
【請求項７】
情報を記憶する記憶手段と、該記憶手段から情報を読み出す読出手段と、表示部に表示させる表示情報を制御する表示制御手段とを備えた情報処理装置における情報処理方法において、
所定のパラメータとＧＵＩモジュールの生成関数とを依存設定情報として前記記憶手段に記憶するステップと、
前記読出手段が前記記憶手段から前記所定のパラメータと前記ＧＵＩモジュールの生成関数とを読み出すステップと、
前記表示制御手段が、前記読出手段が読み出した前記ＧＵＩモジュールの生成関数に前記所定のパラメータを設定することによりＧＵＩモジュールを生成し、該ＧＵＩモジュールに基づいて前記表示部に表示を行わせるように表示情報を制御するステップと
を有することを特徴とする情報処理方法。
【請求項８】
前記ＧＵＩモジュールの生成関数は、画面ごとにその画面を構成するＧＵＩモジュールの一覧であり、前記所定のパラメータには、ＧＵＩモジュールの種類又はタイプ、機能名、およびレイアウト情報が含まれていることを特徴とする請求項７に記載の情報処理方法。
【請求項９】
情報処理装置となるコンピュータを、
所定のパラメータとＧＵＩモジュールの生成関数とを依存設定情報として記憶する記憶手段と、
該記憶手段から前記所定のパラメータと前記ＧＵＩモジュールの生成関数とを読み出す読出手段と、
該読出手段が読み出した前記ＧＵＩモジュールの生成関数に前記所定のパラメータを設定することによりＧＵＩモジュールを生成し、該ＧＵＩモジュールに基づいて前記表示部に表示を行わせるように表示情報を制御させる表示制御手段と
して機能させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、デジタル複合機（ＭＦＰ：Multifunction Peripheral）やデジタル複写機、プリンタ、ファクシミリ装置等の画像形成装置と通信回線を介して接続され、各種情報処理を行う情報処理装置及びその情報処理方法と、その情報処理装置の機能をコンピュータ（ＣＰＵ）に実行させるためのプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、パーソナルコンピュータ等の情報処理装置とプリンタ等の画像形成装置はケーブルを介して直結されるか、あるいはネットワークを介して接続され、互いに通信可能になっている。
【０００３】
このような環境下で、情報処理装置は、例えば文書作成用アプリケーション（アプリケーションソフトウェア）により、表示画面上でキーボード等の操作に応じた文書データ等の印刷データを生成する。そして、キーボード等の操作によって印刷要求がなされると、プリンタドライバ（プリンタドライバプログラム）によりその印刷データを画像形成装置が解読できる言語（ＰＤＬ等）に変換し、その変換した印刷データや印刷条件を含む印刷要求を画像形成装置に送信して印刷を行わせる。
【０００４】
今日では、プリンタの機能は多様化している。その結果、プリンタの設定項目は、他の機器に比べて種類が多く複雑になってきている。これに伴い、プリンタに対して各種要求を行う情報処理装置側のプリンタドライバのユーザインタフェース（ＵＩ：User Interface）もその設定項目が増加しており、複雑になってきている。また、プリンタの機能において、設定によるものであって、課金に関するもの（例えば、モノクロ／カラー、両面／片面、集約）や情報セキュリティに関するものについては、ユーザの使用を制限したり、あるいは強制したいという要求もある。
【０００５】
このような複雑性を減少させ、機能の設定を制限あるいは強制させるために、プリンタドライバのＵＩの設定項目をカスタマイズすることが嘱望され、種々の技術が開発されている。
例えば、特許文献１には、プリンタドライバをインストールせずにＵＩの設定項目をカスタマイズする目的で、各機能に関わるＵＩの設定項目の表示／非表示を制御する技術が開示されている。
【０００６】
【特許文献１】特開２００６−３０９７２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、このような従来技術では、ユーザインタフェース（ＵＩ）の設定項目のレイアウトをデフォルトで定め、カスタマイズ時には機能毎にＵＩの設定項目の表示を消すなどの方法をとっていたため、結果としてユーザインタフェースの設定項目の表示が画面全体で不均一となり、使用性が低下するという問題があった。
【０００８】
この発明は上記の問題を解決するためになされたものであり、プリンタドライバのユーザインタフェースの設定項目のレイアウトを、インストール前後を問わず、同じ方法でカスタマイズ（編集）可能にして、使用性を向上することを目的とする。
【課題を解決するための手段】
【０００９】
この発明による情報処理装置は上記の目的を達成するため、ユーザに情報を提供するとともにユーザの入力情報を受け取るための表示部と、その表示部による表示情報を制御する表示制御部と、所定のパラメータとＧＵＩモジュールの生成関数とを依存設定情報として記憶する依存設定情報記憶部と、上記表示制御部からの要求により上記依存設定情報記憶部から所定のパラメータとＧＵＩモジュールの生成関数とを読み込んで上記表示制御部に渡す依存設定管理部とを備え、上記表示制御部が、上記依存設定管理から受け取ったＧＵＩモジュールの生成関数に所定のパラメータを設定することによってＧＵＩモジュールを生成することを特徴とする。
【００１０】
そのＧＵＩモジュールの生成関数は、例えば画面ごとにその画面を構成するＧＵＩモジュールの一覧であり、所定のパラメータには、例えばＧＵＩモジュールの種類又はタイプ、機能名、およびレイアウト情報等が含まれる。
さらに、上記ＧＵＩモジュールの機能名に対応する仕様を管理するプリンタ機能管理部を更に備え、上記表示制御部は、生成したＧＵＩモジュールに設定された機能名を基に上記プリンタ機能管理部から該機能名に対応する仕様を取得し、該仕様に合った表示を行うように表示情報を制御するようにしてもよい。
【００１１】
また、上記依存設定情報記憶部が、当該情報処理装置でのみ書き換え及び利用可能な第１の依存設定情報記憶部であり、さらに当該情報処理装置とネットワークを介して接続された他の情報処理装置からも利用可能な第２の依存設定情報記憶部を備え、上記依存設定管理部は、上記第１の依存設定情報記憶部の依存設定情報が更新されたと判断した場合には、その第１の依存設定情報記憶部の依存設定情報によって上記第２の依存設定情報記憶部の依存設定情報を更新する機能を有するようにしてもよい。
【００１２】
その場合、ユーザインタフェースドライバと、グラフィックドライバと、プリンタドライバデータ記憶部とを有するプリンタドライバを備え、上記表示制御部と依存設定管理部と第１の依存設定情報記憶部は上記ユーザインタフェースドライバに設けられ、上記第２の依存設定情報記憶部は前記プリンタドライバデータ記憶部に設けられるとよい。
【００１３】
また、この発明による情報処理方法は、情報を記憶する記憶手段（依存設定情報記憶部）と、該記憶手段から情報を読み出す読出手段（依存設定管理部）と、表示部に表示させる表示情報を制御する表示制御手段とを備えた情報処理装置における情報処理方法であり、次の各ステップを有することを特徴とする。
所定のパラメータとＧＵＩモジュールの生成関数とを依存設定情報として上記記憶手段に記憶するステップ。
上記読出手段が上記記憶手段から上記所定のパラメータとＧＵＩモジュールの生成関数とを読み出すステップ。
上記表示制御手段が、上記読出手段が読み出した上記ＧＵＩモジュールの生成関数に上記所定のパラメータを設定することによりＧＵＩモジュールを生成し、該ＧＵＩモジュールに基づいて上記表示部に表示を行わせるように表示情報を制御するステップ。
【００１４】
この発明によるプログラムは、情報処理装置となるコンピュータを、所定のパラメータとＧＵＩモジュールの生成関数とを依存設定情報として記憶する記憶手段（依存設定情報記憶部）と、その記憶手段から上記所定のパラメータとＧＵＩモジュールの生成関数とを読み出す読出手段（依存設定管理部）と、
その読出手段が読み出した上記ＧＵＩモジュールの生成関数に上記所定のパラメータを設定することによりＧＵＩモジュールを生成し、そのＧＵＩモジュールに基づいて上記表示部に表示を行わせるように表示情報を制御させる表示制御手段として機能させるためのプログラムである。
【００１５】
この発明による記録媒体は、上記プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１６】
この発明によれば、情報処理装置におけるプリンタドライバのユーザインタフェース（ＵＩ）の設定項目のレイアウトを、開発部門による機種対応やサービス部門による顧客対応などにおいて、インストールの前後を問わず同じ方法でカスタマイズ（編集）することができ、使用性が向上する。
【発明を実施するための最良の形態】
【００１７】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
ここで、ユーザインタフェース（ＵＩ）とは、コンピュータとその利用者との間で情報をやりとりするためのインタフェースである。表現形式により、ＣＵＩ（Character User Interface）、ＧＵＩ（Graphical User Interface）、ＰＵＩ（Perceptual User Interface）に大別される。これらのうち、ＧＵＩは、コンピュータグラフィックスにより情報を提示し、直感的な操作を促すグラフィック・ユーザインタフェースである。ＧＵＩを実現するソフトウェアモジュールをＧＵＩモジュールという。
【００１８】
〔第１実施例〕
図１は、この発明による情報処理装置の第１実施例の構成を示すブロック図である。
この情報処理装置１は例えばパーソナルコンピュータで実現され、図１の（ａ）に示すように、全体の制御を司るＣＰＵ（Central Processing Unit）等からなる制御部３を備えている。そして、この制御部３は、制御バス８を介して、ＲＯＭ（Read Only Memory）等からなる記憶部４、キーボードやマウス等からなる操作入力部５、通信インタフェース等からなる通信部６、液晶ディスプレイ等からなる表示部７と接続されている。制御部３は、記憶部４に記憶されたアプリケーション９、プリンタドライバ１０を読み出し、オペレーティングシステム（ＯＳ：Operating System）１１上で実行することが可能になっている。
【００１９】
制御部３のプリンタドライバ１０は図１の（ｂ）に示すように、ＵＩドライバ１２、グラフィックドライバ１３、およびプリンタドライバデータ記憶部１４を備えている。
そのＵＩドライバ１２は、印刷時の各種印刷設定に係る印刷設定画面を提供するソフトウェアモジュールである。グラフィックドライバ１３は、アプリケーション９から受け取った文書データを、当該文書データの印刷を行うプリンタが解釈できる印字データに変換するソフトウェアモジュールである。情報記憶手段としてのプリンタドライバデータ記憶部１４は、ＵＩドライバ１２及びグラフィックドライバ１３が各機能を実行するのに必要なデータを保持する。
【００２０】
ＵＩドライバ１２はこの第１実施例の特徴的な部分の一つである。
このＵＩドライバ１２は図１の（ｃ）に示すように、表示制御手段としての表示制御部１５、読出手段となる依存設定管理部１６、用語管理手段としての用語管理部１７、プリンタ機能管理手段としてのプリンタ機能管理部１８、記憶手段としての依存設定情報記憶部１９および用語情報記憶部２０を備えている。
【００２１】
表示制御部１５は、プリンタドライバにおけるユーザインタフェースの設定項目を現在の設定状態に従って生成して表示部７に表示させるように制御する。また、操作入力部５及び表示部７からのユーザによるユーザインタフェースの設定項目の設定変更を受け付け、その設定変更に基づいてユーザインタフェースの設定項目をカスタマイズする。
さらに、この表示制御部１５は、ユーザインタフェースの設定項目の表示を実現するＧＵＩモジュールを、コンボボックス、エディットボックスといった単位で管理する。
【００２２】
依存設定管理部１６は、表示制御部１５からの要求により、依存設定情報記憶部１９の記憶されている依存設定情報を読み出して、それを表示制御部１５に渡す。
依存設定情報記憶部１９には、所定のパラメータとＧＵＩモジュールの生成関数とが依存設定情報として記憶されている。
【００２３】
表示制御部１５は、この依存設定情報に基づきＧＵＩモジュールの初期設定を行う。詳細には、依存設定情報記憶部１９が記憶している依存設定情報では、画面毎に各画面を構成するＧＵＩモジュールの一覧が記述されている。このＧＵＩモジュールの設定には、ＧＵＩモジュールのタイプ（種類）情報、機能名、およびレイアウト情報の設定が含まれる。レイアウト情報とは、座標やサイズ等の情報を含む概念である。
【００２４】
用語管理部１７は、表示制御部１５より要求のあった用語識別子によって識別される用語を用語情報記憶部２０から読み出して、表示制御部１５に供給する。また、実行環境の地域情報に基づいて適切な言語の用語を用語情報記憶部２０より読み出して、表示制御部１５に供給する。用語情報記憶部２０は、用語識別子と用語をペアの情報として保持すると共に地域別の用語を保持している。
プリンタ機能管理部１８は、プリンタの機能名に対応する仕様の情報や性能の情報を管理している。
【００２５】
図２は、図１に示した情報処理装置を用いたネットワークシステムの構成例を示すブロック図である。
このネットワークシステムは、パーソナルコンピュータ等の情報処理装置１が、ＭＦＰやデジタル複写機、プリンタ、ファクシミリ装置等の複数の画像形成装置２とネットワーク３を介して通信可能に接続されている。
【００２６】
このような構成において、情報処理装置１は、図１に示したキーボード等の操作入力部５の操作によって印刷要求がなさると、プリンタドライバ１０により印刷データを画像形成装置２が解読できるＰＤＬ等の言語に変換し、その変換後の印刷データや印刷条件を含む印刷要求をいずれかの画像形成装置２に送信して印刷を行わせる。
【００２７】
図３は、図１に示した情報処理装置によるこの発明の特徴的な処理に関わるシーケンス図である。これは、オペレーティングシステム（ＯＳ）１１からプリンタドライバ１０のＵＩドライバ１２の表示制御部１５に対して、DrvDocumentPropertySheets（関数）の要求（「画面を生成して、そのハンドルを返却せよ」という要求）がなされた際に実行される処理を示している。
【００２８】
ステップＳ１で、オペレーティングシステム（ＯＳ）１１がプリンタドライバ１０のＵＩドライバ１２における表示制御部１５にDrvDocumentPropertySheetsの要求をすると、ステップＳ２で、表示制御部１５が依存設定管理部１６に対して、dcument_property_sheetsの画面名一覧取得要求をする。その際、実際の要求としては”dcument_property_sheets／params.sheet_names”といった、所定のモジュール名とパスを指定する。
【００２９】
そして、ステップＳ３で依存設定管理部１６が、表示制御部１５から要求されたモジュール名とパスに従って、依存設定情報記憶部１９のdocument_property_sheets.jsonから画面名一覧を読み出し（読み込みと同じ）、表示制御部１５へ渡す。図３において取得情報の流れを破線矢印で示す。そのdocument_property_sheets.json（画面名一覧の情報）の記述例を図４に示す。この例では、“sheet1”、“sheet2”、“sheet3”の３つの文字列の配列が表示制御部１５へ返される。ここでは、ＪＳＯＮ形式を例として挙げているが、ＸＭＬやＹＡＭＬでもよい。
【００３０】
ステップＳ４では、表示制御部１５が取得した画面名一覧の名前をもつ画面モジュールを生成し、そのハンドルをＯＳ１１に返す。この画面モジュールには、各画面のプロシージャが含まれている。この例では、sheet1、sheet2、sheet3の３つの画面モジュールが生成される。しかし、各画面を構成するコンボボックスやエディットボックスといたモジュールの生成は行わない。
【００３１】
図５は、図１に示した情報処理装置において、ユーザによってプロパティシート（上記sheet1、sheet2、sheet3の３つの画面モジュールのいずれか）が開かれたときの表示処理に関わるシーケンス図である。ここでは、sheet1が開かれた場合を想定している。
【００３２】
ステップＳ１１で、オペレーティングシステム（ＯＳ）１１がプリンタドライバ１０のＵＩドライバ１２における表示制御部１５に対して、sheet1の画面初期化命令を行う。この要求は、図３で説明したDocumentPropertySheet要求時のシーケンスにおいて登録したsheet1の画面モジュールのプロシージャに対してWM_INITDIALOGのメッセージとしてコールされる。
【００３３】
次にステップＳ１２で、表示制御部１５が依存設定管理部１６に対して、sheet1の画面初期化を依頼する。すると、ステップＳ１３で、依存設定管理部１６が依存設定情報記憶部１９より、sheet1の名前を持つPropertySheetモジュールを読み込む。このsheet1のユーザインタフェースの構成を表すsheet1.jsonの記述例を図６に示す。この例では、タイプ情報“type”、機能名“name”、およびレイアウト情報“config”が設定されている。
【００３４】
ステップＳ１４〜Ｓ１６では、依存設定管理部１６が、sheet1.jsonのモジュール内に定義されたＧＵＩモジュールを順番に生成する。すなわち、ステップＳ１４でduplex のコンボックスを生成し、ステップＳ１５でcopies のスピンボックスを生成し、ステップＳ１６でJobname のエディットボックスを生成する。
【００３５】
より具体的には、依存設定管理部１６には、予めＧＵＩモジュールの機能名とＧＵＩモジュールの生成関数とをペアにして登録している。依存設定管理部１９は、ＪＳＯＮファイルから所定のＧＵＩモジュールの機能名を発見すると、“name”や“config”内に定義された値をパラメータとして、所定の生成関数をコールする。“config”は、主にＧＵＩモジュールのレイアウト情報を含むが、他のパラメータの設定も可能であることは勿論である。
このようにして、表示制御部１５は指定されたＧＵＩモジュールを指定されたパラメータに基づいて生成する。なお、この生成の詳細については後に詳述する。
【００３６】
以上に述べたような一連の処理によれば、DrvDocumentPropertySheetsの要求に基づく処理時に、動的に画面名（シート名）一覧を取得し、初期化時にシートの構成を取得するので、インストール前でもインストール後でも、同様の方法でＪＳＯＮファイルを編集して、ＧＵＩのレイアウト構成（即ち、ＵＩの項目）をカスタマイズすることが可能になる。
【００３７】
次に、上述した情報処理装置１の表示制御部１５によるＧＵＩモジュールの生成について、図７に示すシーケンス図によって詳細に説明する。ここでは、duplexのコンボボックスの生成について説明するが、copiesのスピンボックスやJobnameのエディットボックスの生成についても同様である。
【００３８】
図７におけるステップＳ２１では、依存設定管理部１６が表示制御部１５に対して“duplex”の機能を持つコンボボックスを生成するよう指令する。
表示制御部１５はステップＳ２２で、プリンタ機能管理部１８から“duplex”で識別される機能情報を取得する。図７においても取得情報の流れを破線矢印で示している。このduplexの機能情報の記述例を図８に示す。
【００３９】
表示制御部１５は、図８に示す機能情報の“type”と“pickone” によって、「選択肢」によって与えられる機能であることを認識する。すなわち、選択肢を表すＧＵＩであるコンボボックスを生成可能であると認識する。表示制御部１５はまた、図８に示す機能情報の“elements”から選択肢を表す識別子の一覧を認識する。この例では、“off”，“leftbind”，“topbind”の順番に従ってコンボボックスに選択肢を表示する。また、“current”によって現在選ばれている選択肢を認識する。図８に示すでは”off”が選ばれているのでその値を選択する。さらに、“enabled” によって表示が有効か無効かを認識し、無効（false）であればＧＵＩをグレー表示する。
【００４０】
そこで、表示制御部１５は図７に示すステップＳ２３で、取得した機能情報を表示するために、先に取得した識別子に基づいて用語管理部１７に“duplex”の用語取得を指示する。すると、用語管理部１７がステップＳ２４で表示制御部１５の指示に従って用語情報記憶部２０に問い合わせ、適切な言語が決まると、その言語名と用語識別子とを組み合わせて適切な用語を取得し、それを表示制御部１５に返す。こうして、表示制御部１５は“duplex”の用語を取得する。
【００４１】
表示制御部１５は次にステップＳ２５で、用語管理部１７に“duplex”の“off”の選択肢用語の取得を指示する。すると、用語管理部１７がステップＳ２６で、表示制御部１５の指示に従って用語情報記憶部２０に問い合わせ、適切な言語が決まると、その言語名と用語識別子とを組み合わせて適切な用語を取得し、それを表示制御部１５に返す。こうして、表示制御部１５は“duplex”の“off”の選択肢用語を取得する。
【００４２】
表示制御部１５は次にステップＳ２７で、用語管理部１７に“duplex”の“leftbind”の選択肢用語の取得を指示する。すると、用語管理部１７がステップＳ２８で表示制御部１５の指示に従って用語情報記憶部２０に問い合わせ、適切な言語が決まると、その言語名と用語識別子とを組み合わせて適切な用語を取得し、それを表示制御部１５に返す。こうして、表示制御部１５が“duplex”の“leftbind”の選択肢用語を取得する。
【００４３】
表示制御部１５は次にステップＳ２９で、用語管理部１７に“duplex”の“toptbind”の選択肢用語の取得を指示する。すると、用語管理部１７がステップＳ３０で表示制御部１５の指示に従って用語情報記憶部２０に問い合わせ、適切な言語が決まると、その言語名と用語識別子とを組み合わせて適切な用語を取得し、それを表示制御部１５に返す。こうして、表示制御部１５が“duplex”の“topbind”の選択肢用語を取得する。
【００４４】
この用語情報の記述例を図１１に示す。
用語情報の“default”にはデフォルトの言語を設定する。この例では、“english”が設定されている。“lang_ids”には、各言語にマッチするＷｉｎｄｏｗｓ（登録商標）のＬＡＮＧＩＤの一覧を設定する。用語管理部１７は、ＷｉｎｄｏｗｓにＬＡＮＧＩＤを問い合わせ、各言語からマッチするＩＤを検索する。そして、マッチするものが見つかった場合はその言語を使用し、見つからなかった場合は“default”に設定されている言語を使用する。一度適切な言語が決まったら、その後に用語取得の問い合わせがなされても、その言語を使用する。
なお、この図１１では、用語情報が１つのファイルとして記述されているが、言語毎に分けるようにしてもよい。
【００４５】
このようにして、表示制御部１５は取得した用語と依存設定管理部１６から受けたレイアウト情報とを利用して、ＧＵＩモジュールを生成する。
以上は、duplexコンボボックスの生成についてのシーケンスであったが、copiesのスピンボックスやJobnameのエディットボックスの生成に際しては、以下の機能情報を用いる。
【００４６】
図９は、「数値」によって与えられる機能であるcopiesの機能情報の記述例を示す。
表示制御部１５は、この機能情報の“type”と“value”から「数値」によって与えられる機能であることを認識する。そして、“range”から数値の入力可能範囲を認識する。図９に示す例では、１〜９９９まで入力可能であると認識する。また、“current” から現在選ばれている数値を認識する。この例では「１」が選ばれているのでその値を選択する。さらに、“enabled” から表示が有効か無効かを認識し、無効（false）であればＧＵＩをグレー表示する。図９に示す例では有効（true）になっている。
【００４７】
図１０は、「文字列」によって与えられる機能であるJobnameの機能情報の一例を示す図である。表示制御部１５は、この機能情報の“type”と“pickone” から「文字列」によって与えられる機能であることを認識する。そして、“range”から文字列の入力可能文字数の範囲を認識する。また、“current” から現在選ばれている文字列を認識する。図１０に示す例では“”（ブランク）である。さらに、“enabled”より表示が有効か無効かを認識し、無効であればＧＵＩをグレー表示する。図１０に示す例では、無効（false）となっている。
【００４８】
図８乃至図１０に示した例では、各機能情報がＪＳＯＮ形式で記述されているが、他の形式で記述しても構わないことは勿論である。また、表示制御部１５とプリンタ機能管理部１８の間のインタフェースは、通常関数呼び出しであると考えられるので、Ｃ／Ｃ＋＋の構造体などでもよい。
図１２は、上述した処理により生成されたＧＵＩモジュールに基づいて図１に示した情報処理装置１の表示部７に表示されるグラフィック・ユーザインタフェース（ＧＵＩ）の一例を示す図である。
【００４９】
〔第２実施例〕
次に、この発明による情報処理装置の第２実施例を説明する。その情報処理装置の各部の構成は図１に示した第１実施例と同様であるから、以下の説明においても図１の各部の符号を用いて説明し、第１実施例と重複する説明は省略する。
【００５０】
この第２実施例の情報処理装置は、依存設定情報をプリンタドライバデータ記憶部１４内のこの情報処理装置１でのみ書き換え及び利用可能な第２の依存設定情報記憶部にも記憶させることを特徴としている。従って、Point & Printにおいて、メーカ等に配設されたサーバ側のリモートアクセスにより、ユーザインタフェースのレイアウト情報を外部ファイルによりカスタマイズした場合に、情報処理装置１側でその設定が引き継がれるようになる。この場合、図１に示した依存設定情報記憶部１９は、この情報処理装置１とネットワークを介して接続された他の情報処理装置からも利用可能な第１の依存設定情報記憶部となる。
【００５１】
図１３は、その第２実施例の情報処理装置におけるＵＩドライバ１２の表示制御部１５による依存設定情報更新に関わる処理手順を示すフローチャートである。
ここでは、依存設定情報をプリンタドライバデータ記憶部１４（第２の依存設定情報記憶部）に記憶しておき、通常の使用時にはそのプリンタドライバデータ記憶部１４からデータを取得することを前提としている。
【００５２】
この処理を開始すると、まずステップＳ４１で、図１に示したＵＩドライバ１２の表示制御部１５が、プリンタドライバデータ記憶部１４から依存設定情報の最終更新日時の情報を取得する。
次いで、ステップＳ４２で、第１の依存設定情報記憶部１９における外部ファイルの依存設定情報から最終更新日時の情報を取得する。この外部ファイルの最終更新日時の情報は、オペレーティングシステム（ＯＳ）１１（例えばWindows：登録商標）のアプリケーションプログラム・インタフェース（ＡＰＩ：Application Program Interface）によって取得することができる。
【００５３】
そして、ステップＳ４３で、ステップＳ４１，Ｓ４２で取得した各依存設定情報の最終更新日時のうち、プリンタドライバデータ記憶部１４に記憶されている最終更新日時の方が古いか否か、つまり外部ファイルの依存設定情報が更新されているか否かを判断する。
その結果、プリンタドライバデータ記憶部１４に記憶されている最終更新日時の情報の方が古くない（新しい）と判断した場合には、この処理を終了する。一方、プリンタドライバデータ記憶部１４に記憶されている最終更新日時の情報の方が古いと判断した場合にはステップＳ４４へ進む。
【００５４】
ステップＳ４４では、外部ファイルの依存設定情報をプリンタドライバデータ記憶部１４（第２の依存設定情報記憶部）にコピーする。これにより、依存設定情報が更新される。
そして、ステップＳ４５でプリンタドライバデータ記憶部１４の最終更新日時を変更する。こうして、一連の処理を終了する。
【００５５】
この依存設定情報の更新は、先に第１実施例で説明した図３のステップＳ２におけるdocument_property_sheetsによる画面名一覧取得要求によって、依存設定管理部１６が、依存設定情報記憶部１９から画面名一覧を読み込む際に行うようにしてもよい。
【００５６】
図１４は、その場合の情報処理装置による特徴的な処理に関わるシーケンス図である。ここでは、オペレーティングシステム（ＯＳ）１１より、プリンタドライバ１０におけるＵＩドライバ１２の表示制御部１５に対して、DrvDocumentPropertySheetsによる要求（「画面を生成して、そのハンドルを返却せよ」という要求）がなされた際に実行される処理を示している。さらに、（第１の）依存設定情報記憶部１９の外部ファイルの依存設定情報が更新されていた場合を想定している。
【００５７】
オペレーティングシステム（ＯＳ）１１がステップＳ５１で、プリンタドライバ１０のＵＩドライバ１２における表示制御部１５にDrvDocumentPropertySheetsによる要求を行う。それによって、表示制御部１５はステップＳ５２で依存設定管理部１６に対して画面名一覧を要求する。
この画面名一覧を要求は、”dcument_property_sheets/params.sheet_names”により所定のモジュール名／パスを指定する。
【００５８】
その要求を受けた依存設定管理部１６は、ステップＳ５３でまず依存設定情報の更新を行う。そのため、プリンタドライバデータ記憶部１４と依存設定情報記憶部１９からそれぞれ依存設定情報の最終更新日時の情報を取得する。そして、その依存設定情報の最終更新日時を比較し、プリンタドライバデータ記憶部１４の依存設定情報の最終更新日時の方が古ければ更新がなされていると判断し、プリンタドライバデータ記憶部１４の全依存設定情報を更新する。そして、プリンタドライバデータ記憶部１４の最終更新日時を変更する。
【００５９】
その後、依存設定管理部１６はステップＳ５４で、表示制御部１５から要求されたモジュール名／パスに従って、プリンタドライバデータ記憶部１４の第２の依存設定情報記憶部からdocument_property_sheetsのＪＳＯＮデータの画面名一覧を読み込み、表示制御部１５に返す。このdocument_property_sheets.jsonの記述例は図４に示した通りである。ＪＳＯＮ形式を例として挙げているが、ＸＭＬやＹＡＭＬでもよい。
【００６０】
それによって、表示制御部１５はステップＳ５５で、取得した画面名一覧の名前を持つ画面モジュールを生成し、そのハンドルをオペレーティングシステム（ＯＳ）１１に返す。この画面モジュールには、各画面のプロシージャが含まれている。複数の画面のモジュールを生成するが、画面を構成するコンボボックスやエディットボックスといたモジュールの生成は行わない。このような一連の処理により、画面モジュールが生成される。
【００６１】
図１５は、この第２実施例の情報処理装置において、ユーザによってプロパティシートが開かれたときの表示処理に関わるシーケンス図である。ここでは、sheet1が開かれた場合を想定している。
【００６２】
まず、オペレーティングシステム（ＯＳ）１１がステップＳ６１で、プリンタドライバ１０のＵＩドライバ１２における表示制御部１５に対して、sheet1の画面初期化命令を行う。この要求は、図１４におけるDocumentPropertySheetによる要求時のシーケンスにおいて登録したsheet1の画面モジュールのプロシージャに対して、WM_INITDIALOGのメッセージとしてコールされることになる。
【００６３】
そして、表示制御部１５はステップＳ６２で、依存設定管理部１６に対してsheet1の画面初期化を依頼する。すると、依存設定管理部１６はステップＳ６３で、プリンタドライバデータ記憶部１４よりsheet1の名前を持つPropertySheetモジュールを読み込む。このsheet1のユーザインタフェースの構成を表すsheet1.jsonの記述例は図６に示したとりである。ステップＳ６４〜Ｓ６６の処理は、図５のステップＳ１４〜Ｓ１６と同様であるから説明を省略する。
【００６４】
以上に述べたような一連の処理によれば、DrvDocumentPropertySheetsによる要求に基づく処理時に、動的にシート名一覧を取得し、シート初期化時にそのシートの構成を取得するので、インストール前でもインストール後でも、同様の方法でJSONファイルを編集し、グラフィック・ユーザインタフェース（ＧＵＩ）のレイアウト構成をカスタマイズすることが可能となる。
【００６５】
以上、この発明の第1及び第２実施例について説明した。この発明によれば、ユーザインタフェースのレイアウト情報をテキスト形式で表現し、そのユーザインタフェースのレイアウト情報をユーザインタフェースの表示時に動的に解釈して実行するので、インストール前後を問わず同じ方法で表示することができる。
【００６６】
この発明による情報処理方法は、上述した各実施例において説明したように、情報を記憶する記憶手段（依存設定情報記憶部１９やプリンタドライバデータ記憶部１４）と、その記憶手段から情報を読み出す読出手段（依存設定管理部１６）と、表示部７に表示させる表示情報を制御する表示制御部１５とを備えた情報処理装置１における情報処理方法であり、少なくとも次の各ステップを有する。
ステップ１：所定のパラメータとＧＵＩモジュールの生成関数とを依存設定情報として前記記憶手段に記憶する。
ステップ２：読出手段が記憶手段から所定のパラメータとＧＵＩモジュールの生成関数とを読み出す。
ステップ３：表示制御手段が、読出手段が読み出したＧＵＩモジュールの生成関数に所定のパラメータを設定することによりＧＵＩモジュールを生成し、そのＧＵＩモジュールに基づいて表示部に表示を行わせるように表示情報を制御する。
【００６７】
上記ＧＵＩモジュールの生成関数は、画面ごとにその画面を構成するＧＵＩモジュールの一覧である。また上記所定のパラメータには、ＧＵＩモジュールの種類又はタイプ、機能名、およびレイアウト情報が含まれている。
【００６８】
この発明によるプログラムは、パーソナルコンピユータ等のコンピユータを図１に示した情報処理装置として機能させるためのプログラムである。
そのため、コンピユータを少なくとも次の各手段として機能させるためのプログラムからなる。
１．所定のパラメータとＧＵＩモジュールの生成関数とを依存設定情報として記憶する記憶手段。
２．その記憶手段から所定のパラメータとＧＵＩモジュールの生成関数とを読み出す読出手段。
３．その読出手段が読み出たＧＵＩモジュールの生成関数に所定のパラメータを設定することによりＧＵＩモジュールを生成し、そのＧＵＩモジュールに基づいて前記表示部に表示を行わせるように表示情報を制御させる表示制御手段。
して機能させるためのプログラム。
【００６９】
このプログラムを記録したコンピュータ読み取り可能な記録媒体（フロピーディスク、光ディスク、ＣＤ−ＲＯＭ、メモリカード、メモリスティック、メモリチップ等）も提供する。
【産業上の利用可能性】
【００７０】
この発明による情報処理装置、情報処理方法、プログラム及び該プログラムを記録したコンピュータ読み取り可能な記録媒体は、情報処理装置をプリンタのみならず、ＭＦＰやデジタル複写機、ファクシミリ装置等といった画像形成装置全般とネットワークを介して接続される場合に適用することができる。そして、この発明を適用することにより、カスタマイズされたユーザインタフェースの表示項目が簡易に編集及び表示可能になり、利便性が向上する。
【図面の簡単な説明】
【００７１】
【図１】この発明による情報処理装置の第１実施例の構成を示すブロック図である。
【図２】図１に示した情報処理装置を用いたネットワークシステムの構成例を示すブロック図である。
【図３】図１に示した情報処理装置によるこの発明の特徴的な処理に関わるシーケンス図である。
【図４】図３における画面名一覧の情報の記述例を示す図である。
【図５】図１に示した情報処理装置におけるユーザによってプロパティシートが開かれたときの表示処理に関わるシーケンス図である。
【図６】図５におけるsheet1のＵＩの構成を表すsheet1.jsonの記述例を示す図である。
【図７】図１に示した情報処理装置の表示制御部によるＧＵＩモジュールの生成に関わるシーケンス図である。
【図８】図７における“duplex”の機能情報の記述例を示す図である。
【図９】数値によって与えられる機能である“copies”の機能情報の記述例を示す図である。
【図１０】文字列によって与えられる機能である“Jobname”の機能情報の記述例を示す図である。
【図１１】用語情報の記述例を示す図である。
【図１２】図１に示した情報処理装置の表示部に表示されるグラフィック・ユーザインタフェース（ＧＵＩ）の一例を示す図である。
【００７２】
【図１３】この発明による情報処理装置の第２実施例による依存設定情報更新に関わる処理手順を示すフローチャートである。
【図１４】同じくその第２実施例によるこの発明の特徴的な処理に関わるシーケンス図である。
【図１５】同じくその第２実施例において、ユーザによってプロパティシートが開かれたときの表示処理に関わるシーケンス図である。
【符号の説明】
【００７３】
１：情報処理装置      ２：画像形成装置      ３：制御部      ４：記憶部  
５：操作入力部      ６：通信部      ７：表示部      ８：制御バス  
９：アプリケーション      １０：プリンタドライバ      
１１：オペレーションシステム（ＯＳ）      １２：ＵＩドライバ  
１３：グラフィックドライバ      
１４：プリンタドライバデータ記憶部（第２の依存設定情報記憶部）    
１５：表示制御部      １６：依存設定情報管理部      
１７：用語管理部（読出手段）      １８：プリンタ機能管理部      
１９：依存設定情報記憶部（第１の依存設定情報記憶部）  
２０：用語情報記憶部
【図１】
2010067063.tif 000003
【図２】
2010067063.tif 000004
【図３】
2010067063.tif 000005
【図４】
2010067063.tif 000006
【図５】
2010067063.tif 000007
【図６】
2010067063.tif 000008
【図７】
2010067063.tif 000009
【図８】
2010067063.tif 000010
【図９】
2010067063.tif 000011
【図１０】
2010067063.tif 000012
【図１１】
2010067063.tif 000013
【図１２】
2010067063.tif 000014
【図１３】
2010067063.tif 000015
【図１４】
2010067063.tif 000016
【図１５】
2010067063.tif 000017