(57)【要約】【課題】  現在表示中のＵＩ画面の設定情報を取得して、設定不可から設定許可状態とする次の操作をメッセージで表示することである。【解決手段】  ＰＤＵＩＣＭ２０４２がユーザインタフェース画面に設定不可状態で表示されているコントロールがカーソルで指示されていることを検出する（Ｓ５０４）。そして、ＰＤＵＩＣＭ２０４２がＵＩ画面で設定されている現在の設定情報を取得してコンフリクトエンジンに入力する。コンフリクトエンジンは、カーソルで指示されているコントロールの優先度を変更すると、ＰＤＵＩＣＭ２０４２が設定可能なコントロールに遷移させるための更新設定情報を取得して（Ｓ５０５）、ＰＤＵＩＣＭ２０４２が取得された更新設定情報に基づいて、設定不可状態のコントロールを設定可能なコントロールに遷移させるための操作指示メッセージを表示する（Ｓ５０６）特徴とする。【選択図】  図５
2008059484.tif 000002
【特許請求の範囲】
【請求項１】
周辺デバイスを制御する情報処理装置であって、
前記周辺デバイスを制御するための複数の設定項目に対応づけられた各コントロールを含むユーザインタフェース画面を表示する表示制御手段と、
各コントロール間のコンフリクト状態を判別して、前記ユーザインタフェース画面に表示すべき設定情報を生成するコンフリクト処理手段と、
前記ユーザインタフェース画面に設定不可状態で表示されているコントロールがカーソルで指示されていることを検出する検出手段と、
前記検出手段により前記カーソルを検出した場合、前記ユーザインタフェース画面で設定されている現在の設定情報を取得して前記コンフリクト処理手段に入力し、前記コンフリクト手段により前記カーソルで指示されているコントロールの優先度を変更して、設定可能なコントロールに遷移させるための更新設定情報を取得する取得手段とを備え、
前記表示制御手段は、前記取得手段により取得された前記更新設定情報に基づいて、前記設定不可状態のコントロールを設定可能なコントロールに遷移させるための操作指示メッセージを前記ユーザインタフェース画面上に表示することを特徴とする情報処理装置。
【請求項２】
前記周辺デバイスは、スキャナ、プリンタ、複合機を含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記表示制御手段は、前記取得手段により取得された前記更新設定情報に基づいて、前記設定不可状態のコントロールを設定可能なコントロールに遷移させるための操作指示メッセージを前記ユーザインタフェース画面上の特定位置に表示することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記特定位置は、表示中のユーザインタフェース画面枠内となる位置であることを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記特定位置は、表示中のユーザインタフェース画面枠外となる位置であることを特徴とする請求項３記載の情報処理装置。
【請求項６】
前記ユーザインタフェース画面は、複数のタブシートで構成され、
前記表示制御手段は、前記取得手段により取得された前記更新設定情報に基づいて、現在表示中のタブシートとは異なるタブシートに遷移して、前記設定不可状態のコントロールを設定可能なコントロールに遷移させるための操作指示メッセージを前記ユーザインタフェース画面上に表示することを特徴とすることを特徴とする請求項１記載の情報処理装置。
【請求項７】
周辺デバイスを制御する情報処理装置におけるドライバ処理方法であって、
前記周辺デバイスを制御するための複数の設定項目に対応づけられた各コントロールを含むユーザインタフェース画面を表示する表示制御工程と、
各コントロール間のコンフリクト状態を判別して、前記ユーザインタフェース画面に表示すべき設定情報を生成するコンフリクト処理工程と、
前記ユーザインタフェース画面に設定不可状態で表示されているコントロールがカーソルで指示されていることを検出する検出工程と、
前記検出工程により前記カーソルを検出した場合、前記ユーザインタフェース画面で設定されている現在の設定情報を取得して前記コンフリクト処理手段に入力し、前記コンフリクト手段により前記カーソルで指示されているコントロールの優先度を変更して、設定可能なコントロールに遷移させるための更新設定情報を取得する取得工程とを備え、
前記表示制御工程は、前記取得工程により取得された前記更新設定情報に基づいて、前記設定不可状態のコントロールを設定可能なコントロールに遷移させるための操作指示メッセージを前記ユーザインタフェース画面上に表示することを特徴とするドライバ処理方法。
【請求項８】
前記周辺デバイスは、スキャナ、プリンタ、複合機を含むことを特徴とする請求項７記載のドライバ処理方法。
【請求項９】
前記表示制御工程は、前記取得工程により取得された前記更新設定情報に基づいて、前記設定不可状態のコントロールを設定可能なコントロールに遷移させるための操作指示メッセージを前記ユーザインタフェース画面上の特定位置に表示することを特徴とする請求項７記載のドライバ処理方法。
【請求項１０】
前記特定位置は、表示中のユーザインタフェース画面枠内となる位置であることを特徴とする請求項９記載のドライバ処理方法。
【請求項１１】
前記特定位置は、表示中のユーザインタフェース画面枠外となる位置であることを特徴とする請求項９記載のドライバ処理方法。
【請求項１２】
前記ユーザインタフェース画面は、複数のタブシートで構成され、
前記表示制御工程は、前記取得工程により取得された前記更新設定情報に基づいて、現在表示中のタブシートとは異なるタブシートに遷移して、前記設定不可状態のコントロールを設定可能なコントロールに遷移させるための操作指示メッセージを前記ユーザインタフェース画面上に表示することを特徴とすることを特徴とする請求項７記載のドライバ処理方法。
【請求項１３】
請求項７〜１２のいずれかに記載のドライバ処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項１４】
請求項７〜１２のいずれかに記載のドライバ処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺デバイスをユーザインタフェース画面を介して設定される項目に基づいて制御する情報処理装置におけるドライバ処理に関するものである。
【背景技術】
【０００２】
近年、情報処理装置と印刷装置とが通信して印刷処理を行うデータ処理システムにおいて、情報処理装置にインストールされているプリンタドライバは、ユーザからの要望やプリンタの高機能化に伴い、様々な処理が行えるよう多機能化されている。
【０００３】
しかし、その反面、ユーザの観点からすると、プリンタに対する機能が多すぎて、何の機能をどのように設定すればよいかわからないことも少なくない。
【０００４】
特に、情報処理装置のプリンタドライバが表示装置に提供するユーザインタフェース（ＵＩ）画面上で、現在の印刷設定の内容に基づいて表示されている機能の設定を制限する場合がある。例えば、現在オプション装置が接続されていないため、オプション機能の設定を有効としてしまうと、不整合な設定となることを防止させるように制御している。
【０００５】
このため、ユーザは、例えばプリンタドライバが提供する印刷設定画面上の全機能のうち、グレイアウト表示されている（UI上で選択不可能状態になっている）機能を使用したい場合、他のどの機能を変更すべきか判断できず、ユーザが望む印刷設定が困難な場合があった。
【０００６】
そして、上記印刷設定画面上で選択不可能状態になっているボタン（機能）をユーザに設定させるために、下記特許文献１は、情報処理装置が表示装置上で表示しているマウスカーソル等が選択不可能状態になっているボタンの上に存在したことを検出した場合、そのボタン選択を無効にする理由に関するヘルプメッセージを表示する制御を行うことが開示されている。
【特許文献１】特開平１１−７３２６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した特許文献１では、印刷設定画面上に配置されるボタン毎にあらかじめ用意されている固定のメッセージしか表示できない。
【０００８】
つまり、従来のプリンタドライバが提供する印刷設定画面において、１つの設定に連動して他の設定が競合するような設定関係を要因として、印刷設定を制限するような制御が実行されていなかった。
【０００９】
そのため、ユーザが設定する操作に連動して、必ずしも的確なメッセージをユーザに提示出来るとは限らず、プリンタの機能や特定のデバイスオプション（ステイプルフィニッシャー等）でデバイス毎に設定状況が異なる場合等に、表示されたメッセージに対して、ユーザが正しい操作を行うことが困難になる場合があった。
【００１０】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、周辺デバイスのＵＩ画面に対する指示状態を検出して、現在表示中のＵＩ画面の設定情報を取得して、設定不可から設定許可状態とする次の操作をメッセージで表示する仕組みを提供することである。
【課題を解決するための手段】
【００１１】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
【００１２】
周辺デバイスを制御する情報処理装置であって、
前記周辺デバイスを制御するための複数の設定項目に対応づけられた各コントロールを含むユーザインタフェース画面を表示する表示制御手段と、
各コントロール間のコンフリクト状態を判別して、前記ユーザインタフェース画面に表示すべき設定情報を生成するコンフリクト処理手段と、
前記ユーザインタフェース画面に設定不可状態で表示されているコントロールがカーソルで指示されていることを検出する検出手段と、
前記検出手段により前記カーソルを検出した場合、前記ユーザインタフェース画面で設定されている現在の設定情報を取得して前記コンフリクト処理手段に入力し、前記コンフリクト手段により前記カーソルで指示されているコントロールの優先度を変更して、設定可能なコントロールに遷移させるための更新設定情報を取得する取得手段とを備え、
前記表示制御手段は、前記取得手段により取得された前記更新設定情報に基づいて、前記設定不可状態のコントロールを設定可能なコントロールに遷移させるための操作指示メッセージを前記ユーザインタフェース画面上に表示することを特徴とする。
【００１３】
上記目的を達成する本発明のドライバ処理方法は以下に示す構成を備える。
【００１４】
周辺デバイスを制御する情報処理装置におけるドライバ処理方法であって、
前記周辺デバイスを制御するための複数の設定項目に対応づけられた各コントロールを含むユーザインタフェース画面を表示する表示制御工程と、
各コントロール間のコンフリクト状態を判別して、前記ユーザインタフェース画面に表示すべき設定情報を生成するコンフリクト処理工程と、
前記ユーザインタフェース画面に設定不可状態で表示されているコントロールがカーソルで指示されていることを検出する検出工程と、
前記検出工程により前記カーソルを検出した場合、前記ユーザインタフェース画面で設定されている現在の設定情報を取得して前記コンフリクト処理手段に入力し、前記コンフリクト手段により前記カーソルで指示されているコントロールの優先度を変更して、設定可能なコントロールに遷移させるための更新設定情報を取得する取得工程とを備え、
前記表示制御工程は、前記取得工程により取得された前記更新設定情報に基づいて、前記設定不可状態のコントロールを設定可能なコントロールに遷移させるための操作指示メッセージを前記ユーザインタフェース画面上に表示することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、周辺デバイスのＵＩ画面に対する指示状態を検出して、現在表示中のＵＩ画面の設定情報を取得して、設定不可から設定許可状態とする次の操作をメッセージで表示することができる。
【発明を実施するための最良の形態】
【００１６】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００１７】
＜システム構成の説明＞
〔第１実施形態〕
図１は、本発明の第実施形態を示す情報処理装置を適用可能なデータ処理システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ,ＷＡＮ等のネットワークを介して接続され、処理が行われるシステムであっても本発明を適用できることは言うまでもない。なお、本実施形態では、周辺デバイスとして、プリンタ１５００の例を示すが、周辺デバイスは、プリンタに限らず、周辺デバイスは、プリンタ、複合機、通信機器（ＴＡ）を含む。
【００１８】
また、後述するプリンタドライバ、ＰＤＵＩＣＭ等は、ＣＤ−ＲＯＭ等のメディアを介して情報処理装置にインストールされるものであってもよい。
【００１９】
また、メーカーのホームページの専用ページからダウンロードして、あるいはバージョンアップの際にダウンロードされてインストールされる構成であってもよい。なお、本システム例は、ホストコンピュータ３０００とプリンタ１５００が双方向インタフェース２１で通信可能なシステム例である。
【００２０】
図１に示すホストコンピュータ３０００おいて、ＲＯＭ３は、プログラム用ＲＯＭ、フォントＲＯＭ、データＲＯＭから構成される。
【００２１】
外部メモリ１１には、文書処理プログラム等に基づいて、以降で後述される各実施形態に係わる制御手順を含む、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理およびそれに基づく印刷処理の実行を制御する各種の制御プログラムが記憶されている。外部メモリ１１には、プリンタドライバ、オペレーティングシステムプログラム（ＯＳ）、各種のアプリケーションが記憶されている。アプリケーション、ＯＳ、プリドライバが、ＲＡＭ２の所定の領域にロードされて、ＣＰＵ１により実行される。ＣＰＵ１は、システムバス４に接続される各デバイスを総括的に制御する。
【００２２】
また、ＲＯＭ３のプログラム用ＲＯＭには、ＣＰＵ１のＢＩＯＳ等の基本Ｉ／Ｏプログラム等が記憶されている。
【００２３】
また、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等が記憶されている。
【００２４】
さらに、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データが記憶されている。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００２５】
キーボードコントローラ（ＫＢＣ）５は、キーボード９やマウス３０１等のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０による表示を制御する。また、ＣＲＴコントローラ６に代えて、ＬＣＤディスプレイを制御するＬＣＤコントローラであってもよい。
【００２６】
また、ＣＲＴＣ６は、ＣＲＴ１０に表示されるマウスカーソルの表示をＫＢ９あるいはポインティングデバイスであるマウス３０１の操作に合わせて表示を制御している。
【００２７】
また、ＣＲＴＣ６は、ＣＲＴ１０に表示される印刷設定画面（ＵＩ）上の指示座標を監視して、アプリケーションやプリンタドライバが提供する各種のウインドウのＣＲＴ１０に対するウインドウ表示を制御する。
【００２８】
７はディスクコントローラ（ＤＫＣ）を示し、ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。
【００２９】
外部メモリ１１には、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ２０４１）等を記憶している。
【００３０】
プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェース（インタフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。
【００３１】
なお、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００３２】
ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含む後述するプリンタドライバ２０４１に対する印刷処理方法の設定を行うことができるように構成されている。
【００３３】
プリンタ１５００において、プリンタＣＰＵ（ＣＰＵ）１２は、システムバス１５に接続される各デバイスを総括的に制御される。ＣＰＵ１２は、ＲＯＭ１３に記憶された制御プログラム等、あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に印刷出力情報としての画像信号を出力する。
【００３４】
なお、外部メモリ１４は、常設ではなく、オプション接続される場合もある。外部メモリ１４は、図示しない機能設定画面において、ボックス領域を確保して、予約ジョブ等の登録を行えるように構成されている。
【００３５】
また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等が記憶される。また、ＲＯＭ１３のフォント用ＲＯＭには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶される。
【００３６】
また、ＲＯＭ１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタの場合には、コンピュータ上で利用される情報等が記憶されている。
【００３７】
ＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理が可能となっている。これにより、プリンタ１５００内の情報（例えばステータス情報）等をホストコンピュータ３０００に通知できる。ここで、ステータス情報とは、用紙切れ、用紙ジャム、トナー残量等を含む。さらに、プリンタ１５００に装備されているオプション装置の情報等もホストコンピュータ３０００に通知される。ここで、オプション装置とは、両面ユニット、排紙オプションユニット等が含まれる。
【００３８】
ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能するＲＡＭである。また、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００３９】
外部メモリ１４は、前述したハードディスク（ＨＤ）で構成され、ＩＣカード等のメモリコントローラ（ＭＣ）２０によりアクセスを制御される。
【００４０】
外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【００４１】
また、ホストコンピュータ３０００から受信した予約ジョブを記憶したり、ユーザ設定されたボックス領域に送信された印刷ジョブやファイルを記憶したりすることが可能に構成されている。また、ユーザあるいはグループ認証処理に必要なユーザＩＤ、グループＩＤ等のセキュリティ情報も記憶可能に構成されている。また、システム管理権限を設定可能な場合には、システム管理者の管理情報も記憶可能に構成されている。
【００４２】
また、１５０１は操作パネルで、操作のためのスイッチおよびＬＥＤ表示器等である。なお、操作パネル１５０１は、プリンタ１５００の構成によって、ＬＣＤディスプレイとタッチパネルとが一体となる操作表示ユニットとして構成される場合もある。
【００４３】
また、プリンタ１５００は図示しないＮＶＲＡＭを有し、操作パネル１５０１からの、ユーザ設定されたプリンタモード設定情報を記憶するようにしてもよい。
【００４４】
印刷部１７は本実施形態では電子写真方式のエンジンで構成される場合を示す。従って、印刷部１７において、印刷データはトナーのドットによって最終的に紙などの媒体上に記録される。なお、本発明における印刷の方式はこのような電子写真方式に限られないことはもちろんである。例えば、インクジェット方式など、ドットを形成して印刷を行ういずれの方式の印刷装置にも本発明を適用することができる。
【００４５】
（ソフトウエア構成）
図２は、図１に示したホストコンピュータ３０００のＲＡＭ２上のメモリマップの一例を示す図である。
【００４６】
本例は、所定のアプリケーションおよびプリンタ１５００およびプリンタ１５００を制御対象とする印刷処理関連プログラムを起動して、ホストコンピュータ３０００上のＲＡＭ２にロードされた状態のＲＡＭ２のメモリマップ例である。
【００４７】
図２において、ＲＡＭ２には、図示のごとくＢＩＯＳ２０６、ＯＳ２０５をはじめ、アプリケーション２０１、印刷処理関連プログラム２０４、および関連データ２０３がロードされており、さらに空きメモリ２０２も確保されている。
【００４８】
これにより、アプリケーション２０１および印刷処理関連プログラム２０４はＣＰＵ１がマウス等の指示に基づいて実行可能状態にある。
【００４９】
印刷処理関連プログラム２０４におけるプリンタドライバＵＩ制御モジュール（以下、ＰＤＵＩＣＭと記す）２０４２は、ユーザによる印刷設定指令に応じてＣＲＴ１０に印刷設定画面を表示しユーザからの設定を可能にする。
【００５０】
図３は、図２に示したＰＤＵＩＣＭ２０４２が提供する印刷設定画面（ＵＩ画面）の一例を示す図である。本例は、仕上げ、給紙を設定するＵＩ画面例である。
【００５１】
図３において、[仕上げ]タブ４０１は、印刷の仕上げ処理に関連する欄を集めたタブシート、[給紙]タブ４０２は印刷の給紙設定に関連する欄を集めたタブシートである。
【００５２】
[印刷方法]欄４０３は、印刷レイアウトを指定する欄であり、ユーザは例えば、片面印刷４０５、両面印刷４０６、製本印刷４０７のコントロールを備える。そして、マウスに連動するカーソルＫを操作して、いずれかに対応するラジオボタンＲＢ１〜ＲＢ３をマウス３０１でクリックすることでいずれかの印刷方法を指定することができる。
【００５３】
排紙方法欄４０４は、印刷済み記録媒体の出力順序および仕上げについて指定する欄であり、ユーザは例えば、ステイプル４０８をチェックボックスで指定できる。現在、片面印刷４０５がＯＮで、ステイプル４０８がＯＮで、コンフリクトが発生していない状態である。すなわち、片面印刷４０５に対して、本実施形態のプリンタ１５００ｄでは、機能として、片面印刷で、ステイプル設定は、設定可能な機能である状態を示している。
【００５４】
本実施形態で、ステイプルとは、印刷部１７が部単位で用紙を出力し、仕上げとして各部毎にステープラで自動的に止めることを指す。
【００５５】
なお、本実施形態では、上述したように、ユーザ設定可能項目を「プリンタ機能」または単に「機能」と呼ぶ。
【００５６】
この他にも多くのプリンタ機能を有する（もちろん[給紙]タブにも機能は存在する）が、図３に示すＵＩ画面上では、説明の簡略化のため省略する。
【００５７】
ここで、ユーザにとって不都合と思われる設定の組み合わせ、意味の無い設定の組み合わせ、すなわち設定値間の不整合（コンフリクト）は、ＰＤＵＩＣＭ２０４２により、コンフリクト処理として回避されるように設計される。
【００５８】
例えば各機能に対応したコンフリクト処理テーブルを、外部メモリ１４またはＲＯＭ１３に記憶させて、図４に示すコンフリクトエンジン３０６がカーソルＫで指示された機能に連動して、コンフリクト判定処理を実行してコンフリクト処理を回避する制御を行う。なお、コンフリクト処理テーブルは、後述するコンフリクトルールを保持している。なお、コンフリクトルールは、ドライバの更新処理等により内容が構成可能に構成されている。
【００５９】
図４は、図１に示したホストコンピュータ３０００のモジュールと入力デバイスとの関係を説明するブロック図である。なお、図１と同一のものには同じ符号を付してある。
【００６０】
本例は、実施形態におけるホストコンピュータ３０００のＲＡＭ２上にロードされた、印刷処理関連プログラム２０４のＰＤＵＩＣＭ２０４２およびＯＳ２０５と、入力機器０との対応を示したものである。
【００６１】
キーボード９マウス３０１の入力機器０からの入力は、上述したようにキーボードコントローラ５に制御され、ＯＳ２０５へ入力される。
【００６２】
３０２は、ＯＳ２０５に設けられたイベント処理部であり、ＫＢＣ５を介した入力機器３００からのイベント情報を受け、プリンタドライバＵＩ３０５に関連するイベント情報をプリンタドライバＵＩ３０５に伝える。
【００６３】
なお、図２に示したＰＤＵＩＣＭ２０４２は、プリンタドライバＵＩ３０５とコンフリクトエンジン（ＣＥ）３０６によって構成される。
【００６４】
プリンタドライバＵＩ３０５は、印刷設定画面表示制御を行うＰＤＵＩＣＭ２０４２におけるメインプログラムとして機能する。
【００６５】
３０４は、プリンタドライバＵＩ３０５の設定情報を制御するウインドウ情報データ処理部（ＷＩＤ）であり、後述する図６に示す、例えばＵＩ設定値の取得や、ウインドウ表示更新処理をＯＳ２０５へ依頼する処理を行う。
【００６６】
３０３はメッセージ表示処理部で、イベント処理部３０２からのイベント情報と、ウインドウ情報データ処理部３０４のUI設定情報から、ユーザに対するメッセージを図１に示したＣＲＴ１０に表示させる制御を行う。
【００６７】
コンフリクトエンジン３０６は、プリンタドライバＵＩ３０５からＵＩ設定値を入力として受け取り、入力されたＵＩ設定値を内部的に保持しているコンフリクトルールに沿って更新を行い、プリンタドライバＵＩ３０５へ更新されたＵＩ設定値を返す、ＰＤＵＩＣＭ２０４２における処理モジュールとして機能する。
【００６８】
また、本実施形態においては、ＵＩ設定値と共に、任意の機能の情報を、コンフリクトエンジン３０６への入力とすることで、任意の機能の優先度を変更したコンフリクトルールに基づいて、ＵＩ設定値の更新処理を行えるように構成されている。
【００６９】
なお、ＣＥ３０６の、コンフリクトルールはメモリに保持されている。そして、プリンタ１５００の現在の選択可能な機能において、例えば機能Ａ（ＯＮ）←Ｂ（ＯＮ），Ｃ（ＯＦＦ）のようにルール化されている場合を考える。この場合、機能Ｂがオンで、かつ、機能Ｃがオフの場合は、機能Ａをオンにする等のように定義されているものとする。この機能ＡからＣとは、排紙ルールや、印刷ルール、給紙ルール等に対応するものである。
【００７０】
図５は、図２に示した印刷処理関連プログラム２０４のプリンタドライバＵＩ制御モジュール２０４２の機能構成を示す図である。
【００７１】
図５において、９０３は、各モジュール間のデータの受け渡しやデータの更新等を管理してコンフリクト処理を統括するコンフリクトマネージャである。９０６が、印刷設定画面の表示制御を行うプリンタドライバＵＩである。９０１は、不整合回避戦略を示すコンフリクト処理ルールを記述したコンフリクト処理ルール記述ファイルである。９０２は、コンフリクト処理ルール記述ファイル９０１をロードして、入力された設定値に対してコンフリクト処理ルールを適用し、各機能の状態を推論する推論エンジンである。９０４は、各プリンタ機能の状態をリスト形式で表示する状態変数リストであり、ユーザからの入力およびコンフリクト処理ルール記述ファイル９０１の内容に基づき更新され得る。９０５は、プリンタドライバＵＩ９０６が提供する画面表示の基になる帳票としての内部構造体であり、状態変数リスト９０４と連動して各プリンタ機能の状態を所定の形式で表示する。
【００７２】
その後に、プリンタドライバＵＩ９０６を介してユーザからの設定情報を受け取ったコンフリクトマネージャ９０３は、コンフリクト処理ルール記述ファイル９０１を参照する。このことは、図示の如くコンフリクト処理ルール記述ファイル９０１からコンフリクトマネージャ９０３に向かう矢印で、「R(Read)」として表示されている。参照の結果、設定情報がコンフリクト処理ルールに適合する場合、コンフリクト処理が適用される。そうして、コンフリクトマネージャ９０３は、状態変数リスト９０４および内部構造体９０５を更新してプリンタドライバＵＩ９０６に反映させる。この更新作業については、図示の如くコンフリクトマネージャ９０３が、状態変数リスト９０４および内部構造体９０５とそれぞれ双方向矢印で結ばれ、「R/W (Read/Write)」として表示されている。
【００７３】
図６は、図５に示した各モジュールで扱われるデータの関連を説明する模式図である。図６において、コンフリクト処理ルール記述ファイル９０１は、推論エンジン９０２にインクルード（ロード）されたかたちで参照される。このコンフリクト処理ルール記述ファイル９０１は、コンフリクトマネージャ９０３にも参照され、それを受けて状態変数リスト９０４が変更されることになる。また、内部構造体９０５と状態変数リスト９０４とは先に述べたとおり連動表示されるものであるから、互いにマッピングされる関係にある。そしてこの状態がプリンタドライバＵＩ９０６の制御によってユーザに見えるかたちで表現される。
【００７４】
次に、実施形態におけるコンフリクト処理ルールの適用手順を説明する。ここでは一例として、プリンタ１５００を制御するためのプリンタドライバ２４０１によってＣＲＴ１０に各種設定用に表示されるプリンタドライバＵＩ上で行われるコンフリクト処理を説明する。
【００７５】
この処理は、ＯＳもしくはアプリケーション上で、ユーザがキーボード９などによりプリンタドライバＵＩを開く指示をすることで始まる。ユーザによるプリンタドライバＵＩを開く指示により、ＯＳ２０５の管理の下、ＲＡＭ２に印刷処理関連プログラム２０４がロードされる。印刷処理関連プログラムがＲＡＭ２にロードされると、まずプリンタドライバＵＩを開くための初期化処理が行われる。推論エンジン９０２は、図７に例示するような表記のコンフリクト処理ルールを記述したファイル９０１をコンフリクトマネージャ９０３を介して、ＲＡＭ２の中に読み込む。
【００７６】
図７、図８は、図６に示した推論エンジン９０２が読み込むコンフリクト処理ルール記述ファイル９０１の一例を示す図である。
【００７７】
コンフリクト処理ルール記述ファイル９０１に記述される各ルールは、論理（ロジック）を用いて数学的に形式化される。述語は、「プリンタ機能名（引数）」の形で記述される。引数としては、ON/OFFの他、数値が入る場合もある（例えば、印刷部数等）。本明細書では、このような引数の内容によって現在の状態が表現されうる機能を「状態変数」とよぶ。つまり、各ルールは「状態変数」を用いた論理式で記述される。具体的には、左辺には「プリンタ機能名（引数）」を、右辺には左辺が成り立つための論理条件を記述し、記号「:-」で関係づける。例えば、
A(ON) :- B(ON).
は、「プリンタ機能Bの状態がONのときは、プリンタ機能Aの状態をONとする」という意味のルールになる。
【００７８】
また、式中の記号「,」は「かつ（AND）」の意味で用いられる。例えば、「プリンタ機能Bの状態がON、かつ、プリンタ機能Cの状態がOFFのとき、プリンタ機能Aの状態をONとする」というルールは、
A(ON) :- B(ON), C(OFF).
と記述される。
【００７９】
ここで例えば、コンフリクト処理ルール記述ファイル２０１に、次のようなコンフリクト処理ルールが記述されていたとする。
【００８０】
A(ON) :- B(ON), C(OFF).
状態変数リスト９０４には、図６に示すように、コンフリクト処理ルール記述ファイル９０１に記述されたプリンタの機能名Ａ，Ｂ，Ｃがそれぞれ同名の状態変数として同図中の「キー」欄に記述される。また、各状態変数の現在値（ＯＮ／ＯＦＦなど）が、「値」欄に記述される。ここでは、プリンタ機能名Ａ，Ｂ，Ｃに対応するプリンタドライバＵＩの内部構造体９０５のメンバをそれぞれ ａ，ｂ，ｃで表現する。内部構造体９０５は内部もしくは外部に初期値をもっており、状態変数の値は対応する内部構造体９０５のメンバの初期値に依存する。ａの初期値は０なので、対応する状態変数Ａの値はＯＦＦとなっている。
【００８１】
また、状態変数リスト９０４は、図６に示すように、後述する各ルールの適用順序に関する遅延フラグと遅延情報を持ち、これらによってそれぞれ自分自身が遅延情報を持つかどうか、他の遅延情報を持つかどうかが保存される。詳細は後述する。
【００８２】
推論エンジン９０２はコンフリクトマネージャ９０３からコンフリクト処理ルール記述ファイル９０１を渡され、状態変数の推論を行ってコンフリクト処理ルールの評価を行う。状態変数Ｂの値がＯＮであり、かつ、状態変数ＣがＯＦＦであったときは上記のコンフリクト処理ルールの右辺の評価が成立し、左辺の状態変数Ａの値をＯＮに変更する。コンフリクト処理ルールの推論が終了すると、コンフリクトマネージャ９０３は変更された状態変数の値をプリンタドライバＵＩの内部構造体９０５の対応するメンバａに反映させる。つまり、状態変数Ａの値がＯＦＦからＯＮになったことで、内部構造体９０５のメンバａは上記のコンフリクト処理ルールが成立したことによって、０から１に変更される。
【００８３】
ここで、コンフリクト処理ルール記述ファイル９０１に、図７のようなコンフリクト処理ルールが記述されており、これをコンフリクトマネージャ９０３が推論エンジン９０２に渡すとする。推論エンジン９０２はコンフリクト処理ルール記述ファイル９０１を、記述された順に従って自身の持つ待ち行列に追加し、評価を開始する。
【００８４】
推論エンジン９０２は自身の待ち行列の先頭から、コンフリクト処理ルールを取り出す。すなわち、まず図７の１２０１で示されるルール
A(ON) :- B(OFF), wait([C]).                       （1201）
が取り出される。
【００８５】
次に、取り出したルールの右辺に制御記号「wait」が含まれているか否かを判断する。この制御記号「wait」は当該ルールの他のルールに対する適用優先度の情報を表す。１２０１のルールにはこの「wait」が含まれている。このように右辺に「wait」の記号があったときは、図７に示すように、「wait」で指定された状態変数Ｃに対し状態変数リスト９０４における遅延フラグを「TRUE」とするとともに、左辺に対応する状態変数Ａに対し遅延情報として「Ｃ」を記述する。これにより状態変数Ａは状態変数Ｃが先に評価されるのを待っていることが示される。
【００８６】
次に、右辺から「wait」を取り除いたルールを生成する。すなわち、１２０１のルールから、
A(ON) :- B(OFF).                        （1203）
が生成される。そして、この１２０３のルールを待ち行列の最後に挿入する。
【００８７】
その後、処理を戻して、次のコンフリクト処理ルール、すなわち、１２０２で示されるコンフリクト処理ルール
B(OFF) :- C(ON).                       （1202）
を待ち行列から取り出し、右辺に「wait」の記号が含まれているか否かを判断する。この場合には右辺に「wait」は存在しないので、右辺の評価を行う。推論エンジン９０２は、左辺の状態変数Ｂにおける遅延情報が状態変数Ｃに結び付けられているかどうかを判定する。しかしこの例では、１２０２のルールの左辺にある状態変数Ｂには状態変数Ｃに関する遅延情報はないので、式の評価を行う。推論エンジン９０２は式を評価し、１２０２のルールに従い、状態変数Ｃの値をコンフリクトマネージャ９０３に問い合わせた後、状態変数Ｃの値がＯＮであれば状態変数Ｂの値をＯＦＦにする。そして、状態変数Ｃの遅延フラグを「FALSE」に変更し、状態変数Ｃに関する処理が終わったことを示す。
【００８８】
次に、待ち行列にルールがあるかどうかをチェックする。ここで待ち行列にルールがなくなればこの処理を終了することになるが、この例では、１２０１のルールから「wait」を取り除いたルール１２０３が待ち行列の最後に挿入されたので、処理は最初に戻り、ルール１２０３を取り出す。この場合、ルール１２０３の右辺に「wait」は存在しないので、右辺の評価を開始する。次に、左辺の状態変数Ａにおける遅延情報が状態変数Ｃに結び付けられているかどうかを判定する。この例では、先ほどの前提でルール１２０１の左辺にある状態変数Ａの遅延情報が状態変数Ｃに結び付けられているので処理を進める。
【００８９】
次に、「wait」が付いた状態変数のルールをすべて評価したかどうかを検査する。すなわち、状態変数Ａに結び付けられた遅延情報の状態変数Ｃが評価されたかどうかを確認する。ここで、すべて評価されていないときは次に進むが、この例では、ルール１２０２を評価した際に状態変数Ｃから遅延フラグが下りていることから、すべて評価されていると判断される。このとき、状態変数Ａの遅延情報を削除し、その後、式を評価する。
【００９０】
なお、コンフリクト処理ルールの記述順や評価を行う過程によっては、「wait」のない状態変数Ｃの評価がすべて終了したことを判定できない場合があり得る。そのような場合には無限ループに陥ってしまい処理を終了できないことになる。そこで、処理が最初に戻った回数をカウントしておき、そのカウント値が所定回数を超えると、待ち処理をあきらめて、強制的に処理進めるようにすることで、無限ループに陥ることを防止することが好ましい。
【００９１】
さて、図８に示したコンフリクト処理ルール１２１１，１２１１の例と図７のコンフリクト処理ルール１２０１、１２０２の例とを比較する。すると、図８のコンフリクト処理ルールでは、記述順にルールが評価される場合には、状態変数ＢがＯＮだったときとＯＦＦだったときで、状態変数Ａの値が異なってしまう。しかし、図７に示したような「wait」の記述によりルールの適用順序を制御することで、状態変数Ａが不定になることを防止できる。
【００９２】
図９は、本実施形態を示す情報処理装置における第１のデータ処理手順の一例を示すフローチャートである。本例は、ＣＰＵ１によって実行されるＰＤＵＩＣＭ２０４２によるＵＩ制御手順例である。本処理は、ユーザが入力機器３００を操作して、プリンタドライバＵＩに指示を行うため、設定不可な機能上にマウス等のカーソルＫが存在した際に、メッセージをＣＲＴ１０上にＵＩ画面表示する際に実行される。
【００９３】
なお、Ｓ５０１〜Ｓ５０６は各ステップを示す。また、各ステップは、図２に示した印刷処理関連プログラム２０４をＣＰＵ１がＲＡＭ２にロードして実行することで実現される。
【００９４】
Ｓ５０１で、ホストコンピュータ３０００のＲＡＭ２にロードされたＰＤＵＩＣＭ２０４２が実行される。
【００９５】
この時、ＰＤＵＩＣＭ２０４２が実行されている間、プリンタドライバＵＩが開かれる毎に、プリンタドライバＵＩ上で設定不可状態の機能のコンピュータ画面上での位置情報を取得してＲＡＭ２上に保持する。
【００９６】
または、ＰＤＵＩＣＭ２０４２が実行されている間、プリンタドライバＵＩのタブシートが変更される毎に、プリンタドライバＵＩ上で設定不可状態の機能のコンピュータ画面上での位置情報を取得してＲＡＭ２上に保持する。
【００９７】
なお、ここで、設定不可状態の機能とは、ＰＤＵＩＣＭ２０４２が表示可能な項目であって、グレイ表示している項目に対応する。特に、グレイ表示している項目の機能は、現在選択されている機能に対して、設定不可状態であることを表示している。より具体的には、印刷方法として、製本印刷を選択した場合に、排紙方法として、ステイプルは設定不可な項目であることをグレイ表示している。
【００９８】
この表示画面において、従来は、着目している設定不可の項目に対して、次に何の項目を設定すれば、現在着目している項目の設定不可状態が解消されるのかを判別できなかった。
【００９９】
そこで、本実施形態では、後述する図５に示す制御手順を実行することで、ステイプルに対して、印刷方法に対して現在選択されている項目である「製本印刷」以外を選択させるために、「印刷方法」を変更してくだいさいをＣＲＴ１０に表示する制御を以下の手順に基づいて行う。
【０１００】
次に、Ｓ５０２では、入力機器３００を介して、図３に示すようなプリンタドライバＵＩに対するユーザからの操作を待機する。そして、Ｓ５０３で、入力機器３００からイベント入力がなされるのを待機する。そして、入力機器３００に対するイベント入力がなされていない間は、Ｓ５０２へ戻る。
【０１０１】
例えばイベント処理部３０２がプリンタドライバＵＩに関連するイベントではないと判断した場合、Ｓ５０２のプリンタドライバＵＩに対してのユーザ操作待ち状態になる。
【０１０２】
一方、Ｓ５０３で、入力機器３００からイベント入力があったと判断した場合は、Ｓ５０４へ進む。
【０１０３】
そして、入力されたイベントがＫＢＣ５を介して、ＯＳ２０５に対する処理要求であるか、プリンタドライバＵＩに関連するイベントかどうか、イベント処理部３０２が判断を行う。
【０１０４】
そして、プリンタドライバＵＩに関連するイベントが入力されたと判断した場合、Ｓ５０４で、イベント処理部３０２は、入力されたイベントがプリンタドライバＵＩ上の設定不可な機能上にカーソルＫが存在するかどうかを判断する。
【０１０５】
具体的には、プリンタドライバＵＩ上で設定不可な項目上にカーソルＫが存在するかにより判断する。
【０１０６】
そして、カーソルＫが設定不可な項目上に存在しないと判断した場合は、Ｓ５０２に戻り、プリンタドライバＵＩに対してのユーザ操作待ち状態になる。
【０１０７】
一方、Ｓ５０４で、設定不可な項目上にカーソルＫが存在すると判断した場合は、カーソルＫは、プリンタドライバＵＩ上で、グレイ表示されている項目上に位置している状態にある。
【０１０８】
そこで、Ｓ５０５でプリンタドライバＵＩの設定値情報と、カーソルＫが存在する設定不可の機能とから、設定不可の機能が設定できたとする（設定不可が解消されるとき）場合に対応する、更新されたプリンタドライバＵＩの設定値情報を取得する処理を実行する。
【０１０９】
図１１に示すＵＩ画面例でいうと、取得される設定値情報とは、設定不可の「ステイプル」に対して、現在の印刷方法の設定である「製本印刷」以外の印刷方法を選択すべきメッセージを表示するための情報に対応する。
【０１１０】
そして、Ｓ５０６で、ＣＲＴ１０上にメッセージ表示処理を行い、本処理を終了する。なお、Ｓ５０５、Ｓ５０６の詳細については後述する。
【０１１１】
これにより、ユーザは、プリンタドライバＵＩ上に表示している現在のカーソルＫの位置に対応する設定に対する詳細な状況を画面上で確認することができる。このメッセージ表示からユーザは、印刷方法を現在の製本印刷以外の印刷方法を選択すればよいことを容易に判別できる。
【０１１２】
図１０は、本実施形態を示す情報処理装置における第２のデータ処理手順の一例を示すフローチャートである。本例は、ＣＰＵ１によって実行されるＰＤＵＩＣＭ２０４２によるＵＩ制御手順例である。本処理は、図５に示したＳ５０５の詳細手順に対応する。
【０１１３】
なお、Ｓ５０５１〜Ｓ５０５４は各ステップを示す。また、各ステップは、図２に示した印刷処理関連プログラム２０４をＣＰＵ１がＲＡＭ２にロードして実行することで実現される。
【０１１４】
図１１は、図１に示したＣＲＴ１０に表示されるプリンタドライバＵＩの第１のメッセージ表示画面の一例を示す図である。本画面はＷＩＤ３０４、ＭＤ３０３とＣＥ３０６との協働処理に基づいて実行される。
【０１１５】
Ｓ５０５１で、ＷＩＤ３０４が現時点でのＵＩ設定値情報をプリンタドライバＵＩ上で表示している情報から取得する（仮にこの際に取得したＵＩ設定値情報をＵＩ設定値Ｉ１とする）。
【０１１６】
また、取得したＵＩ設定値Ｉ１は、ＷＩＤ３０４によりＵＩ設定の変更が行われない限り、現在の設定値として保持してもよい。
【０１１７】
そして、Ｓ５０５２で、ＷＩＤ３０４がＣＲＴ１０上に表示されるプリンタドライバＵＩ画面上の着目機能、すなわちカーソルＫの下に存在する設定不可（グレイアウト）状態の機能（「ステイプル」）に対しての情報を取得する。
【０１１８】
例えばＳ５０５１で、図１１に示すプリンタドライバＵＩ上で、マウスによりカーソルＫの直下に存在する排紙方法欄４０４のステイプル４０８のコントロールについて、「ＯＮ／ＯＦＦの設定が可能なチェックボックス」である構成情報を取得し、Ｓ５０５２で、現在の設定値である「ＯＦＦ」を取得する。ここで、「ＯＦＦ」とは、ステイプルが設定不可（グレイアウト）状態であることを意味する。また、この設定値をＵＩ設定値情報Ｉ１と呼ぶ。
【０１１９】
そして、Ｓ５０５３で、ＷＩＤ３０４が取得したＵＩ設定値情報Ｉ１と設定不可状態の機能の情報から、機能を変更した際のＵＩ設定値を求め、図４に示したＣＥ３０６へ入力する。
【０１２０】
また、ＣＥ３０６へＵＩ設定値を入力する際には、着目機能の設定値（図１１に示す例では、ステイプル「ＯＦＦ］）も入力することで、現在カーソルＫが指示している着目機能の優先度を最大に変更したコンフリクトルール（ＣＥ３０６に保持される）によって、ＵＩ設定の更新を行う。
【０１２１】
ここで、現在カーソルＫが指示している着目機能の優先度を最大に変更するとは、本実施形態で一例を示すと、グレイ表示されている設定不可の状態を設定可能の項目とし、設定可能な状態とするように表示状態を更新することに対応する。なお、更新処理例は、ＣＥ３０６に対して、設定不可の状態を設定可能とするように着目している項目の優先度を最大に変更する指示を与えると、ＣＥ３０６がコンフリクトルールに基づいて算出する。
【０１２２】
そして、Ｓ５０５４で、コンフリクトエンジン３０６によって更新されたＵＩ設定値情報Ｉ２を取得する。なお、本実施形態では、ＣＥ３０６から取得するＵＩ設定値情報を、仮にＵＩ設定値情報Ｉ２として説明する。
【０１２３】
図１２は、本実施形態を示す情報処理装置における第３のデータ処理手順の一例を示すフローチャートである。本例は、ＣＰＵ１によって実行されるＰＤＵＩＣＭ２０４２によるＣＲＴ１０に対するメッセージ通知処理手順例である。本処理は、図９に示したＳ５０６の詳細手順に対応する。
【０１２４】
なお、Ｓ５０６１〜Ｓ５０６３は各ステップを示す。また、各ステップは、図２に示した印刷処理関連プログラム２０４をＣＰＵ１がＲＡＭ２にロードして実行することで実現される。
【０１２５】
図１３は、図１に示したＣＲＴ１０に表示されるプリンタドライバＵＩの第２のメッセージ表示画面の一例を示す図である。本画面はＷＩＤ３０４、ＭＤ３０３とＣＥ３０６との協働処理に基づいて実行される。
【０１２６】
Ｓ５０６１で、Ｓ５０５により取得したＵＩ設定値Ｉ１とＵＩ設定値Ｉ２とを比較することによって、ＵＩ設定値の変更された機能を探索する。Ｓ５０６２で、探索された機能すべてについて、プリンタドライバＵＩでの位置を取得する。
【０１２７】
Ｓ５０６３は、探索されたＵＩ設定値の変更された機能について、プリンタドライバＵＩで、現在着目している同タブ内に存在する際は、探索された機能について、探索された機能の設定を変更するようにメッセージをＣＲＴ１０画面上にポップアップ表示して、本処理を終了する。なお、本実施形態では、ＯＳとして、例えばＷｉｎｄｏｗｓ（登録商標）を使用している、ＯＳに依存するポップアップウインドウを介して上記メッセージを表示する場合を示した。しかしながら、本発明の変更を催促する手法は、メッセージ表示態様またはメッセージ表示制御は、上記ＯＳであるＷｉｎｄｏｗｓ（登録商標）以外のＯＳであっても同様に適用可能である。
【０１２８】
一方、現在着目している同タブ内に存在しない場合は、例えば図１３に示すように異なるタブに存在する際は、メッセージ表示処理部３０３が以下のように表示制御を行って、処理を終了する。
【０１２９】
具体的には、図１３に示すように、印刷方法として「片面印刷」が選択されていて、設定不可項目「ステイプル」がカーソルＫで指示されている場合、以下のようにメッセージ表示をＣＲＴ１０に行う。
【０１３０】
つまり、プリンタドライバＵＩ画面で現在選択されている仕上げのタブではなく、他のタブである「給紙」タブに関わる「給紙方法」を変更すべきメッセージをプリンタドライバＵＩのウインドウに近接する外側に表示する。
【０１３１】
なお、現在のタブシート内における項目の変更をユーザに催促すべき場合は、メッセージ表示処理部３０３が、プリンタドライバＵＩ内に入り込む位置に、メッセージを表示する。これにより、ユーザは、現在選択中のタブシートに関わる設定の変更であることを認識し易くなる。
【０１３２】
このように、プリンタドライバＵＩ上で設定不可状態で表示されている項目をカーソルＫで指示すると、その設定不可を解除するために、次に何を設定すべきかを示すメッセージをＣＲＴ１０上に表示できる。
【０１３３】
上記実施形態によれば、ＵＩ画面において、現状の設定に対する特定の機能が設定不可となった理由を表示することので、ユーザは、意図した印刷設定を行うための適切な情報を容易に認識できる。
【０１３４】
〔第２実施形態〕
上記第１実施形態では、メッセージとして、コントロールに関するシンプルなメッセージを表示する場合について説明した。しかしながら、表示されたメッセージの意味がわからない不慣れなユーザも存在する。
【０１３５】
そこで、図１１または図１３に示したメッセージウインドウＷ１、Ｗ２に、ヘルプボタンを設けて、ヘルプファイルにリンクして、その意味を表示できるように構成してもよい。
【０１３６】
これにより、ユーザが不安なく、次の操作指示を行うことができ、ユーザの利便性が向上する。
【０１３７】
〔第３実施形態〕
また、上記第１実施形態では、メッセージとして、コントロールに関するシンプルなメッセージを表示した後、ユーザがカーソルＫを操作して、他のシートタブや表示されている項目のコントロールを指示した後、ユーザの都合で、前の表示状態に戻りたい場合もある。
【０１３８】
そこで、印刷設定画面の情報を一時的な表示ウインドウファイルとして管理することで、ユーザからの１つ前のユーザインタフェース画面に戻れるように制御してもよい。
【０１３９】
その場合、図１１または図１３に示したユーザインタフェース画面内に、「戻る」等のボタンを配置して、現在の表示画面から１つ前に順次遡って表示できるように構成する。
【０１４０】
これにより、ユーザによるカーソル指示でユーザインタフェース画面の状態が変移しても、ユーザが必要とするユーザインタフェース画面に戻れるため、ユーザの利便性が向上する。
【０１４１】
〔第４実施形態〕
以下、図１４に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１４２】
図１４は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１４３】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１４４】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１４５】
本実施形態における図５、図６、図８に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１４６】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１４７】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４８】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１４９】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１５０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１５２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１５３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５５】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１５６】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０１５７】
【図１】本発明の第実施形態を示す情報処理装置を適用可能なデータ処理システムの構成を説明するブロック図である。
【図２】図１に示したホストコンピュータのＲＡＭ２上のメモリマップの一例を示す図である。
【図３】図２に示したＰＤＵＩＣＭが提供する印刷設定画面（ＵＩ画面）の一例を示す図である。
【図４】図１に示したホストコンピュータのモジュールと入力機器とのを説明するブロック図である。
【図５】図２に示した印刷処理関連プログラムのプリンタドライバＵＩ制御モジュールの機能構成を示す図である。
【図６】図５に示した各モジュールで扱われるデータの関連を説明する模式図である。
【図７】図６に示した推論エンジンが読み込むコンフリクト処理ルール記述ファイル９０１の一例を示す図である。
【図８】図６に示した推論エンジンが読み込むコンフリクト処理ルール記述ファイル９０１の一例を示す図である。
【図９】本実施形態を示す情報処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図１０】本実施形態を示す情報処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１１】図１に示したＣＲＴに表示されるプリンタドライバＵＩの第１のメッセージ表示画面の一例を示す図である。
【図１２】本実施形態を示す情報処理装置における第３のデータ処理手順の一例を示すフローチャートである。
【図１３】図１に示したＣＲＴに表示されるプリンタドライバＵＩの第２のメッセージ表示画面の一例を示すである。
【図１４】本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１５８】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
１１  外部メモリ
【図１】
2008059484.tif 000003
【図２】
2008059484.tif 000004
【図３】
2008059484.tif 000005
【図４】
2008059484.tif 000006
【図５】
2008059484.tif 000007
【図６】
2008059484.tif 000008
【図７】
2008059484.tif 000009
【図８】
2008059484.tif 000010
【図９】
2008059484.tif 000011
【図１０】
2008059484.tif 000012
【図１１】
2008059484.tif 000013
【図１２】
2008059484.tif 000014
【図１３】
2008059484.tif 000015
【図１４】
2008059484.tif 000016