(57)【特許請求の範囲】
【請求項１】
複数の設定項目が配置されたプリンタドライバのユーザインタフェースを表示するユーザーインタフェース制御装置であって、
前記複数の設定項目のうちの少なくとも１つに対する操作が行われたとき、前記複数の設定項目の依存関係に従って、各設定項目の操作可又は不可を示すユーザインタフェースを表示する表示更新手段と、
前記操作不可である所定の設定項目が選択された場合、前記所定の設定項目が操作不可となった理由を表示する表示制御手段とを備え、
前記表示制御手段は、前記所定の設定項目が操作不可となった理由が複数である場合、前記所定の設定項目を操作不可とする前記複数の理由を表示することを特徴とするユーザインタフェース制御装置。
【請求項２】
前記表示更新手段は、操作者の入力によるイベントをトリガにして動作することを特徴とする請求項第１項に記載のユーザインタフェース制御装置。
【請求項３】
前記複数の設定項目の依存関係は、対象となる設定項目の状態と、当該対象となる設定項目の状態を変更する原因となる他の設定項目の状態の因果関係を記述したコンフリクトルールとなっていることを特徴とする請求項第１項または第２項に記載のユーザインタフェース制御装置。
【請求項４】
表示更新手段は、操作不可となる設定項目についてグレイアウトすることを特徴とする請求項第１項乃至第３項のいずれか１項に記載のユーザインタフェース制御装置。
【請求項５】
前記ユーザインタフェースは、プリンタドライバのページ設定タブ、仕上げタブ、用紙給紙タブ、品質タブのウインドウで構成されることを特徴とする請求項第１項乃至第４項のいずれか１項に記載のユーザインタフェース制御装置。
【請求項６】
前記表示更新手段は、前記操作不可である所定の設定項目に操作不可マークを表示し、
前記表示制御手段は、前記操作不可マークがマウスによりクリックされた場合、または、前記操作不可マークとマウスカーソルとが重なった場合、前記所定の設定項目を操作不可とする前記複数の理由を表示することを特徴とする請求項第１項乃至第５項のいずれか１項に記載のユーザインタフェース制御装置。
【請求項７】
複数の設定項目が配置されたプリンタドライバのユーザインタフェースを表示するユーザーインタフェース制御装置の制御方法であって、
前記複数の設定項目のうちの少なくとも１つに対する操作が行われたとき、前記複数の設定項目の依存関係に従って、各設定項目の操作可又は不可を示すユーザインタフェースを表示する表示更新工程と、
前記操作不可である所定の設定項目が選択された場合、前記所定の設定項目が操作不可となった理由を表示する表示制御工程とを備え、
前記表示制御工程では、前記所定の設定項目が操作不可となった理由が複数である場合、前記所定の設定項目を操作不可とする前記複数の理由を表示することを特徴とするユーザインタフェース制御装置の制御方法。
【請求項８】
前記表示更新工程は、操作者の入力によるイベントをトリガにして動作することを特徴とする請求項第７項に記載のユーザインタフェース制御装置の制御方法。
【請求項９】
前記複数の設定項目の依存関係は、対象となる設定項目の状態と、当該対象となる設定項目の状態を変更する原因となる他の設定項目の状態の因果関係を記述したコンフリクトルールとなっていることを特徴とする請求項第７項または第８項に記載のユーザインタフェース制御装置の制御方法。
【請求項１０】
表示更新工程は、操作不可となる設定項目についてグレイアウトすることを特徴とする請求項第７項乃至第９項のいずれか１項に記載のユーザインタフェース制御装置の制御方法。
【請求項１１】
前記ユーザインタフェースは、プリンタドライバのページ設定タブ、仕上げタブ、用紙給紙タブ、品質タブのウインドウで構成されることを特徴とする請求項第７項乃至第１０項のいずれか１項に記載のユーザインタフェース制御装置の制御方法。
【請求項１２】
前記表示更新工程は、前記操作不可である所定の設定項目に操作不可マークを表示し、
前記表示制御工程は、前記操作不可マークがマウスによりクリックされた場合、または、前記操作不可マークとマウスカーソルとが重なった場合、前記所定の設定項目を操作不可とする前記複数の理由を表示することを特徴とする請求項第７項乃至第１１項のいずれか１項に記載のユーザインタフェース制御装置の制御方法。
【請求項１３】
コンピュータに読込ませ実行させることで、前記コンピュータを、複数の設定項目が配置されたプリンタドライバのユーザインタフェースを表示するユーザーインタフェース制御装置として機能させるコンピュータプログラムであって、
前記コンピュータを、
前記複数の設定項目のうちの少なくとも１つに対する操作が行われたとき、前記複数の設定項目の依存関係に従って、各設定項目の操作可又は不可を示すユーザインタフェースを表示する表示更新手段、
前記操作不可である所定の設定項目が選択された場合、前記所定の設定項目が操作不可となった理由を表示する表示制御手段として機能させ、
前記表示制御手段は、前記所定の設定項目が操作不可となった理由が複数である場合、前記所定の設定項目を操作不可とする前記複数の理由を表示することを特徴とするコンピュータプログラム。
【請求項１４】
請求項第１３項に記載のコンピュータプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はユーザインタフェース制御装置及び方法及びコンピュータプログラム及び記憶媒体に関するものである。
【０００２】
【従来の技術】
コンピュータ上で動作するプログラムが、ユーザインタフェースを介してユーザからの複数の設定値の入力を受け付け、それらの設定値に基づいて何らかの処理を行う機能を有している場合、前述した複数の設定値間で、排他的な関係、依存関係等が存在する場合、ユーザからの設定値の入力を受け付ける度に、入力された値とその他の設定値の中で、関係のある設定値の値との関係を評価し、それらの設定値間に不整合がないかどうかの判別を行い、不整合があった場合にはその解消を実施している。
【０００３】
例えば、汎用情報処理装置で動作しているアプリケーションから、印刷指示するときに、印刷に関する各種設定を行う場合について考えてみる。
【０００４】
昨今の印刷装置の印字品位は格段に向上し、その最適化のために数多くの設定パラメータを有する。必然、ＧＵＩにおける限られたサイズの１つのウインドウでは対処できず、更に詳細については別ウインドウを表示するか、或いは、タブ形式にして表示を切り替える等で対処せざるを得ない。
【０００５】
しかし、設定するパラメータ（コントロール）の中には、互いに因果関係があるものも存在する。これら因果関係とは、依存関係や排他関係にあるものであるが、例えば、或る設定ウインドウで或るパラメータに関するコントロール（ラジオボタンや、オプション選択ボタン、コンボボックス等）で選択や指定を行った際、別ウインドウの依存関係のあるコントロールだけが選択や指定可能になり、排他関係にあるものは操作不可或いは利用不可（以下、コンフリクトという）とするためにグレイアウトさせる必要がある。
【０００６】
【発明が解決しようとする課題】
しかしながら、タブ切り替えや別ウインドウ表示を行うと、そのコンフリクト発生の理由がわかりにくいという問題がある。この問題は、その理由であるメッセージを表示することで対処できるが、その為には、各コントロールに対してその操作を許可するか不許可にするかの処理も必要になるのは勿論、コントロール間のコンフリクトの発生の有無のチェックし、その理由を出力する処理も必要になる。
【０００７】
コンフリクトチェックを正確に行うためにはグレイアウトするための処理の各々に対応する検知処理コードが必要であり、プログラムコードの作成に手間がかかるだけでなく、グレイアウト処理の追加／変更に伴って検知処理の漏れや食い違いが出やすいという問題が発生する。従って、例えば或るコントロールを追加する場合には、そのコントロールだけでなく、他のコントロールについての因果関係を見直す必要があり、プログラム作成者の負担は増大するばかりである。
本発明はかかる問題点に鑑みなされたものであり、所定の処理を行うためのパラメータを決定するために表示されるウインドウにおけるユーザーインタフェースを簡単に構築でき、生産性を高めると共にメンテナンス性にも優れたユーザインタフェース制御装置及び方法及びコンピュータプログラム及び記憶媒体を提供しようとするものである。
【０００８】
【課題を解決するための手段】
この課題を解決するため、例えば本発明のユーザインタフェース制御装置は以下の構成を備える。すなわち、
複数の設定項目が配置されたプリンタドライバのユーザインタフェースを表示するユーザーインタフェース制御装置であって、
前記複数の設定項目のうちの少なくとも１つに対する操作が行われたとき、前記複数の設定項目の依存関係に従って、各設定項目の操作可又は不可を示すユーザインタフェースを表示する表示更新手段と、
前記操作不可である所定の設定項目が選択された場合、前記所定の設定項目が操作不可となった理由を表示する表示制御手段とを備え、
前記表示制御手段は、前記所定の設定項目が操作不可となった理由が複数である場合、前記所定の設定項目を操作不可とする前記複数の理由を表示することを特徴とする。
【０００９】
【発明の実施の形態】
以下、添付図面を参照して本発明に係る実施形態を詳細に説明する。
【００１０】
なお、実施形態では、ホストコンピュータ上で動作するアプリケーションから印刷指示する際に、印刷に関する各種設定を行う場合について説明する。なお、ホストコンピュータ上で動作するＯＳとしては、米国マイクロソフト社が提供するWindowsを例にするものとするが、他のＯＳでも同様である。
【００１１】
図１は本発明の実施形態を示す印刷処理システムの構成を説明するブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ,ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００１２】
図１において、３０００はホストコンピュータで、１は装置全体の制御を司るＣＰＵである。２はＣＰＵ１のワークエリアとして使用されるＲＡＭ（後述するように、ＯＳやアプリケーション、プリンタドライバプログラム及びそのＧＵＩ設定プログラムがロードされる）であり、３はフォントＲＯＭ、ＢＩＯＳ等を記憶するプログラム用ＲＯＭ等で構成されるＲＯＭを始め、以下に説明する各要素がバス４を介して接続されている。
【００１３】
５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。外部メモリ（特にＨＤＤ）には、ＯＳを始めアプリケーション及びプリンタドライバが格納さていて、電源投入時に、ＯＳがＲＡＭ２にロードされ、その後ユーザーが指定することで図形編集や文書編集に関するアプリケーションがロードされ実行されることになる。
【００１４】
８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インターフェース（インターフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００１５】
プリンタ１５００において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ１３のデータ用ＲＯＭにはハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶保持するようにしてもよい。
【００１６】
図２は本実施形態におけるユーザインタフェース制御プログラムがホストコンピュータ３０００上のＲＡＭ２にロードされ実行可能となった状態のメモリマップを示している。なお、本実施形態におけるユーザインタフェース制御プログラムは印刷処理関連プログラム２０４（プリンタドライバ）の一部として存在している。図３は本実施形態のユーザインタフェース制御部の内部処理の内容を示すシステム概要図となっている。また、図４は本実施形態のコンフリクト処理における各モジュールで扱うデータの関連を示す例を示している。図５は本実施形態におけるコンフリクト処理ルールを使ったコンフリクト処理及びグレイアウト項目の理由表示処理を示すフローチャート、図６は本実施形態におけるコンフリクト処理ルールの例を示している。そして、図７は本実施形態におけるプリンタドライバの表示するユーザインタフェースの例であり、図８は図７の状態でユーザが[Booklet Printing]を選択した直後の状態を示した例を、図９は図８の状態でユーザの操作により理由表示のイベントが発生した状態を示している。また、図１１はメッセージルールの内容を示す図である。
【００１７】
以下、図５に示すフローチャートを中心にして本実施形態における動作を詳細に説明する。
【００１８】
本実施形態では、先に説明したように、プリンタドライバがＣＲＴ１０に各種設定用に表示するユーザインタフェース上でのコンフリクト処理を例に説明する。
【００１９】
ユーザが図１に示したキーボードコントローラＫＢＣ５等により図７に示すプリンタドライバユーザインタフェース（ＵＩ）を開く指示をすることで始まる。ユーザよりプリンタドライバＵＩを開く指示により、ＯＳ２０５の管理の基、ＲＡＭ２に印刷処理関連プログラム２０４がロードされる。印刷処理関連プログラム２０４がＲＡＭ２にロードされると、ユーザのプリンタドライバＵＩを開く指示により、まずプリンタドライバＵＩを開くための初期化処理が行われる。図３に示す推論エンジン３０２は図６に例示してあるように表記されたコンフリクト処理ルール３０１をコンフリクトマネージャ３０３を介して、ＲＡＭ２中に読み込む（ステップ５０１）。
【００２０】
続いて、図４の４０２に示すようなコンフリクトマネージャが利用する状態変数リストを作成する（ステップ５０３）。コンフリクト処理ルール４０３の中に出現するプリンタ機能名Ａ,Ｂ,Ｃのそれぞれについて同名の状態変数が存在する。この状態変数の値はプリンタドライバＵＩで使用される内部構造体の対応するメンバの値と連動している。全てのプリンタ機能名の状態変数の初期値はその内部構造体のメンバの値が初期値となる。
【００２１】
例えば、プリンタ機能名Ａ,Ｂ,Ｃに対応するプリンタドライバＵＩ内部構造体４０１のメンバをそれぞれ ｃＡ,ｃＢ,ｃＣとする。int ｃＡの初期値は０なので、それに対応する状態変数Ａの値はＯＦＦとなる。従って推論エンジン３０２内のプリンタ機能名Ａの状態値の初期値もＯＦＦとなる。同様にプリンタ機能名Ｂの初期値はＯＮ、プリンタ機能名Ｃの初期値はＯＦＦとなる。
Ａ      ＯＦＦ
Ｂ      ＯＮ
Ｃ      ＯＦＦ
次に、コンフリクト処理ルール４０３を発動し、記載されている
A(ON)  ←  B(ON), C(OFF).
が成立した場合、すなわちプリンタ機能名ＢがＯＮで且つプリンタ機能名ＣがＯＦＦの場合、推論エンジン３０２は左辺のプリンタ機能名Ａの状態変数値をＯＮに変更する。
Ａ      ＯＮ
Ｂ      ＯＮ
Ｃ      ＯＦＦ
このように状態変数リストが初期化される。
【００２２】
コンフリクトチェックの推論が終了した後、コンフリクトマネージャは変更された状態変数の値をプリンタドライバＵＩ内部構造体４０１の対応するメンバ int cA に反映させる。つまり int cA は上記ルールが成立した事によって０から１に変更される。
【００２３】
続いて、プリンタドライバＵＩのオープンのために必要な初期化処理を行い、図７に例示するようなプリンタドライバＵＩをオープンする（ステップ５０４）。
【００２４】
プリンタドライバＵＩがオープンされた後は、ＯＳより送られてくるイベントの取得とその処理を繰り返す（ステップ５０５）。なお、ここで言う「イベント」とは、現在動作しているプリンタドライバＵＩに対してユーザーが何らかの操作を行ったとき、その「操作」があったことＯＳが通知するものである。例えば、或るボタン（コントロールの１つ）アイコンをクリックした場合には、そのボタンに対してクリックされたというイベントが発生するので、そのイベントが発生した際の動作を記述しておくことで、そのイベントに対応する処理が実現できる。
【００２５】
ステップ５０５にて取得したイベントがユーザがプリンタドライバＵＩ上の設定項目を変更したイベントであるかどうかの判別を行い（ステップ５０６）、そうであった場合には、ステップ５０１で構築したコンフリクト処理ルールを適用する（ステップ５０７）。ユーザの設定変更要求が図７に示すPrint Styleを1-Sided PrintingからBooklet Printingに変更するものであった場合を例にとると、コンフリクト処理の適用は図６に示すコンフリクト処理ルールに対して行われる。
【００２６】
プリンタドライバＵＩ内部構造体４０１のメンバとして存在するCollate、Group、Staple、Layoutの各メンバのコンフリクト処理ルール適用前の値は、以下の通りとなる。
Collate   OFF
Group     ON
Staple    OFF
Layout    1-SIDED
ユーザの変更要求がLayoutを1-SidedからBookletに変更するものであるので、Layoutのメンバの内容は下記の通りとなる。
Collate   OFF
Group     ON
Staple    OFF
Layout    BOOKLET
すると、プリンタドライバＵＩ３０６はコンフリクトマネージャ３０３を呼び出し、状態変数リストにあるLayoutの状態変数が更新され、続いて推論エンジン３０２がコールされて、コンフリクト処理ルールの適用が始まる。まず推論エンジン３０２内の各プリンタ機能名が状態変数リストの各メンバの持つ値で初期化される。続いて、図６の（５）が適用され、StapleはOFFのままコントロールはdisable、すなわちグレイアウトされる。同様に図６（７）、（８）が適用され、Collateの値はOFFからONへ、Groupの値はONからOFFへ変更され、各コントロールはdisableとなる。
Collate   ON (disable)
Group     OFF (disable)
Staple    OFF (disable)
Layout    BOOKLET
以上で推論エンジン３０２でのコンフリクト処理ルールの適用が終了する。
【００２７】
次のステップでは、コンフリクトマネージャ３０３が上記の最終状態を元に状態変数リストの更新（ステップ５０８）とプリンタドライバＵＩ内部構造体の更新（ステップ５０９）を行う。
【００２８】
続いて、プリンタドライバＵＩ３０６がプリンタドライバＵＩ内部構造体のメンバの値を参照して、ＵＩの更新が必要かどうかの判別を行う（ステップ５１０）。ＵＩの更新の必要がない場合には、そのままステップ５０５に戻る。更新が必要な場合にはＵＩの更新処理を行う（ステップ５１１）。またこのステップでは、後述する理由表示のために任意のコントロールにコンフリクトマークをつける処理も行う。上記の例では、Layoutが1-Sided PrintingからBooklet Printingに設定が変更されたことにより、CollateがOFFからONへ、GroupがONからOFFへと変化し、Collate, Group, Staple がdisableし、さらにコンフリクトマークを表示しており、プリンタドライバＵＩは図８に示すとおりに更新される。処理後ステップ５０５に戻る。
【００２９】
ステップ５０６の判別にて、設定変更要求ではなかった場合、次にグレイアウトの理由表示のイベントであるかを判別する（ステップ５１２）。本イベントは、例えばコンフリクトマークをクリックした場合やコンフリクトマーク上にマウスカーソルが重なった場合などに発生する。
【００３０】
本イベントが発生した場合、プリンタドライバＵＩ３０６はコンフリクトマネージャ３０３に理由取得の要求を出す（ステップ５１３）。コンフリクトマネージャ３０３はコンフリクト処理ルール３０１を読み込み、指定されたコントロールをグレイアウトしている理由を検索する。
【００３１】
例えばStapleがグレイアウトされている理由を検索する場合、図６のルールのうちStapleをdisableしているルールを順にチェックする。ここでは（３）（４）（５）（６）が該当し、（３）のフィニッシャはついておりONのためスルー、（４）のステイプル可能な用紙かはOKでありONのためスルー、（５）のBOOKLETは指定されているためこれが理由として該当する、という具合である。なお、ここではフィニッシャが装着されており、用紙はステイプル可能なサイズであるものとした。（６）の用紙タイプがOHPかというチェックは、より優先順位の高い理由が既に見つかっているので実行されない。コンフリクトマネージャ３０３はこの理由に該当する識別子（IDなど）をプリンタドライバＵＩ３０６に返す。プリンタドライバＵＩ３０６は理由の識別子に対応する処理を任意に行う。例えば図９に示すようにコメントメッセージを表示することができる（ステップ５１４）。何かキーを押下したりマウスカーソルを移動するなどによりイベントが解除されると、メッセージは消えステップ５０５に戻る。
【００３２】
ステップ５１２の判別にて理由表示イベントではなかった場合は、続いてプリンタドライバＵＩのクローズ要求かどうかの判別を行う（ステップ５１５）。クローズ要求であった場合には、終了処理を行い、プリンタドライバＵＩをクローズして、全ての処理を終了する（ステップ５１６）。一方、クローズ要求ではなかった場合には、再び、処理はステップ５０５に戻る。
【００３３】
なお、メッセージの表示であるが、カーソルを該当するコントロールの上に移動した際に発生するイベントを利用する。このときに表示するメッセージは、例えば図１１に示すようにテーブルとして管理しておく。例えば、コントロールＡの場合、そのコントロールＡが操作不可になる理由として、図示の場合には２つ存在することを示している。１つは、他のコントロールＢがＯＮで、コントロールＣがＯＦＦの場合、もう１つはコントロールＸがＯＮで、コントロールＹがＯＦＦの場合であり、該当する状況に応じて表示すべきメッセージを読み取り、それを表示することになる。
【００３４】
以上の処理は、プリンタドライバＵＩがクローズされるまで、繰り返し実行される。プリンタドライバＵＩがクローズされると処理は全て終了し、本実施形態における印刷処理関連プログラムの処理も終了し、ＲＡＭ２からはＯＳ２０５の機能により消去される。なお、本実施形態においては、本印刷処理関連プログラムを記録する媒体を外部メモリとしているが、外部メモリとしては、FD、HDドライブ、CD-ROMやICメモリカード等であってもよい。更に、本印刷プログラム単独、もしくはOSその他のホストコンピュータ上で動作するプログラムと共にＲＯＭ３に記録しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ１で実行することも可能である。
【００３５】
【他の実施形態】
上記実施形態において、理由表示はステップ５１４に示したようにプリンタドライバＵＩが行っているが、図１０のステップ１０１３のようにコンフリクトマネージャ内で行うこともできる。すなわち、コンフリクトマネージャ３０３の内部に文字列リソースを持ち、該当する理由を検索したらそれをプリンタドライバＵＩ３０３に返すのではなく、対応する文字列リソースをコンフリクトマネージャがロードして表示処理を行ってもよい。
【００３６】
また、ステップ５１３では最も優先順位の高い理由をひとつ見つけた時点で理由の検索を終了するが、中断せずにルール全体を検索し、該当する理由をすべて表示してもよい。
【００３７】
以上説明したように本実施形態によれば、コンフリクト処理を行うためのコンフリクト処理ルールを記載するだけで、コンフリクトをかけた処理と同じ条件で理由を取得する事ができる。そのため理由取得のための専用プログラムコードを追加する煩わしさや、条件の漏れや食い違いを生ずるケースから解放され、品質の高い理由表示処理を実現できるという効果がある。
【００３８】
さらに、理由表示処理をプリンタドライバＵＩからコンフリクトマネージャに移すことで両者の間で理由識別子の同期を取る必要がなくなり、つまり独立性が向上し、生産性が高くメンテナンス性に優れるという効果がある。
【００３９】
なお、上記実施形態からの容易に理解できるように、本実施形態におけるその動作は、プリンタドライバ或いはその一部におけるプログラムによって実現できるものである。従って、本発明はコンピュータにプログラムを組み込むことによって実現できるわけであるから、コンピュータプログラムも本発明に含まれる。また、プログラムをコンピュータにインストールする際、フロッピーディスクやＣＤＲＯＭ等の記憶媒体を介して行われるわけであるから、それら記憶媒体も本発明の範疇に含まれる。
【００４０】
【発明の効果】
以上説明したように本発明によれば、所定の処理を行うためのパラメータを決定するために表示されるウインドウにおけるユーザーインタフェースを簡単に構築でき、生産性を高めると共にメンテナンス性にも優れたユーザインタフェースを提供できる。
【図面の簡単な説明】
【図１】本発明の一実施形態を示す印刷処理システムの構成を説明するブロック図である。
【図２】ユーザインタフェース制御プログラムを含む印刷関連処理関連プログラムがホストコンピュータ３０００のＲＡＭ２上にロードされている際のメモリマップを示すブロック図である。
【図３】本実施形態のユーザインタフェース制御部の内部処理の内容を示すシステム概要図である。
【図４】本実施形態におけるコンフリクト処理における各モジュールで扱うデータの関連を示す例である。
【図５】本実施形態におけるコンフリクト処理ルールを使ったコンフリクト処理及びグレイアウト項目の理由表示処理の手順を示すフローチャートである。
【図６】本実施形態における補完処理前のコンフリクト処理ルールの例である。
【図７】本実施形態におけるプリンタドライバの表示するユーザインタフェースの例を示す図である。
【図８】図７の状態でユーザが[Booklet Printing]を選択した直後の状態を示す図である。
【図９】図８の状態でユーザの操作により理由表示イベントが発生した状態を示す図である。
【図１０】別の実施形態におけるグレイアウト項目の理由表示をフローチャートにて図示したものである。
【図１１】実施形態におけるメッセージルールを示す図である。
【図１】
0005062932.tif 000002
【図２】
0005062932.tif 000003
【図３】
0005062932.tif 000004
【図４】
0005062932.tif 000005
【図５】
0005062932.tif 000006
【図６】
0005062932.tif 000007
【図７】
0005062932.tif 000008
【図８】
0005062932.tif 000009
【図９】
0005062932.tif 000010
【図１０】
0005062932.tif 000011
【図１１】
0005062932.tif 000012