JP4307464B2 - Information processing apparatus and information processing method - Google Patents
Information processing apparatus and information processing method Download PDFInfo
- Publication number
- JP4307464B2 JP4307464B2 JP2006129665A JP2006129665A JP4307464B2 JP 4307464 B2 JP4307464 B2 JP 4307464B2 JP 2006129665 A JP2006129665 A JP 2006129665A JP 2006129665 A JP2006129665 A JP 2006129665A JP 4307464 B2 JP4307464 B2 JP 4307464B2
- Authority
- JP
- Japan
- Prior art keywords
- user interface
- printer driver
- value
- information processing
- state variable
- 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 - Fee Related
Links
Images
Description
本発明は、情報処理装置の処理条件の設定において、複数の設定項目間で条件の不整合が生じた場合に、その不整合を解消する装置及び情報処理方法及びその方法をコンピュータで実行するためのプログラムモジュールを格納した記憶媒体、その情報処理装置を組込んだ画像形成装置に関する。 The present invention is directed to an apparatus, an information processing method, and a method for executing a computer that eliminates the inconsistency when a condition inconsistency occurs between a plurality of setting items in setting processing conditions of the information processing apparatus. And an image forming apparatus incorporating the information processing apparatus.
従来、コンピュータ上で動作するプログラムはユーザインタフェースを介してユーザから複数の動作内容を定義するための設定値の入力を受け付けると、それらの設定値に基づいて処理を実行する。 Conventionally, when a program operating on a computer receives input of setting values for defining a plurality of operation contents from a user via a user interface, the program executes processing based on the setting values.
ところが、複数の設定条件において排他的な関係や、設定条件相互間で依存する関係等が存在する場合はユーザからの設定値の入力を受け付ける度に、入力された設定条件、設定値との関係を評価し、それらの設定条件等に不整合がないかどうかの判別を行い、不整合があった場合にはその解消を実施する処理を行なっていた。その処理の実現にあたっては、不整合の検知および不整合の解消処理を設定値間の関係に依存した条件の下で専用の処理プラグラムを用いるのが一般的である。 However, if there is an exclusive relationship among multiple setting conditions or a relationship that depends on each other among the setting conditions, each time a setting value input from the user is received, the relationship with the input setting condition and setting value Was evaluated, and it was determined whether or not there was any inconsistency in the setting conditions, and if there was inconsistency, a process for resolving it was performed. In realizing the processing, it is common to use a dedicated processing program under the condition depending on the relationship between the set values for inconsistency detection and inconsistency elimination processing.
あるいは、不整合の処理が必要となる複数の設定値の条件を一覧としてまとめてファイル等に保存しておき、このファイルを不整合を解消する汎用的な処理プログラムを利用して、このプログラムに読み込ませて、設定条件の不整合を解消させる場合もある。 Alternatively, a list of conditions for multiple setting values that require inconsistency processing is stored in a file, etc., and this file is stored in a file using a general-purpose processing program that resolves inconsistencies. In some cases, it may be read to resolve inconsistencies in the setting conditions.
上述の従来技術として、例えば、以下の特許文献1に示されるものがある。
しかし、従来は、コンフリクト処理ルールが変更された場合、変更後の条件に適合した、ユーザインタフェースの表示の実現が困難であった。 However, conventionally, when the conflict processing rule is changed, it is difficult to realize the display of the user interface that matches the changed condition.
また、上記の不整合(以下、「コンフリクト」)をプログラムにより解消するための条件の記述は、プログラム開発者などが全ての条件を網羅的に行うため、設定値間の依存関係が複雑な場合には、全ての条件を網羅することができずに、漏れ、すなわち、不整合の状態が完全に解消されない場合が生じることがあった。 In addition, the description of the conditions for resolving the above inconsistency (hereinafter referred to as “conflict”) by the program is performed comprehensively by the program developer. In some cases, not all conditions can be covered, and leakage, that is, inconsistency may not be completely resolved.
本発明は、ユーザインタフェース制御部は、ユーザインタフェース更新処理とメッセージ表示をコンフリクト処理部分であるコンフリクトマネージャに設けることで、コンフリクト処理ルールが変更された場合でも容易に変更後の条件に適合した表示を実現することを目的とする。 According to the present invention, the user interface control unit provides the user interface update process and the message display to the conflict manager, which is the conflict processing part, so that even if the conflict processing rule is changed, a display suitable for the changed condition can be easily obtained. It aims to be realized.
上記目的を達成するために、本発明にかかる情報処理装置、方法は主として以下の構成を有することを特徴とする。 In order to achieve the above object, an information processing apparatus and method according to the present invention mainly have the following configuration.
すなわち、本発明に係る情報処理装置は、プリンタドライバを用いて生成した印刷データを印刷装置に送信する情報処理装置であって、
前記プリンタドライバのユーザインタフェースプログラムと、状態変数を用いて定義された既存の論理式の評価において未定となる状態変数を決定するために生成された補完ルールにより補完された論理式であって、真偽の二値を取りうる状態変数を含む論理式を用いて定義された規則に従い、前記プリンタドライバに入力された設定値の不整合を解消するためのコンフリクトマネージャプログラムと、を格納した格納手段と、
前記設定値の不整合がある場合に、前記真偽の二値を取りうる状態変数を含む論理式を用いて定義された規則に従い、不整合が生じている設定値を不整合がない値に修正し、その値を前記ユーザインタフェースプログラムが読み出すことができる特定の領域に書き込むことにより前記コンフリクトマネージャプログラムから前記ユーザインタフェースプログラムへ知らせる手段と、
前記ユーザインタフェースプログラムを実行して、前記特定の領域に書き込まれた内容に従って、前記プリンタドライバのユーザインタフェースの表示を更新する更新手段と、
を有することを特徴とする。
That is, an information processing apparatus according to the present invention is an information processing apparatus that transmits print data generated using a printer driver to a printing apparatus,
A logical expression supplemented by a completion rule generated to determine an undefined state variable in the evaluation of an existing logical expression defined by using the user interface program of the printer driver and the state variable. A conflict manager program for resolving inconsistencies in setting values input to the printer driver in accordance with a rule defined using a logical expression including a state variable that can take a fake binary value; ,
When there is a mismatch between the set values, the set value in which the mismatch occurs is changed to a value that does not have a mismatch according to a rule defined using a logical expression including a state variable that can take the true or false binary value. Means for modifying and informing the user interface program from the conflict manager program by writing its value in a specific area that can be read by the user interface program;
Updating means for executing the user interface program and updating the display of the user interface of the printer driver according to the contents written in the specific area;
It is characterized by having.
あるいは、本発明に係る情報処理方法は、プリンタドライバを用いて生成した印刷データを印刷装置に送信する情報処理装置における情報処理方法であって、
前記プリンタドライバのユーザインタフェースプログラムと、状態変数を用いて定義された既存の論理式の評価において未定となる状態変数を決定するために生成された補完ルールにより補完された論理式であって、真偽の二値を取りうる状態変数を含む論理式を用いて定義された規則に従い、前記プリンタドライバに入力された設定値の不整合を解消するためのコンフリクトマネージャプログラムと、を格納手段に格納する格納工程と、
前記設定値の不整合がある場合に、前記真偽の二値を取りうる状態変数を含む論理式を用いて定義された規則に従い、不整合が生じている設定値を不整合がない値に修正し、その値を前記ユーザインタフェースプログラムが読み出すことができる特定の領域に書き込むことにより前記コンフリクトマネージャプログラムから前記ユーザインタフェースプログラムへ知らせる工程と、
前記ユーザインタフェースプログラムを実行して、前記特定の領域に書き込まれた内容に従って、前記プリンタドライバのユーザインタフェースの表示を更新する更新工程と、
を有することを特徴とする。
Alternatively, an information processing method according to the present invention is an information processing method in an information processing apparatus that transmits print data generated using a printer driver to a printing apparatus,
A logical expression supplemented by a completion rule generated to determine an undefined state variable in the evaluation of an existing logical expression defined by using the user interface program of the printer driver and the state variable. In accordance with a rule defined using a logical expression including a state variable that can take a fake binary value, a conflict manager program for resolving inconsistencies in setting values input to the printer driver is stored in the storage means. A storage process;
When there is a mismatch between the set values, the set value in which the mismatch occurs is changed to a value that does not have a mismatch according to a rule defined using a logical expression including a state variable that can take the true or false binary value. Modifying and informing the user interface program from the conflict manager program by writing the value to a specific area that can be read by the user interface program;
An update step of executing the user interface program and updating the display of the user interface of the printer driver according to the content written in the specific area;
It is characterized by having.
本発明のひとつの側面によれば、ユーザインタフェース制御部は、ユーザインタフェース更新処理とメッセージ表示をコンフリクト処理部分であるコンフリクトマネージャに設けることで、コンフリクト処理ルールが変更された場合でも容易に変更後の条件に適合した表示を実現することができる。 According to one aspect of the present invention, the user interface control unit provides the user interface update process and the message display in the conflict manager that is the conflict process part, so that even if the conflict process rule is changed, A display suitable for the conditions can be realized.
本発明の別の側面によれば、基本となるコンフリクト処理ルールを補完する条件を自動生成するので、漏れがなくコンフリクト状態を解消することが可能になる。 According to another aspect of the present invention, conditions for complementing the basic conflict processing rule are automatically generated, so that it is possible to eliminate the conflict state without omission.
本発明のさらに別の側面によれば、ユーザインタフェースの更新処理、メッセージ処理もコンフリクト処理ルールに加えることで、開発者にとって可読性の高い、メンテナンスの容易なコーディングが実現可能になる。 According to still another aspect of the present invention, by adding user interface update processing and message processing to the conflict processing rule, it is possible to realize coding that is highly readable for developers and easy to maintain.
以下、本発明を適用するのに好適である実施形態について説明する。 Hereinafter, an embodiment suitable for applying the present invention will be described.
図1は本発明が適用される実施形態において、設定された条件が整合していないとき、この不整合を解消するための情報処理(コンフリクト解消処理)が実行される印刷処理システムの構成を説明するブロック図である。 FIG. 1 illustrates a configuration of a print processing system in which information processing (conflict resolution processing) for eliminating this inconsistency is executed when set conditions are not consistent in an embodiment to which the present invention is applied. FIG.
なお、特に断らない限り、本発明にかかる情報処理が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。 Unless otherwise specified, as long as the information processing according to the present invention is executed, a single device or a system composed of a plurality of devices can be connected via a network such as a LAN or WAN. Needless to say, the present invention can be applied to a system in which processing is performed.
図1において、3000はホストコンピュータで、ROM3bのプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が総括的に制御する。
In FIG. 1,
また、プログラム用ROM3bあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶し、フォント用ROM3aあるいは外部メモリ11には上記の文書処理の際に使用するフォントデータ等が記憶され、データ用ROM3cあるいは外部メモリ11には文書処理等を行う際に使用する各種データが記憶されている。
The
2はRAMで、CPU1の主メモリ、ワークエリア等として機能する。5はキーボードコントローラ(KBC)で、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。6はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)10の表示を制御する。
7はディスクコントローラ(DKC)で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶するハードディスク(HD)及びフロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。
A disk controller (DKC) 7 is a hard disk (HD) and floppy (registered trademark) disk for storing a boot program, various applications, font data, user files, edit files, a printer control command generation program (hereinafter referred to as a printer driver), and the like. Controls access to the
8はプリンタコントローラ(PRTC)で、所定の双方向性インターフェース(インターフェース)21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。
A printer controller (PRTC) 8 is connected to the
また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
The
プリンタ1500において、12はプリンタCPUで、プログラム用ROM13bに記憶された制御プログラム等あるいは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、プログラムROM13bには、CPU12の制御プログラム等を記憶する。フォント用ROM13aには出力情報を生成する際に使用するフォントデータ等を記憶し、データ用ROM13cにはハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。
In the
CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知可能に構成されている。19はCPU12の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
The
なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ14は、メモリコントローラ(MC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
The
また、18は前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。
図2に示すのが、本実施形態におけるユーザインタフェース制御プログラムがホストコンピュータ3000上のRAM2にロードされ、実行可能となった状態のメモリマップを示している。なお、本実施形態におけるユーザインタフェース制御プログラムは印刷処理関連プログラム204の一部として存在している。
FIG. 2 shows a memory map in a state in which the user interface control program in this embodiment is loaded into the
図4は、本実施形態のコンフリクト処理における各モジュールで扱うデータの関連を示す図である。 FIG. 4 is a diagram illustrating a relationship between data handled in each module in the conflict processing according to the present embodiment.
図5は本実施形態におけるコンフリクトを解消するための、基本となるコンフリクトルールを補完するための補完ルールを生成するための処理(以下、「補完ルールの生成処理」という。)を説明するフローチャートである。以下、図5に示すフローチャートを中心にして本実施形態を詳しく説明する。 FIG. 5 is a flowchart for explaining a process for generating a complement rule for complementing a basic conflict rule (hereinafter referred to as “complement rule generation process”) for resolving the conflict in the present embodiment. is there. Hereinafter, the present embodiment will be described in detail with reference to the flowchart shown in FIG.
本実施形態ではプリンタドライバがCRT10に各種設定用に表示するユーザインタフェースから設定入力された設定条件に関するコンフリクト処理を例に説明する。ユーザが図1に示したキーボード9を介して、キーボードコントローラKBC5の制御によりCRT10に表示されたユーザインタフェース画面の一例を図8に示す。プリンタドライバUI(ユーザインタフェース)を開く指示をすることでコンフリクトルールの補完処理が開始する。
In the present embodiment, a conflict process related to setting conditions set and input from a user interface displayed by the printer driver on the
ユーザがプリンタドライバUIを開く指示により、プリンタドライバUIを開くための初期化処理が行われ、OSの管理の下、RAM2に印刷処理関連プログラム204がロードされる。
In response to an instruction to open the printer driver UI by the user, initialization processing for opening the printer driver UI is performed, and the print processing related
補完ルールの生成処理を図3及び図6を用いて説明する。 The complementary rule generation process will be described with reference to FIGS.
ここで、図3は本実施形態におけるユーザインタフェース制御部の内部処理の概要を示す図である。図3において、推論エンジン302は図6(補完ルールの生成処理前のコンフリクト処理ルール)に例示してあるように表記されたコンフリクト処理ルール301をコンフリクトマネージャ303を介してRAM2中に読み込む(ステップS501)。
Here, FIG. 3 is a diagram showing an outline of internal processing of the user interface control unit in the present embodiment. In FIG. 3, the
続いて、ステップS501で読み込んだコンフリクト処理ルールを基に、2状態値(ONとOFF)を値として有するルールについて補完ルールを生成する(ステップS502)。 Subsequently, a complementary rule is generated for a rule having two state values (ON and OFF) as values based on the conflict processing rule read in step S501 (step S502).
例えば、以下の(1)から(3)は2状態値の設定状態を記述した例であり、同じプリンタの機能について以下の例のように左辺に ON または OFF のどちらかだけが記述された場合を想定すると、
A(ON) <- B(ON), C(OFF).... (1)
A(ON) <- D(V1). ... (2)
B(OFF) <- E(OFF). ... (3)
(1)の場合は設定値BがON、設定値CがOFFに設定された場合に、設定値Aの設定がONになることを示しており、(2)は多状態設定値である設定値Dの値がV1に設定された場合も設定値Aの設定が(1)の場合同様、ONになることを示している。また(3)は設定値EがOFFに設定された場合に、設定値Bの値がOFFになることを示している。
For example, the following (1) to (3) are examples that describe the setting status of two status values, and only one of ON or OFF is described on the left side of the same printer function as shown in the following example Assuming
A (ON) <-B (ON), C (OFF) .... (1)
A (ON) <-D (V1) .... (2)
B (OFF) <-E (OFF) ... (3)
The case (1) indicates that the setting value A is set to ON when the setting value B is set to ON and the setting value C is set to OFF, and (2) is a setting that is a multi-state setting value. When the value D is set to V1, the setting value A is set to ON as in the case where the setting value A is set to (1). Further, (3) indicates that when the set value E is set to OFF, the value of the set value B is turned OFF.
この場合には推論エンジン302が ON/OFFを 逆にするルールを以下のように自動生成する。すなわち、上記の(1),(2) に対しては(4)式のようなコンフリクト処理ルールを生成する。
In this case, the
つまり、AはONの状態ではなく、OFFの状態値をとる。 That is, A takes an OFF state value, not an ON state.
A(OFF) <- not A(ON) ... (4)
同様に(3)に対しては左辺Bの設定を変更するコンフリクト処理ルールを生成する。つまり、BはOFFの状態ではなく、ONの状態値をとる。
A (OFF) <-not A (ON) ... (4)
Similarly, for (3), a conflict processing rule for changing the setting of the left side B is generated. That is, B takes an ON state value, not an OFF state.
B(ON) <- not B(OFF) ... (5)
このように、推論エンジン302によって自動生成された(4),(5)のルールは処理効率上最適化されて以下の(4)',(5)'のように変形されるが、意味は全く同じとなる。つまり、Aの設定OFF、Bの設定ONは真であるという内容がルールとして生成されることになる。
B (ON) <-not B (OFF) ... (5)
Thus, the rules (4) and (5) automatically generated by the
A(OFF) <- true ... (4)'
B(ON) <- true ... (5)'
上記の例のように逆の状態値に変更するように自動生成されたルールは論理的に制御対象(例えばプリンタやファクシミリ等)の設定条件を定義する状態値として100%、矛盾なく機能を遂行するための論理を整合させるものである。
A (OFF) <-true ... (4) '
B (ON) <-true ... (5) '
The rule automatically generated so as to change to the opposite state value as in the above example is 100% as the state value that logically defines the setting condition of the control target (for example, printer, facsimile, etc.), and functions without contradiction. The logic to do this is to be matched.
続いて、図4に示すように状態変数に生成された補完ルールを反映する(ステップ503)。 Subsequently, the complement rule generated in the state variable is reflected as shown in FIG. 4 (step 503).
補完ルールの生成処理において、制御対象(例えばプリンタやファクシミリ等)の全ての機能設定項目についてはコンフリクトマネージャ303の内部に、図4に示すような状態変数リスト402を持っている。この状態変数の値はプリンタドライバUIで使用される内部構造体401の対応するメンバ(状態変数)の値と連動している。全てのプリンタ機能設定項目の状態変数の初期値はその内部構造体401のメンバの値が初期値となる。
In the complement rule generation process, the state variable list 402 as shown in FIG. 4 is provided in the
例えば以下の設定を記述した場合、
A(ON) <- B(ON), C(OFF)
図4の状態変数リスト402に示すようにコンフリクト処理ルール403で使用するプリンタにおける機能設定項目A, B, C のそれぞれについて同名の状態変数が存在する。そして、プリンタにおける機能設定項目A, B, C に対応する プリンタドライバUI内部構造体401のメンバをそれぞれ int cA, int cB, int cCとする。
For example, if the following settings are described:
A (ON) <-B (ON), C (OFF)
As shown in the state variable list 402 of FIG. 4, there is a state variable with the same name for each of the function setting items A, B, and C in the printer used in the
int cA の初期値は0であり、それに対応する A の値は0に対応する状態変数OFF となっている。従って推論エンジン302内のプリンタ機能設定項目A の状態値の初期値も 状態変数「OFF」が設定される。推論エンジン302でコンフリクトチェックの推論が行われて以下のルール、
A(ON) <- B(ON), C(OFF)、
が成立した場合、推論エンジン302は左辺のプリンタ機能設定項目Aの状態変数値を「ON」に変更する。
The initial value of int cA is 0, and the value of A corresponding to it is a state variable OFF corresponding to 0. Therefore, the state variable “OFF” is also set as the initial value of the state value of the printer function setting item A in the
A (ON) <-B (ON), C (OFF),
Is established, the
コンフリクトチェックの推論が終了した後、コンフリクトマネージャは変更された状態変数の値をプリンタドライバUI内部構造体401の対応するメンバ int cA に反映(マッピング)する。つまり int cA は上記ルールが成立したことによって「0」から 状態変数ONに対応する「1 」に変更される。 After the conflict check inference is completed, the conflict manager reflects (maps) the changed value of the state variable to the corresponding member int cA of the printer driver UI internal structure 401. That is, int cA is changed from “0” to “1” corresponding to the state variable ON when the above rule is satisfied.
推論エンジン302は推論エンジンに組込まれている組込み関数status(a, _X) によってプリンタ機能設定項目A の状態変数値を推論エンジン302で使用する変数 _X に変更する。推論エンジン302はコンフリクト処理ルールをロードした後、そのコンフリクト処理ルール中に出現する全ての状態変数について、コンフリクトを解消するための補完ルールを自動的に生成する。
The
A(_X) <- status(A,_X)
B(_X) <- status(B,_X)
C(_X) <- status(C,_X)
これは他に適用するルールが存在しない場合には プリンタドライバUI内部構造体401の対応するメンバの値がそのプリンタ機能設定項目の状態値となることを意味する。
A (_X) <-status (A, _X)
B (_X) <-status (B, _X)
C (_X) <-status (C, _X)
This means that when there is no other rule to be applied, the value of the corresponding member of the printer driver UI internal structure 401 becomes the status value of the printer function setting item.
プリンタの機能設定項目A については、
A(ON) <- B(ON), C(OFF)
なる関係が成り立と判断されれば A の状態値はこれを受けて ON と設定される。B がもし上記の自動生成されたルール以外に依存するルールが存在しないならば、
B(_X) <- status(B,_X)
として状態変数が設定される。この自動生成ルールによりB の状態変数の値 ON が_X にユニファイされ、それがプリンタ機能B の状態値となる。
For printer function setting item A, see
A (ON) <-B (ON), C (OFF)
If it is determined that the following relationship holds, the state value of A is set to ON in response to this. If B has no rules that depend on other than the auto-generated rules above,
B (_X) <-status (B, _X)
As a state variable. By this automatic generation rule, the value ON of the state variable of B is unified to _X, which becomes the state value of the printer function B.
つまり、ユーザ定義ルールが存在しないか、または存在していてもプリンタ機能について影響が及ばない場合はプリンタドライバのUIの内部構造体401に対応するメンバに格納されている値がそのプリンタ機能の状態値ということになる。 That is, if the user-defined rule does not exist or if it does not affect the printer function, the value stored in the member corresponding to the internal structure 401 of the printer driver UI is the status of the printer function. It will be value.
続いて、その他の初期化処理として、プリンタドライバのUIをオープンするために必要な初期化処理を行い、図8に例示するようなプリンタドライバユーザインタフェース(UI)をオープンする(ステップS504)。プリンタドライバUIがオープンされた後は、OSより送られてくるイベントの取得とその処理を繰り返す(ステップS505)。 Subsequently, initialization processing necessary for opening the printer driver UI is performed as other initialization processing, and a printer driver user interface (UI) illustrated in FIG. 8 is opened (step S504). After the printer driver UI is opened, the acquisition of the event sent from the OS and its processing are repeated (step S505).
ステップS505にて取得したイベントが、ユーザがプリンタドライバUI上の設定項目を変更したイベントであるかどうかの判別を行い(ステップS506)、そうでなかった場合(S506−No)には、続いてプリンタドライバUIのクローズ要求かどうかの判別を行う(ステップS512)。クローズ要求であった場合(S512−Yes)には、終了処理を行い、プリンタドライバUIをクローズして、全ての処理を終了する(ステップS513)。一方、クローズ要求でもなかった場合(S512−No)には、再び、処理をステップS505に戻す。 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 printer driver UI (step S506). If not (S506-No), the process continues. It is determined whether or not the printer driver UI is closed (step S512). If it is a close request (S512-Yes), an end process is performed, the printer driver UI is closed, and all processes are ended (step S513). On the other hand, if it is not a close request (S512-No), the process returns to step S505 again.
ステップS506での判別により、ステップS505で取得したイベントがユーザの設定変更要求であった場合には、ステップS501からS503の処理により構築した補完されたコンフリクト処理ルールを適用する(ステップS507)。 If it is determined in step S506 that the event acquired in step S505 is a user setting change request, the complemented conflict processing rule constructed by the processing in steps S501 to S503 is applied (step S507).
ユーザの設定変更要求が図8に示すPrint Styleを「1-Sided Printing」から「Booklet Printing」に変更するものであった場合を例にとると、コンフリクト処理ルールの適用は、図6に示すコンフリクト処理ルール301の一部として読み込まれた基本となるコンフリクト処理ルールと、ステップS502にて生成された補完ルールの一部である図7(4)、(5)とステップS503にて行われた状態変数を反映する図7(6)〜(9)に対して行われる。
For example, when the user's setting change request is to change the Print Style shown in FIG. 8 from “1-Sided Printing” to “Booklet Printing”, the conflict processing rule is applied as shown in FIG. The basic conflict processing rule read as a part of the
プリンタドライバUI内部構造体401のメンバとして存在するCollate、Group、Staple、Layoutの各メンバのコンフリクト処理ルール適用前の値は、以下の通りとなる。 The values of Collate, Group, Staple, and Layout members that exist as members of the printer driver UI internal structure 401 before the conflict processing rule is applied are as follows.
Collate :OFF
Group :ON
Staple :OFF
Layout : 1-Sided
Collate: OFF
Group: ON
Staple: OFF
Layout: 1-Sided
ユーザの変更要求がLayoutを1−SidedからBookletに変更するものであるので、Layoutのメンバの内容は「1-Sided」から「Booklet」に変更となる。 Since the user change request is to change Layout from 1-Sided to Booklet, the contents of the members of Layout are changed from “1-Sided” to “Booklet”.
Collate :OFF
Group :ON
Staple :OFF
Layout :Booklet
Collate: OFF
Group: ON
Staple: OFF
Layout: Booklet
すると、プリンタドライバUI306はコンフリクトマネージャ303を呼び出し、状態変数リストにあるLayoutの状態変数が上記のように更新され、続いて推論エンジン302がコールされて、コンフリクト処理ルールの適用が始まる。
Then, the
まず、図7(6)〜(9)のルールが適用され、推論エンジン302内の各プリンタ機能設定項目が状態変数リストの各メンバの持つ値で初期化される。
First, the rules of FIGS. 7 (6) to (9) are applied, and each printer function setting item in the
続いて、図7(3)が適用され、Groupの値はONからOFFへと変更となる。 Subsequently, FIG. 7 (3) is applied, and the value of Group is changed from ON to OFF.
Collate :OFF
Group :OFF
Staple :OFF
Layout :Booklet
さらに、図7(4)のルールが適用され、CollateがOFFからONへと変更となる。
Collate: OFF
Group: OFF
Staple: OFF
Layout: Booklet
Further, the rule of FIG. 7 (4) is applied, and Collate is changed from OFF to ON.
Collate :ON
Group :OFF
Staple :OFF
Layout :Booklet
他に、適用されるルールが存在しないので、以上で推論エンジン302でのコンフリクト処理ルールの適用が終了する。
Collate: ON
Group: OFF
Staple: OFF
Layout: Booklet
In addition, since there is no rule to be applied, the application of the conflict processing rule in the
次のステップでは、コンフリクトマネージャ303が上記の最終状態を基に状態変数リストの更新(ステップ508)とプリンタドライバUI内部構造体の更新(ステップ509)を行う。
In the next step, the
続いて、プリンタドライバUI306がプリンタドライバUI内部構造体のメンバの値を参照して、UIの更新が必要かどうかの判別を行う(ステップ510)。
Subsequently, the
UIの更新の必要のない場合には、そのまま処理をステップS505に戻す。更新が必要な場合には、UIの更新を行い(ステップ511)、ステップS505に処理を戻す。 If there is no need to update the UI, the process directly returns to step S505. If updating is necessary, the UI is updated (step 511), and the process returns to step S505.
上記の例では、Layoutが「1−Sided Printing」から「Booklet Printing」に設定が変更されたことにより、Collateが「OFF」から「ON」へ、Groupが「ON」から「OFF」へと変化しているので、プリンタドライバUIの表示も図9に示すとおりに更新される。 In the above example, Collate is changed from “OFF” to “ON” and Group is changed from “ON” to “OFF” by changing the setting from “1-Sided Printing” to “Booklet Printing”. Therefore, the display of the printer driver UI is also updated as shown in FIG.
以上の処理は、プリンタドライバUIがクローズされるまで、繰り返し実行される。プリンタドライバUIがクローズされると処理は全て終了し、本実施形態における印刷処理関連プログラムの処理も終了し、RAM2からはOS405の機能により消去される。なお、本実施形態においては、本印刷処理関連プログラムを記録する媒体を外部メモリとしているが、外部メモリとしては、FD、HDドライブ、CD-ROMやICメモリカード等であってもよい。更に、本印刷プログラム単独、もしくはOSその他のホストコンピュータ上で動作するプログラムと共にROM3bに記録しておき、これをメモリマップの一部となすように構成し、直接CPU1で実行することも可能である。
The above processing is repeatedly executed until the printer driver UI is closed. When the printer driver UI is closed, all the processing is completed, the processing of the print processing related program in this embodiment is also completed, and the
以上説明したように、本実施形態によれば、プログラム開発者が用意する基本となるコンフリクト処理ルールを補完するコンフリクト条件を自動生成することで、漏れのない、コンフリクト解消処理が実現できるという効果がある。 As described above, according to the present embodiment, there is an effect that it is possible to realize the conflict resolution processing without omission by automatically generating the conflict condition that complements the basic conflict processing rules prepared by the program developer. is there.
(他の実施形態)
上記実施形態においては、プリンタドライバUIの更新処理をプリンタドライバUI本体306で実施しているが、図10に示すように、コンフリクト処理ルールの中に、プリンタドライバUIを更新するための処理を関数として記述し、推論エンジン302がその記述を解釈した時点で、コンフリクトマネージャ303の状態変数リスト304を介して、プリンタドライバのUI更新処理を直接行うようにしても良い。
(Other embodiments)
In the above embodiment, the printer driver UI update processing is performed by the printer driver UI
図10は、図7のコンフリクト処理ルールのうち、(3)にUI更新の処理を追加したものである。{disable}の記述を追加することにより、図9(プリンタドライバの表示するユーザインタフェースの例で、図8の状態で、ユーザが[Booklet Printing]を選択した状態を例示する図)にあるGroupラジオボタンコントロールをdisableする処理がコンフリクト処理ルールの記述の一部として実現されるようになる。 FIG. 10 is obtained by adding UI update processing to (3) of the conflict processing rules of FIG. By adding a description of {disable}, the Group radio in FIG. 9 (an example of a user interface displayed by the printer driver, in which the user selects [Booklet Printing] in the state of FIG. 8). The process of disabling button control is realized as part of the description of the conflict processing rule.
さらに、図11に示すようにコンフリクト処理ルールの中に、ユーザに対する情報の表示を可能にするメッセージボックスの表示処理を加えることも可能である。 Furthermore, as shown in FIG. 11, it is also possible to add message box display processing that enables display of information to the user in the conflict processing rule.
例えば、図11の(3)の{ Message(MSG001) }の記述は、図12のメッセージボックスを表示するための処理を示している。MSG001は図12に表示されているメッセージテキスト「Groupの設定はCollateに調整されました。」の文字列を指し示すIDで、ID: MSG001とそのIDが示す文字列はコンフリクトマネージャ303に文字列リソースとして存在している。
For example, the description of {Message (MSG001)} in (3) of FIG. 11 indicates processing for displaying the message box of FIG. MSG001 is an ID that points to the character string of the message text “Group setting has been adjusted to Collate” displayed in FIG. 12. ID: MSG001 and the character string indicated by the ID are a string resource to the
本実施形態によれば、ユーザインタフェースの更新処理やメッセージ処理もコンフリクト処理ルールに加えることで、開発者にとって可読性の高い、メンテナンスの容易なコーディングを実現できるという効果がある。 According to the present embodiment, by adding user interface update processing and message processing to the conflict processing rule, it is possible to realize coding that is highly readable for developers and easy to maintain.
更に、ユーザインタフェース制御部は、ユーザインタフェース更新処理とメッセージ表示をコンフリクト処理部分に設けることで、コンフリクト処理ルールが変更された場合でも容易に変更後の条件に適合した表示を実現することが可能にする。
Furthermore, the user interface control unit can provide a user interface update process and a message display in the conflict processing part, so that even when the conflict processing rule is changed, it is possible to easily realize a display suitable for the changed condition. To do.
1 CPU
2 RAM
3 ROM
4 システムバス
12 CPU
13 ROM
19 RAM
3000 ホストコンピュータ
1 CPU
2 RAM
3 ROM
4 System bus
12 CPU
13 ROM
19 RAM
3000 host computer
Claims (7)
前記プリンタドライバのユーザインタフェースプログラムと、状態変数を用いて定義された既存の論理式の評価において未定となる状態変数を決定するために生成された補完ルールにより補完された論理式であって、真偽の二値を取りうる状態変数を含む論理式を用いて定義された規則に従い、前記プリンタドライバに入力された設定値の不整合を解消するためのコンフリクトマネージャプログラムと、を格納した格納手段と、
前記設定値の不整合がある場合に、前記真偽の二値を取りうる状態変数を含む論理式を用いて定義された規則に従い、不整合が生じている設定値を不整合がない値に修正し、その値を前記ユーザインタフェースプログラムが読み出すことができる特定の領域に書き込むことにより前記コンフリクトマネージャプログラムから前記ユーザインタフェースプログラムへ知らせる手段と、
前記ユーザインタフェースプログラムを実行して、前記特定の領域に書き込まれた内容に従って、前記プリンタドライバのユーザインタフェースの表示を更新する更新手段と、
を有することを特徴とする情報処理装置。 An information processing apparatus that transmits print data generated using a printer driver to a printing apparatus,
A logical expression supplemented by a completion rule generated to determine an undefined state variable in the evaluation of an existing logical expression defined by using the user interface program of the printer driver and the state variable. A conflict manager program for resolving inconsistencies in setting values input to the printer driver in accordance with a rule defined using a logical expression including a state variable that can take a fake binary value; ,
When there is a mismatch between the set values, the set value in which the mismatch occurs is changed to a value that does not have a mismatch according to a rule defined using a logical expression including a state variable that can take the true or false binary value. Means for modifying and informing the user interface program from the conflict manager program by writing its value in a specific area that can be read by the user interface program;
Updating means for executing the user interface program and updating the display of the user interface of the printer driver according to the contents written in the specific area;
An information processing apparatus comprising:
前記プリンタドライバのユーザインタフェースプログラムと、状態変数を用いて定義された既存の論理式の評価において未定となる状態変数を決定するために生成された補完ルールにより補完された論理式であって、真偽の二値を取りうる状態変数を含む論理式を用いて定義された規則に従い、前記プリンタドライバに入力された設定値の不整合を解消するためのコンフリクトマネージャプログラムと、を格納手段に格納する格納工程と、
前記設定値の不整合がある場合に、前記真偽の二値を取りうる状態変数を含む論理式を用いて定義された規則に従い、不整合が生じている設定値を不整合がない値に修正し、その値を前記ユーザインタフェースプログラムが読み出すことができる特定の領域に書き込むことにより前記コンフリクトマネージャプログラムから前記ユーザインタフェースプログラムへ知らせる工程と、
前記ユーザインタフェースプログラムを実行して、前記特定の領域に書き込まれた内容に従って、前記プリンタドライバのユーザインタフェースの表示を更新する更新工程と、
を有することを特徴とする情報処理方法。 An information processing method in an information processing apparatus for transmitting print data generated using a printer driver to a printing apparatus,
A logical expression supplemented by a completion rule generated to determine an undefined state variable in the evaluation of an existing logical expression defined by using the user interface program of the printer driver and the state variable. In accordance with a rule defined using a logical expression including a state variable that can take a fake binary value, a conflict manager program for resolving inconsistencies in setting values input to the printer driver is stored in the storage means. A storage process;
When there is a mismatch between the set values, the set value in which the mismatch occurs is changed to a value that does not have a mismatch according to a rule defined using a logical expression including a state variable that can take the true or false binary value. Modifying and informing the user interface program from the conflict manager program by writing the value to a specific area that can be read by the user interface program;
An update step of executing the user interface program and updating the display of the user interface of the printer driver according to the content written in the specific area;
An information processing method characterized by comprising:
前記プリンタドライバのユーザインタフェースプログラムと、状態変数を用いて定義された既存の論理式の評価において未定となる状態変数を決定するために生成された補完ルールにより補完された論理式であって、真偽の二値を取りうる状態変数を含む論理式を用いて定義された規則に従い、前記プリンタドライバに入力された設定値の不整合を解消するためのコンフリクトマネージャプログラムと、を格納手段に格納する格納工程と、
前記設定値の不整合がある場合に、前記真偽の二値を取りうる状態変数を含む論理式を用いて定義された規則に従い、不整合が生じている設定値を不整合がない値に修正し、その値を前記ユーザインタフェースプログラムが読み出すことができる特定の領域に書き込むことにより前記コンフリクトマネージャプログラムから前記ユーザインタフェースプログラムへ知らせる工程と、
前記ユーザインタフェースプログラムを実行して、前記特定の領域に書き込まれた内容に従って、前記プリンタドライバのユーザインタフェースの表示を更新する更新工程と、
を有することを特徴とする記憶媒体。 A computer-readable storage medium storing a program for causing a computer to execute an information processing method in an information processing apparatus that transmits print data generated using a printer driver to the printing apparatus, the information processing method comprising:
A logical expression supplemented by a completion rule generated to determine an undefined state variable in the evaluation of an existing logical expression defined by using the user interface program of the printer driver and the state variable. In accordance with a rule defined using a logical expression including a state variable that can take a fake binary value, a conflict manager program for resolving inconsistencies in setting values input to the printer driver is stored in the storage means. A storage process;
When there is a mismatch between the set values, the set value in which the mismatch occurs is changed to a value that does not have a mismatch according to a rule defined using a logical expression including a state variable that can take the true or false binary value. Modifying and informing the user interface program from the conflict manager program by writing the value to a specific area that can be read by the user interface program;
An update step of executing the user interface program and updating the display of the user interface of the printer driver according to the content written in the specific area;
A storage medium comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006129665A JP4307464B2 (en) | 2006-05-08 | 2006-05-08 | Information processing apparatus and information processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006129665A JP4307464B2 (en) | 2006-05-08 | 2006-05-08 | Information processing apparatus and information processing method |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000391377A Division JP3814479B2 (en) | 2000-11-30 | 2000-12-22 | Information processing apparatus, information processing method, image forming apparatus, and storage medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006236382A JP2006236382A (en) | 2006-09-07 |
| JP4307464B2 true JP4307464B2 (en) | 2009-08-05 |
Family
ID=37043875
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006129665A Expired - Fee Related JP4307464B2 (en) | 2006-05-08 | 2006-05-08 | Information processing apparatus and information processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4307464B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4157900B2 (en) | 2006-12-27 | 2008-10-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Information processing apparatus, method, and program for creating setting information of electronic device |
| JP5448632B2 (en) | 2009-08-07 | 2014-03-19 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, and program |
| JP5793872B2 (en) * | 2011-01-26 | 2015-10-14 | 株式会社リコー | Image forming apparatus, program management method, program management program, and recording medium |
| JP5821217B2 (en) * | 2011-03-01 | 2015-11-24 | 株式会社リコー | Image forming apparatus, management method, management program, and recording medium |
-
2006
- 2006-05-08 JP JP2006129665A patent/JP4307464B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006236382A (en) | 2006-09-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7228314B2 (en) | Apparatus and method for controlling user interface | |
| US7218976B2 (en) | User interface control apparatus and method | |
| JP4785579B2 (en) | Information processing apparatus, print setting reflection method and program in information processing apparatus | |
| JP4785578B2 (en) | Information processing apparatus and method | |
| JP4481800B2 (en) | Information processing apparatus, information processing method, and program | |
| US8451463B2 (en) | Information processing apparatus and information processing method | |
| JP6195346B2 (en) | Information processing apparatus, information processing method, and program | |
| US7817294B2 (en) | Data processing apparatus, print setting processing method, storing medium storing computer-readable program therein, and program | |
| US20090244593A1 (en) | Systems and Methods for Parallel Display List Rasterization | |
| JP5522952B2 (en) | Print control apparatus, print control method, and program | |
| JP3814479B2 (en) | Information processing apparatus, information processing method, image forming apparatus, and storage medium | |
| JPH1040031A (en) | Print system, printer driver and printer | |
| JP4307464B2 (en) | Information processing apparatus and information processing method | |
| JP5025684B2 (en) | Control apparatus and method, and program | |
| JP3833067B2 (en) | User interface control apparatus and method, and storage medium | |
| JP5062932B2 (en) | User interface control device and method, computer program, and storage medium | |
| JP3697176B2 (en) | User interface control apparatus and method | |
| JP3673714B2 (en) | User interface control apparatus and method, and storage medium | |
| JP5106660B2 (en) | Control apparatus and method, and program | |
| JP2002202865A (en) | Print control device, print control method, and storage medium | |
| JP4956259B2 (en) | Information processing apparatus, control method therefor, and computer program | |
| JP4522398B2 (en) | User interface control apparatus and method | |
| JP2004303077A (en) | Information processing apparatus, page description language generation method, program, and storage medium | |
| JP2008269260A (en) | Data processing apparatus, data processing method and program thereof | |
| CN100380309C (en) | Data processing apparatus, print setting processing method, storing medium program therein, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081006 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081205 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090116 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090318 |
|
| A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090325 |
|
| 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: 20090417 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090428 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4307464 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140515 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |