JP2007299324A - User interface control method, apparatus and program - Google Patents

User interface control method, apparatus and program Download PDF

Info

Publication number
JP2007299324A
JP2007299324A JP2006128568A JP2006128568A JP2007299324A JP 2007299324 A JP2007299324 A JP 2007299324A JP 2006128568 A JP2006128568 A JP 2006128568A JP 2006128568 A JP2006128568 A JP 2006128568A JP 2007299324 A JP2007299324 A JP 2007299324A
Authority
JP
Japan
Prior art keywords
logical
numerical
user interface
numerical value
option
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.)
Pending
Application number
JP2006128568A
Other languages
Japanese (ja)
Inventor
Yuji Kohama
勇二 小濱
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006128568A priority Critical patent/JP2007299324A/en
Publication of JP2007299324A publication Critical patent/JP2007299324A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a user interface control method, apparatus and program capable of controlling a user interface through a simple process while easily securing the matching of the requirements for prohibiting or permitting selection. <P>SOLUTION: When there is an input for the start of user interface control, a sequence of numerical values representing the logical expression of prohibition requirements is read and copied to an operation memory (S10, S20). A table indicating the status of selection (selected/unselected) of choices for each set items set at that time is created (S30). The table is referred to and the status value of each choice is replaced by the corresponding numerical value in the sequence of numerical values (S40). The sequence of numerical values after the application of the status values is calculated by a stacking operation, and based on the result of the calculation a determination is made as to whether or not main setting is possible; if the prohibition requirement is 1 (TRUE), a notification that a combination of the choices set is prohibited and cannot be set is displayed (S80). <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、例えば印刷条件を設定する際に表示装置に表示されて複数の設定項目のうちある選択肢が選択されている状態では所定の選択肢の選択が禁止されるユーザインターフェイス及びプログラムに関する。   The present invention relates to a user interface and a program, for example, which are displayed on a display device when setting printing conditions and are prohibited from selecting a predetermined option when a certain option is selected from a plurality of setting items.

例えばプリンタによる印刷は、印刷サイズや用紙種などの印刷設定情報を設定して行われる。例えば特許文献1には、スタンドアロン型のプリンタにおいて、プリンタの表示画面に表示された入力画面上で入力装置を用いて印刷設定情報を選択できるプリンタが開示されている。また、特許文献2及び特許文献3には、ホストコンピュータの表示装置の画面に、ユーザが入力装置を用いて印刷設定情報を設定可能な設定画面を表示するプリンタドライバが開示されている。特許文献2の技術では、用紙が不足した用紙トレイが設定画面上で選択できないような禁則処理が行われる構成となっていた。   For example, printing by a printer is performed by setting print setting information such as print size and paper type. For example, Patent Document 1 discloses a printer that can select print setting information using an input device on an input screen displayed on the display screen of a stand-alone printer. Patent Documents 2 and 3 disclose a printer driver that displays a setting screen on which a user can set print setting information using an input device on the screen of a display device of a host computer. In the technique of Patent Document 2, a prohibition process is performed such that a paper tray with insufficient paper cannot be selected on the setting screen.

また、特許文献1〜3に開示のとおり、設定画面(ユーザインターフェイス)では、用紙サイズ、用紙種、印刷速度など複数の設定項目毎にそれぞれ複数の選択肢が用意され、ユーザは設定項目毎に所望の選択肢を選択することにより印刷設定情報を設定できるようになっていた。   Also, as disclosed in Patent Documents 1 to 3, on the setting screen (user interface), a plurality of options are prepared for each of a plurality of setting items such as paper size, paper type, and printing speed, and the user desires for each setting item. The print setting information can be set by selecting the option.

ところで、この種のユーザインターフェイスで選択可能な設定項目には、前述の用紙サイズ、用紙の種類などの他、カラーモード(カラー/モノクロ)、印刷品質(テキスト/ドラフト)、双方向印刷(オン/オフ)、縁なし印刷(オン/オフ)など、多岐に渡って種々の設定項目を選択できる。しかし、ある設定項目の選択肢A1と他の設定項目の選択肢B1との組合せが、適切な印刷を行ううえで適さない場合があり、このような適さない選択肢については、その選択肢が選択できないように非表示またはグレーアウトされるなど無効化されるようになっている。例えば設定項目「印刷品質」で、印刷品質より印刷速度を優先する「ドラフト」が選択されているときは、設定項目「双方向印刷」では、キャリッジの往復走査のうち一方向のみで印刷が行われる印刷速度の遅い「単方向印刷」は選択できないように、双方向印刷「オフ」の選択肢が無効化される。このように不適切な選択肢の組合せを回避できるようにユーザインターフェイスを制御する場合は、禁則条件から、各選択肢を有効化すべきか無効化すべきかを判断している。設定不可能な組み合わせになっていた場合は、ユーザが選択できないように、例えばリストボックス上の設定不可能な選択肢を非表示またはグレーアウトにしている。   By the way, setting items that can be selected in this type of user interface include the above-described paper size, paper type, etc., color mode (color / monochrome), print quality (text / draft), and bidirectional printing (on / off). Various setting items can be selected such as off) and borderless printing (on / off). However, there are cases where the combination of the option A1 of a certain setting item and the option B1 of another setting item is not suitable for appropriate printing, so that such an unsuitable option cannot be selected. It is disabled such as being hidden or grayed out. For example, if “Draft”, which gives priority to print speed over print quality, is selected in the setting item “Print quality”, the setting item “Bidirectional printing” prints in only one direction of the carriage reciprocating scan. The option of bidirectional printing “off” is invalidated so that “unidirectional printing” with a low printing speed cannot be selected. When the user interface is controlled so as to avoid such an inappropriate combination of options, it is determined from the prohibition condition whether each option should be validated or invalidated. When the combination is not settable, for example, non-settable options on the list box are hidden or grayed out so that the user cannot select.

従来、禁則条件から各選択肢の有効化/無効化を判断する方法としては、例えば図15に示すような全設定項目の全選択肢の数nと同数のnビットのビットフラグ列、例えば「0000100100…00」のようなビットフラグ列を、設定可能もしくは設定不可能な組合せの数に応じて用意し、このビットフラグを基に禁則情報を取得していた。例えば図15に示す禁則条件を表すテーブル71においては、フチ無し印刷を禁止するビットフラグや、ロール紙印刷を禁止するビットフラグなど、禁止条件毎にビットフラグが設定されていた。例えば組合せが禁止されている複数の選択肢A1,B1に対応するビットが「1」となるようなビットフラグ列が、組合せの数だけ用意されて、禁則情報として提供している。   Conventionally, as a method for determining the validity / invalidity of each option from the prohibition condition, for example, an n-bit bit flag string equal to the number n of all options of all setting items as shown in FIG. 15, for example, “0000100100. A bit flag string such as “00” is prepared according to the number of combinations that can be set or cannot be set, and prohibition information is acquired based on the bit flags. For example, in the table 71 representing the prohibition conditions shown in FIG. 15, a bit flag is set for each prohibition condition such as a bit flag prohibiting borderless printing and a bit flag prohibiting roll paper printing. For example, as many bit flag sequences as the number of combinations corresponding to a plurality of options A1 and B1 for which combinations are prohibited are prepared and provided as prohibition information.

また、他の従来方法では、UI上の選択可能な全ての選択肢を論理変数として扱い、各論理変数が{ 選択(TRUE), 非選択(FALSE) }のどちらかの状態を取るとする。それらの論理変数を組み合わせた論理式によって設定不可能である禁則条件を表現する。
E = (( X1∧X2 ) ∨ ( X1 ̄∧X3 )) ∨ (( X2∧X4 ̄ ) ∨ ( ( X1∧X3 )∧X5 )) …
ソフトウェアでは、上記の様な論理式を読み込んで解析して、設定不可能/可能である情報を示すデータの形式に変換する。その後、UIの禁則処理に使用している。また、論理式からの具体的な変換方法は、各ソフトウェアの実装方法に依存していた。
特開2001−312491号公報 特開2004−5455号公報 特開2005−165713号公報
In another conventional method, it is assumed that all selectable options on the UI are treated as logical variables, and each logical variable takes a state of {selected (TRUE) or non-selected (FALSE)}. A forbidden condition that cannot be set is expressed by a logical expression that combines these logical variables.
E = ((X1 ∧ X2) ∨ (X1  ̄∧ X3)) ∨ ((X2 ∧ X4  ̄) ∨ ((X1 ∧ X3) ∧ X5))…
The software reads the logical expression as described above, analyzes it, and converts it into a data format indicating information that cannot be set. After that, it is used for UI prohibition processing. Further, the specific conversion method from the logical expression depends on the implementation method of each software.
JP 2001-312491 A JP 2004-5455 A JP 2005-165713 A

しかしながら、2つの従来方法のうち前者の問題点としては、次の点が挙げられる。各設定項目で、自由に禁則条件を定義することができるため、全体の禁則条件として、矛盾しているデータを作成することが可能となり、結果的に禁則条件の整合性を保障できない。また、複雑な禁則条件を示そうとした場合、大量のビットフラッグが必要となり、UI側では、それらのビットフラッグを解析・実行する大量のロジックが必要となる。   However, the following points can be cited as the former problem of the two conventional methods. Since the prohibited conditions can be freely defined in each setting item, it is possible to create contradictory data as the overall prohibited conditions, and as a result, the consistency of the prohibited conditions cannot be guaranteed. Further, when trying to indicate complicated prohibition conditions, a large amount of bit flags are required, and on the UI side, a large amount of logic for analyzing and executing these bit flags is required.

また、2つの従来方法のうち後者の問題点としては、次の点が挙げられる。全ての禁則条件を含んだ論理式・禁則データを解析して、何らかの設定不可能/ 可能である情報を示すデータに変換する必要があるため、前者の方法と比較して多くの計算時間が必要となる。また、変換された算術演算データは、前者の従来方法と比較して多くのメモリ容量が必要になるという問題があった。   Moreover, the following point is mentioned as a latter problem among two conventional methods. Since it is necessary to analyze logical expressions and prohibition data including all prohibition conditions and convert them into data indicating information that cannot be set / can be set, more calculation time is required than the former method. It becomes. In addition, the converted arithmetic operation data has a problem that a large memory capacity is required as compared with the former conventional method.

なお、特許文献2においても、用紙トレイの用紙不足やエラーなどを回避する禁則処理が行われていたが、これは選択肢の組合せの禁則処理ではなく、用紙不足の用紙トレイやエラーを検出して、その検出した選択肢を非表示/無効化すれば足りるので、そもそもユーザインターフェイスの制御は複雑なものとはならず、課題を異にしている。   Also in Patent Document 2, a prohibition process is performed to avoid paper shortage and errors in the paper tray. However, this is not a prohibition process of a combination of options, but a paper tray or error shortage of paper is detected. Since it is sufficient to hide / invalidate the detected option, the user interface control is not complicated in the first place, and the problem is different.

本発明は上記問題点に鑑みてなされたものであって、その目的は、簡単な処理によりユーザインターフェイスを制御でき、選択禁止又は選択許可の条件の整合も確保しやすいユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラムを提供することにある。   The present invention has been made in view of the above problems, and an object of the present invention is to control a user interface by a simple process and to easily ensure matching of selection prohibition or selection permission conditions and a user interface. To provide a control device and a program.

本発明は、複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御方法であって、前記設定項目間で選択が禁止又は許可されるべき選択肢の組合せの条件を前記設定項目毎の各選択肢を論理変数として表した論理式が数値に変換された数値列を記憶手段に記憶しておき、前記入力手段から制御の開始の契機となる入力を得ると、前記記憶手段から前記数値列を読み出すとともに、前記設定項目の各選択肢の選択状態を示す状態値を前記数値列中の対応する数値と置き換える状態値適用ステップと、前記状態値が適用された前記数値列に基づき演算を行う演算ステップと、前記演算ステップでの演算結果から選択禁止の選択肢が存在する旨の禁則情報が得られた場合は該禁則情報を前記表示手段の表示に反映させる表示反映ステップとを備えたことを要旨とする。   The present invention is a user interface control method for controlling a user interface displayed on a display unit so that an option can be input for each of a plurality of setting items based on an input from the input unit, and selection between the setting items is prohibited or A storage unit stores a numerical sequence in which a logical expression expressing each option for each setting item as a logical variable is converted into a numerical value as a condition for combination of alternatives to be permitted, and control start from the input unit When obtaining a trigger input, the numerical value string is read from the storage means, and a state value application step for replacing a state value indicating a selection state of each option of the setting item with a corresponding numerical value in the numerical value string, An operation step for performing an operation based on the numerical sequence to which the state value is applied, and a prohibition that there is a selection prohibition option from the operation result at the operation step. If the information has been obtained and summarized in that and a display reflecting step for reflecting the 該禁 law information on a display of said display means.

これによれば、入力手段から制御の開始の契機となる入力を得ると、状態値適用ステップにおいて、記憶手段から数値列を読み出すとともに、ユーザインターフェイス上の各設定項目における各選択肢の選択状態を示す状態値を数値列中の対応する数値と置き換える。そして、演算ステップでは、状態値適用後の数値列に基づき演算が行われる。表示反映ステップでは、その演算結果が選択禁止の選択肢が存在する旨の禁則情報であった場合は、その禁則情報が表示手段の表示に反映される。制御ロジックは数値列の計算ロジックなので比較的単純なロジックで済み、しかも選択禁止の禁則条件又は選択許可の許可条件を表した論理式の計算なので、禁則条件等の整合もとりやすい。よって、簡単な処理によりユーザインターフェイスを制御でき、選択禁止又は選択許可の条件の整合も確保しやすいユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラムを提供する。   According to this, when an input that triggers the start of control is obtained from the input means, the numerical value string is read from the storage means in the state value application step, and the selection state of each option in each setting item on the user interface is indicated. Replace the status value with the corresponding numeric value in the numeric sequence. Then, in the calculation step, calculation is performed based on the numerical sequence after application of the state value. In the display reflection step, if the calculation result is prohibition information indicating that there is a selection prohibition option, the prohibition information is reflected on the display of the display means. Since the control logic is a numerical string calculation logic, it is a relatively simple logic, and since it is a calculation of a logical expression representing the prohibition condition for selection prohibition or the permission condition for selection permission, it is easy to match the prohibition condition and the like. Therefore, a user interface control method, a user interface control device, and a program that can control the user interface by simple processing and easily ensure the matching of selection prohibition or selection permission conditions are provided.

また、本発明のユーザインターフェイス制御方法では、前記条件は、選択が禁止されるべき選択肢の組合せの条件を表した禁則条件であることが好ましい。
これによれば、選択が許可されるべき組合せの数よりも禁止されるべき選択肢の組合せの数の方が多い場合は、禁則条件なので、論理式を簡単に済ませることができる。よって、数値列が簡単になることから、演算ステップにおける数値列の演算の負担を軽減できるとともに、演算時に使用するメモリ領域を少なく済ませられる。
In the user interface control method of the present invention, it is preferable that the condition is a forbidden condition that represents a condition of a combination of options that should be prohibited from being selected.
According to this, when the number of combinations of options that should be prohibited is larger than the number of combinations that should be allowed to be selected, it is a prohibition condition, and thus the logical expression can be completed easily. Therefore, since the numerical sequence is simplified, it is possible to reduce the burden of calculating the numerical sequence in the calculation step and reduce the memory area used for the calculation.

また、本発明のユーザインターフェイス制御方法では、前記論理式は、前記選択肢が選ばれている場合に真になり選ばれていない場合に偽になる論理変数をX1,…,Xn(nは2以上の整数)を全設定項目の全選択肢に対して定義するとともに、前記論理変数X1,…,Xnの否定であって、選択肢が選ばれていない場合に真になり選ばれている場合に偽になる論理変数X1 ̄,…,Xn ̄を定義し、前記論理変数を論理和・論理積により組み合せることによって、前記条件を表現した論理式であることが好ましい。   Further, in the user interface control method of the present invention, the logical expression is a logical variable that becomes true when the option is selected and becomes false when the option is not selected. Is defined for all options of all setting items, and is negated of the logical variables X1,..., Xn, and becomes true when no option is selected, and false when selected. It is preferable that the logical expression expresses the condition by defining logical variables X1 ̄,..., Xn ̄, and combining the logical variables by logical sum / logical product.

これによれば、選択時と非選択時での真・偽が背反の関係にある二種類の論理変数Xn,Xn ̄を用いて、該論理変数と論理和・論理積との組合せによって条件が表現された論理式を用いているので、論理式として表現できる条件の幅が広がる。     According to this, using two types of logical variables Xn and Xn ̄ in which true / false at the time of selection and non-selection are contradictory, the condition is determined by the combination of the logical variable and logical sum / logical product. Since expressed logical expressions are used, the range of conditions that can be expressed as logical expressions is expanded.

また、本発明のユーザインターフェイス制御方法では、前記数値列は、逆ポーランド記法の順序で数値が並んだものであることが好ましい。これによれば、数値列は、逆ポーランド記法の順序で数値が並んでいるので、数値を順番に参照していくことで、数値列の演算を行うことができる。数値を順番に参照することで例えばスタック計算を行うことが可能になる。   In the user interface control method of the present invention, it is preferable that the numerical sequence is a sequence in which numerical values are arranged in reverse Polish notation. According to this, since the numerical values are arranged in the order of reverse Polish notation, the numerical values can be calculated by referring to the numerical values in order. For example, stack calculation can be performed by sequentially referring to the numerical values.

また、本発明のユーザインターフェイス制御方法では、前記演算ステップでは、前記数値列の演算をスタック計算で行うことが好ましい。
これによれば、演算ステップでは、数値列の演算をスタック計算で行う。数値列における数値の並び順に従って数値を順番に参照して演算を進めればよい。例えばコンピュータによる演算処理を簡単に済ませられる。
In the user interface control method of the present invention, it is preferable that the numerical sequence is calculated by stack calculation in the calculation step.
According to this, in the calculation step, the numerical sequence is calculated by stack calculation. The calculation may be performed by referring to the numerical values in order according to the numerical order in the numerical sequence. For example, calculation processing by a computer can be easily completed.

また、本発明のユーザインターフェイス制御方法では、前記演算ステップでは、前記数値列を演算の際に格納する作業用メモリ上で該数値列の数値を順次参照するとともに、数値の参照が終わったメモリ領域をスタック領域として用い、参照数値が論理変数に対応するものである場合は該参照数値を前記スタック領域にプッシュし、参照数値が論理演算子に対応するものである場合は前記スタック領域から複数の数値をポップして当該複数の数値に該論理演算子で規定される演算を施してその演算結果を前記スタック領域にプッシュするスタック操作を行うことで、前記数値列の演算を行うことが好ましい。   In the user interface control method of the present invention, in the calculation step, the numerical values in the numerical sequence are sequentially referred to on the working memory for storing the numerical sequences in the calculation, and the memory area where the reference of the numerical values is finished Is used as a stack area, and when the reference numerical value corresponds to a logical variable, the reference numerical value is pushed to the stack area, and when the reference numerical value corresponds to a logical operator, a plurality of It is preferable to perform the operation on the numerical sequence by popping numerical values, performing an operation defined by the logical operator on the plurality of numerical values, and pushing the operation result to the stack area.

これによれば、作業用メモリに格納した数値列の数値を順次参照するとともに、数値の参照が終わったメモリ領域をスタック領域として活用する。参照数値が論理変数に割り当てられた数値である場合は、該参照数値をスタック領域にプッシュし、参照数値が論理演算子に割り当て得られた数値である場合はスタック領域から複数(2つ)の数値をポップして当該複数の数値に該論理演算子で規定される演算を施してその演算結果をスタック領域にプッシュする。このようなスタック操作を繰り返すことで数値列の演算は進められる。作業用メモリ上の数値参照の終わったメモリ領域をスタック領域に活用するので、スタック計算する場合に別途メモリ領域を用意する必要がない。   According to this, the numerical values in the numerical sequence stored in the working memory are sequentially referred to, and the memory area where the numerical values have been referred to is utilized as a stack area. When the reference numerical value is a numerical value assigned to the logical variable, the reference numerical value is pushed to the stack area, and when the reference numerical value is a numerical value obtained by assigning to the logical operator, a plurality of (two) from the stack area. A numerical value is popped, an operation defined by the logical operator is performed on the plurality of numerical values, and the operation result is pushed onto the stack area. By repeating such a stack operation, the operation of the numerical sequence is advanced. Since the memory area after the numerical reference on the working memory is used as the stack area, it is not necessary to prepare a separate memory area for stack calculation.

また、本発明のユーザインターフェイス制御方法では、前記入力手段からの制御の開始の契機となる入力は、前記各設定項目において選択されている前記選択肢を確定するための確定入力であることが好ましい。   In the user interface control method of the present invention, it is preferable that the input that triggers the start of control from the input means is a confirmation input for confirming the option selected in each setting item.

これによれば、入力手段から各設定項目で選択されている選択肢を確定する確定入力があったときは、全設定項目で選択肢が選択された状態にあるので、選択肢の状態値はすべて決まる。このため、状態値が適用された数値列の演算を行った演算結果から、そのとき選択されている選択肢の組合せが禁止又は許可されるべきものか否かを判断できる。例えば、許可される場合は、そのときの選択肢の組合せで確定され、一方、禁止される場合は、選択不可能な旨を表示手段の表示に反映させる。   According to this, when there is a definite input for confirming the option selected in each setting item from the input means, since the option is selected in all the setting items, all the status values of the options are determined. For this reason, it is possible to determine whether or not the combination of options selected at that time should be prohibited or permitted from the calculation result of the calculation of the numeric string to which the state value is applied. For example, if it is permitted, it is determined by the combination of options at that time. On the other hand, if it is prohibited, it is reflected in the display of the display means that it cannot be selected.

また、本発明のユーザインターフェイス制御方法では、前記入力手段からの制御の開始の契機となる入力は、前記設定項目において前記選択肢を選択する選択入力であることが好ましい。   In the user interface control method of the present invention, it is preferable that the input that triggers the start of control from the input means is a selection input for selecting the option in the setting item.

これによれば、入力手段から選択肢を選択する選択入力があったときは、該選択肢が属する設定項目以外の設定項目の中には、未選択又は選択済みに拘わらず改めて選択肢が選択可能かどうかを判断する必要がある場合がある。この場合、選択された当該選択肢を含む一部の選択肢のみの状態値が決まり、選択可能かどうかを判断する必要があるその他の設定項目の選択肢の状態値は未定となる。よって、状態値適用ステップでは、状態値が決まる選択肢の状態値のみが数値列の対応する数値に置き換えられ、この一部の状態値のみ適用された数値列の演算が演算ステップで行われる。そして、その演算結果から、選択可能かどうかの判断が必要な設定項目について選択が禁止又は許可される選択肢が特定されることになる。そして、表示反映ステップでは、選択が禁止又は許可される選択肢についてはその旨がユーザインターフェイス上の表示に反映される。例えば、選択が禁止される選択肢が、選択不可能状態又は非表示状態にされるなど選択できないように無効化される。よって、その後、ユーザが他の設定項目で組合せ上禁止されている選択肢を選択することを回避できる。   According to this, when there is a selection input for selecting an option from the input means, whether or not the option can be selected again regardless of whether it is not selected or selected among the setting items other than the setting item to which the option belongs You may need to judge. In this case, the state values of only some of the options including the selected option are determined, and the state values of the options of other setting items that need to be determined whether they can be selected are undetermined. Therefore, in the state value application step, only the state value of the option for which the state value is determined is replaced with the corresponding numerical value of the numerical value sequence, and the numerical value sequence to which only this partial state value is applied is performed in the calculation step. Then, from the calculation result, options for which selection is prohibited or permitted for a setting item that needs to be determined whether or not selection is possible are specified. Then, in the display reflection step, that is reflected on the display on the user interface for the choices that are prohibited or permitted to be selected. For example, an option whose selection is prohibited is invalidated so that it cannot be selected, such as being in a non-selectable state or a non-display state. Therefore, it can be avoided that the user subsequently selects an option that is prohibited in combination with other setting items.

また、本発明のユーザインターフェイス制御方法では、前記数値列は、論理変数に割り当てられた数値の配列により構成され、論理演算子を表す数値は含まないことが好ましい。これによれば、数値列は、論理変数に割り当てられた数値が複数配列されてなり、論理演算子を意味する数値は省略されている。このため、論理演算子が省略された分だけ、数値列自体を縮小できるうえ数値列の演算に必要な作業用メモリを削減できる。また、演算時に参照する数値の個数が少なくなるので、演算所要時間も短く済む。   In the user interface control method of the present invention, it is preferable that the numeric string is composed of an array of numeric values assigned to logical variables and does not include a numeric value representing a logical operator. According to this, the numerical value sequence includes a plurality of numerical values assigned to the logical variables, and numerical values indicating logical operators are omitted. For this reason, the numerical sequence itself can be reduced by the amount that the logical operator is omitted, and the working memory required for the operation of the numerical sequence can be reduced. Further, since the number of numerical values to be referred to at the time of calculation is reduced, the time required for calculation can be shortened.

また、本発明のユーザインターフェイス制御方法では、前記数値列は、逆ポーランド記法で表現した際に論理演算子の位置の順番が常に固定される表記形式で表された論理式を逆ポーランド記法で表現した順番で数値が配列されてなり、前記演算ステップでは、前記数値列の数値を順番に参照して予め定められた所定個数分の数値のスタック操作を終える度に、前記スタック領域から数値をポップするとともに前記所定個数分の数値参照後に実施するように予め設定された論理演算子による演算を、前記ポップした数値に対して施すことが好ましい。   In the user interface control method of the present invention, the numerical sequence is expressed in reverse Polish notation as a logical expression expressed in a notation format in which the order of the positions of logical operators is always fixed when expressed in reverse Polish notation. In the calculation step, the numerical value is popped from the stack area every time a predetermined number of numerical values are stacked by referring to the numerical values in the numerical sequence in order. In addition, it is preferable to perform an operation on the popped numerical value using a preset logical operator so as to be performed after referring to the predetermined number of numerical values.

これによれば、論理演算子の数値が省略されていても、論理演算子の省略位置が固定されていることから、参照位置から、省略された論理演算子による演算を行うべきタイミングを把握することができ、省略されている論理演算子の1つ前まで数値を参照してそのスタック操作を終える度に、次に省略された論理演算子が参照されるべきものとして、そのときの位置から定まる省略された論理演算子による演算を、スタック領域からポップした数値に対して施す。つまり、所定個数の数値を参照した後に省略された論理演算子の演算を行うプログラムを組むことができる。よって、論理演算子が省略されても、所定個数分の数値を参照する度に省略された論理演算子の演算を行うという所定の規則に従って、数値列の演算を行うことができる。   According to this, even if the numerical value of the logical operator is omitted, since the omitted position of the logical operator is fixed, the timing to perform the operation by the omitted logical operator is grasped from the reference position. Each time the stack operation is completed by referring to the numerical value up to the previous one of the omitted logical operator, the next omitted logical operator should be referred to from the current position. An operation with a fixed omitted logical operator is performed on the numerical value popped from the stack area. That is, it is possible to build a program for performing the operation of the omitted logical operator after referring to a predetermined number of numerical values. Therefore, even if the logical operator is omitted, the numerical sequence can be calculated according to a predetermined rule that the omitted logical operator is calculated each time a predetermined number of numerical values are referred to.

また、本発明のユーザインターフェイス制御装置では、複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御方法であって、前記設定項目間で選択が禁止又は許可されるべき選択肢の組合せの条件を前記設定項目毎の各選択肢を論理変数として表した論理式が数値に変換された数値列を記憶する記憶手段と、前記入力手段から制御の開始の契機となる入力を得ると、前記ユーザインターフェイスにおける前記設定項目の各選択肢の選択状態を示す状態値を前記数値列中の対応する数値と置き換える状態値適用手段と、前記状態値が適用された前記数値列に基づき演算を行う演算手段と、前記演算手段の演算結果から選択禁止の選択肢が存在する旨の禁則情報が得られた場合は該禁則情報を前記表示手段の表示に反映させる表示反映手段とを備えたことを要旨とする。この装置の発明によっても、前記方法の発明と同様の効果を得ることができる。   Further, the user interface control device of the present invention is a user interface control method for controlling a user interface displayed on the display means based on an input from the input means so that an option can be inputted for each of a plurality of setting items, Storage means for storing a numerical string in which a logical expression expressing each option for each setting item as a logical variable is a combination of options that should be prohibited or allowed to be selected between items, and the input means A state value applying unit that replaces a state value indicating a selection state of each option of the setting item in the user interface with a corresponding numerical value in the numerical sequence when obtaining an input that triggers the start of control from There is a calculation means for performing a calculation based on the numerical sequence to which is applied, and a selection prohibition option from the calculation result of the calculation means exists. That if the prohibition information to the effect is obtained and summarized in that and a display reflecting unit for reflecting the 該禁 law information on a display of said display means. According to the invention of this apparatus, the same effect as that of the method invention can be obtained.

本発明は、複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御する処理をコンピュータが実行するためのユーザインターフェイス制御用プログラムであって、前記設定項目間で選択が禁止又は許可されるべき選択肢の組合せの条件を前記設定項目毎の各選択肢を論理変数として表した論理式が数値に変換された数値列が記憶手段に記憶されており、コンピュータが、前記入力手段から制御の開始の契機となる入力を得ると、前記記憶手段から前記数値列を読み出すとともに、前記設定項目の各選択肢の選択状態を示す状態値を前記数値列中の対応する数値と置き換える状態値適用ステップと、前記状態値が適用された前記数値列に基づき演算を行う演算ステップと、前記演算ステップでの演算結果から選択禁止の選択肢が存在する旨の禁則情報が得られた場合は該禁則情報を前記表示手段の表示に反映させる表示反映ステップとを実行するためのプログラム。これによれば、このプログラムをコンピュータが実行することで、前記方法の発明と同様の効果を得ることができる。   The present invention is a user interface control program for causing a computer to execute a process for controlling a user interface displayed on a display unit based on an input from an input unit so that options can be input for each of a plurality of setting items. A storage unit stores a numerical string in which a logical expression that represents a condition of a combination of options that should be prohibited or permitted to be selected between the setting items and each option for each setting item is expressed as a logical variable is converted into a numerical value. When the computer obtains an input that triggers the start of control from the input means, the numerical value string is read from the storage means, and a state value indicating a selection state of each option of the setting item is displayed in the numerical value string. A state value application step for replacing with a corresponding numerical value, an operation step for performing an operation based on the numerical sequence to which the state value is applied, and Program for executing a display reflecting step if prohibition information indicating that there is a selection inhibition choices from the calculation result in the calculation step is obtained that reflects the 該禁 law information on a display of said display means. According to this, when the computer executes this program, the same effect as that of the invention of the method can be obtained.

(第1実施形態)
以下、本発明を具体化した第1実施形態を、図1〜図7に基づいて説明する。
図1は、印刷システムのハードウェア構成を示すブロック図である。印刷システムは、パーソナルコンピュータ等からなるコンピュータ11と、コンピュータ11のインターフェイス(以下「I/F17」)に接続されたプリンタ21とから構成される。プリンタ21は例えばインクジェット式プリンタである。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS.
FIG. 1 is a block diagram illustrating a hardware configuration of the printing system. The printing system includes a computer 11 including a personal computer and a printer 21 connected to an interface (hereinafter “I / F 17”) of the computer 11. The printer 21 is, for example, an ink jet printer.

図1に示すように、コンピュータ11は、CPU12、ROM13、RAM14、HDD(Hard Disk Drive)15、ビデオ回路16、I/F17、バス18、表示装置19および入力装置20によって構成されている。   As shown in FIG. 1, the computer 11 includes a CPU 12, a ROM 13, a RAM 14, an HDD (Hard Disk Drive) 15, a video circuit 16, an I / F 17, a bus 18, a display device 19, and an input device 20.

ここで、CPU12は、ROM13やHDD15に格納されているプログラムに従って各種演算処理を実行するとともに、装置の各部を制御する制御部である。
ROM13は、CPU12が実行する基本的なプログラムやデータを格納しているメモリである。RAM14は、CPU12が実行途中のプログラムや、演算途中のデータ等を一時的に格納するメモリである。
Here, the CPU 12 is a control unit that executes various arithmetic processes according to programs stored in the ROM 13 and the HDD 15 and controls each unit of the apparatus.
The ROM 13 is a memory that stores basic programs executed by the CPU 12 and data. The RAM 14 is a memory that temporarily stores programs being executed by the CPU 12, data being calculated, and the like.

HDD15は、CPU12からの要求に応じて、ハードディスクに記憶されているデータやプログラムを読み出すとともに、CPU12の演算処理の結果として発生したデータを前述したハードディスクに記憶する記憶装置である。   The HDD 15 is a storage device that reads data and programs stored in the hard disk in response to a request from the CPU 12 and stores data generated as a result of the arithmetic processing of the CPU 12 in the hard disk.

ビデオ回路16は、CPU12から供給された描画命令に応じて描画処理を実行し、得られた画像データを映像信号に変換して表示装置19に出力する回路である。
I/F17は、入力装置20から出力された信号の表現形式を適宜変換するとともに、プリンタ21に対して印刷データを出力する回路である。
The video circuit 16 is a circuit that executes a drawing process according to a drawing command supplied from the CPU 12, converts the obtained image data into a video signal, and outputs the video signal to the display device 19.
The I / F 17 is a circuit that appropriately converts the expression format of the signal output from the input device 20 and outputs print data to the printer 21.

バス18は、CPU12、ROM13、RAM14、HDD15、ビデオ回路16およびI/F17を相互に接続し、これらの間でデータの授受を可能とする信号線である。
表示装置19は、例えば、LCD(Liquid Crystal Display)モニタやCRT(Cathode Ray Tube)モニタによって構成され、ビデオ回路16から出力された映像信号に応じた画像を表示する装置である。
The bus 18 is a signal line that connects the CPU 12, ROM 13, RAM 14, HDD 15, video circuit 16, and I / F 17 to each other and enables data exchange between them.
The display device 19 is configured by, for example, an LCD (Liquid Crystal Display) monitor or a CRT (Cathode Ray Tube) monitor, and displays an image according to the video signal output from the video circuit 16.

入力装置20は、例えば、キーボードおよびマウスによって構成されており、ユーザの操作に応じた信号を生成して、I/F17に供給する装置である。
以下、図2に示す各機能部分について個々に説明する。
The input device 20 is configured by, for example, a keyboard and a mouse, and is a device that generates a signal corresponding to a user operation and supplies the signal to the I / F 17.
Hereinafter, each functional portion shown in FIG. 2 will be described individually.

図2に示すように、コンピュータ11には、アプリケーションプログラム、ビデオドライバプログラムおよびプリンタドライバプログラム等が実装されており、これらが所定のオペレーティングシステム(OS)の下で動作している。コンピュータ11に内蔵されたCPU12がHDD15等に格納されている前述の各種プログラムを実行することにより、アプリケーション部23、ビデオドライバ24およびプリンタドライバ25が構築されている。   As shown in FIG. 2, an application program, a video driver program, a printer driver program, and the like are installed in the computer 11, and these operate under a predetermined operating system (OS). The application unit 23, the video driver 24, and the printer driver 25 are constructed by the CPU 12 built in the computer 11 executing the above-described various programs stored in the HDD 15 or the like.

プリンタドライバ25は、UI制御装置30および印刷部38を備えている。UI制御装置30は、記憶部31、データロード部32、テーブル作成部33、演算部34、UI制御部35、印刷部38を備えている。なお、これらの機能部分は、コンピュータ11のハードウェアと、HDD15に記憶されているソフトウエアとが協働することにより実現される。   The printer driver 25 includes a UI control device 30 and a printing unit 38. The UI control device 30 includes a storage unit 31, a data load unit 32, a table creation unit 33, a calculation unit 34, a UI control unit 35, and a printing unit 38. These functional parts are realized by the cooperation of the hardware of the computer 11 and the software stored in the HDD 15.

アプリケーション部23は、例えば画像編集などを行う機能を有し、ディジタルカメラ等から取り込まれた画像あるいはユーザによって描画された画像の加工処理が可能である。アプリケーション部23で扱う画像は、ビデオドライバ24に出力されることで表示装置19の画面に表示される。アプリケーション部23は、入力装置20が操作されて印刷実行の指令を受け付けると、その印刷対象の画像データをプリンタドライバ25に出力する。   The application unit 23 has a function of performing image editing, for example, and can process an image captured from a digital camera or an image drawn by a user. The image handled by the application unit 23 is displayed on the screen of the display device 19 by being output to the video driver 24. When the input unit 20 is operated to accept a print execution command, the application unit 23 outputs the image data to be printed to the printer driver 25.

ビデオドライバ24は、ビデオ回路16を駆動するためのプログラムであり、例えばアプリケーション部23から供給された画像データに対してガンマ処理やホワイトバランスの調整等を行った後、映像信号を生成して表示装置19に供給して画像を表示させる。また、プリンタドライバ25はUI28の画像データをビデオドライバ24を介して表示装置19の画面に表示させる。   The video driver 24 is a program for driving the video circuit 16. For example, the video driver 24 performs gamma processing, white balance adjustment, and the like on the image data supplied from the application unit 23, and then generates and displays a video signal. The image is supplied to the device 19 and displayed. The printer driver 25 displays the image data of the UI 28 on the screen of the display device 19 via the video driver 24.

プリンタドライバ25は、表示装置19の画面に、ユーザが印刷条件を入力設定するためのユーザインターフェイス(以下、「UI28」という)の表示制御を行うユーザインターフェイス制御装置(以下、「UI制御装置30」という)を備えている。UI制御装置30は、ユーザが入力装置20を操作してアプリケーション部23に対して例えば印刷実行指令または印刷設定表示指令などの印刷に係る指令を入力すると、その指令を受け付けたプリンタドライバ25により起動される。   The printer driver 25 is a user interface control device (hereinafter referred to as “UI control device 30”) that performs display control of a user interface (hereinafter referred to as “UI28”) for the user to input and set printing conditions on the screen of the display device 19. Is provided). When the user operates the input device 20 to input a command related to printing such as a print execution command or a print setting display command to the application unit 23, the UI control device 30 is activated by the printer driver 25 that has received the command. Is done.

UI制御装置30は、用紙サイズ、メディア、カラーモードなどの設定項目が選択可能に配置された設定画面を有するUI28を表示させる。UI28には印刷条件を構成する各種設定項目毎に、例えばコンボボックス、ラジオボタン、チェックボックス等の選択機能部のうちの一つが対応付けて配置されており、ユーザは、UI28上に各設定項目毎の選択機能部を必要に応じて選択操作して選択肢を変更することで所望の印刷条件を設定する。この場合、設定項目間で、一緒に設定できない選択肢の組合せがある。例えば設定項目「メディア」において写真印刷時に設定される「光沢紙」と、設定項目「印刷品質」における写真印刷に適さない「ドラフト」との組合せが、それに該当する。選択肢の組合せとして不適切な組合せについては予め設定できないように禁止しておくことで、ユーザが不適切な印刷条件で印刷してしまうことを防止するようにしている。   The UI control device 30 displays a UI 28 having a setting screen on which setting items such as paper size, media, and color mode are selectable. In the UI 28, one of selection function units such as a combo box, a radio button, and a check box is associated with each setting item constituting the printing condition, and the user can set each setting item on the UI 28. A desired printing condition is set by selecting and changing the selection function unit for each selection as necessary. In this case, there are combinations of options that cannot be set together between setting items. For example, a combination of “glossy paper” set at the time of photo printing in the setting item “media” and “draft” not suitable for photo printing in the setting item “print quality” corresponds to this. By prohibiting combinations that are inappropriate as options from being set in advance, it is possible to prevent the user from printing under inappropriate printing conditions.

選択が禁止された選択肢の組合せで印刷条件が設定されることを防止する方法としては、次の2つの方法が挙げられる。一つは、選択が禁止された選択肢の組合せで図2に示すOKボタン42(確定ボタン)が操作されたときに選択禁止の旨を通知する方法である。他の一つは、選択禁止の選択肢を無効化(グレーアウト又は非表示)してユーザによる選択を不能にする方法である。本実施形態は、前者の方法を採用する。   The following two methods can be used as a method for preventing the printing condition from being set by a combination of options that are prohibited from being selected. One is a method of notifying selection prohibition when the OK button 42 (confirmation button) shown in FIG. The other one is a method of disabling the selection prohibition option (grayed out or hidden) to disable the selection by the user. This embodiment employs the former method.

印刷条件を設定するためにUI28上で選択できる設定項目は、詳細設定画面等の下位の設定画面で設定されるものも含めると、プリンタ21の機種によって異なるものの、例えば10〜20程度ある。各設定項目毎に2〜10程度用意されている選択肢を設定項目毎に1つずつ選択して印刷条件を確定する。UI制御装置30は、非常に多数の選択肢の組合せのうち、OKボタン42が操作されたときの選択肢の設定が禁則条件を満たすものであるか否かを判定して、その判定結果に応じた所定の処理を行う。本実施形態では所定の処理として、設定可能な場合にその設定を確定して受け付ける処理を行い、設定不可能な場合は、表示装置19の画面に設定不可能な旨のメッセージを表示する処理を行う。   The setting items that can be selected on the UI 28 for setting printing conditions include, for example, about 10 to 20 although they include items set on a lower setting screen such as a detailed setting screen, depending on the model of the printer 21. About 2 to 10 choices prepared for each setting item are selected one by one for each setting item, and the printing conditions are determined. The UI control device 30 determines whether or not the setting of the option when the OK button 42 is operated satisfies a prohibition condition among the combinations of a large number of options, and according to the determination result Perform predetermined processing. In the present embodiment, as a predetermined process, when a setting is possible, a process for confirming and accepting the setting is performed. When the setting is not possible, a process for displaying a message indicating that the setting is not possible is displayed on the screen of the display device 19. Do.

UI制御装置30は、設定項目間において設定不可能な選択肢の組合わせを効率良く取得する。設定可能な選択肢の組合せと設定不可能な選択肢の組合せの判別処理は、設定不可能な選択肢の組合せのすべてを含む禁則条件の論理式を数値化した禁則データ(数値列)に基づき行う構成となっている。UI制御装置30は、UI制御開始の入力を得ると、UI28上で選択されている各選択肢の状態値を数値列に代入し、その代入後の数値列を演算して得られた演算結果から禁則条件である否かを判定し、その判定結果を表示装置19の表示に反映させる。本実施形態では、図2に示すプリンタメーカー側のコンピュータ50で作成された論理式52を数値に変換した数値列55が、禁則データとしてプリンタドライバプログラムと共にCD−ROM41に記憶され、このCD−ROM41がプリンタ21に同梱されてユーザに提供される。そして、CD−ROM41からユーザのコンピュータ11にプリンタドライバプログラム及び各種データがインストールされることにより、UI制御装置30を有するプリンタドライバ25がコンピュータ11に実装される。   The UI control device 30 efficiently acquires a combination of options that cannot be set between setting items. The process of discriminating between combinations of options that can be set and options that cannot be set is based on prohibited data (numerical string) that is a numerical expression of the logical expression of the prohibited conditions that includes all combinations of options that cannot be set. It has become. When the UI control device 30 obtains an input for starting UI control, the UI control device 30 substitutes the state value of each option selected on the UI 28 into a numerical value string, and calculates the numerical value string after the substitution from the calculation result obtained. It is determined whether or not the prohibition condition is satisfied, and the determination result is reflected on the display of the display device 19. In the present embodiment, a numerical value sequence 55 obtained by converting the logical expression 52 created by the computer 50 on the printer manufacturer side shown in FIG. 2 into a numerical value is stored in the CD-ROM 41 together with the printer driver program as prohibition data. Is provided with the printer 21 for the user. Then, a printer driver program and various data are installed in the user's computer 11 from the CD-ROM 41, whereby the printer driver 25 having the UI control device 30 is installed in the computer 11.

ここで、コンピュータ50で行われる処理について説明する。コンピュータ50には、開発者がプリンタ用のUI制御装置30を開発するためのツールが実装されており、このツールの一部の機能として数値列作成部51が備えられている。開発用のツールはソフトウェアにより構成され、コンピュータ50がそのソフトウェアを実行することで数値列作成部51はその一部の機能として構築されている。数値列作成部51は、開発者が入力手段(図示せず)を操作することで与えられる禁則情報に基づいて論理式52を作成するとともに該論理式52を所定の規則に従って数値列55に変換する。論理式52は、前述のように、複数の設定項目間で選択が禁止されている組合せを定める禁則条件を、選択肢を論理変数として表現された論理式である。この論理式52の詳細については後述する。   Here, processing performed by the computer 50 will be described. The computer 50 is equipped with a tool for a developer to develop the UI control device 30 for the printer, and includes a numerical string creating unit 51 as a part of the function of the tool. The development tool is configured by software, and the numerical sequence creating unit 51 is constructed as a part of the function by the computer 50 executing the software. The numerical sequence creating unit 51 creates a logical expression 52 based on prohibition information given by a developer operating an input means (not shown), and converts the logical expression 52 into a numerical sequence 55 according to a predetermined rule. To do. As described above, the logical expression 52 is a logical expression that expresses a prohibition condition that defines a combination in which selection is prohibited among a plurality of setting items, with options as logical variables. Details of the logical expression 52 will be described later.

次に、UI制御装置30の構成部分について説明する。
図2に示す記憶部31は、HDD15の所定記憶領域またはメモリにより構成されたもので、UI制御処理に必要なデータが格納されている。記憶部31には、前述のとおり、CD−ROM41から読み込まれた数値列55のデータが記憶されている。また、記憶部31には、UI28上の選択肢毎に選択/非選択のどちらの状態にあるかその選択状態の状態値をフラグで管理する所定記憶領域が用意されている。初期状態では各状態値(フラグ)はデフォルトの値が設定されており、入力装置20の操作によって選択肢の選択状態が変更される度に、フラグの値が変更されるように構成されている。
Next, components of the UI control device 30 will be described.
The storage unit 31 shown in FIG. 2 is configured by a predetermined storage area or memory of the HDD 15 and stores data necessary for UI control processing. As described above, the data of the numerical value sequence 55 read from the CD-ROM 41 is stored in the storage unit 31. In addition, the storage unit 31 is provided with a predetermined storage area for managing, with a flag, the state value of the selected state, which state is selected / unselected for each option on the UI 28. In the initial state, default values are set for the respective state values (flags), and the flag value is changed each time the selection state of the option is changed by the operation of the input device 20.

データロード部32は、入力装置20からUI制御処理開始のトリガとなる入力があると、そのときのUI28上における各選択肢の選択状態を示す状態値(フラグ)データと、数値列55のデータとを、記憶部31からロードする。本実施形態では、OKボタン42を操作したときの入力が、UI制御処理開始のトリガとなる。   When there is an input from the input device 20 that triggers the start of UI control processing, the data load unit 32 displays state value (flag) data indicating the selection state of each option on the UI 28 at that time, Are loaded from the storage unit 31. In the present embodiment, the input when the OK button 42 is operated becomes a trigger for starting the UI control process.

テーブル作成部33は、データロード部32がロードした数値列55のデータと、選択肢毎の状態値データとに基づきテーブル44(図3に示す)を作成する。
演算部34は、テーブル作成部33が作成したテーブル44を参照して、数値列55を構成する多数の数値のうち各選択肢の論理変数に割り当てられた数値を、対応する選択肢の状態値に置き換える処理を行う。つまり、数値列55で表現された論理式の論理変数に状態値を代入する処理を行う。そして、状態値適用後の数値列を計算する所定の演算処理を行う。
The table creation unit 33 creates a table 44 (shown in FIG. 3) based on the data of the numerical value sequence 55 loaded by the data loading unit 32 and the state value data for each option.
The calculation unit 34 refers to the table 44 created by the table creation unit 33 and replaces the numeric value assigned to the logical variable of each option among the many numeric values constituting the numeric string 55 with the state value of the corresponding option. Process. That is, a process of substituting the state value into the logical variable of the logical expression expressed by the numerical value sequence 55 is performed. And the predetermined calculation process which calculates the numerical sequence after state value application is performed.

UI制御部35は、演算部34の演算結果から本設定が可能であるか否かを判定し、その判定結果をビデオドライバ24を介して表示装置19の表示内容に反映させる。本実施形態では、前述のように、本設定が可能な場合は、本設定を受け付けて印刷部38に本設定を確定した旨を通知し、一方、本設定が不可能な場合は、本設定が不可能な旨のメッセージ表示を行う。   The UI control unit 35 determines whether or not this setting is possible from the calculation result of the calculation unit 34, and reflects the determination result on the display content of the display device 19 via the video driver 24. In the present embodiment, as described above, when the main setting is possible, the main setting is accepted and the printing unit 38 is notified that the main setting has been confirmed. On the other hand, when the main setting is impossible, the main setting is performed. A message indicating that is not possible is displayed.

印刷部38は、UI制御部35から確定の旨の通知を受け取ると、記憶部31から状態値のデータを読み出して印刷設定情報を取得するとともに、印刷対象の画像データに解像度変換処理、色変換処理、ハーフトーン処理およびラスタライズ処理を施して生成した印刷データをプリンタ21に供給する。印刷データは、プリンタ21が解釈できる形式のデータであって、前記画素データと、各種のコマンドデータとを有するデータである。   Upon receiving a notification of confirmation from the UI control unit 35, the printing unit 38 reads out status value data from the storage unit 31 to acquire print setting information, and performs resolution conversion processing and color conversion on the image data to be printed. Print data generated by performing processing, halftone processing, and rasterization processing is supplied to the printer 21. The print data is data in a format that can be interpreted by the printer 21 and includes the pixel data and various command data.

解像度変換処理は、印刷対象となる例えばRGB画像の解像度を、設定項目「印刷品質」の選択肢から決まる印刷解像度に変換する処理である。また、この処理を行う際は、設定項目「用紙サイズ」の選択肢から決まる用紙サイズに応じた画像サイズに変倍する変倍処理やトリミング処理等が必要に応じて行われる。色変換処理は、RGB表色系で表現されたRGB画像データを、色変換テーブル(図示せず)を参照して、CMYK表色系の画像データに変換する処理である。ハーフトーン処理は、多段階の階調値を有するCMYK画素データを、プリンタ21が表現可能な、少段階の階調値を有するCMYK画素データに変換する処理である。ラスタライズ処理は、前記ハーフトーン処理がなされたCMYK画像データを、プリンタ21に転送すべきデータ順に変更する処理である。ラスタライズ処理されたデータは、コマンドが付された印刷データとしてプリンタ21に出力される。   The resolution conversion process is a process for converting, for example, the resolution of an RGB image to be printed into a print resolution determined from the options of the setting item “print quality”. Further, when this processing is performed, scaling processing or trimming processing for scaling to an image size corresponding to the paper size determined from the option of the setting item “paper size” is performed as necessary. The color conversion process is a process of converting RGB image data expressed in the RGB color system into image data of the CMYK color system with reference to a color conversion table (not shown). The halftone process is a process of converting CMYK pixel data having multi-stage gradation values into CMYK pixel data having small-stage gradation values that can be expressed by the printer 21. The rasterization process is a process for changing the CMYK image data subjected to the halftone process in the order of data to be transferred to the printer 21. The rasterized data is output to the printer 21 as print data to which a command is attached.

図3は、メーカー側のコンピュータ50で予め行われる処理を説明する流れ図である。数値列作成部51が行う処理は、図3(a)〜(d)に示すように、(a)論理式52の作成、(b)逆ポーランド記法への並び替え、(c)論理変数・論理記号の数値変換の主に3つの処理からなる。   FIG. 3 is a flowchart illustrating processing performed in advance by the computer 50 on the manufacturer side. As shown in FIGS. 3A to 3D, the processing performed by the numerical sequence creation unit 51 includes (a) creation of a logical expression 52, (b) rearrangement into reverse Polish notation, (c) logical variable It consists mainly of three processes for numerical conversion of logical symbols.

まず論理式の作成について説明する。UI28上の選択可能な全ての選択肢を論理変数として扱い、各論理変数が{選択(TRUE),非選択(FALSE)}のどちらかの状態を取るとする。それらの論理変数を組み合わせた論理式によって設定不可能である禁則条件を表現する。禁則条件の論理式Eは、以下のように示される。
E = (( X1∧X2 ) ∨ ( X1 ̄∧X3 )) ∨ (( X2∧X4 ̄ ) ∨ ( ( X1∧X3 )∧X5 )) …(1)
例えば設定項目として、用紙サイズ、メディア、カラーモードなどがあり、各設定項目の下位に用意された各選択肢が論理変数で表される。例えば設定項目「用紙サイズ」には、その選択肢として、「A2,A3,A4,Letter,Legal,…」があり、設定項目「メディア」には、その選択肢として、「普通紙、OHPシート、マット紙、光沢紙、半光沢紙、…」があり、さらに設定項目「カラーモード」には、その選択肢として、「カラー/モノクロ」がある。これら選択肢の一つひとつに論理変数が割り当てられる。
First, the creation of a logical expression will be described. Assume that all selectable options on the UI 28 are treated as logical variables, and each logical variable takes a state of {selected (TRUE) or non-selected (FALSE)}. A forbidden condition that cannot be set is expressed by a logical expression that combines these logical variables. The forbidden condition formula E is shown as follows.
E = ((X1∧X2) ∨ (X1 ̄∧X3)) ∨ ((X2∧X4 ̄) ∨ ((X1∧X3) ∧X5))… (1)
For example, the setting items include paper size, media, color mode, and the like. Each option prepared below each setting item is represented by a logical variable. For example, the setting item “paper size” has “A2, A3, A4, Letter, Legal,...” As options, and the setting item “media” includes “plain paper, OHP sheet, matte” as options. Paper, glossy paper, semi-glossy paper,..., And the setting item “color mode” has “color / monochrome” as an option. A logical variable is assigned to each of these options.

上記(1)式で示された論理式52の右辺の論理変数には、「X1,X2,X3,X4,X5,…」と、「X1 ̄,X2 ̄,X3 ̄,X4 ̄,X5 ̄,…」がある。論理変数Xn(但しn=1,2,…)は、論理変数Xnで表された選択肢N1が選択されているときに真(TRUE)となり、この選択肢N1が選択されていないときに偽(FALSE)となる論理変数である。一方、論理変数Xn ̄(但しn=1,2,…)は、論理変数Xnで表された選択肢N1が選択されていないときに真(TRUE)となり、この選択肢N1が選択されているときに偽(FALSE)となる論理変数である。論理変数Xn,Xn ̄は、それぞれ真(TRUE)である場合に値「1」をとり、偽(FALSE)である場合に値「−1」をとる。   The logical variables on the right side of the logical expression 52 expressed by the above equation (1) include “X1, X2, X3, X4, X5,...” And “X1 ̄, X2 ̄, X3 ̄, X4 ̄, X5 ̄. , ... ". The logical variable Xn (where n = 1, 2,...) Is true when the option N1 represented by the logical variable Xn is selected, and false when the option N1 is not selected. ) Is a logical variable. On the other hand, the logical variable Xn ̄ (where n = 1, 2,...) Becomes true (TRUE) when the option N1 represented by the logical variable Xn is not selected, and when the option N1 is selected. It is a logical variable that is false. Each of the logical variables Xn and Xn ̄ takes a value “1” when it is true (TRUE) and takes a value “−1” when it is false (FALSE).

例えば上記(1)式の右辺中にある「X1∧X2」は、論理変数X1で表された選択肢A1と、論理変数X2で表された選択肢B1の両方が選択された場合に、X1∧X2が真(TRUE)となり、X1∧X2=1∧1=1により、値「1」をとる。また、論理変数X1で表された選択肢A1と、論理変数X2で表された選択肢B1のうち少なくとも一方が選択されなかった場合は、X1∧X2が偽(FALSE)となり、X1∧X2=−1(∵1∧−1=−1∧1=−1∧−1=−1)により、値「−1」をとる。   For example, “X1∧X2” in the right side of the above equation (1) is X1∧X2 when both the option A1 represented by the logical variable X1 and the option B1 represented by the logical variable X2 are selected. Becomes TRUE and X1 値 X2 = 1∧1 = 1 takes the value “1”. When at least one of the option A1 represented by the logical variable X1 and the option B1 represented by the logical variable X2 is not selected, X1∧X2 becomes FALSE and X1∧X2 = −1. The value “−1” is obtained by (∵1∧-1 = −1∧1 = −1 値 -1 = −1).

論理変数が論理和で結合されたXn∨Xmは、論理変数Xnで表された選択肢Anと、論理変数Xmで表された選択肢Bmのうち少なくとも一方が選択されている場合に、Xn∨Xmが真(TRUE)となり、X1∨X2=1(∵1∨−1=−1∨1=1∨1=1)により、値「1」をとる。また、論理変数Xnで表された選択肢Anと、論理変数Xmで表された選択肢Bmのうち両方が選択されなかった場合は、Xn∨Xmが偽(FALSE)となり、Xn∨Xm=−1(∵−1∨−1=−1)により、値「−1」をとる。   Xn∨Xm in which logical variables are connected by logical sum is expressed as follows when Xn∨Xm is selected when at least one of the choice An represented by the logical variable Xn and the choice Bm represented by the logical variable Xm is selected. True (TRUE) and X1 「X2 = 1 (∵1∨-1 = −1∨1 = 1∨1 = 1), and takes the value“ 1 ”. Further, when both of the option An represented by the logical variable Xn and the option Bm represented by the logical variable Xm are not selected, Xn∨Xm becomes FALSE, and Xn∨Xm = −1 ( The value "-1" is obtained by (-1) -1 = -1).

禁止関数Eは、その値が「1」になって真(TRUE)となると、そのとき選択されている選択肢の組合せが禁止されていることを意味し、一方、その値が「−1」になって偽(FALSE)となると、そのとき選択されている選択肢の組合せが禁止されていない、すなわち許可されていることを意味する。換言すれば、禁止されている選択肢の組合せを選択した場合、E=1になり、禁止されていない(つまり許可されている)選択肢の組合せを選択した場合、E=−1になる。   Forbidden function E means that when the value becomes “1” and becomes true (TRUE), the combination of options selected at that time is prohibited, while the value becomes “−1”. If it becomes false (FALSE), it means that the combination of choices selected at that time is not prohibited, that is, permitted. In other words, E = 1 when a combination of prohibited options is selected, and E = −1 when a combination of options that is not prohibited (that is, permitted) is selected.

前述の例で示した「X1∧X2」は論理式52中においては、選択肢A1と選択肢B1の両方を同時に選択することは禁止することを意味する。また、前記(1)式中の「X1 ̄∧X3」は論理式52中においては、論理変数X1 ̄で表された選択肢A1が選択されていないときは、論理変数X3で表された選択肢C1の選択を禁止することを意味する。つまり、選択肢Cを選択するためには選択肢A1の選択が必須であることを意味する。このように選択が禁止されている選択肢の組合せについては、それぞれを表す論理変数が論理積(∧)で繋がれ、例えば「Xn∧Xm」、「Xn ̄∧Xm」、「Xn∧Xm ̄」、「Xn ̄∧Xm ̄」「(Xn∧Xm)∧Xl」、…のように論理式中に組み込まれる。そして、これらの禁止の組合せを論理積で繋いだそれぞれが、論理和(∨)で繋がれて小集団の式が形成され、さらにその論理和で繋がれた小集団の式が他の小集団の式と論理和で繋がれることにより、例えば論理式52は構築されている。よって、ある禁止の組合せを追加したい場合は、論理式中にその禁止の組合せに対応する各論理変数を論理積(∧)で繋いだ、例えば「Xn∧Xm」または前記小集団の式を、既存の論理式52中に論理和で繋ぐかたちで追加すればよい。また、ある禁止の組合せを削除したい場合は、その禁止の組合せに対応する各論理変数を論理積(∧)で繋いだ、例えば「Xn∧Xm」または前記小集団の式を、既存の論理式52から削除すればよい。このように論理式52を用いれば、禁止の組合せの追加・削除は比較的簡単に行える。   “X1∧X2” shown in the above example means that in the logical expression 52, it is prohibited to simultaneously select both the option A1 and the option B1. Further, “X1 ̄∧X3” in the equation (1) indicates that the option C1 represented by the logical variable X3 is not selected in the logical formula 52 when the option A1 represented by the logical variable X1 ̄ is not selected. This means that the selection of is prohibited. That is, in order to select option C, it means that selection of option A1 is essential. For the combinations of options that are prohibited from being selected in this way, logical variables representing the respective combinations are connected by logical product (∧), for example, “Xn∧Xm”, “Xn ̄∧Xm”, “Xn∧Xm ̄”. , “Xn ̄∧Xm ̄”, “(Xn∧Xm) ∧Xl”,... Each of these prohibited combinations connected by logical product is connected by logical sum (∨) to form a small group formula, and the small group formula connected by the logical sum is another small group. For example, the logical expression 52 is constructed by being connected to the above expression by logical sum. Therefore, when it is desired to add a certain prohibited combination, each logical variable corresponding to the prohibited combination in the logical expression is connected by a logical product (∧), for example, “Xn∧Xm” or the expression of the small group, What is necessary is just to add to the existing logical formula 52 in the form connected by the logical sum. In addition, when it is desired to delete a prohibited combination, each logical variable corresponding to the prohibited combination is connected by a logical product (∧), for example, “Xn∧Xm” or the formula of the small group is replaced with an existing logical formula. What is necessary is just to delete from 52. If the logical expression 52 is used in this way, addition / deletion of prohibited combinations can be performed relatively easily.

図3(a)に示す論理式52は、上述の手法に基づきコンピュータ50の数値列作成部51が作成する。開発者が入力装置(図示せず)を操作して選択肢の論理変数を必要に応じて定義して、数値列作成部51からの要求に応じて禁止される組合せの情報を入力すると、数値列作成部51は、上述の規則に従って論理式52を作成する。   The numerical formula 52 shown in FIG. 3A is created by the numerical value string creating unit 51 of the computer 50 based on the above-described method. When a developer manipulates an input device (not shown) to define a logical variable of options as necessary and inputs information on a combination that is prohibited in response to a request from the numerical sequence creation unit 51, a numerical sequence The creation unit 51 creates the logical expression 52 according to the rules described above.

すなわち、数値列作成部51は、設定項目中の特定の選択肢が選ばれた場合に真(TRUE)、 選ばれていない場合に偽(FALSE)になる論理変数X1,X2,X3,…を全設定項目の全選択肢分定義する。次に、X1,X2,X3,…の否定、すなわち選択肢が選ばれない場合に真(TRUE)、選ばれた場合に偽(FALSE)となる論理変数X1 ̄,X2 ̄,X3 ̄,…と定義する。そして、入力装置から与えられた禁則条件(選択禁止の条件)の情報を基に、これらの論理変数を論理和・論理積による組み合せることによって、禁則条件を表現した例えば前記(1)式で表される論理式52を作成する。   That is, the numerical sequence creation unit 51 sets all the logical variables X1, X2, X3,... That are true (TRUE) when a specific option in a setting item is selected, and false (FALSE) when a specific option is not selected. Define all options for the setting items. Next, negation of X1, X2, X3,..., That is, logical variables X1 ̄, X2 ̄, X3 ̄,... That are true (TRUE) when an option is not selected and false (FALSE) when an option is selected. Define. Based on the prohibition condition (selection prohibition condition) information given from the input device, by combining these logical variables with logical sum and logical product, A logical expression 52 is created.

こうして論理式52が作成されると、数値列作成部51は、次に図3(b)に示すように、論理式52を逆ポーランド記法へ並び替える処理を行う。この処理の結果、同図(b)に示すように、論理式52中の括弧「()」が外されて論理変数・論理記号が計算順序の順番に並び替えられた、逆ポーランド記法の論理式53が得られる。   When the logical expression 52 is created in this way, the numerical value string creating unit 51 performs a process of rearranging the logical expression 52 into the reverse Polish notation as shown in FIG. As a result of this processing, the reverse Polish notation logic in which the parentheses “()” in the logical expression 52 are removed and the logical variables and logical symbols are rearranged in the order of calculation as shown in FIG. Equation 53 is obtained.

次に、数値列作成部51は、この逆ポーランド記法の論理式53を、図3(c)に示す変換テーブル54を参照して、図3(d)に示す数値列55に変換する。この変換テーブル54は予めメモリの所定記憶領域に記憶されているものを読み出して使用する。あるいは、その都度、設定項目の選択肢の数に応じて数値列作成部51が作成してもよい。   Next, the numerical sequence creating unit 51 converts the logical expression 53 of the reverse Polish notation into a numerical sequence 55 shown in FIG. 3D with reference to the conversion table 54 shown in FIG. This conversion table 54 is read out and used in advance stored in a predetermined storage area of the memory. Alternatively, the numerical value string creation unit 51 may create each time according to the number of setting item options.

図3(c)に示す変換テーブル54は、論理変数・論理記号とそれらの変換先の数値との対応関係を示したテーブルである。変換テーブル54では、「TRUE(真)」が「1」、「FALSE(偽)」が「−1」に変換されるように設定され、また論理積(∧)が「2」、論理和(∨)が「−2」に変換されるように設定されている。また、論理変数については、論理変数「X1,X2,X3,X4,…」がそれぞれ「3、4,5,6,…」に変換され、論理変数「X1 ̄,X2 ̄,X3 ̄,X4 ̄,…」がそれぞれ「−3、−4,−5,−6,…」に変換されるように設定されている。また、「0」は終端用(NULL)に使用される。なお、「TRUE」および「FALSE」の変換は、論理式53から数値列55への変換には使用されないので、数値列55は「1」および「−1」を含まない。ユーザ側のコンピュータ11において、UI28上で設定項目の選択肢が選択された状態でUI制御のための演算を行うときに、選択肢の論理変数を表す数値が、対応する選択肢の選択・非選択に応じて「1」または「−1」に置き替えられて使用される。   The conversion table 54 shown in FIG. 3C is a table showing the correspondence between logical variables / logical symbols and their conversion destination numerical values. In the conversion table 54, “TRUE (true)” is set to “1” and “FALSE (false)” is set to “−1”, and the logical product (、) is “2” and logical sum ( Ii) is set to be converted to "-2". As for the logical variables, the logical variables “X1, X2, X3, X4,...” Are converted to “3, 4, 5, 6,...”, Respectively, and the logical variables “X1 ̄, X2 ̄, X3 ̄, X4” are converted. “ ̄,...” Are set to be converted into “−3, −4, −5, −6,. “0” is used for termination (NULL). Note that the conversion of “TRUE” and “FALSE” is not used for the conversion from the logical expression 53 to the numerical sequence 55, and therefore the numerical sequence 55 does not include “1” and “−1”. In the computer 11 on the user side, when the calculation for UI control is performed in the state where the option of the setting item is selected on the UI 28, the numerical value indicating the logical variable of the option corresponds to the selection / non-selection of the corresponding option. Are replaced with “1” or “−1”.

こうして数値列作成部51は、変換テーブル54を参照して、図3(b)に示す逆ポーランド記法の論理式53を図3(d)に示す数値列55に変換する。数値列55には、その最終端位置に、数値列55の終端位置であることを示す「0」が配置される。コンピュータ11がこの数値列55の演算を行うときには、数値列55における同図の左端位置が演算開始位置になり、この演算開始位置から順次右側へ1つずつ参照する数値をシフトしながら演算を進めることになる。そして、終端用の「0」を参照すると、すべての数値の演算が終了したことになる。この演算終了位置を認識できるように終端用の「0」は数値列55の最後に配置される。   In this way, the numerical sequence creation unit 51 refers to the conversion table 54 and converts the logical expression 53 of the reverse Polish notation shown in FIG. 3B to the numerical sequence 55 shown in FIG. In the numerical value sequence 55, “0” indicating the end position of the numerical value sequence 55 is arranged at the final end position. When the computer 11 calculates the numerical value sequence 55, the left end position in the figure in the numerical value sequence 55 becomes the calculation start position, and the calculation proceeds while shifting the numerical values to be referred to one by one sequentially from the calculation start position. It will be. Then, when “0” for termination is referred to, calculation of all numerical values is completed. The end “0” is arranged at the end of the numerical sequence 55 so that the calculation end position can be recognized.

この数値列55のデータは、前述のように、プリンタドライバプログラムと共にCD−ROM41に書き込まれ、CD−ROM41からプリンタドライバプログラムと共にユーザのコンピュータ11にインストールされることにより、HDD15内の所定記憶領域からなる図2に示す記憶部31に格納される。コンピュータ11は数値列55をソフトウェアの設定データとして持ち、UI制御装置30がUI28を制御するときに使用する。ユーザがアプリケーション部23から印刷実行を指示し、プリンタドライバ25が印刷指令を受け付けると、UI制御装置30が表示装置19の画面にUI28を表示させるとともに、入力装置20の操作によってユーザがそのUI28上で選択肢を選択した場合に禁止されるべき組合せの選択を禁止する禁則制御を行う。   As described above, the data in the numerical sequence 55 is written in the CD-ROM 41 together with the printer driver program, and is installed in the user's computer 11 together with the printer driver program from the CD-ROM 41. Is stored in the storage unit 31 shown in FIG. The computer 11 has a numeric string 55 as software setting data, and is used when the UI control device 30 controls the UI 28. When the user instructs execution of printing from the application unit 23 and the printer driver 25 receives a print command, the UI control device 30 displays the UI 28 on the screen of the display device 19, and the user operates the UI 28 by operating the input device 20. The prohibition control is performed to prohibit the selection of the combination that should be prohibited when the option is selected in.

図4は、UI28上の各設定項目で所望の選択肢を選択した状態でOKボタン42が操作された入力を入力装置20から得たときに、CPU12が実行するUI制御処理用プログラム(禁則制御処理用プログラム)を示すフローチャートである。UI制御処理は、このUI制御処理用プログラムを実行するCPU12により構成されるUI制御装置30が行う。以下、UI制御処理について、図4のフローチャートに従って、図5及び図6を適宜参照しつつ説明する。図5は作業用メモリ43における演算開始前の前処理を示す説明図であり、図6は作業用メモリ43における演算手順を説明する説明図である。図2に示すUI28上に設けられたOKボタン42が操作された際の入力は、UI制御装置30のデータロード部32に与えられる。この信号の入力を契機にUI制御処理は開始される。   FIG. 4 shows a UI control processing program (forbidden control processing) executed by the CPU 12 when an input in which the OK button 42 is operated is obtained from the input device 20 with a desired option selected in each setting item on the UI 28. FIG. The UI control processing is performed by the UI control device 30 configured by the CPU 12 that executes the UI control processing program. The UI control process will be described below with reference to FIGS. 5 and 6 as appropriate according to the flowchart of FIG. FIG. 5 is an explanatory diagram showing pre-processing before the calculation is started in the work memory 43, and FIG. 6 is an explanatory diagram explaining a calculation procedure in the work memory 43. An input when the OK button 42 provided on the UI 28 shown in FIG. 2 is operated is given to the data load unit 32 of the UI control device 30. The UI control process is started upon input of this signal.

まずステップS10では、作業用のメモリ領域の準備をする。本実施形態では、RAM14に作業用メモリ領域を確保し、そのメモリ領域を作業用メモリ43(図5及び図6に示す)として使用する。なお、選択肢が125個以下の場合は、1つの数値につき1バイト分確保する。選択肢が125個を超える場合は、1つの数値につき2バイト分確保する。   First, in step S10, a working memory area is prepared. In this embodiment, a working memory area is secured in the RAM 14, and this memory area is used as the working memory 43 (shown in FIGS. 5 and 6). If the number of options is 125 or less, 1 byte is secured for each numerical value. If there are more than 125 options, 2 bytes are reserved for each numerical value.

ステップS20では、数値列55を作業用メモリ43にコピーする。すなわち、記憶部から数値列55を読み出して、図5に示すように、作業用メモリ43に格納する。なお、選択肢(設定項目)が125個以下の場合は、1つの数値を先に確保した1バイト分に格納し、125個を超える場合は、1つの数値を先に確保した2バイト分に格納する。   In step S 20, the numerical value sequence 55 is copied to the work memory 43. That is, the numerical value sequence 55 is read from the storage unit and stored in the work memory 43 as shown in FIG. If the number of choices (setting items) is 125 or less, one numerical value is stored in 1 byte secured previously, and if it exceeds 125, one numerical value is stored in 2 bytes secured previously. To do.

ステップS30では、設定状態(選択状態)を示すテーブルを生成する。すべての選択肢に対して論理変数X1,X2,X3,…が割り当てられており、UI28上で選択されている選択肢の設定状態(選択状態)から、各論理変数X1,X2,X3,…について選択・非選択が分かる。選択されている選択肢の論理変数に対応する数値(Index)には「1」(TRUE)、選択されていない(非選択)の選択肢の論理変数に対応する数値(Index)には「−1」(FALSE)をそれぞれ設定して、図5(b)に示すテーブル44を作成する。同図の例では、選択されている選択肢の論理変数X2,X5,…に対応する数値(Index)「4」「7」…に対しては「1」が状態値として設定され、選択されていない(非選択の)選択肢の論理変数X1,X3,X4,…に対応する数値(Ind ex)「3」「5」「6」…に対しては「−1」が状態値として設定されている。なお、論理変数X1 ̄,X2 ̄,X3 ̄,…の状態値は、X1,X2,X3,…の状態値に「−1」を乗ずることによって取得可能である。また、テーブル44において、数値(Index)「0」「1」「2」は選択肢を表す数値ではないので、未使用となる。   In step S30, a table indicating the setting state (selected state) is generated. Logical variables X1, X2, X3,... Are assigned to all options, and selection is made for each of the logical variables X1, X2, X3,... From the setting state (selected state) of the options selected on the UI 28.・ Unknown. “1” (TRUE) for the numerical value (Index) corresponding to the logical variable of the selected option, and “−1” for the numerical value (Index) corresponding to the logical variable of the unselected (non-selected) option. (FALSE) is set, and the table 44 shown in FIG. 5B is created. In the example of the figure, “1” is set as the state value for the numerical values (Index) “4”, “7”,... Corresponding to the logical variables X2, X5,. For the numerical values (Index) “3”, “5”, “6”,... Corresponding to the logical variables X1, X3, X4,. Yes. The state values of the logical variables X1X, X2 ̄, X3 ̄,... Can be obtained by multiplying the state values of X1, X2, X3,. In the table 44, the numerical values (Index) “0”, “1”, and “2” are not used because they are not numerical values representing options.

ステップS40では、論理変数に割り当てられている数値を、テーブル44から取得した論理変数の状態値に置き換える。すなわち、図5(a)に示す数値列55のうち論理変数が割り当てられた数値(Index)「3,4,5,…」を、テーブル44中の対応する状態値(「1」または「−1」)に置き換えて、図5(c)に示すような数値列56に変換する。   In step S40, the numerical value assigned to the logical variable is replaced with the state value of the logical variable acquired from the table 44. That is, the numerical value (Index) “3, 4, 5,...” To which the logical variable is assigned in the numerical value sequence 55 shown in FIG. 1 ”) and converted into a numeric string 56 as shown in FIG.

ステップS50では、置き換え後の数値列56をスタック操作で計算する。図6は、スタック操作で行われる計算手順を示すものである。このスタック操作で数値列56を計算することで、禁則情報を抽出する。以下、スタック操作による計算方法を説明する。   In step S50, the replaced numeric string 56 is calculated by stack operation. FIG. 6 shows a calculation procedure performed in the stack operation. By calculating the numerical sequence 56 by this stack operation, prohibition information is extracted. Hereinafter, a calculation method by stack operation will be described.

置き換えられた数値列56を、作業用メモリ43の同図における先頭位置(同図の左端位置)から右方向に1つずつ数値を参照していき、作業用メモリ43自体をスタックとして活用するスタック操作を行うことにより、数値列56の計算を実施する。   A stack in which the replaced numeric value string 56 is referred to one by one in the right direction from the start position (left end position in the figure) of the work memory 43 and the work memory 43 itself is used as a stack. By performing the operation, the numerical sequence 56 is calculated.

図6(a)は、数値置き換え直後から最初の数値を参照して計算を行うまでの過程を示す。ここで、作業用メモリ43をスタックとして活用してスタック操作による計算を行うためには、数値の参照位置を管理するとともに、スタック終端位置を管理する必要がある。CPU12はメモリ上に所定記憶領域を確保して、スタック終端位置を管理している。また、メモリ上に別の所定記憶領域を確保して、ここで作業用メモリ43上の数値列56中の数値を1つずつ順番に参照する参照位置45(アドレス)を管理している。   FIG. 6A shows a process from immediately after the numerical value replacement until the calculation is performed with reference to the first numerical value. Here, in order to use the working memory 43 as a stack and perform calculation by stack operation, it is necessary to manage a numerical reference position and a stack end position. The CPU 12 secures a predetermined storage area on the memory and manages the stack end position. Further, another predetermined storage area is secured on the memory, and a reference position 45 (address) for referring to the numerical values in the numerical value string 56 on the working memory 43 one by one is managed here.

参照位置45は作業用メモリ43における図6の左端位置を参照開始位置とし、数値を参照する度に1つずつ右方向へ移動していく。一方、スタック終端46は、作業用メモリ43上において図6の左端位置を初期位置とする。スタック操作は次の規則に従って行われる。参照位置45の数値(参照数値)が論理変数の状態値である「1」(TRUE)又は「−1」(FALSE)の場合は、その参照数値を作業用メモリ43のスタック終端46の位置にプッシュする。数値をプッシュした場合は、スタック終端46を1つ右へ移動する。また、参照位置45の数値(参照数値)が論理記号を表す数値である「2」(論理積)又は「−2」(論理和)の場合は、作業用メモリ43中のスタック領域から2つ数値をポップして、そのポップした数値の個数分(2つ分)スタック終端46を左へ戻す。このような規則に従って行われるスタック操作と、参照位置45およびスタック終端46の位置管理は、UI制御用プログラムに基づいてCPU12が行う。なお、図6における作業用メモリ43における1つの数値が格納される格納エリア(同図における1升分)のアドレスを、便宜上、左端位置から順に第1アドレス、第2アドレス、第3アドレス、…と呼ぶことにする。   The reference position 45 uses the left end position in FIG. 6 in the working memory 43 as a reference start position, and moves to the right one by one each time a numerical value is referenced. On the other hand, the stack end 46 sets the left end position of FIG. Stack operations are performed according to the following rules: When the numerical value (reference numerical value) of the reference position 45 is “1” (TRUE) or “−1” (FALSE) which is the state value of the logical variable, the reference numerical value is set to the position of the stack end 46 of the work memory 43. To push. When a numerical value is pushed, the stack end 46 is moved to the right by one. When the numerical value (reference numerical value) at the reference position 45 is “2” (logical product) or “−2” (logical sum), which is a numerical value representing a logical symbol, two from the stack area in the work memory 43. Pop the numerical value and return the stack end 46 to the left by the number (two) of the popped numerical values. The stack operation performed according to such rules and the position management of the reference position 45 and the stack end 46 are performed by the CPU 12 based on the UI control program. For convenience, the addresses of the storage area (one portion in FIG. 6) in the working memory 43 in FIG. 6 are the first address, second address, third address,... I will call it.

まず図6(a)に示すように、最初の参照位置45である1番目の数値を参照する。参照数値が「−1」(FALSE)であるので、その参照数値を作業用メモリ43上のスタック終端46の位置である第1アドレスにプッシュする。プッシュしたことによってスタック終端46は1つ右へ移動する。こうして1個目の数値の参照およびプッシュが終わると、図6(b)に示すように、参照位置45およびスタック終端46が共に2個目の数値が位置する第2アドレスを示す状態になる。   First, as shown in FIG. 6A, the first numerical value that is the first reference position 45 is referred to. Since the reference numerical value is “−1” (FALSE), the reference numerical value is pushed to the first address which is the position of the stack end 46 on the working memory 43. Pushing moves the stack end 46 one step to the right. When the reference and push of the first numerical value are finished in this way, as shown in FIG. 6B, both the reference position 45 and the stack end 46 indicate the second address where the second numerical value is located.

次に図6(b)に示すように、参照位置45にある2個目の数値を参照すると、その参照数値が「1」であるので、その参照数値を作業用メモリ43上のスタック終端46の位置である第2アドレスにプッシュする。プッシュしたことによってスタック終端46は1つ右へ移動する。こうして2個目の数値の参照およびプッシュが終わると、図示はしないが、参照位置45およびスタック終端46が共に3個目の数値の位置である第3アドレスを示す状態になる。   Next, as shown in FIG. 6B, when the second numerical value at the reference position 45 is referred to, the reference numerical value is “1”, so the reference numerical value is used as the stack end 46 on the work memory 43. To the second address, which is the position of. Pushing moves the stack end 46 one step to the right. When the second numerical value is referred and pushed, the reference position 45 and the stack end 46 both indicate the third address, which is the third numerical value position, although not shown.

次に図6(c)に示すように、参照位置45にある3個目の数値を参照すると、その参照数値が「2」(論理積)であるので、作業用メモリ43のスタック領域から2つ数値をポップして、スタック終端46をポップした個数分(2つ分)だけ左へ戻す。ここで、参照数値「2」が論理積を意味するので、ポップした2つの数値の論理積を計算する。すなわち、−1(FALSE)2(∧)1(TRUE)を計算する。そして、この計算結果である「−1」をスタック終端46の位置にプッシュする。このプッシュによってスタック終端46は1つ右へシフトし、図6(d)に示すように第2アドレスを示す状態になる。そして、参照位置45は4個目の数値の位置である第4アドレスを示す状態になる。なお、スタック終端46は、数値を次にプッシュすべき位置を指すので、数値をポップするときの位置は、スタック終端46より1つ左側の位置となる。   Next, as shown in FIG. 6C, when the third numerical value at the reference position 45 is referred to, the reference numerical value is “2” (logical product), so 2 from the stack area of the working memory 43. One number is popped, and the stack end 46 is returned to the left by the number of pops (two). Here, since the reference numerical value “2” means a logical product, the logical product of the two popped numerical values is calculated. That is, −1 (FALSE) 2 (∧) 1 (TRUE) is calculated. Then, the calculation result “−1” is pushed to the position of the stack end 46. As a result of this push, the stack end 46 is shifted to the right by one and the second address is indicated as shown in FIG. The reference position 45 is in a state indicating the fourth address which is the position of the fourth numerical value. Since the stack end point 46 indicates the position where the numerical value is to be pushed next, the position at which the numerical value is popped is a position to the left of the stack end point 46.

次に図6(d)に示すように、参照位置45にある4個目の数値を参照すると、その参照数値が「1」(TRUE)であるので、その参照数値を作業用メモリ43上のスタック終端46の位置である第2アドレスにプッシュする。この場合、プッシュした数値が上書きされる。このプッシュによってスタック終端46は1つ右へ移動する。こうして4個目の数値の参照およびプッシュが終わると、図示はしないが、参照位置45が5個目の数値の位置である第5アドレスを示す状態になるとともに、スタック終端46が3個目の数値の位置である第3アドレスを示す状態になる。以下、スタック操作を同様の手順で、終端数値「0」を参照するまで繰り返す。   Next, as shown in FIG. 6D, when the fourth numerical value at the reference position 45 is referred to, the reference numerical value is “1” (TRUE), so that the reference numerical value is stored in the work memory 43. Push to the second address which is the position of the stack end 46. In this case, the pushed value is overwritten. This push moves the stack end 46 one step to the right. When the fourth numerical value is referred and pushed, the reference position 45 indicates the fifth address which is the fifth numerical value position, and the stack end 46 is set to the third numerical value. A state indicating the third address which is the position of the numerical value is entered. Thereafter, the stack operation is repeated in the same procedure until the terminal value “0” is referred to.

そして、終端数値「0」を参照した段階ではスタック終端46は、その前回の数値参照時に行われた最後の計算結果がプッシュされた位置より1つ右へ移動した状態にある。例えば「0」を参照したときには、スタック終端46を左へ1つ戻し、作業用メモリ43の先頭位置から演算結果を読み出す際の最終読出し位置をスタック終端46が指しているようにしている。よって、スタック終端46が指す先頭位置の数値が、禁則条件の論理式の演算結果となる。こうして図4に示すステップS50における数値列のスタック操作による計算は行われ、その計算結果が得られることになる。   At the stage of referring to the terminal value “0”, the stack terminal 46 is moved to the right by one from the position where the last calculation result performed at the time of referring to the previous numerical value is pushed. For example, when “0” is referred to, the stack end 46 is moved back to the left, and the stack end 46 indicates the final read position when the calculation result is read from the head position of the working memory 43. Therefore, the numerical value at the head position pointed to by the stack end 46 becomes the calculation result of the logical expression of the prohibition condition. In this way, the calculation by the stack operation of the numerical sequence in step S50 shown in FIG. 4 is performed, and the calculation result is obtained.

ステップS60では、本設定が可能であるか否かを判断する。すなわち、計算終了後の作業用メモリ43からスタック終端位置である先頭位置から数値を読み出し、その演算結果の数値が「−1」(FALSE)であるか否かを判断する。ここで、図6で説明したように、作業用メモリ43の先頭位置の値が計算結果であるので、作業用メモリ43の先頭位置の数値をみて、その数値が「−1」(FALSE)であれば、本設定が禁則条件ではないことになり、本設定が設定可能である。一方、この先頭位置の数値(演算結果)が、「1」(TRUE)であれば、本設定が禁則条件であることになり、本設定が設定不可能である。よって、このステップS60では、作業用メモリ43の先頭位置の数値が「−1」(FALSE)であるか否かを判断する。そして、先頭位置の数値が「−1」(FALSE)であれば、ステップS70に進み、先頭位置の数値が「1」(TRUE)であれば、ステップS80に進む。   In step S60, it is determined whether this setting is possible. That is, a numerical value is read from the head position that is the stack end position from the work memory 43 after the calculation is completed, and it is determined whether or not the numerical value of the calculation result is “−1” (FALSE). Here, as described with reference to FIG. 6, since the value of the start position of the work memory 43 is a calculation result, the numerical value of the start position of the work memory 43 is seen and the value is “−1” (FALSE). If so, this setting is not a forbidden condition, and this setting can be set. On the other hand, if the numerical value (calculation result) at the head position is “1” (TRUE), this setting is a prohibition condition, and this setting cannot be set. Therefore, in this step S60, it is determined whether or not the numerical value at the head position of the working memory 43 is “−1” (FALSE). If the numerical value at the head position is “−1” (FALSE), the process proceeds to step S70. If the numerical value at the head position is “1” (TRUE), the process proceeds to step S80.

ステップS70では、本設定を確定する。すなわち、ユーザが選択した各設定項目の選択肢が確定され、例えばプリンタドライバ25がその確定した本設定の印刷設定条件で印刷を行うための処理を開始する。   In step S70, this setting is confirmed. In other words, the options of the setting items selected by the user are confirmed, and for example, the printer driver 25 starts processing for performing printing with the determined print setting conditions of this setting.

ステップS80では、選択不可能(設定不可能)の旨を表示する。
図7は、ユーザインターフェイス制御について説明する模式図である。図7(a)に示すように、UI28上でカラーモードが「カラー」、メディアが「マット紙」を選択し、最後に用紙サイズとして「A4」を入力装置20のマウスを操作してポインタ47で選択した後、ポインタ47でOKボタン42を操作する。すると、コンピュータ11内ではCPU12によりUI制御用プログラムが実行されて、先に説明した処理が実行され、論理式の数値列の計算結果が得られる。そして、その計算結果が「−1」であれば、その選択された設定が禁則条件ではないので、その選択された設定が受け付けられる。一方、計算結果が「1」であれば、その選択された設定が禁則条件であるので、図7(b)の下側に示すような本設定が設定不可能である旨のメッセージ48が表示装置19の画面に表示され、その設定は受け付けられない。なお、ステップS10〜S40が状態値適用ステップに相当し、ステップS50が演算ステップに相当し、さらにステップS60,S80が表示反映ステップに相当する。
In step S80, a message indicating that selection is not possible (setting is impossible) is displayed.
FIG. 7 is a schematic diagram illustrating user interface control. As shown in FIG. 7A, on the UI 28, the color mode is “color” and the medium is “matte paper”. Finally, “A4” is selected as the paper size and the mouse of the input device 20 is operated to operate the pointer 47. After the selection, the OK button 42 is operated with the pointer 47. Then, the UI control program is executed by the CPU 12 in the computer 11 and the above-described processing is executed to obtain the calculation result of the numerical sequence of logical expressions. If the calculation result is “−1”, the selected setting is not a forbidden condition, and the selected setting is accepted. On the other hand, if the calculation result is “1”, since the selected setting is a prohibition condition, a message 48 indicating that this setting cannot be set is displayed as shown on the lower side of FIG. It is displayed on the screen of the device 19 and the setting is not accepted. Steps S10 to S40 correspond to the state value application step, step S50 corresponds to the calculation step, and steps S60 and S80 correspond to the display reflection step.

以上詳述したように本実施形態によれば、以下の効果を得ることができる。
(1)UI28における選択肢の禁則条件を表した論理式を、そのうちの論理変数及び論理演算子の一つひとつを数値に変換してなる数値列として記憶部31に記憶する。そして、OKボタン42が操作された確定入力を得ると、そのとき選択されている各選択肢の状態値を数値列の対応する数値に置き換え、該置き換え後の数値列に対して演算することにより、その演算結果からUI28上で選択された本設定が設定可能か設定不可能かを判定する構成とした。必要なデータ量も比較的少なくしかも比較的簡単な処理でUI制御を行うことができる。また、論理式を表す数値列を計算して禁則情報を得る構成なので、禁則条件の整合も確保しやすい。
As described above in detail, according to the present embodiment, the following effects can be obtained.
(1) A logical expression representing the prohibition condition of choices in the UI 28 is stored in the storage unit 31 as a numerical sequence formed by converting each of the logical variables and logical operators into numerical values. Then, when the confirmation input in which the OK button 42 is operated is obtained, the state value of each option selected at that time is replaced with the corresponding numerical value of the numerical sequence, and the numerical value sequence after the replacement is calculated, From this calculation result, it is determined whether or not the setting selected on the UI 28 can be set. The UI control can be performed with a relatively small amount of data and a relatively simple process. In addition, since the prohibition information is obtained by calculating a numerical string representing a logical expression, it is easy to ensure consistency of the prohibition conditions.

(2)作業用メモリ43をスタックとして活用して、スタック操作を行うことによって数値列56の演算を行うので、演算に使用するメモリ容量を少なくすることができる。
(3)UI28上の選択肢をすべて選択した状態でOKボタン42が操作されたことをトリガにしてUI制御処理を開始する構成とした。よって、数値列56には論理変数に対応する数値のすべてに状態値「1」又は「−1」が設定されているので、演算結果は必ず「1」又は「−1」として得られる。よって、演算結果に基づき行われるその後の処理を比較的簡単にすることができる。例えば演算結果がE=−1であれば、本設定が確定されて所定の手順を経て印刷が開始され、演算結果がE=1であれば、本設定が選択不可能な旨のメッセージ48を表示する処理を行えば足りる。
(2) Since the operation of the numerical value sequence 56 is performed by using the working memory 43 as a stack and performing a stack operation, the memory capacity used for the operation can be reduced.
(3) The UI control process is started when the OK button 42 is operated in a state where all the options on the UI 28 are selected. Therefore, since the state value “1” or “−1” is set in all the numerical values corresponding to the logical variables in the numerical value string 56, the operation result is always obtained as “1” or “−1”. Therefore, subsequent processing performed based on the calculation result can be made relatively simple. For example, if the calculation result is E = -1, this setting is confirmed and printing is started through a predetermined procedure. If the calculation result is E = 1, a message 48 indicating that this setting cannot be selected is displayed. It is sufficient to perform the display process.

(4)数値列55は、論理式を逆ポーランド記法に並び替えたものを数値で表現されたものであり、数値が逆ポーランド記法の順序で配列されているので、先頭から順番に計算するスタック計算で数値列56の計算を行うことができる。このため、数値列56の計算を比較的簡単な演算処理で済ませることができる。   (4) The numerical value sequence 55 is obtained by rearranging the logical expressions in reverse Polish notation and expressed in numerical values. Since the numerical values are arranged in the order of reverse Polish notation, the stack is calculated in order from the top. The numerical sequence 56 can be calculated by calculation. For this reason, the calculation of the numerical value string 56 can be completed by a relatively simple calculation process.

(第2実施形態)
次に、第2実施形態を図8〜図14に基づいて説明する。選択が禁止された項目の組合せで印刷条件が設定されることを防止する方法として、前記第1実施形態では、選択が禁止された項目の組合せでOKボタン42が操作されたときに選択禁止の旨を通知する方法を採用した。これに対して、この第2実施形態は、選択禁止の選択肢を予め無効化(グレーアウト)することによって、ユーザによる選択を事前に禁止する方法を採用するものである。なお、前記第1実施形態と共通の構成については、同一の符号を使用して説明を省略し、特に異なる構成について詳述する。
(Second Embodiment)
Next, a second embodiment will be described with reference to FIGS. As a method for preventing printing conditions from being set for combinations of items whose selection is prohibited, in the first embodiment, selection is prohibited when the OK button 42 is operated with a combination of items whose selection is prohibited. A method to notify the effect was adopted. In contrast, the second embodiment employs a method in which selection by the user is prohibited in advance by disabling (grayed out) the selection prohibition options in advance. In addition, about the structure common to the said 1st Embodiment, description is abbreviate | omitted using the same code | symbol, and especially a different structure is explained in full detail.

図8は、本実施形態におけるUI制御処理用プログラムを示すフローチャートである。CPU12は、入力装置20から選択肢を選択する入力がある度に、このUI制御処理用プログラムを実行する。以下、UI制御処理について、図8のフローチャートに従って、図9〜図12を適宜参照しつつ説明する。図9は作業用メモリ43における演算開始前の前処理を示す説明図であり、図10は論理変数を含む数値式の演算方法を説明する説明図、図11は作業用メモリ43におけるスタック操作による計算方法を説明する説明図である。図14(a)に示すようにUI28上の設定項目の中から選択肢を選択した入力があると、CPU12はUI制御処理を開始する。図2においては、入力装置から選択肢を選択した入力があると、UI制御装置30がUI制御処理を開始し、まずデータロード部32を起動させる。   FIG. 8 is a flowchart showing a UI control processing program in the present embodiment. The CPU 12 executes this UI control processing program every time there is an input for selecting an option from the input device 20. Hereinafter, UI control processing will be described according to the flowchart of FIG. 8 with reference to FIGS. 9 to 12 as appropriate. FIG. 9 is an explanatory diagram showing pre-processing before the start of calculation in the work memory 43, FIG. 10 is an explanatory diagram for explaining a calculation method of a numerical expression including a logical variable, and FIG. It is explanatory drawing explaining the calculation method. As shown in FIG. 14A, when there is an input for selecting an option from the setting items on the UI 28, the CPU 12 starts UI control processing. In FIG. 2, when there is an input in which an option is selected from the input device, the UI control device 30 starts UI control processing and first activates the data load unit 32.

まずステップS110で作業用のメモリ領域を準備し、ステップS120で数値列55を作業用メモリ43にコピーする。これらステップS110及びS120は、前記第1実施形態におけるステップS10及びS20と同様の処理である。ステップS120の処理の結果、図9(a)に示すように作業用メモリ43に数値列55がコピーされる。   First, a working memory area is prepared in step S110, and the numerical value sequence 55 is copied to the working memory 43 in step S120. These steps S110 and S120 are the same processes as steps S10 and S20 in the first embodiment. As a result of the processing in step S120, the numerical value sequence 55 is copied to the work memory 43 as shown in FIG.

次のステップS130では、設定状態(選択状態)を示すテーブルを生成する。この処理も基本的に前記第1実施形態におけるステップS30と同様であるが、本実施形態では、設定項目の選択肢が選択される度にUI制御処理を開始するので、状態値が「1」(TRUE)又は「−1」(FALSE)に決まっていない未定の論理変数が存在する点で異なる。選択されている選択肢の論理変数に対応する数値(Index)には「1」(TRUE)、選択されていない(非選択)の選択肢の論理変数に対応する数値(Index)には「−1」(FALSE)をそれぞれ設定する。このとき、今から禁則判定を行なおうとしている設定項目の選択肢に対応する数値に関しては、置き換えを行なわない。このような数値の置き換えを行って、図9(b)に示すテーブル49を作成する。同図の例では、選択されている選択肢の論理変数X2,X5,…に対応する数値(Index)「4」「7」…に対しては「1」が状態値として設定され、選択されていない(非選択の)選択肢の論理変数X3,…に対応する数値(Index)「5」…に対しては「−1」が状態値として設定され、未選択の選択肢の論理変数X1,X4に対応する数値「3」「6」に対してはそのまま「3」「6」が設定されている。なお、論理変数X1 ̄,X2 ̄,X3 ̄,…の状態値は、X1,X2,X3,…の状態値に「−1」を乗ずることによって取得可能である。   In the next step S130, a table indicating the setting state (selected state) is generated. This process is also basically the same as step S30 in the first embodiment, but in this embodiment, the UI control process is started each time a setting item option is selected, so the state value is “1” ( The difference is that there is an undetermined logical variable that is not determined to be “TRUE” or “−1” (FALSE). “1” (TRUE) for the numerical value (Index) corresponding to the logical variable of the selected option, and “−1” for the numerical value (Index) corresponding to the logical variable of the unselected (non-selected) option. Set each to (FALSE). At this time, no replacement is performed for the numerical value corresponding to the option of the setting item for which prohibition determination is to be performed. The table 49 shown in FIG. 9B is created by performing such numerical value replacement. In the example of the figure, “1” is set as the state value for the numerical values (Index) “4”, “7”,... Corresponding to the logical variables X2, X5,. For a numerical value (Index) “5”... Corresponding to an unselected (unselected) logical variable X3,..., “−1” is set as a state value, and the unselected optional logical variables X1 and X4 are set. For the corresponding numerical values “3” and “6”, “3” and “6” are set as they are. The state values of the logical variables X1X, X2 ̄, X3 ̄,... Can be obtained by multiplying the state values of X1, X2, X3,.

ステップS140では、論理変数に割り当てられている数値を、テーブル44から取得した論理変数の状態値に置き換える。すなわち、図9(a)に示す数値列55のうち論理変数が割り当てられた数値(Index)「3,4,5,…」を、テーブル44中の対応する状態値に置き換えて、図9(c)に示すような数値列57に変換する。同図に示すように、数値列57には、選択肢が未選択の設定項目に対応する論理変数の数値「3」「−3」「6」「−6」が含まれている。   In step S140, the numerical value assigned to the logical variable is replaced with the state value of the logical variable acquired from the table 44. That is, the numerical value (Index) “3, 4, 5,...” To which the logical variable is assigned in the numerical value sequence 55 shown in FIG. 9A is replaced with the corresponding state value in the table 44, and FIG. c) is converted into a numeric string 57 as shown in FIG. As shown in the figure, the numerical value column 57 includes numerical values “3”, “−3”, “6”, and “−6” of the logical variables corresponding to the setting items for which the option is not selected.

ステップS150では、置き換え後の数値列57をスタック操作で計算する。このスタック操作による計算方法も、基本的に前記第1実施形態におけるステップS50及び図6で説明した手順で同様に行われる。但し、論理変数の数値を含むので、論理積または論理和の計算をする際にその計算対象になる1組の数値のうち少なくとも一方に論理変数の数値が含まれる場合がある点が前記第1実施形態と異なる。このような論理変数の数値を少なくとも一方に含む式の計算は、図10に示す演算ルールに従って効率かつ正確に行えるようにしている。   In step S150, the replaced numeric string 57 is calculated by stack operation. The calculation method by the stack operation is basically performed in the same manner as in step S50 in the first embodiment and the procedure described in FIG. However, since the numerical value of the logical variable is included, when the logical product or the logical sum is calculated, the numerical value of the logical variable may be included in at least one of a set of numerical values to be calculated. Different from the embodiment. Calculation of an expression including at least one of the numerical values of the logical variable can be performed efficiently and accurately according to the calculation rule shown in FIG.

以下、論理変数の数値を含む場合の演算ルールについて、図10を用いて説明する。同図(a)〜(f)に示す6つの演算ルールが予めプログラムに組み込まれている。これらの演算ルールはいずれも論理積または論理和の演算則から論理的に導かれるものである。   Hereinafter, the calculation rule in the case of including a numerical value of a logical variable will be described with reference to FIG. Six calculation rules shown in FIGS. 4A to 4F are incorporated in the program in advance. All of these operation rules are logically derived from the operation rule of logical product or logical sum.

同図では、演算の対象となる論理変数の数値をA,Bで表し、これらの数値A,Bの論理変数をそれぞれXn,Xmとしている。同図(a)〜(f)に示した各演算式では、数値の後の括弧内に、その数値に対応する論理変数、論理記号、状態値を示している。   In the figure, the numerical values of the logical variables to be operated are represented by A and B, and the logical variables of these numerical values A and B are Xn and Xm, respectively. In each of the arithmetic expressions shown in FIGS. 4A to 4F, the logical variables, logical symbols, and state values corresponding to the numerical values are shown in parentheses after the numerical values.

図11(a)に示す数値列「A21」で表される演算式は、論理変数Xnと状態値「1」との論理積(∧)、すなわち「Xn∧1」を意味する。Xn∧1の場合、Xnが「1」の場合にその演算結果が「1」、Xnが「−1」の場合にその演算結果が「−1」となるので、Xn∧1=Xnになる。よって、「A21」の場合は、スタック終端位置に「A」をプッシュする。   The arithmetic expression represented by the numerical string “A21” shown in FIG. 11A means a logical product (∧) of the logical variable Xn and the state value “1”, that is, “Xn∧1”. In the case of Xn∧1, since the calculation result is “1” when Xn is “1” and the calculation result is “−1” when Xn is “−1”, Xn 、 1 = Xn. . Therefore, in the case of “A21”, “A” is pushed to the stack end position.

図11(b)に示す数値列「A2−1」で表される演算式は、論理変数Xnと状態値「−1」との論理積(∧)、すなわち「Xn∧−1」を意味する。Xn∧−1の場合、Xnが「1」と「−1」のどちらの値をとっても、その演算結果は「−1」となるので、Xn∧−1=−1になる。よって、「A2−1」の場合は、スタック終端位置に「−1」をプッシュする。   The arithmetic expression represented by the numerical string “A2-1” shown in FIG. 11B means the logical product (∧) of the logical variable Xn and the state value “−1”, that is, “Xn∧−1”. . In the case of Xn∧−1, regardless of whether Xn takes a value of “1” or “−1”, the calculation result is “−1”, so Xn∧−1 = −1. Therefore, in the case of “A2-1”, “−1” is pushed to the stack end position.

図11(c)に示す数値列「A−21」で表される演算式は、論理変数Xnと状態値「1」との論理和(∨)、すなわち「Xn∨1」を意味する。Xn∨1の場合、Xnが「1」と「−1」のどちらの値をとっても、その演算結果は「1」となるので、Xn∨1=1になる。よって、「A−21」の場合は、スタック終端位置に「1」をプッシュする。   The arithmetic expression represented by the numerical string “A-21” shown in FIG. 11C means the logical sum (∨) of the logical variable Xn and the state value “1”, that is, “Xn∨1”. In the case of Xn∨1, regardless of whether Xn takes a value of “1” or “−1”, the calculation result is “1”, so Xn∨1 = 1. Therefore, in the case of “A-21”, “1” is pushed to the stack end position.

図11(d)に示す数値列「A−2−1」で表される演算式は、論理変数Xnと状態値「−1」との論理和(∨)、すなわち「Xn∨−1」を意味する。Xn∨−1の場合、Xnが「1」の場合にその演算結果が「1」、Xnが「−1」の場合にその演算結果が「−1」となるので、Xn∨−1=Xnになる。よって、「A−2−1」の場合は、スタック終端位置に「A」をプッシュする。   The arithmetic expression represented by the numerical string “A-2-1” shown in FIG. 11D is obtained by calculating the logical sum (∨) of the logical variable Xn and the state value “−1”, that is, “Xn∨−1”. means. In the case of Xn∨-1, since the calculation result is “1” when Xn is “1” and the calculation result is “−1” when Xn is “−1”, Xn 、 −1 = Xn become. Therefore, in the case of “A-2-1”, “A” is pushed to the stack end position.

図11(e)に示す数値列「A2B」で表される演算式は、論理変数Xnと論理変数Xmとの論理積(∧)、すなわち「Xn∧Xm」を意味する。Xn∧Xmの場合、Xn,Xmの両方の状態値が未定なので「1」又は「−1」のどちらの値をとるかは分からない。しかし、例えば用紙サイズの設定項目内で「A4」と「Letter」の両方を同時に選択することはあり得ない。このように、同一設定項目内の2つの選択肢を同時に選択するような、あり得ない組合せの論理積であった場合は、Xn∧XmをFALSE(「−1」)として除外する。よって、「A2B」の場合、A,Bが同一設定項目内の2つの選択肢を表す数値であれば、スタック終端位置に「−1」をプッシュする。   The arithmetic expression represented by the numerical string “A2B” shown in FIG. 11E means a logical product (∧) of the logical variable Xn and the logical variable Xm, that is, “Xn∧Xm”. In the case of Xn∧Xm, since the state values of both Xn and Xm are undetermined, it is not known which value is “1” or “−1”. However, for example, it is impossible to simultaneously select both “A4” and “Letter” in the setting item of the paper size. In this way, in the case of a logical product of an impossible combination that simultaneously selects two options within the same setting item, Xn∧Xm is excluded as FALSE (“−1”). Therefore, in the case of “A2B”, if “A” and “B” are numerical values representing two options in the same setting item, “−1” is pushed to the stack end position.

図11(f)に示す数値列「A−2B」で表される演算式は、論理変数Xnと論理変数Xmとの論理和(∨)、すなわち「Xn∨Xm」を意味する。Xn∨Xmの場合、Xn,Xmの両方の状態値が未定なので「1」又は「−1」のどちらの値をとるかは分からない。よって、「A2B」の場合、A,Bが異なる設定項目内の2つの選択肢を表す数値である場合は、スタック終端位置に「A」と「B」をプッシュする。2つの数値をプッシュした場合は、スタック終端46の位置は右へ2つ移動することになる。なお、Xn ̄,Xm ̄のような否定の場合も、同様の規則が適用される。   The arithmetic expression represented by the numerical string “A-2B” shown in FIG. 11F means a logical sum (∨) of the logical variable Xn and the logical variable Xm, that is, “Xn∨Xm”. In the case of Xn∨Xm, since the state values of both Xn and Xm are undetermined, it is not known which value is “1” or “−1”. Therefore, in the case of “A2B”, when A and B are numerical values representing two choices in different setting items, “A” and “B” are pushed to the stack end position. When two numerical values are pushed, the position of the stack end 46 moves to the right by two. Note that the same rule is applied to negative cases such as Xn ̄ and XmX.

図11は、スタック操作で行われる計算手順を示すものである。このスタック操作で数値列57を計算することで、禁則情報を抽出する。以下、スタック操作による計算について説明する。   FIG. 11 shows a calculation procedure performed in the stack operation. By calculating the numerical sequence 57 by this stack operation, prohibition information is extracted. Hereinafter, calculation by the stack operation will be described.

置き換えられた数値列57を同図における左から右方向に参照していき、作業用メモリ43自体をスタックとして活用して、前記第1実施形態の図6と同様のスタック操作を行う。   The replaced numeric value sequence 57 is referred to from the left to the right in the figure, and the stack operation similar to that in FIG. 6 of the first embodiment is performed using the work memory 43 itself as a stack.

図11(a)は、数値置き換え直後から最初の数値を参照して計算を行うまでの過程を示す。まず図11(a)に示すように、最初は参照位置45にある1番目の数値を参照する。参照数値が「3」(X1)であるので、その参照数値を作業用メモリ43上のスタック終端46の位置にプッシュする。プッシュしたことによってスタック終端46は1つ右へ移動する。   FIG. 11A shows a process from immediately after the numerical value replacement until the calculation is performed with reference to the first numerical value. First, as shown in FIG. 11A, the first numerical value at the reference position 45 is first referred to. Since the reference value is “3” (X1), the reference value is pushed to the position of the stack end 46 on the work memory 43. Pushing moves the stack end 46 one step to the right.

次に図11(b)に示すように、参照位置45にある2個目の数値を参照すると、その参照数値が「1」であるので、その参照数値を作業用メモリ43上のスタック終端46の位置にプッシュする。プッシュしたことによってスタック終端46は1つ右へ移動する。   Next, as shown in FIG. 11B, when the second numerical value at the reference position 45 is referred to, the reference numerical value is “1”, so that the reference numerical value is used as the stack end 46 on the work memory 43. Push to the position. Pushing moves the stack end 46 one step to the right.

次に図11(c)に示すように、参照位置45にある3個目の数値を参照すると、その参照数値が「2」(論理積)であるので、作業用メモリ43のスタック領域から2つ数値をポップして、スタック終端46をポップした個数分(2つ分)だけ左へ戻す。ここで、参照数値「2」が論理積を意味するので、ポップした2つの数値の論理積を計算する。すなわち、3(X1)2(∧)1(TRUE)を計算する。この計算は、図10(a)で示す演算式に該当し、その計算結果は「3」となるので、図11(c)に示すように、スタック終端46の位置に「3」をプッシュする。このプッシュによってスタック終端46は1つ右へシフトする。   Next, as shown in FIG. 11C, when the third numerical value at the reference position 45 is referred to, the reference numerical value is “2” (logical product), so 2 from the stack area of the working memory 43. One number is popped, and the stack end 46 is returned to the left by the number of pops (two). Here, since the reference numerical value “2” means a logical product, the logical product of the two popped numerical values is calculated. That is, 3 (X1) 2 (∧) 1 (TRUE) is calculated. Since this calculation corresponds to the arithmetic expression shown in FIG. 10A and the calculation result is “3”, “3” is pushed to the position of the stack end 46 as shown in FIG. 11C. . This push shifts the stack end 46 one position to the right.

次に図11(d)に示すように、参照位置45にある4個目の数値を参照すると、その参照数値が「−3」(X1 ̄)であるので、その参照数値を作業用メモリ43上のスタック終端46の位置にプッシュする。この場合、プッシュした数値が上書きされる。このプッシュによってスタック終端46は1つ右へ移動する。以下、スタック操作を同様の手順で、終端数値「0」を参照するまで繰り返す。   Next, as shown in FIG. 11D, when the fourth numerical value at the reference position 45 is referred to, the reference numerical value is “−3” (X1 ̄). Push to the top stack end 46 position. In this case, the pushed value is overwritten. This push moves the stack end 46 one step to the right. Thereafter, the stack operation is repeated in the same procedure until the terminal value “0” is referred to.

そして、終端数値「0」を参照した段階では、スタック終端46は、その前回の数値参照時に行われた最後の計算結果のプッシュの結果、そのプッシュ位置より1つ右へ移動している。例えば計算完了時には、作業用メモリ43の先頭位置から演算結果を読み出す際の最終読出し位置をスタック終端46の位置で特定できると都合がよい。このため、終端数値「0」を参照したときにはスタック終端46を左へ1つ戻すようにする。よって、作業用メモリ43の先頭位置からスタック終端位置までのメモリ領域に格納された数値列又は数値が、禁則条件の論理式Eの演算結果として取得される。こうして図8に示すステップS150における数値列のスタック操作による計算は行われ、その計算結果が得られることになる。   Then, at the stage of referring to the terminal value “0”, the stack terminal 46 is moved to the right from the push position as a result of the push of the last calculation result performed at the time of referring to the previous numerical value. For example, when the calculation is completed, it is convenient that the final read position when the calculation result is read from the head position of the working memory 43 can be specified by the position of the stack end 46. For this reason, when the end value “0” is referred to, the stack end 46 is returned to the left by one. Therefore, a numerical string or a numerical value stored in the memory area from the start position of the working memory 43 to the stack end position is acquired as a calculation result of the logical expression E of the prohibition condition. Thus, the calculation by the stack operation of the numerical sequence in step S150 shown in FIG. 8 is performed, and the calculation result is obtained.

図12は、計算完了時の作業用メモリ43を示す。終端数値「0」を参照した段階で、作業用メモリ43の中には、先頭位置からスタック終端位置まで選択不可の論理変数(選択肢)を示す数値が格納されている。CPU12は、作業用メモリ43の先頭位置からスタック終端位置までのメモリ領域に格納された演算結果を取得する。同図に示す例では、「3−6」が得られる。計算結果として得られたこの数値列「3−6」は、数値「3」で示される論理変数X1と数値「−6」で示される論理変数X4 ̄は、選択不可の選択肢に対応するものであることから、禁則情報として、E=X1∨X4 ̄が取得される。これは、論理変数X1の選択肢が選択されることを禁止し、かつ、論理変数X4の選択肢が選択されないことを禁止することを意味する。つまり、論理変数X1の選択肢は選択禁止(設定禁止)で、論理変数X4の選択肢が必ず選択される必要があることを意味する。   FIG. 12 shows the working memory 43 when the calculation is completed. When the end numerical value “0” is referenced, the work memory 43 stores numerical values indicating logical variables (options) that cannot be selected from the head position to the stack end position. The CPU 12 acquires the calculation result stored in the memory area from the start position of the work memory 43 to the stack end position. In the example shown in the figure, “3-6” is obtained. In the numerical sequence “3-6” obtained as a calculation result, the logical variable X1 indicated by the numerical value “3” and the logical variable X4 ̄ indicated by the numerical value “−6” correspond to non-selectable options. Therefore, E = X1∨X4 ̄ is acquired as prohibition information. This means that the choice of the logical variable X1 is prohibited from being selected, and the choice of the logical variable X4 is prohibited from being selected. That is, selection of the logical variable X1 is prohibited (selection prohibited), which means that the alternative of the logical variable X4 must be selected.

この計算結果を受けて、図8に示すステップS160では、計算結果に従って選択肢を無効化する。すなわち、図12の例で、論理変数X1の選択肢が含まれる設定項目をN、論理変数X4の選択肢が含まれる設定項目をMとすると、設定項目Nの選択肢のうち論理変数X1の選択肢は無効化(グレーアウト)され、設定項目M中の複数の選択肢のうち論理変数X4の選択肢以外の選択肢が無効化(グレーアウト)される。よって、ユーザは、設定項目Nでは、論理変数X1の選択肢以外の選択肢を選択することになり、設定項目Mでは、論理変数X4の選択肢しか選択できないので、必ずこれを選択することになる。   In response to the calculation result, in step S160 shown in FIG. 8, the option is invalidated according to the calculation result. That is, in the example of FIG. 12, if the setting item including the option of the logical variable X1 is N and the setting item including the option of the logical variable X4 is M, the option of the logical variable X1 among the options of the setting item N is invalid. The options other than the option of the logical variable X4 among the plurality of options in the setting item M are invalidated (grayed out). Accordingly, the user selects an option other than the option of the logical variable X1 in the setting item N, and can select only the option of the logical variable X4 in the setting item M, so that the user always selects this.

ここで、例えば論理式E=AB(但しA,Bはそれぞれ数値)という計算結果が得られたとする。この場合、数値Aが正の数値の場合は、数値Aに対応する選択肢を選択不能な状態に無効化(グレーアウト)する。また、数値Aが負の数値の場合は、該当する設定項目において数値Aに対応する選択肢以外の選択肢をすべて選択不能な状態に無効化(グレーアウト又は非表示)する。この場合は、無効化されていない数値Aに対応する選択肢しか設定できないことになる。他方の数値Bについても同様で、その値の正負に応じて定まる所定の選択肢を無効化(グレーアウト)する。   Here, for example, it is assumed that a calculation result of logical expression E = AB (A and B are numerical values) is obtained. In this case, when the numerical value A is a positive numerical value, the option corresponding to the numerical value A is invalidated (grayed out) so that it cannot be selected. If the numerical value A is a negative numerical value, all the options other than the option corresponding to the numerical value A in the corresponding setting item are invalidated (grayed out or not displayed). In this case, only the option corresponding to the numerical value A that is not invalidated can be set. The same applies to the other numerical value B, and a predetermined option determined according to the sign of the value is invalidated (grayed out).

また、数値列の計算結果において、矛盾する論理式が出ないように、CPU12がUI制御処理上で参照するデータがメモリには記憶されている。例えば、論理式に同一設定項目内の選択肢は、同時に設定不可である条件を入れて演算を行うので、負の数値(否定の論理変数)が複数個発生することが回避可能となっている。なお、ステップS110〜S140が状態値適用ステップに相当し、ステップS150が演算ステップに相当し、さらにステップS160が表示反映ステップに相当する。   In addition, data that the CPU 12 refers to in the UI control process is stored in the memory so that contradictory logical expressions do not appear in the numerical sequence calculation results. For example, the choices in the same setting item in the logical expression are calculated by including a condition that cannot be set at the same time, so that it is possible to avoid the occurrence of a plurality of negative numerical values (negative logical variables). Steps S110 to S140 correspond to the state value application step, step S150 corresponds to the calculation step, and step S160 corresponds to the display reflection step.

図14は、ユーザインターフェイス制御について説明する模式図である。図14に示すUI28は、UI28のうち一部の設定画面であり、図示しない詳細設定ボタンやプロパティボタン等を操作することによって、詳細設定画面などが表示されるようになっている。詳細設定画面に用意された各種の設定項目では規定の選択肢がデフォルトで選択されている。図14(a)に示すように、例えばユーザが、UI28上で設定項目「カラーモード」とメディアの両方が未選択の状態で、入力装置20(マウス)を操作して用紙サイズ中の「A4」にポインタ47を移動させてこれを選択したとする。すると、コンピュータ11内ではCPU12によりUI制御用プログラムが実行され、前述の処理が実行され、論理式の数値列の計算結果が得られる。なお、図14(a)におけるカラーモードがデフォルトのままでユーザによる選択がなされていない状態では、デフォルトでカラーが選択されていても、CPU12は未選択とみなすものとして説明する。   FIG. 14 is a schematic diagram illustrating user interface control. A UI 28 shown in FIG. 14 is a part of the setting screen of the UI 28, and a detailed setting screen or the like is displayed by operating a detailed setting button, a property button, or the like (not shown). In various setting items prepared on the detailed setting screen, the default option is selected. As shown in FIG. 14A, for example, the user operates the input device 20 (mouse) in a state where both the setting item “color mode” and the medium are not selected on the UI 28, and displays “A4” in the paper size. The pointer 47 is moved to "" and selected. Then, in the computer 11, the UI control program is executed by the CPU 12, the above-described processing is executed, and a calculation result of a numerical sequence of logical expressions is obtained. Note that, in the state where the color mode in FIG. 14A remains the default and the user has not made a selection, even if the color is selected by default, the CPU 12 will be regarded as not selected.

この場合、例えば論理変数X1の選択肢が、設定項目「メディア」中の「OHPシート」であり、論理変数X4の選択肢が、設定項目「カラーモード」の「カラー」であるとする。計算の結果、図12で示した禁則情報、E=X1∨X4 ̄が取得される。すると、図14(b)に示すように、論理変数X1の選択肢である「OHPシート」が無効化され、かつ論理変数X4の選択肢である「カラー」以外の設定項目、つまり「モノクロ」が無効化される。   In this case, for example, it is assumed that the option of the logical variable X1 is “OHP sheet” in the setting item “media”, and the option of the logical variable X4 is “color” of the setting item “color mode”. As a result of the calculation, the prohibition information shown in FIG. 12, E = X1∨X4 ̄ is acquired. Then, as shown in FIG. 14B, the “OHP sheet” that is the option of the logical variable X1 is invalidated, and the setting item other than “color” that is the option of the logical variable X4, that is, “monochrome” is invalidated. It becomes.

ここで、設定項目には優先順位があり、優先順位が高いか同じ設定項目については状態値を設定するが、優先順位が低い設定項目には状態値を設定せず論理変数の数値をそのまま設定して、テーブル44を作成する。図12の例は、例えば設定項目「カラーモード」が設定項目「用紙サイズ」よりも優先順位が低い例であり、設定項目「カラーモード」の選択肢を表す論理変数に割り当てられた数値は状態値には置き換えない。よって、数値列の演算結果として得られる数値列の中に設定項目「カラーモード」中の選択肢に対応する数値が含まれることになって、既に「カラー」が選択状態にあった設定項目「カラーモード」において「モノクロ」が無効化される。なお、同図では無効化された選択肢には括弧を付している。   Here, the setting items have priority, and the setting value is set for the setting items with the same or higher priority, but the setting value with the lower priority is set without setting the state value. Then, the table 44 is created. The example of FIG. 12 is an example in which, for example, the setting item “color mode” has a lower priority than the setting item “paper size”, and the numerical value assigned to the logical variable representing the choice of the setting item “color mode” is the state value. Is not replaced. Therefore, the numerical value sequence obtained as the result of the numerical value sequence includes the numerical value corresponding to the option in the setting item “color mode”, and the setting item “color” that has already been in the selected state is “color”. “Monochrome” is disabled in “Mode”. In the figure, parentheses are attached to invalidated options.

また、禁則条件の論理式は、設定画面だけでなく詳細設定画面を含むUI28のすべての選択肢に割り当てられた論理変数を含んでいる。このため、設定画面で選択肢を選択したときに実施された演算で取得された禁則情報には、設定画面だけでなく詳細設定画面の選択肢についての無効化すべき選択肢の情報が含まれている。よって、設定画面で詳細設定ボタンを操作して詳細設定画面を表示させたときには、既に演算された演算結果を用いることから、当初から所定の選択肢が無効化(グレーアウト)された状態で表示できる。つまり、詳細設定画面を表示させたときに、選択肢の無効化の反映が遅れることを回避できる。   Further, the logical expression of the prohibition condition includes logical variables assigned to all options of the UI 28 including not only the setting screen but also the detailed setting screen. For this reason, the prohibition information acquired by the calculation performed when the option is selected on the setting screen includes information on the option to be invalidated not only on the setting screen but also on the detail setting screen. Therefore, when the detailed setting screen is displayed by operating the detailed setting button on the setting screen, the calculation result that has already been calculated is used, so that a predetermined option can be displayed in a disabled state (grayed out) from the beginning. That is, it is possible to avoid delaying the reflection of invalidation of options when the detailed setting screen is displayed.

以上詳述したように本実施形態によれば、前記第1実施形態と共通の部分については共通の効果が得られるうえ、以下の効果を得ることができる。
(5)設定途中段階で、ある選択肢を選択すればその選択した入力をトリガとしてUI制御を開始する構成とした。よって、設定途中段階で選択不可能な選択肢が予め無効化(グレーアウト)されるので、選択不可能な選択肢の選択を未然に防止することができる。例えば前記第1実施形態では、設定項目毎の選択肢を全て選択した後にOKボタン42が操作されるとUI制御を開始する構成であったので、設定不可能な旨のメッセージ48が表示された際は設定し直す必要があったが、本実施形態では、この種の設定のやり直し操作をしなくて済む。また、前記第1実施形態の方法では、設定をやり直す場合も選択禁止の選択肢が分からないので、試行錯誤で設定しなければならず、何度もやり直す場合も起こり得る。これに対し、本実施形態によれば、やり直しそのものを回避できるので、一度で正しく設定することができる。
As described above in detail, according to the present embodiment, the same effects as those in the first embodiment can be obtained, and the following effects can be obtained.
(5) If a certain option is selected in the middle of setting, the UI control is started using the selected input as a trigger. Accordingly, since options that cannot be selected in the middle of setting are invalidated (grayed out) in advance, selection of options that cannot be selected can be prevented in advance. For example, in the first embodiment, the UI control is started when the OK button 42 is operated after all the options for each setting item are selected. When the message 48 indicating that setting is impossible is displayed. However, in this embodiment, it is not necessary to perform this kind of setting re-operation. Further, in the method of the first embodiment, when the setting is re-executed, the selection prohibition option is not known. Therefore, the setting must be made by trial and error, and the re-execution may be repeated many times. On the other hand, according to the present embodiment, since the redo itself can be avoided, it can be set correctly at one time.

(6)UI制御は、複数画面からなるUI28のある一画面上でユーザが選択操作しているときに、他の画面に設定すべき設定項目に係る禁則に関する演算がなされるので、ユーザが画面を切り換えたときには既に演算済みの演算結果を表示に反映すればよい。よって、他の画面に切り換えた当初から選択肢が無効化(グレーアウト)された状態で表示できる。例えば、画面を切り換えてから遅れて選択肢が無効化される応答遅れを回避できる。   (6) In the UI control, when a user performs a selection operation on one screen having a UI 28 composed of a plurality of screens, a calculation related to a prohibition related to a setting item to be set on another screen is performed. When is switched, the calculation result that has already been calculated may be reflected on the display. Therefore, it can be displayed in a state where the options are invalidated (grayed out) from the beginning of switching to another screen. For example, it is possible to avoid a response delay in which options are invalidated after switching the screen.

(7)数値列56の計算結果は、簡単な論理式を表す短い数値列として得られるので、その解析に時間をさほど要せず、数値列の計算時間と合わせても、比較的短時間で処理を終えることができる。   (7) Since the calculation result of the numerical sequence 56 is obtained as a short numerical sequence representing a simple logical expression, it does not take much time for the analysis, and it takes a relatively short time even when combined with the calculation time of the numerical sequence. Processing can be finished.

(8)論理変数を含む計算に図10に示す所定のルールを設けたので、論理変数を含む論理演算を比較的スムーズにかつ正確に行うことができる。
(第3実施形態)
次に第3実施形態について説明する。本実施形態は、前記第1及び第2実施形態において採用する数値列の変形例である。禁則条件を示す論理式に対して制約を設けることによって、数値列のフォーマットの簡略化を行い、作業用メモリのサイズ削減と計算効率の向上を実現する例である。
(8) Since the predetermined rule shown in FIG. 10 is provided for the calculation including the logical variable, the logical operation including the logical variable can be performed relatively smoothly and accurately.
(Third embodiment)
Next, a third embodiment will be described. The present embodiment is a modification of the numerical sequence employed in the first and second embodiments. This is an example of simplifying the format of a numeric string by providing a constraint on a logical expression indicating a prohibition condition, thereby reducing the size of the working memory and improving the calculation efficiency.

図13は、数値列の簡略化を説明する説明図である。同図(a)は数値列を簡略化するために本実施形態で採用する論理式の表記形式を示す。一つの禁則条件を表す論理式は種々の表記形式で表現できるが、本実施形態では、禁則条件を示す論理式を、図13(a)に示す表記形式に限定する。すなわち、2つの論理変数の論理積を示す(Xn∧Xm)を論理和で繋いだ表記形式で論理式を表現する。こうすると、図13(b)の上段に示すように、作業用メモリ43に逆ポーランド記法の順番で配列された数値列において、論理演算子に割り当てられた数値「2」「−2」の位置が常に固定される。この場合、選択肢の数や禁則条件を変更した場合であっても、論理式の表記形式を図13(a)に示す表記形式に限定することで、数値と論理記号の現れる順番は常に固定される。この場合、1つの数値や論理記号を格納するのに必要なバイト数(例えば1バイト)に、論理式中の論理変数の個数と論理記号の個数と終端用数値などその他必要な数値の個数の総計を乗じた分のメモリ容量が必要になる。図13(a)の論理式を数値列に置き換えると、図13(b)の上段の作業用メモリ43には、論理記号を表す数値「2」「−2」が一定の規則で固定の位置に現れる。すなわち、作業用メモリ43の先頭位置から3番目、6番目、7番目、10番目、11番目、…に現れる。つまり、数値「2」が(4p−1)番目(但し、p=1,2,…)に規則的に現れ、数値「−2」が(4p+2)番目に規則的に現れる。   FIG. 13 is an explanatory diagram for explaining the simplification of the numeric string. FIG. 6A shows a notation format of a logical expression employed in the present embodiment in order to simplify the numerical string. Although a logical expression representing one prohibition condition can be expressed in various notation formats, in this embodiment, the logical expression indicating the prohibition condition is limited to the notation format shown in FIG. That is, a logical expression is expressed in a notation format in which (Xn∧Xm) indicating a logical product of two logical variables is connected by a logical sum. Then, as shown in the upper part of FIG. 13B, in the numerical sequence arranged in the working memory 43 in the reverse Polish notation, the positions of the numerical values “2” and “−2” assigned to the logical operators Is always fixed. In this case, even if the number of options and the prohibition conditions are changed, the order in which the numerical values and logical symbols appear is always fixed by limiting the logical expression notation format to the notation format shown in FIG. The In this case, the number of bytes necessary to store one numerical value or logical symbol (for example, 1 byte) is equal to the number of logical variables in the logical expression, the number of logical symbols, and the number of other necessary numerical values such as a terminating numerical value. A memory capacity that is multiplied by the total is required. When the logical expression in FIG. 13A is replaced with a numerical string, the upper-stage work memory 43 in FIG. 13B has the numerical values “2” and “−2” representing logical symbols fixed at fixed positions. Appear in That is, they appear in the third, sixth, seventh, tenth, eleventh,... That is, the numerical value “2” regularly appears at the (4p−1) th (where p = 1, 2,...), And the numerical value “−2” appears regularly at the (4p + 2) th.

よって、論理記号は特に数値として格納しなくても、上記の規則から何番目の数値を参照後に論理積の計算を行い、何番目の数値を参照後に論理和の計算を行うかが分かる。これにより、論理記号を表す数値「2」「−2」は削除可能であり、それらの削除によって図13(b)の下段に示す作業用メモリ43Aのように、数値列自体を縮小でき、作業用メモリ43Aのメモリ領域を数値「2」「−2」の削除分だけ削減できる。数値列の演算では、最初に数値を2回プッシュすると、次は数値を2つポップして論理積の計算を行う。その後、数値を2回プッシュする度に数値を2つポップして論理積を行いその結果をポップした後、引き続き数値を2つポップして論理和の計算を行うという規則を決めておくことで行うことができる。もちろん、論理式の表現形式を制限することによって、同じ禁則条件を示す論理式自体が長くなることがあるため、常に数値列の縮小と作業用メモリの削減が図られるとは限らないので、論理式によって作業用メモリ43を容量を小さくできる方を選択する。   Therefore, even if the logical symbol is not stored as a numerical value, it can be understood from the above rules how the numerical value is calculated after referring to the logical product, and the logical value is calculated after referring to the numerical value. As a result, the numerical values “2” and “−2” representing the logical symbols can be deleted, and by deleting them, the numerical sequence itself can be reduced as in the work memory 43A shown in the lower part of FIG. The memory area of the main memory 43A can be reduced by the amount of deletion of numerical values “2” and “−2”. In the operation of a numerical sequence, when a numerical value is first pushed twice, next, two numerical values are popped and a logical product is calculated. After that, every time you push a number twice, pop the result of two numbers and perform the logical product, pop the result, then continue to pop the number two and calculate the logical sum. It can be carried out. Of course, by restricting the expression form of the logical expression, the logical expression itself showing the same prohibition condition may become long, and therefore, it is not always possible to reduce the numeric string and the working memory. The one that can reduce the capacity of the working memory 43 is selected according to the equation.

図13(b)に示す作業用メモリ43A上で計算を行う場合、最初の2つの数値に関しては、(X1X2∧)を表現、残りの数値に関しては、2つセットで、(X1 ̄X3∧∨)を表現している前提とする。この場合、参照する数値が最初の2つかどうかを判断する方法が必要になる。2つの数値をポップして計算結果をプッシュした後、スタック終端位置が、作業用メモリ43の先頭位置を指している場合は、最初の2つの数値と判断する。また、(X1 ̄X3∧∨)形式の演算の場合は、2つの数値をポップして計算結果をプッシュした後の論理和計算のために、2回ポップする必要がある。この時、2回目のポップが失敗した場合は、最初の2つの数値と判断する。この場合、作業用メモリ43上の数値の参照位置を示す参照位置45のアドレス番号が「−1」となる場合に、ポップが失敗するようにしておけばよい。   When the calculation is performed on the working memory 43A shown in FIG. 13B, (X1X2∧) is expressed for the first two numerical values, and (X1 ̄X3∧∨) is expressed as two sets for the remaining numerical values. ). In this case, a method for determining whether or not the reference numerical value is the first two is required. After popping two numerical values and pushing the calculation result, if the stack end position indicates the top position of the working memory 43, it is determined as the first two numerical values. In the case of (X1 ̄X3∧∨) -type operations, it is necessary to pop twice for the logical sum calculation after popping two numerical values and pushing the calculation result. At this time, if the second pop fails, the first two numbers are determined. In this case, when the address number of the reference position 45 indicating the numerical reference position on the work memory 43 is “−1”, the pop may be failed.

次に、(X1 ̄X3∧∨)形式の計算ロジックの最適化の方法を以下に示す。(X1 ̄X3∧∨)の実際の計算は、スタックからポップした数値Xn(1,−1,数値)との組み合わせで実施される。実際の論理式を、例えば、Xn∧(X1 ̄∧X3)とする。よって、スタックからポップされた数値によって、以下のように計算の省略が可能である。   Next, a method of optimizing the calculation logic in the (X1 ̄X3∧∨) format is shown below. The actual calculation of (X1 ̄X3∧∨) is performed in combination with the numerical value Xn (1, −1, numerical value) popped from the stack. The actual logical expression is, for example, Xn∧ (X1 ̄∧X3). Therefore, depending on the value popped from the stack, the calculation can be omitted as follows.

Xn=1(TRUE)の場合、(X1 ̄∧X3)の計算を行なわず、「1」(TRUE)をプッシュする。Xn=−1(FALSE)の場合、(X1 ̄∧X3)の計算結果をプッシュする。この場合、論理和の計算は省略する。   When Xn = 1 (TRUE), “1” (TRUE) is pushed without calculating (X1 ̄∧X3). When Xn = −1 (FALSE), the calculation result of (X1 ̄∧X3) is pushed. In this case, the calculation of the logical sum is omitted.

Xn=数値の場合、(X1∧X3)の計算結果によって、以下のように処理を切り替える。
(X1 ̄∧X3)の計算結果=1(TRUE)の場合、「1」(TRUE)をプッシュする。
(X1 ̄∧X3)の計算結果=−1(FALSE)の場合、Xn(数値)をプッシュする。
(X1 ̄∧X3)の計算結果=数値の場合、Xnと計算結果の数値をプッシュする。
When Xn = numerical value, the processing is switched as follows according to the calculation result of (X1∧X3).
When the calculation result of (X1 ̄∧X3) = 1 (TRUE), “1” (TRUE) is pushed.
When the calculation result of (X1 ̄∧X3) = − 1 (FALSE), Xn (numerical value) is pushed.
When the calculation result of (X1 ̄∧X3) = numerical value, Xn and the numerical value of the calculation result are pushed.

この第3実施形態によれば、以下の効果を得ることができる。
(9)論理記号の数値「2」「−2」を省略しても、逆ポーランド記法に並び替えた際の論理記号の位置の順番が固定されるような形式の表現方法で論理式を表現し、このような論理式を逆ポーランド記法に並び替えたものを数値列化している。よって、論理記号の数値「2」「−2」が先頭から数えて同じ順番の位置に現れる。よって、論理記号の数値を省略しても、その決まった位置に論理記号があるものとしてその論理記号から定まる演算を行うプログラムを組めば、参照した数値の個数が所定数に達したら、次に省略された論理記号の演算を行うようにする。このような規則化が可能なので、論理記号が省略されていても数値列の計算は行える。単純な禁則条件の場合は、本例の表記形式の採用により論理記号を削除して、比較的小さなデータ・メモリ量にすることが可能である。よって、比較的短い時間で計算することが可能である。
According to the third embodiment, the following effects can be obtained.
(9) Even if the numerical values “2” and “−2” of the logical symbol are omitted, the logical expression is expressed by an expression method in which the order of the logical symbols is fixed when rearranged in reverse Polish notation. A numerical sequence is formed by rearranging such logical expressions in reverse Polish notation. Therefore, the numerical values “2” and “−2” of the logical symbols appear at the same position as counted from the top. Therefore, even if the numerical value of the logical symbol is omitted, if a program that performs an operation determined from the logical symbol is assumed as having a logical symbol at the fixed position, Operate on the omitted logical symbols. Since such regularization is possible, a numerical sequence can be calculated even if a logical symbol is omitted. In the case of a simple prohibition condition, it is possible to delete a logical symbol by adopting the notation format of this example, and to make the amount of data and memory relatively small. Therefore, it is possible to calculate in a relatively short time.

また、論理記号の省略された位置が固定であるため、例えば選択肢の増加等の変更や、禁則条件の変更を行っても、その変更後の禁則条件を表す論理式においても論理記号の現れる位置は規則的に決まってくるので、論理記号の数値を省略した数値列の演算を行う演算規則に基づく演算プログラムは、論理式の変更の前後で共通に使用することができる。つまり、UIを制御するソフトウェアにおいて、制御ロジックを変更することなく、任意の禁則条件を再現可能になる。また、論理記号を省略したので、作業用メモリ43が使用するメモリ領域を少なくすることができる。   In addition, since the position where the logic symbol is omitted is fixed, the position where the logic symbol appears also in the logical expression representing the forbidden condition after the change, for example, even if a change such as an increase in options or a prohibition condition is changed Therefore, an arithmetic program based on an arithmetic rule for performing arithmetic operations on a numeric string in which the numerical value of a logical symbol is omitted can be used before and after the logical expression is changed. In other words, any prohibition condition can be reproduced in the software that controls the UI without changing the control logic. Further, since the logic symbols are omitted, the memory area used by the work memory 43 can be reduced.

前記実施形態に限定されず、以下の構成で実施することもできる。
(変形例1)前記実施形態では、数値列のスタック計算を、作業用メモリ43上でスタック操作を行うことで作業用メモリ43を活用して行う構成としたが、これに限定されない。スタック用のメモリ領域を別途確保し、作業用メモリから読み出した数値をスタック用メモリに書き込んでプッシュし、スタック用メモリから数値を読み出してポップする構成を採用することもできる。この構成によれば、スタック用メモリが必要になるとともに数値データの読出し・書込み回数が増える処理にはなるものの、数値列の演算で禁則情報を得る方法なので、複雑な演算が伴うことは同様に回避できる。
The present invention is not limited to the embodiment described above, and can be implemented with the following configuration.
(Modification 1) In the embodiment described above, the numerical value stack calculation is performed using the work memory 43 by performing a stack operation on the work memory 43, but the present invention is not limited to this. It is also possible to employ a configuration in which a stack memory area is separately secured, a numerical value read from the working memory is written to the stack memory and pushed, and the numerical value is read from the stack memory and popped. According to this configuration, the stack memory is required and the number of reading / writing of numerical data is increased. Can be avoided.

(変形例2)前記第3実施形態では、逆ポーランド記法で表現した際に論理記号が位置する順番が常に固定されるような形式で論理式を作成することにより、論理記号を省略したが、これに限定されない。例えば論理記号の数値を省略するが、禁則条件を変更して論理式が変更される度に、参照数値が所定個数になる度に論理式の演算をするその所定個数の値を変更したプログラムを作成し直しても良い。   (Modification 2) In the third embodiment, the logical symbols are omitted by creating the logical expression in a format in which the order in which the logical symbols are positioned is always fixed when expressed in reverse Polish notation. It is not limited to this. For example, the numerical value of the logical symbol is omitted, but every time the logical expression is changed by changing the prohibition condition, a program that changes the predetermined number of values to calculate the logical expression every time the reference numerical value reaches the predetermined number. You may recreate it.

(変形例3)前記実施形態におけるテーブル44,49のフォーマットに限定されない。例えば状態値置き換え処理の高速化のために、正の数値用と負の数値用に2つテーブルを用意する方法や、2の補数でIndex参照する方法等を採用することもできる。   (Modification 3) It is not limited to the format of the tables 44 and 49 in the said embodiment. For example, in order to speed up the state value replacement process, a method of preparing two tables for a positive numerical value and a negative numerical value, a method of referring to an Index with a two's complement, or the like can be employed.

(変形例4)前記実施形態では、禁則条件を表す論理式を使用したが、禁則の反対で許可される条件を表す論理式を採用してもよい。この場合、数値列の計算結果に基づき選択可能状態に有効化されるべき選択肢を求めることにより、それ以外の選択肢を無効化する構成とする。禁則条件か許可条件かどちらを選択するかは、論理式が簡単で済む方を選択するのが好ましく、選択禁止の条件より選択許可の条件の方が少ない場合は、許可条件の論理式を採用することが好ましい。   (Modification 4) In the above-described embodiment, a logical expression representing a prohibition condition is used. However, a logical expression representing a condition permitted in the opposite of the prohibition may be adopted. In this case, by selecting an option that should be validated to a selectable state based on the calculation result of the numerical sequence, the other options are invalidated. It is preferable to select the prohibition condition or permission condition, and it is preferable to select the one that requires a simple logical expression. If the selection permission condition is less than the selection prohibition condition, the permission condition logical expression is adopted. It is preferable to do.

(変形例5)前記実施形態では、数値列のスタック計算を、作業用メモリ上でスタック操作を行うことで作業用メモリ上の数値の参照が終わったメモリ領域をスタック領域として活用する構成としたが、これに限定されない。スタック専用のメモリ領域を別途確保し、作業用メモリから読み出した数値をスタック専用のメモリ領域にプッシュしたり、スタック専用メモリ領域から数値をポップしたりする構成を採用できる。この構成によれば、スタック専用メモリ領域を別途確保する必要があり、しかも数値データの読出し・書込み回数が増える処理にはなるものの、数値列の演算で済むので、論理式の解析処理など複雑な演算が伴うことは同様に回避できる。   (Modification 5) In the above-described embodiment, the stack calculation of the numerical sequence is configured such that the memory area in which the numerical value reference on the working memory is finished is used as the stack area by performing the stack operation on the working memory. However, it is not limited to this. A configuration can be employed in which a memory area dedicated to the stack is separately secured, and the numerical value read from the working memory is pushed to the memory area dedicated to the stack, or the numerical value is popped from the memory area dedicated to the stack. According to this configuration, it is necessary to secure a separate memory area for stacking, and the processing for increasing the number of reading / writing of numerical data is performed. It can be similarly avoided that calculation is involved.

(変形例6)前記実施形態では、UI28上に用意されたすべての選択肢を論理変数にして論理式を作成したが、一部の選択肢のみを論理変数に表現した論理式を採用し数値列計算を行う構成とすることもできる。例えば他の設定項目での選択結果によらず、常に全選択肢が許可される設定項目については、敢えて計算して特定するまでもないので、この種の設定項目の選択肢については予め論理式から除外してもよい。つまり、UI28上に用意された全設定項目の全選択肢について論理変数を定義する必要はなく、一部の設定項目の選択肢についてだけ論理変数を定義して論理式を作成するようにすればよい。   (Modification 6) In the above embodiment, a logical expression is created by using all the options prepared on the UI 28 as logical variables. However, a numerical expression in which only some of the options are expressed as logical variables is adopted. It can also be set as the structure which performs. For example, regardless of the selection result of other setting items, there is no need to dare to calculate and specify a setting item for which all options are always allowed. Therefore, this type of setting item option is excluded from the logical expression in advance. May be. In other words, it is not necessary to define logical variables for all options of all setting items prepared on the UI 28, and it is only necessary to define logical variables for only some of the setting item options and create a logical expression.

(変形例7)前記実施形態では、論理式を表現した数値列の演算を含むUI制御処理をCPUにプログラムを実行させるソフトウェアにより実現したが、UI制御処理の少なくとも一部の処理をハードウェアにより実現することもできる。例えばASIC等のカスタマICに禁則条件を示す論理式及びその演算プログラム用の回路を形成してUI制御処理をハードウェア上の演算で行ってもよい。UI制御処理がパーソナルコンピュータ以外の例えばプリンタや複合機等の電子機器で行われる構成であれば、電子回路として論理式(数値列)を含む数値列演算回路を持つことも可能である。   (Modification 7) In the above-described embodiment, the UI control process including the operation of the numerical sequence expressing the logical expression is realized by software that causes the CPU to execute the program. However, at least a part of the UI control process is performed by hardware. It can also be realized. For example, a logical expression indicating a prohibition condition and a circuit for an arithmetic program thereof may be formed in a customer IC such as an ASIC, and UI control processing may be performed by calculation on hardware. If the UI control processing is performed by an electronic device other than a personal computer, for example, an electronic device such as a printer or a multifunction machine, it is possible to have a numerical sequence arithmetic circuit including a logical expression (numerical sequence) as an electronic circuit.

(変形例8)ユーザインターフェイス制御方法及び制御装置をパーソナルコンピュータ等のコンピュータにおいて実現したが、前述のようにプリンタや複合機等の電子機器において適用することもできる。この場合、電子機器に内蔵されたCPUにUI制御用プログラムを実行させる構成を採用してもよい。また、プリンタや複合機以外の電子機器に適用することもでき、例えばプロジェクタ、デジタルカメラ、デジタルビデオカメラ、携帯電話機などに適用することもできる。   (Modification 8) Although the user interface control method and the control apparatus are realized in a computer such as a personal computer, the present invention can also be applied to electronic devices such as a printer and a multifunction machine as described above. In this case, a configuration in which a CPU built in the electronic device executes a UI control program may be employed. The present invention can also be applied to electronic devices other than printers and multifunction peripherals, and can be applied to projectors, digital cameras, digital video cameras, mobile phones, and the like.

前記実施形態及び変形例から把握される技術的思想を以下に記載する。
(1)請求項11に記載のユーザインターフェイス制御装置において、前記演算手段は、前記数値列を演算の際に格納する作業用メモリ上で該数値列の数値を順次参照するとともに、数値の参照が終わった作業用メモリ上のメモリ領域をスタック領域として用い、参照数値が論理変数に対応するものである場合は該参照数値を前記スタック領域にプッシュし、参照数値が論理演算子に対応するものである場合は前記スタック領域から複数の数値をポップして当該複数の数値に該論理演算子で規定される演算を施してその演算結果を前記スタック領域にプッシュするスタック操作を行うことで、前記数値列の演算を行うことを特徴とするユーザインターフェイス制御装置。
The technical idea grasped from the embodiment and the modifications will be described below.
(1) In the user interface control device according to claim 11, the arithmetic means sequentially refers to the numerical value of the numerical sequence on a working memory that stores the numerical sequence at the time of calculation, and the numerical value reference When the memory area on the finished working memory is used as a stack area and the reference value corresponds to a logical variable, the reference value is pushed to the stack area, and the reference value corresponds to a logical operator. In some cases, by popping a plurality of numerical values from the stack area, performing an operation specified by the logical operator on the plurality of numerical values, and performing a stack operation to push the operation result to the stack area, the numerical value A user interface control device that performs column operations.

(2)請求項12に記載のユーザインターフェイス用プログラムにおいて、前記演算ステップでは、前記数値列を演算の際に格納する作業用メモリ上で該数値列の数値を順次参照するとともに、数値の参照が終わった作業用メモリ上のメモリ領域をスタック領域として用い、参照数値が論理変数に対応するものである場合は該参照数値を前記スタック領域にプッシュし、参照数値が論理演算子に対応するものである場合は前記スタック領域から複数の数値をポップして当該複数の数値に該論理演算子で規定される演算を施してその演算結果を前記スタック領域にプッシュするスタック操作を行うことで、前記数値列の演算を行うことを特徴とするプログラム。   (2) In the user interface program according to claim 12, in the calculation step, the numerical values in the numerical value sequence are sequentially referred to on a working memory that stores the numerical values in the calculation. When the memory area on the finished working memory is used as a stack area and the reference value corresponds to a logical variable, the reference value is pushed to the stack area, and the reference value corresponds to a logical operator. In some cases, by popping a plurality of numerical values from the stack area, performing an operation specified by the logical operator on the plurality of numerical values, and performing a stack operation to push the operation result to the stack area, the numerical value A program characterized by performing column operations.

第1実施形態における印刷システムのハードウェア構成を示すブロック図。1 is a block diagram illustrating a hardware configuration of a printing system according to a first embodiment. 印刷システムの概略構成を示すブロック図。1 is a block diagram showing a schematic configuration of a printing system. (a)〜(d)メーカー側のコンピュータで予め行われる処理を説明する流れ図。(A)-(d) The flowchart explaining the process performed in advance by the maker side computer. UI制御処理を示すフローチャート。The flowchart which shows UI control processing. (a)〜(c)作業用メモリにおける演算開始前の前処理を示す説明図。(A)-(c) Explanatory drawing which shows the pre-process before the calculation start in a working memory. (a)〜(d)作業用メモリにおける演算手順を説明する説明図。(A)-(d) Explanatory drawing explaining the calculation procedure in a working memory. (a),(b)ユーザインターフェイス制御について説明するためのUIの模式図。(A), (b) The schematic diagram of UI for demonstrating user interface control. 第2実施形態におけるUI制御処理を示すフローチャート。The flowchart which shows UI control processing in 2nd Embodiment. (a)〜(c)作業用メモリにおける演算開始前の前処理を示す説明図。(A)-(c) Explanatory drawing which shows the pre-process before the calculation start in a working memory. (a)〜(f)論理変数を含む数値式の演算方法を説明する説明図。(A)-(f) Explanatory drawing explaining the calculation method of the numerical formula containing a logical variable. (a)〜(d)作業用メモリにおけるスタック操作による計算方法を説明する説明図。(A)-(d) Explanatory drawing explaining the calculation method by stack operation in a working memory. 計算完了後の作業用メモリを示す図。The figure which shows the working memory after completion of calculation. (a),(b)数値列簡略化の構成を説明するための説明図。(A), (b) Explanatory drawing for demonstrating the structure of numerical sequence simplification. (a),(b)ユーザインターフェイス制御について説明するためのUIの模式図。(A), (b) The schematic diagram of UI for demonstrating user interface control. 従来技術におけるフラグテーブルを示す図。The figure which shows the flag table in a prior art.

符号の説明Explanation of symbols

10…印刷システム、11…コンピュータ、12…状態値適用手段、演算手段及び表示反映手段を構成するCPU、13…ROM、14…RAM、15…HDD、16…ビデオ回路、19…表示手段としての表示装置、20…入力手段としての入力装置、21…プリンタ、23…アプリケーション部、24…ビデオドライバ、25…プリンタドライバ、30…表示反映手段としてのUI制御装置、31…記憶手段としての記憶部、32…データロード部、33…状態値適用手段を構成するテーブル作成部、34…演算手段としての演算部、35…UI制御部、38…印刷部、43,43A…作業用メモリ、44…テーブル、45…参照位置、46…スタック終端、52…論理式、55…数値列、56…数値列、57…数値列。   DESCRIPTION OF SYMBOLS 10 ... Printing system, 11 ... Computer, 12 ... State value application means, CPU which comprises calculation means, and display reflection means, 13 ... ROM, 14 ... RAM, 15 ... HDD, 16 ... Video circuit, 19 ... As display means Display device 20 ... Input device as input means, 21 ... Printer, 23 ... Application section, 24 ... Video driver, 25 ... Printer driver, 30 ... UI control device as display reflection means, 31 ... Storage section as storage means 32 ... Data load unit, 33 ... Table creation unit constituting state value application unit, 34 ... Calculation unit as calculation unit, 35 ... UI control unit, 38 ... Printing unit, 43, 43A ... Work memory, 44 ... Table 45 ... Reference position 46 ... Stack end 52 ... Logical expression 55 ... Numeric string 56 56 Numeric string 57 57 Numeric string

Claims (12)

複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御方法であって、
前記設定項目間で選択が禁止又は許可されるべき選択肢の組合せの条件を前記設定項目毎の各選択肢を論理変数として表した論理式が数値に変換された数値列を記憶手段に記憶しておき、
前記入力手段から制御の開始の契機となる入力を得ると、前記記憶手段から前記数値列を読み出すとともに、前記設定項目の各選択肢の選択状態を示す状態値を前記数値列中の対応する数値と置き換える状態値適用ステップと、
前記状態値が適用された前記数値列に基づき演算を行う演算ステップと、
前記演算ステップでの演算結果から選択禁止の選択肢が存在する旨の禁則情報が得られた場合は該禁則情報を前記表示手段の表示に反映させる表示反映ステップと
を備えたことを特徴とするユーザインターフェイス制御方法。
A user interface control method for controlling a user interface displayed on a display unit so that an option can be input for each of a plurality of setting items based on an input from the input unit,
A storage unit stores a numerical string in which a logical expression expressing each option as a logical variable representing a condition of a combination of options that should be prohibited or permitted to be selected between the setting items is converted into a numerical value. ,
When an input that triggers the start of control is obtained from the input means, the numerical value string is read from the storage means, and a state value indicating a selection state of each option of the setting item is set as a corresponding numerical value in the numerical value string. A replacement state value application step;
An operation step for performing an operation based on the numerical sequence to which the state value is applied;
A display reflecting step of reflecting the prohibition information on the display of the display means when the prohibition information indicating that the selection prohibition option exists is obtained from the calculation result in the calculation step; Interface control method.
請求項1に記載のユーザインターフェイス制御方法において、
前記条件は、選択が禁止されるべき選択肢の組合せの条件を表した禁則条件であることを特徴とするユーザインターフェイス制御方法。
The user interface control method according to claim 1,
The user interface control method according to claim 1, wherein the condition is a prohibition condition representing a condition of a combination of options that should be prohibited from being selected.
請求項1又は請求項2に記載のユーザインターフェイス制御方法において、
前記論理式は、前記選択肢が選ばれている場合に真になり選ばれていない場合に偽になる論理変数をX1,…,Xn(nは2以上の整数)を全設定項目の全選択肢に対して定義するとともに、前記論理変数X1,…,Xnの否定であって、選択肢が選ばれていない場合に真になり選ばれている場合に偽になる論理変数X1 ̄,…,Xn ̄を定義し、前記論理変数を論理和・論理積により組み合せることによって、前記条件を表現した論理式であることを特徴とするユーザインターフェイス制御方法。
In the user interface control method according to claim 1 or 2,
In the logical expression, logical variables X1,..., Xn (n is an integer of 2 or more) are set to all options of all setting items, which are true when the option is selected and false when not selected. The logical variables X1,..., Xn that are defined and are negated of the logical variables X1,..., Xn and become true when the option is not selected and become false when the option is selected. A user interface control method characterized by being a logical expression expressing the condition by defining and combining the logical variables by logical sum / logical product.
請求項1乃至請求項3のいずれか一項に記載のユーザインターフェイス制御方法において、
前記数値列は、逆ポーランド記法の順序で数値が並んだものであることを特徴とするユーザインターフェイス制御方法。
The user interface control method according to any one of claims 1 to 3,
The method for controlling a user interface, wherein the numerical sequence is a sequence of numerical values in reverse Polish notation order.
請求項4に記載のユーザインターフェイス制御方法において、
前記演算ステップでは、前記数値列の演算をスタック計算で行うことを特徴とするユーザインターフェイス制御方法。
The user interface control method according to claim 4,
In the calculation step, the numerical value sequence is calculated by stack calculation.
請求項5に記載のユーザインターフェイス制御方法において、
前記演算ステップでは、前記数値列を演算の際に格納する作業用メモリ上で該数値列の数値を順次参照するとともに、数値の参照が終わったメモリ領域をスタック領域として用い、参照数値が論理変数に対応するものである場合は該参照数値を前記スタック領域にプッシュし、参照数値が論理演算子に対応するものである場合は前記スタック領域から複数の数値をポップして当該複数の数値に該論理演算子で規定される演算を施してその演算結果を前記スタック領域にプッシュするスタック操作を行うことで、前記数値列の演算を行うことを特徴とするユーザインターフェイス制御方法。
The user interface control method according to claim 5, wherein
In the calculation step, the numerical values of the numerical sequence are sequentially referred to on a working memory that stores the numerical sequence at the time of calculation, and the memory area after the reference of the numerical value is used as a stack area, and the reference numerical value is a logical variable If the reference numerical value corresponds to the logical operator, the reference numerical value is pushed to the stack area, and if the reference numerical value corresponds to a logical operator, a plurality of numerical values are popped from the stack area to the plurality of numerical values. A method for controlling a user interface, comprising: performing an operation defined by a logical operator and performing a stack operation of pushing a result of the operation to the stack area, thereby performing an operation on the numeric string.
請求項1乃至請求項6のいずれか一項に記載のユーザインターフェイス制御方法において、
前記入力手段からの制御の開始の契機となる入力は、前記各設定項目において選択されている前記選択肢を確定するための確定入力であることを特徴とするユーザインターフェイス制御方法。
In the user interface control method according to any one of claims 1 to 6,
The user interface control method characterized in that an input that triggers the start of control from the input means is a confirmed input for confirming the option selected in each setting item.
請求項1乃至請求項7のいずれか一項に記載のユーザインターフェイス制御方法において、
前記入力手段からの制御の開始の契機となる入力は、前記設定項目において前記選択肢を選択する選択入力であることを特徴とするユーザインターフェイス制御方法。
The user interface control method according to any one of claims 1 to 7,
The user interface control method characterized in that the input that triggers the start of control from the input means is a selection input for selecting the option in the setting item.
請求項1乃至請求項8のいずれか一項に記載のユーザインターフェイス制御方法において、
前記数値列は、論理変数に割り当てられた数値の配列により構成され、論理演算子を表す数値は含まないことを特徴とするユーザインターフェイス制御方法。
In the user interface control method according to any one of claims 1 to 8,
The method of controlling a user interface, wherein the numerical sequence includes an array of numerical values assigned to logical variables and does not include numerical values representing logical operators.
請求項9に記載のユーザインターフェイス制御方法において、
前記数値列は、逆ポーランド記法で表現した際に論理演算子が位置する順番が常に固定される表記形式で表された論理式を逆ポーランド記法で表現した順番で数値が配列されてなり、前記演算ステップでは、前記数値列の数値を順番に参照して予め定められた所定個数分の数値のスタック操作を終える度に、前記スタック領域から数値をポップするとともに前記所定個数分の数値参照後に実施するように予め設定された論理演算子による演算を、前記ポップした数値に対して施すことを特徴とするユーザインターフェイス制御方法。
The user interface control method according to claim 9, wherein
The numerical sequence is formed by arranging numerical values in an order expressed in reverse Polish notation, which is a logical expression expressed in a notation format in which the order in which logical operators are positioned is always fixed when expressed in reverse Polish notation, In the calculation step, each time a predetermined number of numerical values for a predetermined number of stacks are referred to in order by sequentially referring to the numerical values in the numerical sequence, the numerical values are popped from the stack area and executed after the predetermined number of numerical values are referred to. A user interface control method, wherein an arithmetic operation using a logical operator set in advance is performed on the popped numerical value.
複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御装置であって、
前記設定項目間で選択が禁止又は許可されるべき選択肢の組合せの条件を前記設定項目毎の各選択肢を論理変数として表した論理式が数値に変換された数値列を記憶する記憶手段と、
前記入力手段から制御の開始の契機となる入力を得ると、前記ユーザインターフェイスにおける前記設定項目の各選択肢の選択状態を示す状態値を前記数値列中の対応する数値と置き換える状態値適用手段と、
前記状態値が適用された前記数値列に基づき演算を行う演算手段と、
前記演算手段の演算結果から選択禁止の選択肢が存在する旨の禁則情報が得られた場合は該禁則情報を前記表示手段の表示に反映させる表示反映手段と
を備えたことを特徴とするユーザインターフェイス制御装置。
A user interface control device for controlling a user interface displayed on a display unit so that a choice can be input for each of a plurality of setting items based on an input from the input unit,
Storage means for storing a numerical sequence in which a logical expression expressing each option as a logical variable representing a condition of a combination of options that should be prohibited or permitted to be selected between the setting items is converted into a numerical value;
When an input that triggers the start of control is obtained from the input means, state value applying means that replaces a state value indicating a selection state of each option of the setting item in the user interface with a corresponding numerical value in the numerical string;
A calculation means for performing a calculation based on the numerical sequence to which the state value is applied;
A user interface comprising: a display reflecting means for reflecting the prohibition information on the display of the display means when the prohibition information indicating that the selection prohibition option exists is obtained from the calculation result of the calculation means. Control device.
複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御する処理をコンピュータが実行するためのユーザインターフェイス制御用プログラムであって、
前記設定項目間で選択が禁止又は許可されるべき選択肢の組合せの条件を前記設定項目毎の各選択肢を論理変数として表した論理式が数値に変換された数値列が記憶手段に記憶されており、
コンピュータが、前記入力手段から制御の開始の契機となる入力を得ると、前記記憶手段から前記数値列を読み出すとともに、前記設定項目の各選択肢の選択状態を示す状態値を前記数値列中の対応する数値と置き換える状態値適用ステップと、
前記状態値が適用された前記数値列に基づき演算を行う演算ステップと、
前記演算ステップでの演算結果から選択禁止の選択肢が存在する旨の禁則情報が得られた場合は該禁則情報を前記表示手段の表示に反映させる表示反映ステップと
を実行するためのプログラム。
A program for controlling a user interface for a computer to execute a process for controlling a user interface displayed on a display unit based on an input from the input unit so that options can be input for each of a plurality of setting items,
A storage unit stores a numerical string in which a logical expression that represents a condition of a combination of options that should be prohibited or permitted to be selected between the setting items and each option for each setting item is expressed as a logical variable is converted into a numerical value. ,
When the computer obtains an input that triggers the start of control from the input means, the numerical value string is read from the storage means, and a state value indicating a selection state of each option of the setting item is associated with the corresponding value in the numerical value string. A state value application step to replace the numerical value to be
An operation step of performing an operation based on the numerical sequence to which the state value is applied;
A program for executing a display reflection step of reflecting the prohibition information on the display of the display means when the prohibition information indicating that the selection prohibition option exists is obtained from the calculation result in the calculation step.
JP2006128568A 2006-05-02 2006-05-02 User interface control method, apparatus and program Pending JP2007299324A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006128568A JP2007299324A (en) 2006-05-02 2006-05-02 User interface control method, apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006128568A JP2007299324A (en) 2006-05-02 2006-05-02 User interface control method, apparatus and program

Publications (1)

Publication Number Publication Date
JP2007299324A true JP2007299324A (en) 2007-11-15

Family

ID=38768746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006128568A Pending JP2007299324A (en) 2006-05-02 2006-05-02 User interface control method, apparatus and program

Country Status (1)

Country Link
JP (1) JP2007299324A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016066346A (en) * 2014-09-17 2016-04-28 株式会社リコー Prohibition processing device, prohibition processing method and program
JP2016154049A (en) * 2008-09-29 2016-08-25 フィッシャー−ローズマウント システムズ,インコーポレイテッド Method and system for managing process control
US9912825B2 (en) 2014-09-17 2018-03-06 Ricoh Company, Ltd. Incompatible setting processing apparatus, incompatible setting processing method, and computer program product

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016154049A (en) * 2008-09-29 2016-08-25 フィッシャー−ローズマウント システムズ,インコーポレイテッド Method and system for managing process control
JP2016066346A (en) * 2014-09-17 2016-04-28 株式会社リコー Prohibition processing device, prohibition processing method and program
US9912825B2 (en) 2014-09-17 2018-03-06 Ricoh Company, Ltd. Incompatible setting processing apparatus, incompatible setting processing method, and computer program product

Similar Documents

Publication Publication Date Title
JP4645246B2 (en) Icon control program, computer, method
JP4321572B2 (en) Image forming apparatus
US20030147097A1 (en) Printing apparatus, printing method, image processing apparatus, image processing method, storage medium, and program
US7607108B2 (en) Data processing setting apparatus, data processing setting method, data processing setting program, and computer-readable recording medium recording the program
US20190121587A1 (en) Information processing apparatus, information processing method, and storage medium
JP4306367B2 (en) Image processing device
US20060075362A1 (en) Image processing apparatus, method, and recording medium on which program is recorded for displaying thumbnail/preview image
US7145688B2 (en) Storage medium holding program and information processing apparatus and information processing method
US8947695B2 (en) Information processing device, information processing method and computer-readable record medium
JP2007299325A (en) User interface control method, apparatus and program
US8867066B2 (en) Print processing apparatus and control method
JP2007299324A (en) User interface control method, apparatus and program
JP4675861B2 (en) Printing apparatus, computer program for controlling printing apparatus, and method for controlling printing apparatus
JP2022071917A (en) Information processing device, control method, and program
JP4200384B2 (en) PRINT CONTROL DEVICE, PRINT CONTROL METHOD, PRINT CONTROL PROGRAM, MEDIUM RECORDING PRINT CONTROL PROGRAM, IMAGE PROCESSING DEVICE, IMAGE PROCESSING COMPUTER
US20060204144A1 (en) Image processing apparatus
JP2010105388A (en) Image forming device
JP2007114990A (en) Print control program
JP2006221585A (en) Screen saver controller, screen saver control method and screen saver control program
JPH11296324A (en) Printer controller and method therefor and record medium
US11606468B2 (en) Image forming apparatus, image forming method for printing images in an order different from an order of reading images
JP6992853B2 (en) Client terminal
JP2005193559A (en) Image forming apparatus
JP6610897B2 (en) Image forming apparatus and program
JP2006163774A (en) Processing system for plurality of images