(57)【要約】【課題】競合する設定がある場合に設定の調停を可能とする情報処理装置、プログラムおよび記録媒体を提供すること。【解決手段】予め定められた各設定項目の変更可能条件により、各設定項目の値を制御する設定値制御手段１３４と、設定値制御手段から通知される情報を使用して、UI画面を制御するUI制御手段１３３と、第１のUI画面に表示され、前記変更可能条件が成立しない設定項目に対応する第１のUI部品６０１を、当該設定項目が変更不可能であることが認識できるように表示させるとともに、当該設定項目を変更可能にする第２のUI画面を表示させる画面起動手段６０２とを含んでいる。【選択図】図２
2008097409.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた各設定項目の変更可能条件により、各設定項目の値を制御する設定値制御手段と、
前記設定値制御手段から通知される情報を使用して、UI画面を制御するUI制御手段と
第１のUI画面に表示され、前記変更可能条件が成立しない設定項目に対応する第１のUI部品を、当該設定項目が変更不可能であることが認識できるように表示させるとともに、当該設定項目を変更可能にする第２のUI画面を表示させる画面起動手段と、
を含む情報処理装置。
【請求項２】
当該画面起動手段からの指令に応答して、前記変更可能条件の設定項目と、当該設定項目の選択肢に関する情報とを検索し、前記変更可能条件に含まれる設定項目を変更するための第２のUI部品を前記第２のUI画面に表示させる競合調停手段を含む、請求項１に記載の情報処理装置。
【請求項３】
前記競合調停手段は、前記第２のUI部品の操作により前記選択肢が指定されたことに応答して、前記設定値制御手段に対し、当該設定項目の値を前記指定された選択肢の値に変更させる、請求項２に記載の情報処理装置。
【請求項４】
前記設定値制御手段は、前記UI制御手段からの指定に応答して、前記指定された選択肢の値で各設定項目の値を変更する、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記設定値制御手段は、前記指定された選択肢の値を受け取り、前記選択肢の値を検索キーとして、各設定項目の識別情報、各設定項目の値の変更可能条件、各設定項目が取り得る値の選択肢が記載された設定項目記述ファイルの記述内容を取得し、各設定項目の値を変更する、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記設定値制御手段は、前記設定項目記述ファイルにおいて、変更可能条件が記載されていない設定項目について設定変更可能として処理する、請求項５に記載の情報処理装置。
【請求項７】
前記設定項目記述ファイルは、さらに、各設定項目に対応する文字列の識別情報と、各設定項目の選択肢に対応する文字列の識別情報を含み、
前記UI制御手段は、前記文字列の識別情報とそれに対応する文字列が記載された文字列リソース・ファイルを参照して、前記設定値制御手段から通知される文字列の識別情報に対応する文字列をUI画面に表示させる、請求項５または６に記載の情報処理装置。
【請求項８】
前記画面起動手段は、前記第１のUI部品と対応付けが可能な位置に表示される、請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
情報処理装置に対して請求項１〜８のいずれか１項に記載の手段を実現する情報処理装置実行可能なプログラム。
【請求項１０】
請求項９に記載のプログラムを格納する装置可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ・ドライバなどが提供するユーザ・インタフェース技術に関し、より詳細には、競合する設定がある場合に設定の調停を可能とする情報処理装置、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
パーソナル・コンピュータなどの情報処理装置で動作する各種アプリケーション・ソフトウェアからプリンタへプリント出力を行う場合、プリンタ・ドライバが利用されるが、ユーザは、当該プリンタ・ドライバが提供するユーザ・インタフェース（UI）画面を介して、当該プリンタ・ドライバに対して各種設定（例えば、印刷の向きを縦にするか横にするか）を行うことができる。
【０００３】
プリンタ・ドライバの設定項目には様々なものがあるが、その中には、互いに競合関係にある項目も存在する。すなわち、一方の設定状態によっては、他方の設定を変更できない関係にある項目である。例えば、両面印刷をするか否か（ON／OFF）を設定するための項目と、両面ユニット装着の有無を設定するための項目とは、競合関係にある項目になる。なぜなら、両面ユニット装着が「無」となっている場合は、両面印刷を「ON」に設定できないからである。
【０００４】
また、プリンタ・ドライバが提供するUI画面（例えば、ダイアログ・ボックス）においては、一般に、当該UI画面が表示された時点の状態では変更できない設定項目については、当該設定項目に対応するUI部品（例えば、ボタンやチェック・ボックスなど）が灰色に表示（グレイアウト表示）されて、選択できないことがわかるようになっている。
【０００５】
従来、プリンタ・ドライバが提供するUI画面において、設定変更ができなくなっている項目（以下、設定不可項目という）の設定を変更するためには、まず、その設定項目を変更できない状態にしている原因となっている他の設定項目（以下、競合項目という）の設定画面を表示させて、当該競合項目の設定を変更し、再度、元の設定画面に戻って設定変更を行う必要があり、設定変更に手間がかかっていた。
【０００６】
上記の点に関連して、設定変更ができなくなっている理由を表示させる技術が知られている。しかしながら、当該技術だけでは、ユーザは、設定変更ができなくなっている理由はわかっても、設定不可項目を設定変更できるようにするための操作は改善されてはおらず、操作が煩雑なままであるという不都合があった。
【０００７】
なお、特開２００６−１６３９５４号公報には、ユーザ・インタフェースの操作性を向上させるため、設定不可項目や削除された項目に対して、設定不可要因をガイド表示させるプリンタ・ドライバが開示されている。
【０００８】
また、特開２００２-３２８７５７号公報には、特定の項目が設定不可となった理由を表示する機能を、理由検知の漏れなどを発生させることなく実現するため、設定データ間に生じる不整合を回避するためのルールが記述されるコンフリクト処理ルール記述ファイルに、特定のコンフリクト処理ルールの適用後、所定の設定項目の状態を変更不可とするよう指示するための命令と、その命令によって変更不可とされた理由を示す識別子をあわせて記述できるようにした構成が開示されている。
【特許文献１】特開２００６−１６３９５４号公報
【特許文献２】特開２００２−３２８７５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、プリンタ・ドライバなどが提供するUI画面において設定不可項目の設定変更を容易に行えるようにすることにある。
【課題を解決するための手段】
【００１０】
本発明では、第１のUI画面（例えば、印刷設定ダイアログ・ボックス）において、設定変更ができなくなっている設定項目に対応する第１のUI部品（例えば、チェック・ボックス）を、当該設定項目が変更不可能であることが認識できるような態様で表示（例えば、グレイアウト表示）させるとともに、当該設定項目を変更可能にするための第２のUI画面を表示させるための画面起動手段（例えば、所定のグラフィックスやボタン）を表示させる。
【００１１】
ユーザが当該画面起動手段を起動するイベント（例えば、クリック）を入力すると、イベント・ハンドラなどのイベント処理手段がイベントを解析し、競合する設定項目を変更するための第２のUI部品（例えば、リスト・ボックス）を有する競合調停手段を起動させる。競合調停手段は、第２のUI画面が情報処理装置のディスプレイ画面上に提示される。第２のUI画面は、ユーザの指令に応答して設定変更ができなくなっている設定項目を、容易に設定変更可能とする。
【００１２】
すなわち、本発明では、予め定められた各設定項目の変更可能条件により、各設定項目の値を制御する設定値制御手段と、
前記設定値制御手段から通知される情報を使用して、UI画面を制御するUI制御手段と
第１のUI画面に表示され、前記変更可能条件が成立しない設定項目に対応する第１のUI部品を、当該設定項目が変更不可能であることが認識できるように表示させるとともに、当該設定項目を変更可能にする第２のUI画面を表示させる画面起動手段と、
を含む情報処理装置が提供される。
【００１３】
また、情報処理装置は、当該画面起動手段からの指令に応答して、前記変更可能条件の設定項目と、当該設定項目の選択肢に関する情報とを検索し、前記変更可能条件に含まれる設定項目を変更するための第２のUI部品を前記第２のUI画面に表示させる競合調停手段を含むことができる。さらに、前記競合調停手段は、前記第２のUI部品の操作により前記選択肢が指定されたことに応答して、前記設定値制御手段に対し、当該設定項目の値を前記指定された選択肢の値に変更させることができる。前記設定値制御手段は、前記UI制御手段からの指定に応答して、前記指定された選択肢の値で各設定項目の値を変更することができる。
【００１４】
さらに、前記設定値制御手段は、前記指定された選択肢の値を受け取り、前記選択肢の値を検索キーとして、各設定項目の識別情報、各設定項目の値の変更可能条件、各設定項目が取り得る値の選択肢が記載された設定項目記述ファイルの記述内容を取得し、各設定項目の値を変更することができる。また、前記設定値制御手段は、前記設定項目記述ファイルにおいて、変更可能条件が記載されていない設定項目について設定変更可能として処理することができる。
【００１５】
また、前記設定項目記述ファイルは、さらに、各設定項目に対応する文字列の識別情報と、各設定項目の選択肢に対応する文字列の識別情報を含み、前記UI制御手段は、前記文字列の識別情報とそれに対応する文字列が記載された文字列リソース・ファイルを参照して、前記設定値制御手段から通知される文字列の識別情報に対応する文字列をUI画面に表示させることができる。さらに、前記画面起動手段は、前記第１のUI部品と対応付けが可能な位置に表示することができる。
【００１６】
また、本発明では、情報処理装置に対して上記いずれかに記載の手段を実現する情報処理装置実行可能なプログラムが提供される。さらに、本発明では、上記プログラムを格納する装置可読な記録媒体が提供できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を図面に示した実施形態をもって説明するが、本発明は後述する実施形態に限定されるわけではない。
【００１８】
図１は、情報処理装置１００の実施形態を示す。図１に示す情報処理装置１００は、パーソナル・コンピュータまたはワークステーションなどとして構成することができる。情報処理装置１００は、中央処理装置（CPU）、CPUが使用するデータの高速アクセスを可能とするキャッシュ・メモリ、CPUの処理を可能とするRAM、DRAMなどの固体メモリ素子から形成されるシステム・メモリなどを備えている。
【００１９】
情報処理装置１００は、グラフィックス・アプリケーション、ワードプロセッサ・アプリケーションなどのアプリケーションを実行し、その処理結果を、USB、IEEE１２９４などのバスまたはイーサネット（登録商標）などのネットワークを介して、プリンタ、プリンタ・サーバ、MFP(Multi Function Peripheral)などのプリント装置２００にデータ伝送し、印刷を実行させている。
【００２０】
また、情報処理装置１００は、ハードディスクなどの記憶装置を備えており、画像データ、アプリケーション・プログラムなどを格納し、情報処理装置１００の要求に応答して、CPUに利用させている。その他、情報処理装置１００は、ディスプレイ装置、キーボードおよびマウスなどのポインティング・デバイスなどの入力装置を備え、ユーザからの入力を受付け、またユーザに対して処理結果を表示させている。
【００２１】
情報処理装置１００が使用するCPUとしては、より具体的には、例えば、PENTUIM（登録商標）〜PENTIUM（登録商標）IV、PENTIUM（登録商標）互換CPU、POWER PC（登録商標）、MIPSなどを挙げることができる。また、情報処理装置１００は、オペレーティング・システム（OS)として、Windouws（登録商標）2000、Windows（登録商標）XP、Windows（登録商標）200xServer、UNIX（登録商標）、LINUX（登録商標）、Solaris（登録商標）、VxWorks（登録商標）を実装し、各種処理を実行することが可能とされている。
【００２２】
さらに、情報処理装置１００は、GDI(Graphics Device Interface)などのグラフィックスAPIを実装しており、DEVMODE構造体などを使用して印刷処理を実行する。また、情報処理装置１００は、印刷処理のためのプリンタ・ドライバとの間インタフェースする、DDI(Device Driver Interface)を実装し、GDIコールを受付け、DDIコールを実行し、プリンタ・ドライバに、ラスタ・データを含む描画データを、PostScript（登録商標）などを含むPDL(Page
Description Language)形式として作成させている。なお、本発明では、PDLは特定の形式に限定されることはなく、特定のプリンタ仕様に適合したフォーマットを使用することができる。
【００２３】
また、情報処理装置１００は、PJL言語(Printer Job Language)などを実装することができ、情報処理装置１００は、PJL言語を描画データに追加して、プリント装置を制御することができる。また、本発明で、OSとして、Windows（登録商標）シリーズ以外のOSを使用する場合、GDI、DEVMODE構造体をエミュレーションする機能を備えることが好ましい。
【００２４】
図１に示すように、情報処理装置１００上で動作するアプリケーション・ソフトウェア（例えば、ワードプロセッサ・ソフトウェア）１１０に対して、ユーザが作成した文書などの印刷を指示すると、アプリケーション・ソフトウェア１１０は、GDI（Graphics Device Interface）コールによって、文書データなどと、印刷設定データが格納されたDEVMODE構造体を、GDI１２０に渡す。GDI１２０は、DDI（Device Driver Interface）コールによって、文書データおよびDEVMODE構造体をプリンタ・ドライバ１３０の描画部１３１に渡す。
【００２５】
描画部１３１は、GDI１２０から渡されるデータに基づいて、描画処理を行い、描画データを生成する。描画部１３１によって生成された描画データは、PJL（Printer Job Language）などで記述されるプリンタ制御データとともに、スプーラ１４０およびポートモニタ１５０を介して、プリント装置２００に送られ、プリント装置２００によってプリント出力される。
【００２６】
また、本実施形態では、ユーザは、アプリケーション・ソフトウェア１１０に対して印刷指示をする場合に、印刷設定の変更を指令することができる。本実施形態での印刷設定の変更は、プリンタ・ドライバ１３０のユーザ・インタフェース（UI）部（以下、UI部として参照する。）１３２が提供する、UI画面を介して行われる。当該UI画面を介してユーザが印刷設定の変更を指令すると、UI部１３２は、当該指示に従って、プリンタ・ドライバ１３０が管理する印刷設定データを変更する。
【００２７】
図２は、UI部１３２の実施形態を示す。図２に示すように、UI部１３２は、UI制御部１３３と、設定値制御部１３４とを備える。さらに、UI部１３２は、各部が参照するファイルとして、設定項目記述ファイル１３５と、文字列リソース・ファイル１３６とを含んで構成される。設定項目記述ファイル１３５および文字列リソース・ファイル１３６は、例えば、情報処理装置１００が備えるハードディスク装置に格納され、UI部１３２の起動時にシステム・メモリに読込まれる。
【００２８】
設定項目記述ファイル１３５は、プリンタ・ドライバ１３０が設定可能な項目について、その項目に設定できる値や、他の設定項目との関係などが記述されたファイルである。文字列リソース・ファイル１３６は、UI部１３２が提供するUI画面に表示させる文字列を格納したファイルである。文字列リソース・ファイル１３６を変更することにより、UI画面に表示させる文字列の言語を様々な言語（例えば、日本語、英語、フランス語など）に変更することができる。設定値制御部１３４は、設定項目記述ファイル１３５を読み込み、そこに記載されている情報と矛盾がないように、設定項目の値、すなわち設定値を制御するために使用される。
【００２９】
UI制御部１３３は、設定値制御部１３４で管理されている設定項目とその設定値をUI画面に表示させるとともに、ユーザからの指示を受付け、その指示に応じて設定値の変更を設定値制御部１３４に指令する。また、UI制御部１３３は、文字列リソース・ファイル１３６を読込んで、当該ファイル１３６に含まれる文字列を使って、UI画面の表示を行う。
【００３０】
図３は、設定項目記述ファイル１３５に記述される情報の実施形態例を示す。図３に示すように、設定項目記述ファイル１３５には、複数（図３に示した実施形態では３つ）の設定項目３１０〜３３０に関する情報が含まれている。設定項目記述ファイル１３５は、各設定項目３１０〜３３０ごとに、それぞれ設定項目識別値（設定項目ID)、変更可能条件式、選択肢が対応してエントリされている。本発明の他の実施形態では、図３に示した変更可能条件式をエントリ項目から省略することができ、図３の例でも、設定項目３２０、３３０については省略されているのが示されている。また、各設定項目IDと各選択肢には文字列IDが関連付けられている。
【００３１】
設定項目IDは、プリンタ・ドライバ１３０の各設定項目を特定するための識別情報（ID）であり、各設定項目には固有の識別値が割当てられている。図３に示した実施形態では、設定項目３１０の設定項目IDが「DUPLEX」、設定項目３２０の設定項目IDが「DUPLEX_UNIT」、設定項目３３０の設定項目IDが「TRAY」としてエントリされている。本実施形態では、「DUPLEX」は、両面印刷のON/OFFを表す設定項目に割当てられた設定項目IDであり、「DUPLEX_UNIT」は、両面ユニット装着の有無を表す設定項目に割当てられた設定項目IDであり、「TRAY」は、給紙トレイを表す設定項目に割当てられた設定項目IDを示す。
【００３２】
変更可能条件式は、各設定項目に対して、必要に応じて記述されるものであり、各設定項目が変更可能か否かを判断するための条件を示す設定条件を与える。なお、本実施形態では、変更可能条件式が省略、すなわち該当エントリ項目がnullである、または省略されたことを陽に示す値が記述されていると判断された場合、変更可能条件判断がTRUEであると設定する。すなわち、変更可能条件式が省略された設定項目については、常に設定変更が可能と判断する。
【００３３】
図３に示した実施形態では、設定項目３１０に対して変更可能条件式が設定されており、当該変更可能条件式（(DUPLEX_UNIT=ON)AND(TRAY≠MANUAL)）は、設定項目ID「DUPLEX_UNIT」を有する設定項目の設定値が「ON」であり、かつ、設定項目ID「TRAY」を有する設定項目の設定値が「MANUAL」ではない場合に、設定変更可能であることを示している。
【００３４】
各設定項目IDおよび各選択肢に関連付けられる文字列IDは、対応する設定項目や選択肢をUI画面に表示させる際に使用される文字列を特定するための識別情報として使用される。UI制御部１３３は、設定値制御部１３４から渡される文字列IDを、検索キーとして、文字列リソース・ファイル１３６を検索し、当該文字列IDに対応する文字列を取得してUI画面に表示させる。
【００３５】
図４は、文字列リソース・ファイル１３６に記述される情報の例を示す図である。図４に示すように、文字列リソース・ファイル１３６では、文字列IDと文字列とが対応付けられて記述されている。例えば、図４に示した例では、文字列ID「DUPLEX」には、文字列「両面」が対応付けられており、文字列ID「DUPLEX_UNIT」には、文字列「両面ユニット」が対応付けられている。この場合、UI制御部１３３は、設定値制御部１３４から文字列ID「DUPLEX」を渡されると、UI画面の該当位置に文字列「両面」を表示させ、文字列ID「DUPLEX_UNIT」を渡されると、UI画面の該当位置に文字列「両面ユニット」を表示させる。
【００３６】
図５は、設定項目記述ファイル１３５を設定値制御部１３４が読込んだときのメモリ上での情報のマッピングの実施形態を示す。図５に示すように、設定項目記述ファイル１３５は、設定値制御部１３４によって読込まれると、複数のテーブルに展開された形式で情報処理装置１００のメモリ（ＲＡＭ）に格納される。図５に示した例では、設定項目記述ファイル１３５は、６つのテーブル５００〜５５０に分けて展開されており、各テーブルには、固有のテーブル識別値（ID)「０００」〜「００５」が割当てられている。
【００３７】
テーブルIDが「０００」のテーブル５００は、基本となる基本テーブルであって、各設定項目について、設定項目IDと、変更可能条件式と、選択肢と、文字列IDが格納される。基本テーブル５００は、また、エントリされた値のルックアップにより、変更可能条件式および選択肢の内容を与える他のテーブルにマッピングするため、対応する各テーブルのテーブルIDをエントリ項目として保有している。
【００３８】
テーブルID「００１」のテーブル５１０は、図３に示した設定項目３１０の変更可能条件式を表すテーブルであり、当該テーブルは、変更可能条件式が、当該変更可能条件式を構成するトークンに分割されて格納されている。なお、当該テーブルにおいては、各トークンの種類を示す情報も、各トークンに対応付けられて格納される。図５に示した実施形態では、説明の便宜上、「括弧」、「設定項目ID」、「値」などのように文字列でトークンの種類を表している。しかしながら、他の実施形態では、例えば、トークンの種類ごとに異なる数値を割当てて（例えば、「括弧」に「１」、「設定項目ID」に「２」など）、当該数値を格納することもできる。
【００３９】
テーブルID「００２」のテーブル５２０は、図３に示した設定項目３２０および３３０の変更可能条件式を表すテーブルである。すなわち、当該テーブルは、変更可能条件式が省略された設定項目に対して作成されるテーブルである。当該テーブルにおいては、トークンとして、「TURE」が、その種類を示す情報（この場合「値」）とともに格納されている。
【００４０】
テーブルID「００３」〜「００５」のテーブル５３０〜５５０は、図３に示した各設定項目３１０〜３３０の選択肢を表すテーブルであり、各テーブル５３０〜５５０は、各設定項目が取りうる値（選択肢）と、各値に対応する文字列IDが格納されている。図示した実施形態では、テーブルID「００３」のテーブル５３０の場合、選択肢として「ON」および「OFF」が、それぞれに対応する文字列ID「DUPLEX_ON」および「DUPLEX_OFF」とともに格納されている。一方、テーブルID「００４」のテーブル５４０の場合、選択肢として「ON」および「OFF」が、それぞれに対応する文字列ID「EQUIPPED」および「NOT_EQUIPPED」とともに格納されている。
【００４１】
図６は、UI制御部１３３が情報処理装置１００の表示装置に表示させるUI画面（印刷設定ダイアログ・ボックス）の実施形態を示す。本実施形態では、プリンタ・ドライバ１３０の設定が、給紙トレイが手差し（MANUAL）で、両面ユニットが装着済み（ON）という設定になっているものとする。この場合、図３に示した設定項目記述ファイル１３５にしたがうと、設定項目３１０（設定項目ID「DUPLEX」）の変更可能条件式が成立しないことになる（FALSE(偽)となる）ので、当該設定項目は、設定不可項目になる。そのため、図６に示したUI画面６００においても、当該設定項目に対応するUI部品（すなわち、「両面／製本」チェック・ボックス）６０１は、グレイアウト表示されて選択できないようになっている。
【００４２】
さらに、UI制御部１３３は、設定不可項目に対応するUI部品６０１の近くに、グラフィッカル・ユーザ・インタフェース(GUI)（以下、「ｉマーク」という）６０２を表示させる。図６に示したｉマークは、本実施形態での画面起動手段を提供し、対応する設定不可項目を変更可能にするためのUI画面（後述する図９参照）を起動・表示させる。なお、本実施形態では、画面起動手段は、情報処理装置１００のディスプレイ画面上に表示され、後述する競合調停手段を起動することを示すグラフィカル・ユーザ・インタフェース(GUI)であれば、アイコンでも良く、オンライン・ヘルプでも良い。
【００４３】
図７は、ユーザが図６に示したｉマーク６０２をクリックしたときの情報処理装置１００処理のフローチャートの実施形態を示す。図７に示すように、ユーザが、両面／製本チェック・ボックス６０１の横に表示されたｉマーク６０２をクリックすると（Ｓ７０１）、UI制御部１３３は、設定値制御部１３４に、ｉマーク６０２に対応する設定項目の設定項目ID「DUPLEX」を引数とする競合項目取得要求を発行する（Ｓ７０２）。
【００４４】
設定値制御部１３４は、当該要求を受けると、競合項目一覧を作成して、UI制御部１３３に返す（Ｓ７０３）。競合項目一覧は、通知された設定項目IDに対応する設定項目と競合する設定項目の一覧であり、競合項目の設定項目IDと、その文字列IDとを対応させた配列データまたはベクトル・データとして構成することができる。
【００４５】
図８は、UI制御部１３３から競合項目取得要求を受取った場合に、設定値制御部１３４の処理のフローチャートの実施形態である。図８に示すように、設定値制御部１３４は、まず、UI制御部１３３から通知された設定項目IDをキーとして図５に示したテーブル５００を検索し、当該設定項目IDに対応する変更可能条件式を表すテーブルのテーブルIDを取得する（Ｓ８０１）。例えば、図７に示したように、UI制御部１３３から通知される設定項目IDが「DUPLEX」の場合、テーブルID「００１」が取得される。
【００４６】
次に、設定値制御部１３４は、取得したテーブルIDに対応するテーブルから、種類が「設定項目ID」であるトークンをすべて取得する（Ｓ８０２）。すなわち、変更可能条件式に含まれる設定項目IDをすべて読出す。例えば、図５に示した実施形態のテーブル５１０の場合は、「DUPLEX_UNIT」および「TRAY」が読出される。
【００４７】
次に、設定値制御部１３４は、以下の処理で使用する変数ｉと、処理結果を格納する配列Ｒを初期化（i=1,R=φ）する（Ｓ８０３）。
【００４８】
次に、設定値制御部１３４は、変更可能条件式に含まれるものとして取り出されたｉ番目の設定項目IDを検索キーとしてテーブル５００を検索して、当該設定項目IDに対応する文字列IDを取得する（Ｓ８０４）。例えば、処理対象の設定項目IDが「DUPLEX_UNIT」の場合、文字列ID=「DUPLEX_UNIT」が取得される。
【００４９】
次に、設定値制御部１３４は、処理対象の設定項目IDと、対応する文字列IDとを組として、配列データＲに格納し、次の処理対象を指し示すよう変数ｉをインクリメントする（Ｓ８０５）。
【００５０】
次に、設定値制御部１３４は、未処理の設定項目IDがあるか否かを判定し（Ｓ８０６）、未処理の設定項目IDがある場合は（Ｓ８０６：Ｙｅｓ）、次の処理対象について上述した処理Ｓ８０４〜Ｓ８０６を繰り返す。
【００５１】
そして、変更可能条件式から取り出されたすべての設定項目IDについて処理を終了すると（Ｓ８０６：Ｎｏ）、設定値制御部１３４は、処理結果を格納した配列ＲをUI制御部１３３に返し（Ｓ８０７）、処理を終了する。
【００５２】
以上のようにして、UI制御部１３３から通知される設定項目IDに対応する設定項目と競合する設定項目の一覧が作成され、UI制御部１３３に返されることになる。
【００５３】
以上のようにして作成された競合項目一覧を設定値制御部１３４から受取ると、UI制御部１３３は、図７に示すように、受取った競合項目一覧に含まれている各設定項目について、各設定項目IDを引数とする選択肢取得要求を設定値制御部１３４に発行する（Ｓ７０４，Ｓ７０６）。当該要求に対して、設定値制御部１３４は、各設定項目の選択肢一覧を作成して、UI制御部１３３に返す（Ｓ７０５，Ｓ７０７）。
【００５４】
設定値制御部１３４は、選択肢取得要求をUI制御部１３３から受取ると、まず、引数として通知される設定項目IDを検索キーとしてテーブル５００を検索して、当該設定項目IDに対応する選択肢を表すテーブルのテーブルIDを取得する。そして、当該テーブルIDを有するテーブルを参照して、当該設定項目の選択肢とその文字列IDとを対応させたからなる配列データまたはベクトル・データを作成し、選択肢一覧としてUI制御部１３３に送り返す。
【００５５】
UI制御部１３３は、選択肢一覧を使用して競合状態を調停する処理を実行する。UI制御部１３３は、競合状態を調停するために、設定値制御部１３４から、競合項目一覧に含まれているすべての設定項目について選択肢一覧を受取ると、競合状態を解消させるためのUI画面を表示させる。当該UI画面は、競合項目の一覧を表示させるものであり、競合項目の設定値を変更できるように、競合項目の設定値を変更するためのUI部品（例えば、リスト・ボックス）が表示される。
【００５６】
図９は、本実施形態での競合調停手段の実施形態を示す。図９に示した競合調停手段は、UI制御部１３３によって情報処理装置１００の表示装置に表示されるGUIとして提供される。図９に示すように、競合調停手段９００には、第２のUI部品の実施形態である、リスト・ボックスが表示されている。図９に示した実施形態では、第２のUI部品に「両面印刷」のON／OFFを設定する設定項目の競合項目として「給紙トレイ」および「両面ユニット」が、リスト・ボックス内に表示されている。
【００５７】
また、競合調停手段９００は、各項目の現在の設定値を表す文字列として「手差しトレイ（マルチ）」および「装着済み」を表示している。なお、他の実施形態では、第２のUI部品は、プルダウン・メニュー、ラジオ・ボタン、チェック・ボックス、オンライン・ヘルプなどとして構成させることができる。
【００５８】
再度図７の処理に戻って説明すると、ユーザに対して図９に示したUI画面が表示された場合、ユーザは、リスト・ボックスを操作して、「給紙トレイ」の設定値を「トレイ１」に変更し（Ｓ７０８）、「OK」ボタンをクリックすると（Ｓ７０９）、UI制御部１３３は、図９に示したUI画面を閉じるとともに、設定値制御部１３４に対して、「給紙トレイ」の設定値を「トレイ１（TRAY1）」に変更するよう要求する（Ｓ７１０）。当該要求を受付けると、設定値制御部１３４は、設定項目「給紙トレイ」の設定値を「MANUAL」から「TRAY1」に変更する。
【００５９】
さらに、UI制御部１３３は、設定値制御部１３４に対して、設定項目ID「DUPLEX」を引数とする設定変更可否の問合わせを行う（Ｓ７１１）。当該問い合わせを受けると、設定値制御部１３４は、引数として通知された設定項目IDに対応する変更可能条件式が成立しているか否かを判定する。この場合、設定項目「給紙トレイ」の設定値が「トレイ１」に変更されたことにより、設定項目ID「DUPLEX」の変更可能条件式が成立する（TRUE(真)となる）と判断されるように実装されているので、変更可能である旨（TRUE）をUI制御部１３３に通知する。当該通知を受けると、UI制御部１３３は、変更可能になった設定項目に対応するUI部品を選択可能であることを表示させる。
【００６０】
図１０は、図９に示した競合調停手段９００のGUIを表示したUI画面から、ユーザが「給紙トレイ」を選択し、設定の変更を指令するイベントとして、「OK」ボタンをクリックした後に表示されるUI画面上に表示されるGUI（印刷設定ダイアログ・ボックス）の実施形態を示す。
【００６１】
図１０に示すように、GUI１０００においては、図６でレイアウト表示されていた両面／製本チェック・ボックス１００１が選択可能であることがユーザに通知できるように表示されている。
【００６２】
以上説明したように、情報処理装置１００は、プリンタ・ドライバ１３０のUI部１３２が提供するUI画面において、設定不可項目に対応するUI部品の近くに、当該設定不可項目を設定変更可能とするためのUI画面（競合状態解消用UI画面）を表示させるための画面起動手段（ｉマーク）が表示され、当該画面起動手段を選択（クリック）すると、競合項目の設定変更が行えるUI画面（競合状態解消用UI画面）が表示されるので、ユーザは、設定不可項目の設定変更を容易に行うことができるようになる。
【００６３】
なお、上述した実施形態における各機能は、アセンブリ言語、Ｃ、Ｖｉｓｕａｌ  Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、C＃、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなど、レガシーブログラミング言語やオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。
【００６４】
これまで本発明を図面に示した実施形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【００６５】
【図１】情報処理装置１００の印刷処理をシーケンスの実施形態を示した図。
【図２】UI部１３２の実施形態を示した図。
【図３】設定項目記述ファイル１３５に記述される情報の実施形態を示した図。
【図４】文字列リソース・ファイル１３６に記述される情報の実施形態を示した図。
【図５】設定項目記述ファイル１３５を設定値制御部１３４が読込んだときのメモリ上での情報の展開の実施形態を示した図。
【図６】UI制御部１３３が表示させるUI画面（印刷設定ダイアログ・ボックス）の実施形態を示した図。
【図７】図６のｉマーク６０２をクリックした場合の処理のフローチャートの実施形態を示した図。
【図８】UI制御部１３３から競合項目取得要求を受取った場合に設定値制御部１３４において実行される競合項目一覧作成処理でのフローチャートの実施形態を示した図。
【図９】UI制御部１３３によって表示される競合調停手段９００の実施形態を示した図。
【図１０】図９に示したUI画面によって競合状態を解消させた後にUI画面上に表示されるGUI（印刷設定ダイアログ・ボックス）の実施形態を示した図。
【符号の説明】
【００６６】
１００…情報処理装置、１１０…アプリケーション・ソフトウェア、１２０…GDI（Graphics Device Interface）、１３０…プリンタ・ドライバ、１３１…描画部、１３２…UI部、１３３…UI制御部、１３４…設定値制御部、１３５…設定項目記述ファイル、１３６…文字列リソース・ファイル、１４０…スプーラ、１５０…ポートモニタ、２００…プリント装置、６００…UI画面、６０１…UI部品、６０２…画面起動手段、９００…競合調停手段、１０００…GUI、１００１…チェック・ボックス
【図１】
2008097409.tif 000003
【図２】
2008097409.tif 000004
【図３】
2008097409.tif 000005
【図４】
2008097409.tif 000006
【図５】
2008097409.tif 000007
【図６】
2008097409.tif 000008
【図７】
2008097409.tif 000009
【図８】
2008097409.tif 000010
【図９】
2008097409.tif 000011
【図１０】
2008097409.tif 000012