JP3833067B2 - User interface control apparatus and method, and storage medium - Google Patents

User interface control apparatus and method, and storage medium Download PDF

Info

Publication number
JP3833067B2
JP3833067B2 JP2000402713A JP2000402713A JP3833067B2 JP 3833067 B2 JP3833067 B2 JP 3833067B2 JP 2000402713 A JP2000402713 A JP 2000402713A JP 2000402713 A JP2000402713 A JP 2000402713A JP 3833067 B2 JP3833067 B2 JP 3833067B2
Authority
JP
Japan
Prior art keywords
printer driver
user interface
inconsistency
input
setting information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000402713A
Other languages
Japanese (ja)
Other versions
JP2002202868A (en
Inventor
智徳 皆川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2000402713A priority Critical patent/JP3833067B2/en
Priority to EP01309965A priority patent/EP1211594A3/en
Priority to US09/995,724 priority patent/US7228314B2/en
Publication of JP2002202868A publication Critical patent/JP2002202868A/en
Priority to US11/391,408 priority patent/US7328224B2/en
Application granted granted Critical
Publication of JP3833067B2 publication Critical patent/JP3833067B2/en
Priority to US11/711,710 priority patent/US7617247B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ユーザインタフェースを介して入力される所定の制御対象に対する設定データの間に生じる不整合を回避するユーザインタフェース制御装置および方法ならびに記憶媒体に関する。
【0002】
【従来の技術】
ユーザインタフェース(以下、「UI」ともいう。)を介してユーザから複数の設定値の入力を受け付け、それらの設定値に基づき制御される機器が知られている。ホストコンピュータに接続され、そのホストコンピュータにおいて設定された情報に基づき画像形成処理を行う画像形成システム(プリンタシステム)はその一例である。プリンタシステムのホストコンピュータは一般に、印刷動作を制御するいわゆるプリンタドライバ、およびユーザからの印刷設定等を受け付けるUIを含む印刷処理関連プログラムを有する。
【0003】
印刷処理関連プログラムは、UIを介してユーザから設定値の入力を受け付ける度に、それまでに設定された複数の設定値の中で関連する設定値の値との関係を評価し、設定値間の不整合(コンフリクト)がないかどうかを判別する。コンフリクトの例としては、記録媒体としてセットされたOHPシートに対して両面印刷を行わせるような設定といったユーザにとって不都合と予想される設定や、プリンタに不可能な動作を行わせるような設定等がある。
【0004】
コンフリクトがあった場合には、それを回避するためのコンフリクト処理を実施する必要がある。
【0005】
従来より、コンフリクト処理が必要となる複数の設定値の条件(コンフリクト処理ルール)を一覧としてまとめてファイル等に保存しておき、このファイルをコンフリクト処理用プログラムに読み込ませることで、コンフリクト処理を行うものがある。コンフリクト処理によっては、データ構造体中の設定値の変更、さらにはUIのコントロール上の設定値の変更、コントロールのグレイアウト(設定項目を薄いグレイで表示することで当該項目については設定不可であることを通知する)処理等を行うものもある。かかる方式は、コンフリクト処理用プログラムが特定の設定値に依存することなく汎用的に利用できるという点で優れている。
【0006】
コンフリクト処理用のプログラムにおいて、コンフリクト処理を統括するコンフリクトマネージャは一般に、コンフリクト処理ルールを汎用的に利用できるようにメインプログラムから独立して高いメンテナンス性を持つように設計されており、それによってコンフリクトマネージャは、メインプログラムからはブラックボックスとして見えることになる。
【0007】
【発明が解決しようとする課題】
しかしながら実際には、メインプログラムでUIの更新処理を行ったり、コンフリクト処理に関与しない特定の設定値の変更に伴いUIの更新処理が必要になる場合もある。従来このような場合、メインプログラムは、該当する項目のみに絞った処理を行うことはできず、ある範囲全体をリフレッシュすることになるため、メインプログラムの処理効率が悪いという問題があった。
【0008】
メインプログラムとコンフリクトマネージャとの仲立ちとなるデータ構造体の差分から判断することもできるが、この方法でも効率が悪い。そのうえコントロールのグレイアウトや表示/非表示の変更もされるような場合には、それらの抽出そのものが困難であったり、さらに効率が悪くなる場合が多いという問題があった。
【0009】
本発明は上記の問題点に鑑みてなされたもので、コンフリクト処理用プログラムにおけるメインプログラムとコンフリクトマネージャとの独立性を保ったまま、コンフリクト処理によって変更された項目の情報のみを両者間で受け渡し可能とすることで、メインプログラムの処理効率を向上させるユーザインタフェース制御装置および方法ならびに記憶媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するため、例えば本発明のユーザインタフェース制御装置は、以下の構成を備える。すなわち、
プリンタドライバに入力された設定情報不整合を回避するために前記プリンタドライバのユーザインタフェースを制御するユーザインタフェース制御装置であって、
前記ユーザインタフェースに表示される複数の入力部を介して設定情報を入力する入力手段と、
前記入力手段により入力された設定情報に対してコンフリクト処理ルールを適用して不整合を検出する検出手段と、
前記検出手段による前記不整合の検出に基づいて、前記複数の入力部のうちの少なくとも1つの入力部の表示を入力不能に更新する更新手段と、
を有することを特徴とする。
【0011】
【発明の実施の形態】
(ハードウェア構成)
図1は本発明の一実施形態を示す印刷処理システムのブロック構成図である。印刷処理システムは、ホストコンピュータ3000と、プリンタ1500より構成される。
【0012】
ホストコンピュータ3000において、1はシステムバス4に接続される各デバイスを総括的に制御するCPU、2はCPU1の主メモリ、ワークエリア等として機能するRAMである。3は各種プログラム、データを格納するROMであって、各種フォントを記憶するフォントROM3a、ブートプログラムやBIOS等を記憶するプログラムROM3b、および各種データを記憶するデータROM3cに区分けして構成されている。
【0013】
5はキーボードコントローラ(KBC)で、キーボード9や不図示のポインティングデバイス(マウス)からのキー入力を制御する。6はCRTコントローラ(CRTC)であり、CRTディスプレイ(CRT)10の表示を制御する。
【0014】
外部メモリ11(ディスクコントローラ(DKC)7によりアクセス制御される)は、ハードディスク(HD)やフロッピーディスク(FD)等であり、図示の如く、オペレーティングシステムプログラム(以下OS)205をはじめ各種アプリケーション(例えば、図形、イメージ、文字、表等が混在した文書処理を行う文書処理アプリケーションプログラム)201、印刷処理関連プログラム204を記憶する他、ユーザファイル、編集ファイル等も記憶する。印刷処理関連プログラム204は、ページ記述言語を用いて記述される印刷データを生成するプログラムであって、同系列の複数のプリンタに対して共通に利用されうる。また、プリンタ制御コマンド生成モジュール(以下「プリンタドライバ」という)2041、プリンタドライバUI制御モジュール2042を含む。
【0015】
8はプリンタコントローラ(PRTC)であり、双方向性インタフェース21を介してプリンタ1500に接続され、プリンタ1500との通信制御処理を行う。
【0016】
外部メモリ11に記憶されたアプリケーションは、RAM2にロードされてCPU1により実行されることになる。また、CPU1は、例えばRAM2へのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYG(What you see is What you get)を可能としている。さらに、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷設定設定画面(プリンタドライバUI制御モジュール2042により制御される)を開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバ2041に対する印刷処理の設定を行うことができる。
【0017】
プリンタ1500において、12はプリンタ1500の全体を制御するCPUである。19はCPU12の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域、NVRAM等に用いられるRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。13はROMであり、各種フォントを記憶するフォントROM13a、制御プログラム等を記憶するプログラムROM13b、および各種データを記憶するデータROM13cより構成される。
【0018】
外部メモリ14(メモリコントローラ(MC)20によりアクセスを制御される)は、オプションとして接続されるハードディスク(HD)、フロッピーディスク(FD)、ICカード等であり、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。ハードディスク等の外部メモリ14が接続されていない場合には、ROM13のデータROM13cに、ホストコンピュータ3000で利用される情報等を記憶することになる。なお、外部メモリ14は1個に限らず、複数備えるものであってもよく、例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。
【0019】
操作部1501にはユーザからの操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチおよびLED表示器等が配されている(図示は省略)。また、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。
【0020】
プリンタCPU12は、ROM13のプログラムROM13bに記憶された制御プログラム等に基づき、印刷部インタフェース16を介してシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、CPU12は入力部18を介してホストコンピュータ3000との通信処理が可能となっており、プリンタ1500内の情報等をホストコンピュータ3000に通知可能に構成されている。
【0021】
(ソフトウェア構成)
図2は、所定のアプリケーションおよび印刷処理関連プログラムを起動して、ホストコンピュータ3000上のRAM2にロードされた状態のRAM2のメモリマップを示している。RAM2には、図示の如く、BIOS206、OS205をはじめ、アプリケーション201、印刷処理関連プログラム204、および関連データ203がロードされており、さらに空きメモリ領域202も確保されている。これにより、アプリケーション201および印刷処理関連プログラム204は実行可能状態にある。
【0022】
印刷処理関連プログラム204におけるプリンタドライバUI制御モジュール2042は、ユーザによる印刷設定指令に応じてCRT10に印刷設定画面を表示しユーザからの設定を可能にする。
【0023】
図7に、印刷設定画面の表示例を示す。同図において、[Print Style]欄80は、印刷レイアウトを指定する欄であり、ユーザは例えば、片面印刷(1-Sided Printing)801、両面印刷(2-Sided Printing)802、および製本印刷(Booklet Printing)803のうちのいずれかをマウスでクリックすることで指定することができる。
【0024】
[Finishing]欄81は、印刷済み記録媒体の出力順序および仕上げについて指定する欄であり、ユーザは例えば、以下のいずれかから指定可能となっている。
【0025】
[Collate] 811
部単位印刷。Nページの文書をM部印刷する場合に、第1ページ、第2ページ、…、第Nページの順に1枚ずつ出力し、これをM回繰り返す。
【0026】
[Group] 812
ページ単位印刷。Nページの文書をM部印刷する場合に、第1ページをM枚、第2ページをM枚、…、第NページをM枚、の順に出力する。
【0027】
[Staple] 813
ステープル仕上げ。上記[Collate] 811と同様に部単位で出力し、仕上げとして各部ごとにステープラで止める。
【0028】
なお、本明細書では、上記したようなユーザ設定可能項目を「プリンタ機能」または単に「機能」とよぶ。この他にも多くのプリンタ機能を有するが、説明を簡単にするため省略する。
【0029】
ここで、ユーザにとって不都合と思われる設定の組み合わせ、意味のない設定の組み合わせ、すなわち設定値間の不整合(コンフリクト)は、プリンタドライバUI制御モジュール2042により、以下詳細に説明するコンフリクト処理として回避されるように設計される。例えば、図示においては、印刷レイアウトとして片面印刷(1-Sided Printing)801が指定されているが、この場合には、[Finishing]欄81の[Staple] 813はグレイアウト表示され、指定できないようになる。また、図8に示すように、印刷レイアウトとして製本印刷(Booklet Printing)803が指定されたときには、[Finishing]欄81のすべてがグレイアウト表示され、指定できないようにされる。上記した例はごく簡単な例示であって、実際に想定されるコンフリクトはかなりの数にのぼるであろう。以下、コンフリクト処理の詳細を説明する。
【0030】
図3は、実施形態における印刷処理関連プログラム204のプリンタドライバUI制御モジュール2042の概略構成を示している。303は、各モジュール間のデータの受け渡しやデータの更新等を管理してコンフリクト処理を統括するコンフリクトマネージャである。306が、上記した印刷設定画面表示制御を行い、本プリンタドライバUI制御モジュール2042におけるメインプログラムとしてのプリンタドライバUIである。301は、後述する記述形式で記述される不整合回避戦略を示すコンフリクト処理ルールを列記したコンフリクト処理ルール記述ファイルである。302は、コンフリクト処理ルール記述ファイル301をロードして、入力された設定値に対してコンフリクト処理ルールを適用し、各機能の状態を推論する推論エンジン、304は、各プリンタ機能の状態をリスト形式で表示する状態変数リストであり、ユーザからの入力およびコンフリクト処理ルール記述ファイル301の内容に基づき更新されうる。305は、プリンタドライバUI306が提供する画面表示の基になる帳票としての内部構造体であり、状態変数リスト304と連動して各プリンタ機能の状態を所定の形式で表示する。
【0031】
その後に、プリンタドライバUI306を介してユーザからの設定情報を受け取ったコンフリクトマネージャ303は、コンフリクト処理ルール記述ファイル301を参照する。このことは、図示の如くコンフリクト処理ルール記述ファイル301からコンフリクトマネージャ303に向かう矢印で、「R(Read)」として表示されている。参照の結果、設定情報がコンフリクト処理ルールに適合する場合、コンフリクト処理が適用される。そうして、コンフリクトマネージャ303は、状態変数リスト304および内部構造体305を更新してプリンタドライバUI306に反映させる。この更新作業は、図示の如くコンフリクトマネージャ303は、状態変数リスト304および内部構造体305とは各々双方向矢印で結ばれ、「R/W (Read/Write)」として表示されている。
【0032】
図4は、図3に示した各モジュールで扱われるデータの関連を説明する模式図である。図4において、コンフリクト処理ルール記述ファイル301は、推論エンジン302にインクルード(ロード)されたかたちで参照され、さらに新たなルールが追記される。このコンフリクト処理ルール記述ファイル301は、コンフリクトマネージャ303にも参照され、それを受けて状態変数リスト304が変更されることになる。また、内部構造体305と状態変数リスト304とは先に述べたとおり連動表示されるものであるから、互いにマッピングされる関係にある。そしてこの状態がプリンタドライバUI306の制御によってユーザに見えるかたちで表現される。
【0033】
内部構造体305は、プリンタ機能名A, B, C に対応するメンバをそれぞれ cA, cB, cC と表現する。
【0034】
(コンフリクト処理ルールの記述形式)
次に、コンフリクト処理ルール記述ファイル301について説明する。
【0035】
各ルールは、論理(ロジック)を用いて数学的に形式化する。述語は、「プリンタ機能名(引数)」の形で記述される。引数としては、ON/OFFの他、数値が入る場合もある(例えば、印刷部数等)。左辺にはプリンタ機能名(引数)を、右辺には左辺が成り立つための論理条件を記述し、記号「←」または「<−」で関係づける。例えば、
A(ON) ← B(ON).
は、「プリンタ機能Bの状態がONのときは、プリンタ機能Aの状態をONとする」という意味のルールになる。
【0036】
また、式中の記号「,」は「かつ(AND)」の意味で用いられる。例えば、「プリンタ機能Bの状態がON、かつ、プリンタ機能Cの状態がOFFのとき、プリンタ機能Aの状態をONとする」というルールは、
A(ON) ←B(ON), C(OFF).
と記述される。
【0037】
さらに、コンフリクト処理ルール記述ファイル301の中には、プリンタドライバUI306を更新するための処理を記述することが可能である。推論エンジン302がその記述を解釈した時点で、コンフリクトマネージャ303の状態変数リスト304を介して、プリンタドライバUI306の更新処理を直接行うようにしても良い。例えば、UI更新の処理として{disable}の記述を追加することにより、該当項目のコントロールをdisableする処理(グレイアウト表示するとともに設定不可の状態にする処理)を指示することができる。
【0038】
図6は、以上の例に従って記述されている。図7に表示されたプリンタ機能を例にとると、図7に示した[Collate] 811に対応する部単位印刷機能、[Group] 812に対応するページ単位印刷機能、および[Staple] 813に対応するステープル仕上げ機能はそれぞれ、Collate()、Group()、およびStaple()で示され、引数はONまたはOFFとなる。また、[PrintStyle]欄80に対応する印刷レイアウト機能は、Layout()で示され、引数は、1-Sided、2-Sided、Bookletのいずれかである。
【0039】
図6の(1)は、ユーザにより[Collate] 811をチェックされたことでCollate(ON)となったときは、Staple(OFF)とするルールを表す。(2)は、Group(ON)となったときは、同じくStaple(OFF)とするルールである。
【0040】
また、(3)以降の各行の次の行には、UI更新の処理として{disable}の記述が追加されている。この記述により、各行のルールを適用後に該当項目のコントロールがdisableされることになる。
【0041】
(プリンタドライバUI制御モジュール2042の処理の内容)
以下、図5のフローチャートを用いて、コンフリクト処理を含むプリンタドライバUI制御モジュール2042の処理について、詳しく説明する。
【0042】
プリンタドライバUI制御モジュール2042の処理は、ユーザがキーボードコントローラKBC5等を用いて、印刷設定画面を開く指示をすることで始まる。ユーザが印刷設定画面を開くよう指示すると、上記したとおり、OS205の管理の下、RAM2に印刷処理関連プログラム204がロードされる。
【0043】
印刷処理関連プログラム204がRAM2にロードされると、まず、印刷設定画面を開くための初期化処理として、推論エンジン302は、コンフリクト処理ルール記述ファイル301をコンフリクトマネージャ303を介して、RAM2に読み込む(ステップS501)。
【0044】
続いて、コンフリクトマネージャ303が利用する状態変数リスト304を作成する。(ステップS503)。
【0045】
コンフリクト処理ルール記述ファイル301に記述されるすべてのプリンタ機能名は、コンフリクトマネージャ303の内部にインクルードされた状態変数リスト304にそれぞれ、状態変数を持っている。この状態変数の値は、プリンタドライバUI306で使用される内部構造体305の対応するメンバの値と連動している。各プリンタ機能名の状態変数の初期値は、その内部構造体305のメンバの値となる。
【0046】
例えば、図4において、内部構造体305に記述されているint cAの初期値は0であるから、それに対応する状態変数リスト304におけるプリンタ機能Aの値はOFFとなっている。したがって、推論エンジン302内で保持されるプリンタ機能Aの状態の初期値はOFFとなる。同様に、プリンタ機能名Bの初期値はON、プリンタ機能名Cの初期値はOFFとなる。すなわち、
A OFF
B ON
C OFF
となる。
【0047】
その後、推論エンジン302は、コンフリクト処理ルール記述ファイル301を参照することでコンフリクトチェックの推論を行う。例えば、図4に示すように、コンフリクト処理ルール記述ファイル301に記述されている、
A(ON) ← B(ON), C(OFF).
が成立した場合、推論エンジン302は、状態変数リスト304中のプリンタ機能Aの状態変数値を、初期値OFFからONに変更する。すなわち、
A ON
B ON
C OFF
となる。このように状態変数リスト304が初期化される。
【0048】
コンフリクトチェックの推論が終了した後、コンフリクトマネージャは、変更された状態変数の値を内部構造体305の対応するメンバ int cAに反映させる。すなわち、int cA は上記ルールが成立したことによって0から1に変更される。
【0049】
続いて、印刷設定画面のオープンのために必要とされるその他の初期化処理を行い、図7に例示したような印刷設定画面をオープンする(ステップS504)。
【0050】
印刷設定画面がオープンされた後は、OSより送られてくるイベントを取得し、そのイベントに対する処理を行う(ステップS505)。
【0051】
次に、ステップS505にて取得したイベントが、ユーザが印刷設定画面上の設定項目を変更したイベントであるか否かの判別を行い(ステップ506)、印刷設定画面上の設定項目を変更するイベントではなかった場合には、ステップS515に進み、印刷設定画面のクローズ要求か否かの判別を行う。クローズ要求であった場合には、ステップS516に進み、終了処理を行い、印刷設定画面をクローズして、すべての処理を終了する。一方、ステップS515での判別の結果、クローズ要求ではなかった場合は、ステップS505に戻り、処理を繰り返す。
【0052】
ステップS506で、ステップS505で取得したイベントがユーザによる設定変更要求であった場合には、ステップS507に進み、構築したコンフリクト処理ルールを適用する。
【0053】
取得したイベントがユーザによる設定変更要求であった場合の一例として、図7に示す[Print Style]欄80における、片面印刷(1-Sided Printing)801から製本印刷(Booklet Printing)803に変更するものであった場合について説明する。このとき、内部構造体305のメンバとして存在するCollate、Group、Staple、Layoutの各メンバのコンフリクト処理ルール適用前、すなわち、設定変更要求前における値は、以下のようになっていた。
【0054】
Collate OFF
Group ON
Staple OFF
Layout 1-Sided
【0055】
ユーザの変更要求がLayoutを1−SidedからBookletに変更するものであるので、Layoutのメンバの内容が変更されて、内部構造体305の各メンバの値は次のようになる。
【0056】
Collate OFF
Group ON
Staple OFF
Layout Booklet
【0057】
すると、プリンタドライバUI306はコンフリクトマネージャ303をコールし、状態変数リスト304にあるLayoutの状態変数が更新され、続いて推論エンジン302がコールされて、コンフリクト処理ルールの適用が始まる。まず、推論エンジン302内の各プリンタ機能名が状態変数リストの各メンバの持つ値で初期化される。続いて、図6の(5)が適用され、StapleはOFFのままコントロールはdisable、すなわちグレイアウト表示されるとともに設定不可の状態にされる。同様に、同図の(7)、(8)が適用され、Collateの値はOFFからONへ、Groupの値はONからOFFへ変更された後に、各コントロールはdisableとなる。
Collate ON (disable)
Group OFF (disable)
Staple OFF (disable)
Layout BOOKLET
【0058】
以上で推論エンジン302でのコンフリクト処理ルールの適用が終了する。
【0059】
コンフリクトマネージャ303は、上記ステップS507のコンフリクト処理ルールを適用結果に基づき状態変数リストを更新し(ステップS508)、内部構造体305を更新する(ステップS509)。更新された箇所はプリンタドライバUI306に通知される(ステップS510)。通知の方法としては、例えば、内部構造体305に更新を示すフラグを立てる、更新を示すビットフラグまたは構造体を別途用意して返す、変更箇所を示す識別子のリストを返す、プリンタドライバUI306からの問い合わせに対して応答する、などいくつかの方法が考えられる。
【0060】
続いて、プリンタドライバUI306が内部構造体305のメンバの値を参照して、UIの更新が必要かどうかの判別を行う(ステップS511)。UIの更新の必要がない場合には、ステップS505に戻り、処理を繰り返す。UIの更新が必要な場合には、UIの更新を行ったうえで(ステップS512)、ステップS505に戻り、処理を繰り返すことになる。上記の例では、Layoutが1−Sided PrintingからBooklet Printingに設定が変更されたことにより、CollateがOFFからONへ、GroupがONからOFFへと変化するとともにCollate, Group, Staple がdisableにされるので、印刷設定画面は、図7に示した状態から図8に示す状態に更新される。
【0061】
ここで、UIの更新はコンフリクトマネージャ303が行ってもよいし、メインプログラムであるプリンタドライバUI306が行ってもよい。そのため、ステップS510の変更箇所の通知はステップS512のUI更新後になる場合もある。プリンタドライバUI306が変更箇所情報を知ることで、プリンタドライバUI306で更新処理を行う場合には、該当するコントロールのみに絞った更新処理を行うことが可能になる。また、コンフリクトマネージャ303で更新処理を行う場合には、プリンタドライバUI306は、当該箇所の変更に伴うコンフリクト処理以外の関連処理のみを専ら行うことができるため、全体の処理効率が向上することになる。
【0062】
以上の処理は、印刷設定画面がクローズされるまで、繰り返し実行される。印刷設定画面がクローズされると処理は終了し、印刷処理関連プログラム204の処理も終了し、RAM2からはOS205の機能により消去される。
【0063】
また、上記した処理において、ステップS510ないしS512において、プリンタドライバUI306は、どのコントロールを変更し、その結果、どのコントロールが影響を受けたのかを知ることができるため、コントロールをdisableにする条件を掌握することで、図9に示すようにコントロールが利用不可となっている理由を表示させることも可能である。
【0064】
【他の実施形態】
なお、上述した実施形態では、プリンタ装置に対して、コンフリクト処理を含むUI制御を行う例について説明したが、本発明は、プリンタ装置に限らず、ディジタルカメラ、ディジタルレコーダ、イメージスキャナ等の周辺装置、制御機器の他、モデムやルータといったネットワーク関連機器にも適用可能であることはいうまでもない。これらの複数の機器から構成されるシステムに適用することも可能である。
【0065】
上述したように、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0066】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0067】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図5のフローチャートに対応するプログラムコードが格納されることになる。
【0068】
以上説明したように、本発明の一側面によれば、入力された設定情報に対してコンフリクト処理ルールを適用して不整合を検出し、その不整合の検出に基づいて、前記複数の入力部のうちの少なくとも1つの入力部の表示を入力不能に更新することができる。
また、本発明の別の側面によれば、プリンタドライバのユーザインタフェースプログラムと、前記プリンタドライバに入力された設定情報の不整合を回避するためのコンフリクトマネージャプログラムとを搭載し、前記プリンタドライバを用いて生成した印刷データを印刷装置に送信する情報処理装置において、前記プリンタドライバに入力される情報の不整合を検出する処理と、前記設定情報の不整合が検出された場合に、当該不整合を検出した旨を前記ユーザインタフェースプログラムに通知する処理がコンフリクトマネージャプログラムによって実行される一方、通知された通知内容に従って、前記プリンタドライバのユーザインタフェースの表示を更新する処理がユーザインタフェースプログラムによって実行されるので、これにより、プリンタドライバのプログラムの処理効率を向上させることができる。
また、本発明の更に別の側面によれば、プリンタドライバを用いて生成した印刷データを印刷装置に送信する情報処理装置において、プリンタドライバに対して設定情報が入力されたことに応答して設定情報の不整合を検出し、この不整合が検出されたことに応答して、前記プリンタドライバのユーザインタフェースプログラムを実行して前記不整合の理由を表示することができる。
【図面の簡単な説明】
【図1】実施形態に係る印刷処理システムのブロック構成図である。
【図2】実施形態におけるRAM2のメモリマップを示す図である。
【図3】実施形態におけるプリンタドライバUI制御モジュールの概略構成図である。
【図4】実施形態におけるプリンタドライバUI制御モジュールで扱われるデータの関連を説明する模式図である。
【図5】実施形態におけるプリンタドライバUI制御モジュールの処理を示すフローチャートである。
【図6】実施形態におけるコンフリクト処理ルールの一例を示す図である。
【図7】実施形態における印刷設定画面の一例を示す図である。
【図8】実施形態における印刷設定画面の一例を示す図である。
【図9】実施形態における印刷設定画面の一例を示す図である。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a user interface control apparatus and method, and a storage medium that avoid inconsistencies that occur between setting data for a predetermined control target input via a user interface.
[0002]
[Prior art]
Devices that receive input of a plurality of setting values from a user via a user interface (hereinafter also referred to as “UI”) and are controlled based on these setting values are known. An example is an image forming system (printer system) that is connected to a host computer and performs image forming processing based on information set in the host computer. A host computer of a printer system generally has a so-called printer driver that controls a printing operation, and a print processing related program including a UI that accepts print settings from a user.
[0003]
The print processing related program evaluates the relationship between the set value values among the set values that have been set so far each time an input of the set value is received from the user via the UI. It is determined whether or not there is any inconsistency. Examples of conflicts include settings that are expected to be inconvenient for the user, such as settings that allow double-sided printing to be performed on an OHP sheet set as a recording medium, and settings that cause the printer to perform operations that are impossible. is there.
[0004]
If there is a conflict, it is necessary to perform conflict processing to avoid it.
[0005]
Conventionally, a plurality of setting value conditions (conflict processing rules) that require conflict processing are collected as a list and saved in a file or the like, and the conflict processing program is read by loading the file into a conflict processing program. There is something. Depending on the conflict processing, the setting value in the data structure is changed, the setting value on the UI control is changed, and the control gray-out (the setting item cannot be set by displaying the setting item in light gray). Some perform processing or the like. This method is excellent in that the conflict processing program can be used universally without depending on a specific set value.
[0006]
In the conflict processing program, the conflict manager that controls the conflict processing is generally designed to have high maintainability independent of the main program so that the conflict processing rules can be used universally. Will appear as a black box to the main program.
[0007]
[Problems to be solved by the invention]
However, in practice, UI update processing may be performed in the main program, or UI update processing may be required in accordance with a change in a specific setting value not involved in conflict processing. Conventionally, in such a case, the main program cannot perform processing only for the corresponding item, and the entire range is refreshed. Therefore, there is a problem that the processing efficiency of the main program is poor.
[0008]
Although it can be determined from the difference between the data structures that serve as an intermediate between the main program and the conflict manager, this method is also inefficient. In addition, when the control layout and display / non-display are changed, there is a problem that the extraction itself is difficult or the efficiency is often lowered.
[0009]
The present invention has been made in view of the above problems, and only information on items changed by conflict processing can be passed between the two while maintaining independence between the main program and the conflict manager in the conflict processing program. Thus, an object of the present invention is to provide a user interface control device and method and a storage medium that improve the processing efficiency of the main program.
[0010]
[Means for Solving the Problems]
  In order to achieve the above object, for example, a user interface control device of the present invention comprises the following arrangement. That is,
To the printer driverInput configuration informationofAvoid inconsistenciesControl the user interface of the printer driver forA user interface controller,
  Input means for inputting setting information via a plurality of input units displayed on the user interface;
  Detecting means for detecting a mismatch by applying a conflict processing rule to the setting information input by the input means;
  Updating means for updating the display of at least one of the plurality of input units to disable input based on the detection of the mismatch by the detection unit;
  It is characterized by having.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
(Hardware configuration)
FIG. 1 is a block diagram of a print processing system showing an embodiment of the present invention. The print processing system includes a host computer 3000 and a printer 1500.
[0012]
In the host computer 3000, reference numeral 1 denotes a CPU that comprehensively controls each device connected to the system bus 4, and 2 denotes a RAM that functions as a main memory, work area, and the like of the CPU 1. Reference numeral 3 denotes a ROM for storing various programs and data. The ROM 3 is divided into a font ROM 3a for storing various fonts, a program ROM 3b for storing a boot program and BIOS, and a data ROM 3c for storing various data.
[0013]
A keyboard controller (KBC) 5 controls key input from a keyboard 9 or a pointing device (mouse) (not shown). Reference numeral 6 denotes a CRT controller (CRTC), which controls display on a CRT display (CRT) 10.
[0014]
The external memory 11 (access controlled by the disk controller (DKC) 7) is a hard disk (HD), floppy disk (FD), or the like, and as shown in the figure, an operating system program (hereinafter referred to as OS) 205 and various applications (for example, In addition to storing a document processing application program 201 that performs document processing in which graphics, images, characters, tables, and the like are mixed, and a print processing related program 204, user files, editing files, and the like are also stored. The print processing related program 204 is a program for generating print data described using a page description language, and can be used in common for a plurality of printers of the same series. Also, a printer control command generation module (hereinafter referred to as “printer driver”) 2041 and a printer driver UI control module 2042 are included.
[0015]
A printer controller (PRTC) 8 is connected to the printer 1500 via the bidirectional interface 21 and performs communication control processing with the printer 1500.
[0016]
The application stored in the external memory 11 is loaded into the RAM 2 and executed by the CPU 1. Further, the CPU 1 executes, for example, outline font development (rasterization) processing on the RAM 2 to enable WYSIWYG (What you see is What you get) on the CRT 10. Further, the CPU 1 opens various windows registered based on commands instructed by a mouse cursor (not shown) on the CRT 10 and executes various data processing. When the user executes printing, the user can open a print setting setting screen (controlled by the printer driver UI control module 2042), and perform print processing settings for the printer driver 2041 including printer settings and print mode selection. it can.
[0017]
In the printer 1500, reference numeral 12 denotes a CPU that controls the entire printer 1500. A RAM 19 functions as a main memory, work area, and the like for the CPU 12, and is used for an output information expansion area, an environment data storage area, an NVRAM, and the like. It is configured to be able to. A ROM 13 includes a font ROM 13a for storing various fonts, a program ROM 13b for storing control programs and the like, and a data ROM 13c for storing various data.
[0018]
The external memory 14 (access is controlled by the memory controller (MC) 20) is an optional hard disk (HD), floppy disk (FD), IC card, etc., font data, emulation program, form data, etc. Remember. When the external memory 14 such as a hard disk is not connected, information used in the host computer 3000 is stored in the data ROM 13c of the ROM 13. The number of external memories 14 is not limited to one, and a plurality of external memories 14 may be provided. For example, an external memory storing an optional font card, a program for interpreting a printer control language having a different language system, etc. in addition to a built-in font You may be comprised so that two or more can be connected.
[0019]
The operation unit 1501 is provided with an operation panel that receives an operation from the user, and an operation switch, an LED display, and the like are arranged on the operation panel (not illustrated). Further, an NVRAM (not shown) may be provided to store printer mode setting information from the operation panel 1501.
[0020]
The printer CPU 12 outputs an image signal as output information to a printing unit (printer engine) 17 connected to the system bus 15 via the printing unit interface 16 based on a control program stored in the program ROM 13 b of the ROM 13. The CPU 12 can communicate with the host computer 3000 via the input unit 18 and can notify the host computer 3000 of information in the printer 1500 and the like.
[0021]
(Software configuration)
FIG. 2 shows a memory map of the RAM 2 in a state where a predetermined application and a print processing related program are activated and loaded into the RAM 2 on the host computer 3000. As shown in the figure, the RAM 206 is loaded with a BIOS 206, an OS 205, an application 201, a print processing related program 204, and related data 203, and a free memory area 202 is also secured. Thereby, the application 201 and the print processing related program 204 are in an executable state.
[0022]
The printer driver UI control module 2042 in the print processing related program 204 displays a print setting screen on the CRT 10 in accordance with a print setting command from the user, and enables the setting from the user.
[0023]
FIG. 7 shows a display example of the print setting screen. In the figure, a [Print Style] field 80 is a field for designating a print layout. The user can, for example, perform single-sided printing (1-Sided Printing) 801, double-sided printing (2-Sided Printing) 802, and booklet printing (Booklet). Printing) 803 can be specified by clicking with the mouse.
[0024]
The [Finishing] column 81 is a column for specifying the output order and finishing of the printed recording medium, and the user can specify one of the following, for example.
[0025]
[Collate] 811
Copy printing. When printing N copies of a document of N pages, the first page, the second page,..., The Nth page are output one by one in order, and this is repeated M times.
[0026]
[Group] 812
Page unit printing. When M copies of an N-page document are printed, the first page is output in M sheets, the second page is printed in M sheets,..., And the N-th page is output in M order.
[0027]
[Staple] 813
Staple finish. Similar to [Collate] 811, output is made in units of parts, and each part is stopped with a stapler as finishing.
[0028]
In the present specification, the user-settable items as described above are referred to as “printer function” or simply “function”. There are many other printer functions, but they are omitted for the sake of simplicity.
[0029]
Here, combinations of settings that seem inconvenient for the user, combinations of meaningless settings, that is, inconsistencies (conflicts) between setting values are avoided by the printer driver UI control module 2042 as conflict processing described in detail below. Designed to be. For example, in the drawing, single-sided printing (1-Sided Printing) 801 is specified as the print layout. In this case, [Staple] 813 in the [Finishing] field 81 is grayed out so that it cannot be specified. Become. Also, as shown in FIG. 8, when booklet printing 803 is designated as the print layout, the entire [Finishing] field 81 is grayed out and cannot be designated. The above example is a very simple example, and the actual number of possible conflicts will be considerable. Details of the conflict process will be described below.
[0030]
FIG. 3 shows a schematic configuration of the printer driver UI control module 2042 of the print processing related program 204 in the embodiment. Reference numeral 303 denotes a conflict manager that manages the exchange of data between the modules, the update of the data, and the like to control the conflict processing. A printer driver UI 306 performs the above-described print setting screen display control and serves as a main program in the printer driver UI control module 2042. 301 is a conflict processing rule description file listing conflict processing rules indicating inconsistency avoidance strategies described in a description format to be described later. 302 is an inference engine that loads the conflict processing rule description file 301 and applies the conflict processing rule to the input setting value, and infers the state of each function. 304 is a list of the state of each printer function. The state variable list is displayed on the screen and can be updated based on the input from the user and the content of the conflict processing rule description file 301. Reference numeral 305 denotes an internal structure as a form serving as a basis for screen display provided by the printer driver UI 306, and displays the status of each printer function in a predetermined format in conjunction with the state variable list 304.
[0031]
Thereafter, the conflict manager 303 that has received the setting information from the user via the printer driver UI 306 refers to the conflict processing rule description file 301. This is indicated as “R (Read)” by an arrow from the conflict processing rule description file 301 to the conflict manager 303 as shown in the figure. If the setting information conforms to the conflict processing rule as a result of the reference, the conflict processing is applied. Then, the conflict manager 303 updates the state variable list 304 and the internal structure 305 and reflects them in the printer driver UI 306. As shown in the figure, the conflict manager 303 connects the state variable list 304 and the internal structure 305 to each other with a bidirectional arrow, and is displayed as “R / W (Read / Write)”.
[0032]
FIG. 4 is a schematic diagram for explaining the relation of data handled by each module shown in FIG. In FIG. 4, the conflict processing rule description file 301 is referred to in the form included (loaded) in the inference engine 302, and a new rule is additionally written. The conflict processing rule description file 301 is also referred to by the conflict manager 303, and the state variable list 304 is changed in response to the reference. In addition, since the internal structure 305 and the state variable list 304 are displayed in conjunction with each other as described above, they are in a relationship mapped to each other. This state is expressed in a form visible to the user under the control of the printer driver UI 306.
[0033]
The internal structure 305 represents members corresponding to the printer function names A, B, and C as cA, cB, and cC, respectively.
[0034]
(Description format for conflict processing rules)
Next, the conflict processing rule description file 301 will be described.
[0035]
Each rule is mathematically formalized using logic. The predicate is described in the form of “printer function name (argument)”. In addition to ON / OFF, a numerical value may be entered as an argument (for example, the number of copies to be printed). A printer function name (argument) is described on the left side, and a logical condition for the left side to be established is described on the right side, and these are related by a symbol “←” or “<−”. For example,
A (ON) ← B (ON).
Is a rule meaning that “when the state of the printer function B is ON, the state of the printer function A is turned ON”.
[0036]
Further, the symbol “,” in the formula is used to mean “AND”. For example, the rule that “when the printer function B is ON and when the printer function C is OFF is set to the printer function A is ON”
A (ON) ← B (ON), C (OFF).
It is described.
[0037]
Further, the conflict processing rule description file 301 can describe processing for updating the printer driver UI 306. When the inference engine 302 interprets the description, the update process of the printer driver UI 306 may be directly performed via the state variable list 304 of the conflict manager 303. For example, by adding {disable} description as the UI update process, it is possible to instruct a process for disabling the control of the corresponding item (a process for graying out and making the setting impossible).
[0038]
FIG. 6 is described according to the above example. Taking the printer function displayed in FIG. 7 as an example, the unit printing function corresponding to [Collate] 811 shown in FIG. 7, the page unit printing function corresponding to [Group] 812, and [Staple] 813 The staple finishing functions to be performed are indicated by Collate (), Group (), and Staple (), respectively, and the argument is ON or OFF. The print layout function corresponding to the [PrintStyle] field 80 is indicated by Layout (), and the argument is any one of 1-Sided, 2-Sided, and Booklet.
[0039]
(1) in FIG. 6 represents a rule for setting Staple (OFF) when [Collate] 811 is checked by the user and Collate (ON) is obtained. (2) is a rule that sets Staple (OFF) when it becomes Group (ON).
[0040]
In addition, a description of {disable} is added as a UI update process in the line following each line after (3). With this description, the control of the corresponding item is disabled after applying the rule of each line.
[0041]
(Contents of processing of printer driver UI control module 2042)
Hereinafter, the process of the printer driver UI control module 2042 including the conflict process will be described in detail with reference to the flowchart of FIG.
[0042]
The processing of the printer driver UI control module 2042 starts when the user gives an instruction to open the print setting screen using the keyboard controller KBC5 or the like. When the user instructs to open the print setting screen, as described above, the print processing related program 204 is loaded into the RAM 2 under the management of the OS 205.
[0043]
When the print processing related program 204 is loaded into the RAM 2, first, as an initialization process for opening the print setting screen, the inference engine 302 reads the conflict processing rule description file 301 into the RAM 2 via the conflict manager 303 ( Step S501).
[0044]
Subsequently, a state variable list 304 used by the conflict manager 303 is created. (Step S503).
[0045]
All printer function names described in the conflict processing rule description file 301 have state variables in the state variable list 304 included in the conflict manager 303, respectively. The value of this state variable is linked to the value of the corresponding member of the internal structure 305 used in the printer driver UI 306. The initial value of the status variable of each printer function name is the value of the member of the internal structure 305.
[0046]
For example, in FIG. 4, since the initial value of int cA described in the internal structure 305 is 0, the value of the printer function A in the corresponding state variable list 304 is OFF. Therefore, the initial value of the state of the printer function A held in the inference engine 302 is OFF. Similarly, the initial value of the printer function name B is ON, and the initial value of the printer function name C is OFF. That is,
A OFF
B ON
C OFF
It becomes.
[0047]
Thereafter, the inference engine 302 performs conflict check inference by referring to the conflict processing rule description file 301. For example, as shown in FIG. 4, it is described in the conflict processing rule description file 301.
A (ON) ← B (ON), C (OFF).
Is established, the inference engine 302 changes the state variable value of the printer function A in the state variable list 304 from the initial value OFF to ON. That is,
A ON
B ON
C OFF
It becomes. In this way, the state variable list 304 is initialized.
[0048]
After the conflict check inference is completed, the conflict manager reflects the changed value of the state variable in the corresponding member int cA of the internal structure 305. That is, int cA is changed from 0 to 1 when the above rule is satisfied.
[0049]
Subsequently, other initialization processing required for opening the print setting screen is performed, and the print setting screen illustrated in FIG. 7 is opened (step S504).
[0050]
After the print setting screen is opened, an event sent from the OS is acquired, and processing for the event is performed (step S505).
[0051]
Next, it is determined whether or not the event acquired in step S505 is an event in which the user has changed a setting item on the print setting screen (step 506), and an event for changing the setting item on the print setting screen If not, the process advances to step S515 to determine whether or not the print setting screen is closed. If the request is a close request, the process advances to step S516 to perform end processing, close the print setting screen, and end all processing. On the other hand, if the result of determination in step S515 is not a close request, processing returns to step S505 and the processing is repeated.
[0052]
If the event acquired in step S505 is a setting change request by the user in step S506, the process proceeds to step S507, and the constructed conflict processing rule is applied.
[0053]
As an example of a case where the acquired event is a setting change request by the user, a change from one-side printing (1-Sided Printing) 801 to booklet printing 803 in the [Print Style] field 80 shown in FIG. The case will be described. At this time, the values of Collate, Group, Staple, and Layout members existing as members of the internal structure 305 before the conflict processing rule application, that is, before the setting change request are as follows.
[0054]
Collate OFF
Group ON
Staple OFF
Layout 1-Sided
[0055]
Since the user change request is to change Layout from 1-Sided to Booklet, the contents of the members of Layout are changed, and the values of the members of internal structure 305 are as follows.
[0056]
Collate OFF
Group ON
Staple OFF
Layout Booklet
[0057]
Then, the printer driver UI 306 calls the conflict manager 303, the state variable of Layout in the state variable list 304 is updated, the inference engine 302 is subsequently called, and the application of the conflict processing rule starts. First, each printer function name in the inference engine 302 is initialized with the value of each member of the state variable list. Subsequently, (5) of FIG. 6 is applied, and the control is disabled, that is, grayed out and settable, while Staple is OFF. Similarly, (7) and (8) in FIG. 6 are applied, and after the value of Collate is changed from OFF to ON and the value of Group is changed from ON to OFF, each control is disabled.
Collate ON (disable)
Group OFF (disable)
Staple OFF (disable)
Layout BOOKLET
[0058]
Thus, application of the conflict processing rule in the inference engine 302 ends.
[0059]
The conflict manager 303 updates the state variable list based on the application result of the conflict processing rule in step S507 (step S508), and updates the internal structure 305 (step S509). The updated location is notified to the printer driver UI 306 (step S510). As a notification method, for example, a flag indicating update is set in the internal structure 305, a bit flag indicating update or a structure is separately prepared and returned, a list of identifiers indicating changed portions is returned, and the printer driver UI Several methods such as answering an inquiry can be considered.
[0060]
Subsequently, the printer driver UI 306 refers to the member value of the internal structure 305 to determine whether or not the UI needs to be updated (step S511). If there is no need to update the UI, the process returns to step S505 to repeat the process. If the UI needs to be updated, the UI is updated (step S512), and the process returns to step S505 to repeat the process. In the above example, when the layout is changed from 1-Sided Printing to Booklet Printing, Collate changes from OFF to ON, Group changes from ON to OFF, and Collate, Group, and Staple are disabled. Therefore, the print setting screen is updated from the state shown in FIG. 7 to the state shown in FIG.
[0061]
Here, the UI update may be performed by the conflict manager 303 or the printer driver UI 306 which is the main program. Therefore, the notification of the changed part in step S510 may be after the UI update in step S512. When the printer driver UI 306 knows the changed part information, when the printer driver UI 306 performs update processing, it is possible to perform update processing only for the corresponding control. Further, when the conflict manager 303 performs the update process, the printer driver UI 306 can exclusively perform related processes other than the conflict process associated with the change of the location, so that the overall processing efficiency is improved. .
[0062]
The above processing is repeatedly executed until the print setting screen is closed. When the print setting screen is closed, the process ends, the process of the print processing related program 204 ends, and the RAM 2 is erased by the function of the OS 205.
[0063]
In the above-described processing, in steps S510 to S512, the printer driver UI 306 can know which control is changed and as a result, which control is affected. By doing so, it is possible to display the reason why the control is unavailable as shown in FIG.
[0064]
[Other Embodiments]
In the above-described embodiment, the example in which the UI control including the conflict processing is performed on the printer apparatus has been described. Needless to say, the present invention can be applied to network-related devices such as modems and routers in addition to control devices. It is also possible to apply to a system composed of these plural devices.
[0065]
As described above, an object of the present invention is to supply a storage medium (or recording medium) that records a program code of software that implements the functions of the above-described embodiments to a system or apparatus, and to perform a computer ( Alternatively, it can be achieved by reading and executing the program code stored in the storage medium by the CPU or MPU. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0066]
Furthermore, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0067]
When the present invention is applied to the above-mentioned storage medium, the program code corresponding to the flowchart of FIG. 5 described above is stored in the storage medium.
[0068]
  As explained above, the present inventionOne aspect ofAccording toA conflict processing rule is applied to the input setting information to detect inconsistencies, and based on the inconsistency detection, the display of at least one of the plurality of input units is updated to disable input.can do.
  According to another aspect of the present invention, a printer driver user interface program and a conflict manager program for avoiding inconsistencies in setting information input to the printer driver are mounted, and the printer driver is used. In the information processing apparatus that transmits the print data generated in this way to the printing apparatus, the process for detecting the inconsistency of the information input to the printer driver and the inconsistency of the setting information are detected. Since the process of notifying the user interface program of the detection is executed by the conflict manager program, the process of updating the display of the user interface of the printer driver is executed by the user interface program according to the notified contents of notification. According to this , It is possible to improve the processing efficiency of the printer driver program.
  According to still another aspect of the present invention, in an information processing apparatus that transmits print data generated using a printer driver to a printing apparatus, setting is performed in response to setting information being input to the printer driver. An information inconsistency is detected, and in response to the detection of the inconsistency, the user interface program of the printer driver can be executed to display the reason for the inconsistency.
[Brief description of the drawings]
FIG. 1 is a block configuration diagram of a print processing system according to an embodiment.
FIG. 2 is a diagram showing a memory map of a RAM 2 in the embodiment.
FIG. 3 is a schematic configuration diagram of a printer driver UI control module according to the embodiment.
FIG. 4 is a schematic diagram illustrating a relationship between data handled by a printer driver UI control module according to the embodiment.
FIG. 5 is a flowchart illustrating processing of a printer driver UI control module according to the embodiment.
FIG. 6 is a diagram illustrating an example of a conflict processing rule in the embodiment.
FIG. 7 is a diagram illustrating an example of a print setting screen according to the embodiment.
FIG. 8 is a diagram illustrating an example of a print setting screen according to the embodiment.
FIG. 9 is a diagram illustrating an example of a print setting screen according to the embodiment.

Claims (13)

プリンタドライバに入力された設定情報の不整合を回避するために前記プリンタドライバのユーザインタフェースを制御するユーザインタフェース制御装置であって、
前記ユーザインタフェースに表示される複数の入力部を介して設定情報を入力する入力手段と、
前記入力手段により入力された設定情報に対してコンフリクト処理ルールを適用して不整合を検出する検出手段と、
前記検出手段による前記不整合の検出に基づいて、前記プリンタドライバのユーザインタフェースのうち前記不整合が検出された設定情報に関連する部分を更新指示する更新情報が前記プリンタドライバのユーザインタフェースプログラムに対して通知されるのに応じて、前記更新情報によって更新指示される前記複数の入力部のうちの少なくとも1つの入力部の表示を入力不能に更新する更新手段と、
を有することを特徴とするユーザインタフェース制御装置。
A user interface control device for controlling a user interface of the printer driver in order to avoid inconsistency of setting information input to the printer driver,
Input means for inputting setting information via a plurality of input units displayed on the user interface;
Detecting means for detecting a mismatch by applying a conflict processing rule to the setting information input by the input means;
Based on the detection of the inconsistency by the detecting means, update information for instructing to update a part related to the setting information in which the inconsistency is detected in the user interface of the printer driver is provided to the user interface program of the printer driver. Updating means for updating the display of at least one of the plurality of input units instructed to be updated by the update information to be incapable of input in response to being notified ,
A user interface control device comprising:
プリンタドライバのユーザインタフェースプログラムと、前記プリンタドライバに入力された設定情報の不整合を回避するためのコンフリクトマネージャプログラムとを搭載し、前記プリンタドライバを用いて生成した印刷データを印刷装置に送信する情報処理装置であって、
前記コンフリクトマネージャプログラムを実行して、前記プリンタドライバに入力される設定情報の不整合を検出する検出手段と、
前記検出手段により前記設定情報の不整合が検出され、前記プリンタドライバのユーザインタフェースの更新が必要になった場合に、前記プリンタドライバのユーザインタフェースのうち前記不整合が検出された設定情報に関連する部分を更新指示する更新情報を前記ユーザインタフェースプログラムに対して通知する通知手段と、
前記ユーザインタフェースプログラムを実行して、前記通知手段により通知された前記更新情報に従って、前記プリンタドライバのユーザインタフェースの表示のうち前記不整合が検出された設定情報に関連する部分をを更新する更新手段と、
を有することを特徴とする情報処理装置。
A printer driver user interface program and a conflict manager program for avoiding inconsistencies in setting information input to the printer driver, and information for transmitting print data generated using the printer driver to a printing apparatus A processing device comprising:
Detecting means for executing the conflict manager program to detect inconsistencies in setting information input to the printer driver;
When an inconsistency in the setting information is detected by the detection unit and the user interface of the printer driver needs to be updated, the setting information related to the setting information in which the inconsistency is detected in the user interface of the printer driver and notifying means for notifying against the update information to update instruction part to the user interface program,
Update means for executing the user interface program and updating a portion related to the setting information in which the inconsistency is detected in the display of the user interface of the printer driver in accordance with the update information notified by the notification means. When,
An information processing apparatus comprising:
前記検出手段は、製本印刷、コレート印刷、及びステープル設定のうちの少なくとも1つの設定が前記プリンタドライバに入力された場合に、当該入力された設定とその他の設定との不整合を検出することを特徴とする請求項2に記載の情報処理装置。  The detection means detects an inconsistency between the input setting and other settings when at least one of bookbinding printing, collate printing, and staple setting is input to the printer driver. The information processing apparatus according to claim 2. プリンタドライバを用いて生成した印刷データを印刷装置に送信する情報処理装置であって、
前記プリンタドライバに対して設定情報が入力されたことに応答して、前記設定情報の不整合を検出する検出手段と、
前記検出手段により前記不整合が検出されたことに応答して、前記プリンタドライバのユーザインタフェースのうち前記不整合が検出された設定情報に関連する部分を更新指示する更新情報がプリンタドライバのユーザインタフェースプログラムに対して通知されるのに応じて、前記プリンタドライバのユーザインタフェースプログラムと前記更新情報とを用いて、前記プリンタドライバのユーザインタフェースの表示のうち前記不整合が検出された設定情報に関連する部分を更新し、さらに、前記不整合の理由を表示する表示手段と、
を有することを特徴とする情報処理装置。
An information processing apparatus that transmits print data generated using a printer driver to a printing apparatus,
Detecting means for detecting an inconsistency in the setting information in response to setting information being input to the printer driver;
In response to the detection of the inconsistency by the detection means, the update information for instructing to update the part related to the setting information in which the inconsistency is detected in the user interface of the printer driver is the user interface of the printer driver. In response to the notification to the program, the printer driver user interface program and the update information are used to relate to the setting information in which the inconsistency is detected in the display of the printer driver user interface. Display means for updating the part and displaying the reason for the inconsistency;
An information processing apparatus comprising:
前記表示手段は、前記プリンタドライバに製本印刷が入力されている場合は、コレート印刷の設定をできないように前記プリンタドライバのユーザインタフェースを表示するとともに、製本印刷が設定されているためにコレート印刷の設定はできない旨のメッセージを表示することを特徴とする請求項4に記載の情報処理装置。  When the bookbinding printing is input to the printer driver, the display means displays the user interface of the printer driver so that the collate printing cannot be set, and the booklet printing is set so that the collate printing is not performed. The information processing apparatus according to claim 4, wherein a message indicating that setting cannot be performed is displayed. プリンタドライバに入力された設定情報の不整合を回避するために前記プリンタドライバのユーザインタフェースを制御するユーザインタフェース制御方法であって、
前記ユーザインタフェースに表示される複数の入力部を介して設定情報を入力する入力工程と、
前記入力工程で入力された設定情報に対してコンフリクト処理ルールを適用して不整合を検出する検出工程と、
前記検出工程での前記不整合の検出に基づいて、前記プリンタドライバのユーザインタフェースのうち前記不整合が検出された設定情報に関連する部分を更新指示する更新情報が前記プリンタドライバのユーザインタフェースプログラムに対して通知されるのに応じて、前記更新情報によって更新指示される前記複数の入力部のうちの少なくとも1つの入力部の表示を入力不能に更新する更新工程と、
を有することを特徴とするユーザインタフェース制御方法。
A user interface control method for controlling a user interface of the printer driver in order to avoid inconsistency of setting information input to the printer driver,
An input step of inputting setting information via a plurality of input units displayed on the user interface;
A detection step of detecting inconsistency by applying a conflict processing rule to the setting information input in the input step;
Based on the detection of the inconsistency in the detection step, update information for instructing to update a part related to the setting information in which the inconsistency is detected in the user interface of the printer driver is displayed in the user interface program of the printer driver. An update step of updating the display of at least one input unit of the plurality of input units instructed to be updated by the update information to be incapable of input in response to being notified to the update information ;
A user interface control method comprising:
プリンタドライバのユーザインタフェースプログラムと、前記プリンタドライバに入力された設定情報の不整合を回避するためのコンフリクトマネージャプログラムとを搭載し、前記プリンタドライバを用いて生成した印刷データを印刷装置に送信する情報処理装置の制御方法であって、
前記コンフリクトマネージャプログラムを実行して、前記プリンタドライバに入力される設定情報の不整合を検出する検出工程と、
前記検出工程で前記設定情報の不整合が検出され、前記プリンタドライバのユーザインタフェースの更新が必要になった場合に、前記プリンタドライバのユーザインタフェースのうち前記不整合が検出された設定情報に関連する部分を更新指示する更新情報を前記ユーザインタフェースプログラムに対して通知する通知工程と、
前記ユーザインタフェースプログラムを実行して、前記通知工程で通知された前記更新情報に従って、前記プリンタドライバのユーザインタフェースの表示のうち前記不整合が検出された設定情報に関連する部分をを更新する更新工程と、
を有することを特徴とする情報処理装置の制御方法。
A printer driver user interface program and a conflict manager program for avoiding inconsistencies in setting information input to the printer driver, and information for transmitting print data generated using the printer driver to a printing apparatus A method for controlling a processing apparatus, comprising:
Detecting the inconsistency of the setting information input to the printer driver by executing the conflict manager program;
When an inconsistency in the setting information is detected in the detection step and it is necessary to update the user interface of the printer driver, it is related to the setting information in which the inconsistency is detected in the user interface of the printer driver. a notifying step of notifying for update information to update instruction part to the user interface program,
An update step of executing the user interface program and updating a portion related to the setting information in which the inconsistency is detected in the display of the user interface of the printer driver in accordance with the update information notified in the notification step. When,
A method for controlling an information processing apparatus, comprising:
前記検出工程は、製本印刷、コレート印刷、及びステープル設定のうちの少なくとも1つの設定が前記プリンタドライバに入力された場合に、当該入力された設定とその他の設定との不整合を検出することを特徴とする請求項7に記載の情報処理装置の制御方法。  The detection step detects an inconsistency between the input setting and other settings when at least one of bookbinding printing, collate printing, and stapling settings is input to the printer driver. The method for controlling an information processing apparatus according to claim 7, wherein: プリンタドライバを用いて生成した印刷データを印刷装置に送信する情報処理装置の制御方法であって、
前記プリンタドライバに対して設定情報が入力されたことに応答して、前記設定情報の不整合を検出する検出工程と、
前記検出工程で前記不整合が検出されたことに応答して、前記プリンタドライバのユーザインタフェースのうち前記不整合が検出された設定情報に関連する部分を更新指示する更新情報がプリンタドライバのユーザインタフェースプログラムに対して通知されるのに応じて、前記プリンタドライバのユーザインタフェースプログラムと前記更新情報とを用いて、前記プリンタドライバのユーザインタフェースの表示のうち前記不整合が検出された設定情報に関連する部分を更新し、さらに、前記不整合の理由を表示する表示工程と、
を有することを特徴とする情報処理装置の制御方法。
A control method for an information processing apparatus for transmitting print data generated using a printer driver to a printing apparatus,
A detection step of detecting inconsistencies in the setting information in response to setting information being input to the printer driver;
In response to the detection of the inconsistency in the detecting step, the update information for instructing to update the portion related to the setting information in which the inconsistency is detected in the user interface of the printer driver is the user interface of the printer driver. In response to the notification to the program, the printer driver user interface program and the update information are used to relate to the setting information in which the inconsistency is detected in the display of the printer driver user interface. A display step of updating the part and further displaying the reason for the inconsistency;
A method for controlling an information processing apparatus, comprising:
前記表示工程は、前記プリンタドライバに製本印刷が入力されている場合は、コレート印刷の設定をできないように前記プリンタドライバのユーザインタフェースを表示するとともに、製本印刷が設定されているためにコレート印刷の設定はできない旨のメッセージを表示することを特徴とする請求項9に記載の情報処理装置の制御方法。  In the display step, when bookbinding printing is input to the printer driver, the user interface of the printer driver is displayed so that collation printing cannot be set, and since bookbinding printing is set, collation printing is not performed. The information processing apparatus control method according to claim 9, wherein a message indicating that the setting cannot be performed is displayed. プリンタドライバに入力された設定情報の不整合を回避するために前記プリンタドライバのユーザインタフェースを制御するための制御プログラムを格納した記憶媒体であって、前記制御プログラムは、
前記ユーザインタフェースに表示される複数の入力部を介して設定情報を入力する入力工程のコードと、
前記入力工程で入力された設定情報に対してコンフリクト処理ルールを適用して不整合を検出する検出工程のコードと、
前記検出工程での前記不整合の検出に基づいて、前記プリンタドライバのユーザインタフェースのうち前記不整合が検出された設定情報に関連する部分を更新指示する更新情報が前記プリンタドライバのユーザインタフェースプログラムに対して通知されるのに応じて、前記更新情報によって更新指示される前記複数の入力部のうちの少なくとも1つの入力部の表示を入力不能に更新する更新工程のコードと、
を有することを特徴とする記憶媒体。
A storage medium storing a control program for controlling a user interface of the printer driver in order to avoid inconsistencies in setting information input to the printer driver, the control program comprising:
A code of an input process for inputting setting information via a plurality of input units displayed on the user interface;
A detection process code for detecting inconsistency by applying a conflict processing rule to the setting information input in the input process;
Based on the detection of the inconsistency in the detection step, update information for instructing to update a part related to the setting information in which the inconsistency is detected in the user interface of the printer driver is displayed in the user interface program of the printer driver. An update process code for updating the display of at least one of the plurality of input units instructed to be updated by the update information to be incapable of input in response to being notified to the update information ;
A storage medium comprising:
プリンタドライバを用いて生成した印刷データを印刷装置に送信する情報処理装置によって実行される制御プログラムを格納した記憶媒体であって、
前記制御プログラムは、
前記プリンタドライバのユーザインタフェースプログラムと、
前記プリンタドライバに入力された設定情報の不整合を回避するためのコンフリクトマネージャプログラムと、
を有し、
前記コンフリクトマネージャプログラムは、
前記プリンタドライバに入力される設定情報の不整合を検出する検出工程のコードと、
前記検出工程で前記設定情報の不整合が検出され、前記プリンタドライバのユーザインタフェースの更新が必要になった場合に、前記プリンタドライバのユーザインタフェースのうち前記不整合が検出された設定情報に関連する部分を更新指示する更新情報を前記ユーザインタフェースプログラムに対して通知する通知工程のコードと、
を含み、
前記ユーザインタフェースプログラムは、
前記通知工程で通知された前記更新情報に従って、前記プリンタドライバのユーザインタフェースの表示のうち前記不整合が検出された設定情報に関連する部分をを更新する更新工程のコード、
を含むことを特徴とする記憶媒体。
A storage medium storing a control program executed by an information processing apparatus that transmits print data generated using a printer driver to a printing apparatus,
The control program is
A user interface program of the printer driver;
A conflict manager program for avoiding inconsistencies in the setting information input to the printer driver;
Have
The conflict manager program is
A detection process code for detecting inconsistencies in setting information input to the printer driver;
When an inconsistency in the setting information is detected in the detection step and it is necessary to update the user interface of the printer driver, it is related to the setting information in which the inconsistency is detected in the user interface of the printer driver. and code notifying step of notifying for update information to update instruction part to the user interface program,
Including
The user interface program is:
A code of an update step for updating a portion related to the setting information in which the inconsistency is detected in the display of the user interface of the printer driver in accordance with the update information notified in the notification step;
A storage medium comprising:
プリンタドライバを用いて生成した印刷データを印刷装置に送信する情報処理装置によって実行される制御プログラムを格納した記憶媒体であって、前記制御プログラムは、
前記プリンタドライバに対して設定情報が入力されたことに応答して、前記設定情報の不整合を検出する検出工程のコードと、
前記検出工程で前記不整合が検出されたことに応答して、前記プリンタドライバのユーザインタフェースのうち前記不整合が検出された設定情報に関連する部分を更新指示する更新情報がプリンタドライバのユーザインタフェースプログラムに対して通知されるのに応じて、前記プリンタドライバのユーザインタフェースプログラムと前記更新情報とを用いて、前記プリンタドライバのユーザインタフェースの表示のうち前記不整合が検出された設定情報に関連する部分を更新し、さらに、前記不整合の理由を表示する表示工程のコードと、
を有することを特徴とする記憶媒体。
A storage medium storing a control program executed by an information processing apparatus that transmits print data generated using a printer driver to a printing apparatus, wherein the control program includes:
A detection process code for detecting inconsistencies in the setting information in response to setting information being input to the printer driver;
In response to the detection of the inconsistency in the detecting step, the update information for instructing to update the portion related to the setting information in which the inconsistency is detected in the user interface of the printer driver is the user interface of the printer driver. In response to the notification to the program, the printer driver user interface program and the update information are used to relate to the setting information in which the inconsistency is detected in the display of the printer driver user interface. A display process code for updating the part and displaying the reason for the inconsistency;
A storage medium comprising:
JP2000402713A 2000-11-30 2000-12-28 User interface control apparatus and method, and storage medium Expired - Lifetime JP3833067B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2000402713A JP3833067B2 (en) 2000-12-28 2000-12-28 User interface control apparatus and method, and storage medium
EP01309965A EP1211594A3 (en) 2000-11-30 2001-11-28 Apparatus and method for controlling user interface
US09/995,724 US7228314B2 (en) 2000-11-30 2001-11-29 Apparatus and method for controlling user interface
US11/391,408 US7328224B2 (en) 2000-11-30 2006-03-29 Apparatus and method for controlling user interface
US11/711,710 US7617247B2 (en) 2000-11-30 2007-02-28 Apparatus and method for controlling user interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000402713A JP3833067B2 (en) 2000-12-28 2000-12-28 User interface control apparatus and method, and storage medium

Publications (2)

Publication Number Publication Date
JP2002202868A JP2002202868A (en) 2002-07-19
JP3833067B2 true JP3833067B2 (en) 2006-10-11

Family

ID=18866956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000402713A Expired - Lifetime JP3833067B2 (en) 2000-11-30 2000-12-28 User interface control apparatus and method, and storage medium

Country Status (1)

Country Link
JP (1) JP3833067B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3697176B2 (en) * 2001-04-27 2005-09-21 キヤノン株式会社 User interface control apparatus and method
JP4350565B2 (en) 2003-03-27 2009-10-21 キヤノン株式会社 Information processing apparatus and method
JP4481800B2 (en) * 2003-12-02 2010-06-16 キヤノン株式会社 Information processing apparatus, information processing method, and program
JP4574344B2 (en) 2004-01-20 2010-11-04 キヤノン株式会社 Information processing apparatus and method
JP4661465B2 (en) * 2005-09-06 2011-03-30 富士ゼロックス株式会社 Control device
JP4974909B2 (en) * 2008-01-10 2012-07-11 キヤノン株式会社 Information processing apparatus, print setting method, storage medium, program

Also Published As

Publication number Publication date
JP2002202868A (en) 2002-07-19

Similar Documents

Publication Publication Date Title
US7228314B2 (en) Apparatus and method for controlling user interface
US11042336B2 (en) Information processing apparatus and method
US7218976B2 (en) User interface control apparatus and method
KR100704811B1 (en) Information processing system and print control method
JP6195346B2 (en) Information processing apparatus, information processing method, and program
JP5025684B2 (en) Control apparatus and method, and program
JP2002091728A (en) Information processor, printing system and command generating method
JP3833067B2 (en) User interface control apparatus and method, and storage medium
JP5700938B2 (en) Information processing apparatus, information processing method, and program
JP4366027B2 (en) User interface control apparatus and method
JP5807460B2 (en) Information processing apparatus, program, and storage medium
JP3697176B2 (en) User interface control apparatus and method
JP4307464B2 (en) Information processing apparatus and information processing method
JP2002014786A (en) Printing control system and method, and storage medium
JP5106660B2 (en) Control apparatus and method, and program
JP3814479B2 (en) Information processing apparatus, information processing method, image forming apparatus, and storage medium
JP4817563B2 (en) Information processing apparatus, data processing method of the apparatus, data processing program, and storage medium storing the program
JP2009003712A (en) Printing system and control method
JP3673714B2 (en) User interface control apparatus and method, and storage medium
JP4522398B2 (en) User interface control apparatus and method
JP5371540B2 (en) Information processing apparatus, control method therefor, and program
JP2006228103A (en) Information processor
JP2007066063A (en) Method, device and program for print control
JP2007079743A (en) Information processor and its control method and program
JP2006338166A (en) Information processor, its control method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050711

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060222

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060718

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3833067

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090728

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100728

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100728

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130728

Year of fee payment: 7

EXPY Cancellation because of completion of term