JPH10254690A - グラフィカル ユーザー インタフェース システム及び方法 - Google Patents
グラフィカル ユーザー インタフェース システム及び方法Info
- Publication number
- JPH10254690A JPH10254690A JP33341797A JP33341797A JPH10254690A JP H10254690 A JPH10254690 A JP H10254690A JP 33341797 A JP33341797 A JP 33341797A JP 33341797 A JP33341797 A JP 33341797A JP H10254690 A JPH10254690 A JP H10254690A
- Authority
- JP
- Japan
- Prior art keywords
- block
- executed
- inquiry
- interface
- screen
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Digital Computer Display Output (AREA)
- Stored Programmes (AREA)
- Input From Keyboards Or The Like (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
・スクリーン・インターフェース・システムのような、
グラフィカル・タッチ・ユーザ・インターフェースの用
の、ビルダー、テスターおよび実行時間組み込みシステ
ムおよび方法を提供する。 【解決手段】 グラフィカル・インターフェースを生成
し、修正するためのビルダー・ツール、上記インターフ
ェースを試験するためのテスター・ツール、およびイン
ターフェース・ロジックを、実際に実行するための実行
時間システムを含むことができる。上記インターフェー
スは、実行時間システムの外側で設計、修正および試験
されるので、プログラマーでない人でも実行時間コード
を変更しないで、設計および保守を行うことができる。
さらに、ビルダーおよびテスターを、汎用目的で設計す
ることができ、実行時間コードを再使用することができ
る。
Description
ーザ・インターフェース(GUI)の組み立て、試験、
組み込みに関するもので、タッチ・スクリーン販売時点
情報管理システム(POS)への一実施形態において
は、このインターフェースを使用することによりインタ
ーフェースの設計、試験および保守が実行時間コードに
依存しないで行われる。
年、タッチ・スクリーン装置は、種々の環境で一般に使
用されるようになっている。例えば、タッチ・スクリー
ン装置は、小売り店のような販売時点情報管理システム
(POS)のいろいろな用途で使用されてきた。ファー
スト・フード・レストランのようなある種のタイプの小
売り店内においては、POS装置が、それが容易に使用
でき、柔軟性を持っている場合には、非常に便利に使用
されている。
異なるタイプのユーザが、これらのシステムを容易に使
用することが確実にできるようにするためには、多くの
場合、優れたインターフェースが必要になる。そのた
め、これらのインターフェースの多くは、人間−機械イ
ンターフェースに設計についての教育は受けているが、
コンピュータ・プログラミングについては深い知識をも
っているかもしれないし、持っていないかも知れない、
人間インターフェース(HI)エンジニアにより現在設
計されている。さらに、ソフトウェアのプログラミング
に時間を浪費しないで、自分の専門分野に集中したほう
が、人間インターフェース・エンジニアにとって、最も
効率的である場合がある。それ故、HIエンジニアが設
計したインターフェースを(設計を気に入ってもらうた
めの)最もよく顧客に知ってもらうため、また(設計を
行い試験を行うために)ソフトウェアのエンジニアにど
のようにその内容を最もよく知ってもらうにはどうした
らよいのかという問題が起きてくる。
ィカル・ユーザ・インターフェースを設計し、レイアウ
トするために、マイクロソフト(登録商標)のパワー・
ポイント(登録商標)のような提示ツールを、HIエン
ジニアに使用させるという方法である。もちろん、その
際問題になるのは、この作業が最終的なインターフェー
スに直接貢献しないことである。すなわち、HIエンジ
ニアが上記インターフェースを設計した後、プログラマ
ーは、その設計を取り上げ、プログラミングを開始しな
ければならない。さらに、すべての設計と同じように、
設計を何回も反復して行わなければならないため、問題
はさらに複雑になる。
ーザ・インターフェースを組み立てるのに、グラフィカ
ル・ウィンドウズ、メニュー、ダイアログおよび制御名
の共通セットを使用するビルダー・ツールを使用させる
ことであろう。プログラマーでないものでも、インター
フェースを正確に迅速に組み立てることができる。その
後、この実際の外部インターフェースは、定義された数
個のダミー入力レベル論理機能を持つスケルトン実行時
間システムにより読むことができる。こうすることによ
り、HIエンジニアは、そのインターフェースがどのよ
うな概観を持ち、どのような感触を持っているかについ
て非常に迅速にフィードバックを入手することができ
る。HIエンジニアは、またインターフェースを微調整
するとき、エラーを修正し、改良を行うことができるだ
ろう。
することにより、HIエンジニアは、人間が種々のボタ
ンを押しているかのように、システムの動作を見守るこ
とによって設計を判断する他の方法を手に入れることが
できる。特定のスクリーンを組み立てるのをうっかり忘
れた場合には、上記テスターがHIエンジニアに誤りを
知らせ、HIエンジニアはこの問題を修正するために、
上記ビルダー・ツールを使用することができる。ソフト
ウェア・プログラミング・スタッフは、また確実に正し
い入力レベル論理機能が指定されるように、テスターを
使用することができる。最後に、タッチ・スクリーン・
システムが配備された場合、実行時間インターフェース
を変更しないで、ユーザ・インターフェースを修正する
ことが望ましい場合がある。例えば、ユーザが、ボタン
の位置、対象物の色、ある対象テキスト等を変更したい
場合がでてくる。
ェースを組み立て、試験し、それを従来技術のシステム
および方法よりもっと簡単で価格が安く、設計から実行
までの進行がもっと正確で、プログラミング・スタッフ
でない人でもかなりの設計および保守作業を行うことが
できる実行時間システムに組み込むためのシステムおよ
び方法が、当業者の間で待望されている。
OS)タッチ・スクリーン・インターフェース・システ
ムのような、グラフィカル・タッチ・ユーザ・インター
フェースの用の、ビルダー、テスターおよび実行時間組
み込みシステムおよび方法を提供する。上記システムお
よび方法は、グラフィカル・インターフェースを生成
し、修正するためのビルダー・ツール、上記インターフ
ェースを試験するためのテスター・ツール、およびイン
ターフェース・ロジックを実際に実行するための実行時
間システムを含むことができる。上記インターフェース
は、実行時間システムの外側で設計、修正および試験さ
れるので、プログラマーでない人でも実行時間コードを
変更しないで、設計および保守を行うことができる。さ
らに、ビルダーおよびテスターを、汎用目的で設計する
ことができ、実行時間コードを再使用することができ
る。
は、POSタッチ・スクリーン・インターフェースのよ
うなグラフィカル・ユーザ・インターフェースを組み立
てまたは生成するシステムおよび方法は、制御の情報を
収集するために、スクリーン、メニュー品目へのアクセ
スおよびそのダイアログからなる「制御」を一度に一つ
ずつ選択するステップと、ダイアログ情報を対象物の
「スロット」にセーブするステップとを含むことができ
る。このプロセスはスクリーンが更新される度に反復し
て行うことができる。
および方法は、第一のタッチ・スクリーン・ディスプレ
イを含むスクリーンを「ペイント」することによりスタ
ートする。第一のディスプレ上に表示されるボタン制御
は、第一のボタンのデータがスタックの一番上に表示さ
れるように、スタック構造にそのロジック情報をセット
することができる。その後、スタックはポップし、その
関係ロジック情報が、数秒間、ポップアップ・ウィンド
ウに表示される。その後、分岐が行われ、新しいスクリ
ーン・ボタン情報がスタックの一番上に表示され、一番
上の項目が再びスタックから飛び出す。このプロセス
は、すべての分岐が行われるまで継続して行われる。特
定のスクリーンが毎回再表示される場合には、そのボタ
ン・データは、二回目には、スタックの上に表示されな
い。スクリーン番号が存在しない場合には、その番号は
エラー・メッセージと一緒にポップアップ・ウィンドウ
に表示される。テスターは、スペース・バーを押すこと
により、何時でも一次停止させることができ、数字ボタ
ンを押すことにより終了させることができる。
行時間システムへの組み込みシステムおよび方法は、上
記インターフェースを読み出し、メモリのプログラム構
造に記憶する一連のステップを実行することによりスタ
ートする。次に、対象物を正しく表示させるために必要
な、ウィンドウ・コマンドを形成するために、スロット
情報を使用して、各子ウィンドウを生成することによ
り、第一のスクリーンのペイントが行われる。次に、イ
ンターフェース機能コードを、実行時間コードの正しい
機能の実行にマップする一連のステップが実行される。
最後に、新しいタッチ・スクリーン・ディスプレイの表
示を管理する一連のステップが実行される。
ニアとして、グラフィカル・インターフェースを設計、
試験および組み込むためのものであり、ソフトウェア・
プログラマーが、実際の外部インターフェースを生成し
ながら作業を進めることができる、非常に効率的なシス
テムおよび方法を提供する。さらに、大部分のインター
フェースの設計、実行および保守は、周知の環境のメニ
ューおよびダイアログを使用して実行することができ
る。
ム10は、外部インターフェースの組立、保守および試
験を行うために使用される。システム10は、コンピュ
ータ12と、ビデオ・ディスプレイ(CRT)14と、
メモリ16と、ハードディスク18と、フロッピー・デ
ィスク20と、キーボード22と、マウス24およびプ
リンタ26とを含む。好適な実施形態の場合には、シス
テム10は、通常のPC開発システムを使用することが
でき、コンピュータ12としては、インテル(登録商
標)486またはペンティアム(登録商標)コンピュー
タを;ビデオ・ディスプレイ14としては、VGAモニ
タを;メモリ16としては、少なくとも16MBのRA
Mからなるものを;ハードディスク18としては、二次
記憶装置が少なくとも1.2GBの容量を持つものを;
フロッピー・ディスク20としては、3.5インチの柔
軟なディスクを;キーボード22としては、通常のPC
キーボードを;マウス24としては、マイクロソフト
(登録商標)のマウスまたは相当物を;およびプリンタ
26としては、PC互換のレーザ・プリンタまたはジェ
ット・プリンタを使用することができる。
は、販売時点情報管理システム(POS)であってもよ
く、コンピュータ30と、タッチ・スクリーン32と、
メモリ34と、ディスク36と、プリンタ38および現
金収納引出し40とを含むことができる。好適な実施形
態の場合には、システム28は、小売り店で使用される
タッチ・スクリーン・システムであってもよい。コンピ
ュータ30としては、NCR7450PCまたは通常の
インテルをベースとするPCを;タッチ・スクリーン3
2としては、10インチのNCRタッチ・スクリーンま
たは他の業者のものを;メモリ34としては、16MB
またはそれ以上のRAMからなるものを;ディスク36
としては、オプションのもので、少なくとも500MB
の二次容量を持つものを;プリンタ38としては、NC
Rプリンタまたはそれに相当するものを;現金収納引出
し40としては、NCR現金収納引出しまたはそれに相
当するものを使用することができる。
発明を説明する際には、本発明の開示の例示としての用
途、すなわち、ピザ販売店のようなレストランで使用す
るための販売時点タッチ・スクリーン小売りシステムを
例として説明する。もちろん、これは単に例示としての
ものに過ぎず、本発明は他の種々の環境にも使用するこ
とができることはすぐに理解することができるだろう。
においては、ビルダー・ツール(以後<B>と呼ぶ)
は、新しいタッチ・スクリーン・インターフェースを組
み立てたり、または現在のタッチ・スクリーン・インタ
ーフェースを修正するために使用される。ビルダー・ツ
ール<B>は、マイクロソフトのC/C++のような種
々のプログラミング言語の一つを使用して、プログラミ
ング・コンピュータ12により実行することができる。
すでに説明したように、このインターフェースは、実行
時間システム(後で説明する)の外部に存在していて、
ある実施形態の場合には、二つのASCIIファイルか
ら作ることができる。第一のファイルは主ファイルで、
スクリーン・フレームおよび子フレームと一緒に、フレ
ーム状言語を利用する。各スクリーンは、「begin
screen:i」ラインで始まる。この場合「i」
の数値は、スクリーン番号である。同様に、各スクリー
ンは、「end screen:i」入力が表示された
時に終了する。
・フレームには、「NICE」対象物フレームがシーケ
ンシャルな順序で表示される。NCR NICE(登録
商標)(計算環境用の自然インターフェース)製品は、
マイクロソフト(登録商標)のウィンドウ(商標)環境
で動作する、PCまたはPC互換ワークステーションと
一緒に使用するための、実行時間アプリケーション構築
ブロックのライブラリである。NICEクライアント
は、マイクロソフト・ウィンドウ3.1(およびそれよ
り新しいバージョン)の下で動作するシステムに対する
NICEのバージョンである。NICEクライアント
は、タッチ・スクリーン環境で使用するのに適してい
る、一組のユーザ・インターフェース対象物を持つアプ
リケーション開発装置を提供する。
i type」行で始まり、「end child:
i」入力で終わる対象物の定義である。ここで「i」は
スクリーン内の相対子番号であり、「type」はNI
CE分類である。例えば、図7の場合には、「pizz
a」制御は、NICE「応答ボックス」に関連し、この
制御のタイプは「ncReplyBox」である。目的
文のbegin endのペアの間には、子情報を提供
するスロットが存在する。各スロットは1行の長さを持
ち、後にコロンが続くスロット名により表示される。例
えば、図7においては、「Pizza」制御に対する第
一のスロットは「style」スロットである。第二の
インターフェース・ファイルは、第一のインターフェー
ス・ファイルに直接関連している。例えば、図7の場合
には、「Pizza」に対する「text:15」スロ
ット情報に留意されたい。番号15は、第二のファイル
の15番目の入力がテキスト「Pizza」を含んでい
ることを示す。それ故、番号15は、第二のファイルへ
のポインタである。
図7−図9のNICE制御に基づき、ビデオ・ディスプ
レイ14上に表示される、実際のユーザ・インターフェ
ースである。図3の制御211−5は、図7のPizz
a制御に対応する。図7のPizza制御に対する「t
ext:15」スロットに対して、第二のファイルの1
5番目の入力(例えば、テキスト「Pizza」が、図
3の制御211−5に対して表示される。つまり、第二
のファイルは、第一のファイルに定義されている制御が
必要とする各テキスト単位に対して1行を含んでいる。
図3−図6に示すような各タッチ・スクリーン・ディス
プレイ32が、今定義した複数のスクリーンを持つこと
ができるということは重要なことである。例えば、図3
の場合には、ディスプレイは四つのスクリーンを持って
いる。第一のスクリーン201は「ピザ」211、「ア
ペタイザ」212、「サラダ」213、および「その
他」214という項目を含む。一つの項目は、一つまた
はそれ以上のNICE対象物を含むように指定される。
例えば、「ピザ」項目211は、四つのボタン対象物2
11−1、211−2、211−3および211−4を
含み、これらの制御は他の背景対象物211−5の上に
置かれている。この後者の対象物211−5は、文字
「ピザ」を含む背景色を持つ対象物である。
221−1から221−8を含む「飲物」項目221で
ある。第三のスクリーン203は、タイトル「顧客チェ
ック#1」および「お釣り」ラインを含む。第四のスク
リーン204は、図3の右下の隅にあり、このスクリー
ンは背景色の上に241−1から241−6までの六つ
のボタンを含む。ボタン制御を押して、ディスプレイの
一部を消したい場合には、タッチ・スクリーン・ディス
プレイ32の複数のスクリーンを選択すればよい。例え
ば、図3のタッチ・スクリーンの例について再び説明す
ると、「ビール」のボタンを押すと、「飲物」スクリー
ン202だけが消去され、置換が行われるだけである。
他の三つのスクリーン201、203および204はス
クリーンに表示されたまま残る。それ故、ビルダー・ツ
ール<B>を使用して、タッチ・スクリーン・ディスプ
レイ32を組み立てた場合には、一つまたはそれ以上の
スクリーンを表示するかどうかの決定を行うことができ
る。
と、ビルダー・ツールは、通常の当業者にとっては周知
であるように、正しくプログラムされたコンピュータ1
2により実行することができる。ビルダー・ツール<B
>の実行は、ブロック100からスタートし、ブロック
102に進み、そこで新しいインターフェースを生成す
るか、すでに存在するインターフェースを開くのかを決
定するために問い合わせが行われる。上記問い合わせの
実行は、標準ウィンドウ・プログラミングで行われるよ
うに、「新規」および「開く」の選択を含むウィンドウ
ズ・ファイル・メニューを組立ることにより、実行する
ことができる。ブロック102の問い合わせの結果が
「イエス」である場合には、新しいインターフェースを
生成し、ブロック104から110までを逐次実行する
ことを意味する。最初に、ブロック104において、新
しいインターフェースのプリフィックス名が、「aut
opos1」にセットされ、その後で、ディスク18に
セーブされた、上記の二つのインターフェース・ファイ
ルが、それぞれ「autopos1.frm」および
「autopos1.dat」と命名される。「.fr
m」というサフィックスが選ばれた理由は、それがファ
イルが種々のスロットが情報を記憶するのに使用される
人工頭脳、フレーム状言語を示すからである。「.da
t」というサフィックスは、そのファイルがデータを含
むことを示し、この場合そのデータはテキスト・データ
である。
二つの支持ファイルが開かれる。第一のファイルはEL
L機能名を含み、第二のファイルは「黒板」名を含む。
これらのファイルの使用方法につていは後で説明する。
続いて、ブロック108が実行され、支持ファイルが読
まれ、各レコードの内容が二つのアレイに記憶される。
最後に、新しいインターフェースを生成する場合の予備
作業が、ブロック110の実行と共に終了する。このブ
ロックにおいては、変数「iScreenNum」「i
ChildNum」および「iNumScreens」
が初期化される。すなわち、インターフェース内の、第
一のスクリーンおよびそのスクリーンの第一の子番号は
1に初期化され、スクリーンの全数はゼロにセットされ
る。ブロック110においては、新しい対象物に対する
選択も行われる。この選択は例えば、10のNICE対
象物の一つに対する選択メニューから選択することによ
り行われる。選択対象は、「Reply」、「GP
B」、「MFBN1」、「MFBN2」、「MFBN
3」、「Flex Bar」、「Receipt」、
「Edit Box」「Numeric Keypa
d」または「Change Disp1ay」である。
この時点で、ビデオ・ディスプレイ14には、依然とし
て何も表示されていないし、ビルダー・ツール<B>
は、図17のコネクタHに分岐することによって、特定
のNICE対象物の生成に関連する作業を開始する準備
ができる。このロジックを説明する前に、再びブロック
102について説明する。
がノーである場合には、現在のインターフェースは修正
され、ブロック112から118に予備ロジック・ステ
ップが表示される。最初に、ブロック112が実行さ
れ、その結果、正しいインターフェース「.frm」が
選択される。このブロックは、ユーザに、例えば、ファ
イル・メニューから「開く」メニュー項目を選択させる
ことによって実行される。その後、ウィンドウズの共通
ファイル・ダイアログ方法を使用して、ディスク上の特
定のディレクトリに常駐する現在のすべての「.fr
m」ファイルから容易に選択することができる。続け
て、プログラムの実行は、ブロック114へ進み、そこ
で二つのインターフェース・ファイルおよび二つの支持
ファイルが開かれる。次に、制御はブロック116へ移
り、そこですべての入力レコード情報が読まれ、種々の
アレイに記憶される。次に、ブロック118が実行され
ると、関連ウィンドウズ・コマンドと一緒に、記憶され
ているインターフェース・スクリーンおよび子情報を使
用することによって、最初のタッチ・スクリーン・ディ
スプレイ32がペイントされる。「.frm」インター
フェースの最初の行は、第一のタッチ・スクリーン・デ
ィスプレイからなるスクリーンを決定するために使用さ
れる。
ップに続いて、ブロック120からスタートし、図11
のコネクタAによってポイントされるループがある。こ
のループの目的は、最初にビデオ・ディスプレイ14か
ら、特定の修正の際に必要ない、すべてのスクリーンを
除去することである。ブロック120が実行されると、
例えば、「スクリーン」メニュー項目がクリア・メニュ
ーから選択されたかどうかを知るために、問い合わせが
行われる。答が「イエス」の場合には、ブロック122
が次に実行される。ブロック122内に指定されている
入力は、スクリーン番号を可変「iScreenNu
m」にセットするためのダイアロクを使用することによ
り入手される。その後、このスクリーン対象物は、ビデ
オ・ディスプレイ14から除去される。次に、ブロック
124が実行され、ビデオ・ディスプレイ14から、指
定されたスクリーン対象物を実際に除去する。その後、
ブロック120で、他に除去するスクリーンがあるかど
うかについて問い合わせを行うために、ループのスター
トに対して分岐が行われる。要するに、ループ120−
124は、保守がスタートする前に(後で説明する)、
スクリーンのサブセットをビデオ・ディスプレイ14か
ら除去することができる。
コネクタAのところでループの動作を終了するし、再使
用はしないと仮定しよう。この場合、ブロック120で
の問い合わせの結果は、「ノー」であり、次にブロック
126が実行される。再び、他の問い合わせが行われ
る。しかし、今度の質問は、ビデオ・ディスプレイ14
の全スクリーンを消去するかしないかという質問であ
る。このことは非常に役に立つ。何故なら、そうするこ
とにより、すべての現在のスクリーンを消去する場合
に、ビデオ・ディスプレイ14のスクリーン全体が、一
度に消去されるのを防止することができるからである。
二つの場合に、すべてのビデオ・ディスプレイ14の対
象物が除去される。第一の場合は、対象物の新しいスク
リーンを構築しなければならない場合で、この場合、ビ
デオ・ディスプレイ14の最初の部分はブランクでなけ
ればならない。第二の場合は、現在のスクリーンまたは
対象物を修正しなければならない場合で、一つまたはそ
れ以上の異なるスクリーンを追加する前に、ディスプレ
イが不良である場合には、ビデオ・ディスプレイをクリ
アするのが最もよい方法である。ブロック126で問い
合わせを行ない、その後でウィンドウズのプログラミン
グにより、クリア・メニューから、例えば、「アクティ
ブ」メニュー項目を選択することにより、ビデオ・ディ
スプレイが消去される。
に対する答が「イエス」である場合には、プログラムが
ブロック128へ進む。ブロック128を実行すると、
ビデオ・ディスプレイ14はブランクになる。この時点
では、ビデオ・ディスプレイ14をブランクのままにし
ておくのか、修正できるように、他のスクリーンを追加
するのかはまだ分からない。それ故、ブロック130が
実行され、ビデオ・ディスプレイ14が依然としてブラ
ンクである場合には、新しいスクリーンを構成する必要
があると推定される。その準備のために、ブロック13
0を実行すると、「iScreenNum」変数が、式
「iNumscreen+1」にセットされ、「iCh
ildNum」が1に初期化される。要するに、新しい
スクリーン番号値が一つ増え、最後のスクリーン番号が
でき、そのスクリーン内の最初の子番号の数値が1にな
る。一方、ブロック126での問い合わせの結果が「ノ
ー」である場合には、ブロック128および130はバ
イパスされる。
行する準備ができている。しかし、ブロック132から
136は、図11のコネクタBによりポイントされてい
るループを形成している。このループの目的は、必要な
場合に、ビデオ・ディスプレイ14に、もっと多くのス
クリーンを追加することである。このループが終了する
と、図11のコネクタAによりポイントされているスタ
ートに分岐するように選択することができる。それ故、
スクリーン選択が間違って行われた場合には、選択プロ
セスが再びスタートする。または、ビデオ・ディスプレ
イ14のスクリーンが依然としてブランクである場合に
は、図17で新しいスクリーンおよびその対象物の形成
をもう一度スタートすることができ、第一の新しいNI
CE子タイプが選択される。または、ビデオ・ディスプ
レイ14がブランクでない場合には、制御は図12に示
す修正アルゴリズムのスタートへ行く。
ロック132での問い合わせの結果が「イエス」である
場合には、プログラムの制御はブロック134へ進む。
そこで、「iScreenNum」変数に、その対象物
をビデオ・ディスプレイ14に追加する必要があるスク
リーンの番号をセットするために、ダイアロクが使用さ
れる。次に、ブロック136が実行され、「iScre
enNum」が所有する対象物がビデオ・ディスプレイ
14上に表示される。その後、ブロック132で、再び
ループのスタートに行く。ブロック132での問い合わ
せの結果が「ノー」である場合には、ループは終了し、
ブロック138が実行される。ブロック132での問い
合わせの結果が「イエス」である場合には、制御はコネ
クタAに渡される。この問い合わせの結果がノーである
場合には、ブロック140が実行される。ブロック14
0での問い合わせは、ビデオ・ディスプレイ14が依然
としてブランク状態であるかどうかを決定するために使
用される。この問い合わせの結果が「イエス」である場
合には、対象物の新しいスクリーンが現在のインターフ
ェースに追加される。次に、ブロック142が実行さ
れ、再び選択メニューを使用することにより、新しいス
クリーン内の第一の新しい子が識別される。その後、図
17のコネクタHに分岐が行われる。問い合わせの結果
が「ノー」である場合には、ビデオ・ディスプレイ14
上に表示されている現在のスクリーンの一つに対するス
クリーン修正が必要になり、図12のコネクタCへ分岐
が行われる。
一のセグメントは図12で始まり、スクリーンまたは子
の修正を目的としている。第二のセグメントは図17で
始まり、ここで新しいスクリーンに対する新しい対象物
のタイプが処理される。図12について説明すると、ビ
デオ・ディスプレイ14上のスクリーンのどれかを修正
する必要があるかどうかを判断するために、ブロック1
44で問い合わせが行われる。答が「イエス」の場合に
は、このブロックは、例えば、選択メニューから「スク
リーン」メニュー項目を選択することにより実行するこ
とができる。しかし、答が「ノー」の場合には、子のど
れかを修正する必要があるかどうかを判断するために、
ブロック146が実行される。同様に、答が「イエス」
である場合には、選択メニューから「子」のメニューを
選択するために、この問い合わせが行われる。
のスクリーンに対する修正は行われない。これは矛盾し
ているように見える。何故なら、ビデオ・ディスプレイ
14の修正のためにビルダー・ツール<B>が今作成さ
れたが、問い合わせは、単にこの時点では何等の修正を
行う必要がない能力を示しているだけだからである。本
質的には、誰でも何時でも気持ち変え、別のことをする
ことができる。図12の場合には、ある種の修正を行っ
た後、プログラムはコネクタCに戻る。続いて、次に、
インターフェースをセーブすべきかどうかを判断するた
めに、ブロック148が実行され、問い合わせが行われ
る。ファイル・メニューから「Save」または「Sa
veAs」のどちらかを選択することにより、セーブを
行うことができる。ブロック148での問い合わせの結
果が「ノー」である場合には、セーブ・ロジックがバイ
パスされ、ブロック156へ分岐が行われる。ブロック
156については、後でさらに詳細に説明する。
「イエス」である場合には、ブロック150が実行さ
れ、ユーザはインターフェース名を変更するかどうかを
決定する。問い合わせの結果が「イエス」である場合に
は、ブロック154が実行される前に新しいインターフ
ェースのプリフィックスを入手するために、ブロック1
52が実行され、ダイアログが使用される。ブロック1
50での問い合わせの結果が「ノー」である場合には、
ブロック152がスキップされ、ブロック154へ分岐
が行われる。ブロック154が実行されると、現在また
は新しいインターフェース・プリフィックス名を使用し
て、二つのインターフェース・ファイルがディスク18
に書き込まれる。
きかどうかを知るために、ブロック156が実行され、
問い合わせが行われる。この問い合わせの結果が「ノ
ー」である場合には、ブロック158が実行され、ビル
ダー・ツール<B>の実行が終了する。再び、ファイル
・メニューに「Exit」メニューを追加することによ
り、ブロック156が実行される。続いて、ブロック1
56での問い合わせの結果が「イエス」である場合で、
さらに修正しなければならないインターフェースがある
場合には、図11のAに分岐が行われる。図12のフロ
ーチャートの説明を終了する前に、このフローチャート
は、インターフェース修正後も実行することができるこ
とを留意されたい。それ故、このインターフェースは必
要な回数だけセーブすることができ、また異なる名前で
セーブすることができ、そうしたい場合には、ビルダー
・ツール<B>を使用して行った現在の作業をすべてセ
ーブしないで、プログラムを終了することができる。
と、この問い合わせの結果が「イエス」である場合に
は、スクリーンおよびすべてのその関連対象物を修正し
なければならない。次に、ブロック160が実行され、
変数「iScreenNum」にスクリーン番号をセッ
トするために、ダイアログが使用される。他の方法とし
ては、この変数を効果的に初期化するために、ユーザ
は、このスクリーンの一部である一つの対象物を、マウ
ス24の右ボタンでクリックすることができる。次に、
ブロック162が実行され、「iChildNum」の
数値がゼロにセットされる。このような実行が行われる
のは、あるスクリーンに適用する同じ修正ロジックが子
にも適用できるからである。それ故、「iChildN
um」変数に無効な数値を与えることにより、ビルダー
・ツール<B>は、後で二つのケースを区別することが
できる。この種のスクリーンまたは子の修正を行う図1
3のフローチャートのステップに行く前に、図12のフ
ローチャートをさらに詳しく説明する。
せについて説明すると、この問い合わせの結果が「イエ
ス」である場合には、ビデオ・ディスプレイ14上の特
定の子を修正しなければならない。次に、ブロック16
4が実行され、「iChildNum」および「iSc
reenNum」に適当な数値をセットするために、ダ
イアログが使用される。他の方法としては、これら数値
を初期化するために、ユーザは、対象物をマウス24の
右ボタンでクリックすることができる。次に、ブロック
166が実行され、NICE制御のタイプに基づいて、
ブール変数「bBlackboard」、「bIco
n」および「bELL」にその正しい数値がセットされ
る。すなわち、子を修正しなければならない場合には、
更新メニューからのあるメニュー項目だけが適用され
る。これら変数が、これらメニュー項目をアクティブの
状態にしたり、アクティブでない状態にする。更新メニ
ューの目的を明らかにするために、本発明の内容を以下
にさらに詳細に説明する。
について、図13のフローチャートを参照しながら説明
する。図13のフローチャートは、いくつかの方法を使
用して、ビデオ・ディスプレイ14上のスクリーンまた
は子を移動させるために必要なステップを示す。最初の
ブロック、すなわち、ブロック168は、コネクタDに
よりポイントされている。何故なら、このフローチャー
トの位置に到着するにはいくつかの方法があるからであ
る。例えば、図12のところで、スクリーンを修正しな
ければならない場合には、Dに向かって分岐が行われる
ことはすでに説明した。また、図12のところで、子を
修正しなければならない場合には、Dに向かってではな
く、図16のコネクタGに向かって分岐が行われる。そ
のフローチャートについては以下にさらに詳細に説明す
る。しかし、Gに向かって分岐が行われた場合には、可
能な修正選択の一つもDへ分岐する。
と、スクリーンまたは子をビデオ・ディスプレイの左
上、右上、左下または右下に移動するかどうか決定する
ために、最初に、一連の問い合わせが行われる。問い合
わせブロックは、それぞれ168、172、176およ
び180である。これらすべての問い合わせの結果がノ
ーである場合には、好適な実施形態の640x480座
標システムに基づいて、移動を上、下、左または右にす
るのかどうかを知るために、ブロック184、188、
192および196で、それぞれ、一連の問い合わせが
行われる。再び、どの問い合わせに対する応答も「ノ
ー」である場合には、すでに説明したように、フローチ
ャートのこの場所で、ブロック144のCに向かって分
岐が行われる。ここでも、この分岐の目的は、「選択メ
ニュー」選択が以降の修正に無関係であることを示すこ
とである。
と、ブロック168での問い合わせの結果が「イエス」
である場合には、スクリーン対象物または個々の対象物
を左上の隅に移動させなければならない。ブロック16
8の実行は、位置メニューからの「左上」メニュー項目
の選択を含む。その後、「iChildNum」値がゼ
ロである場合には、ビルダー・ツール<B>は、スクリ
ーンに整合させなければならないことを知る。そうでな
い場合には、ビルダー・ツール<B>は、個々の子を整
合させなければならない。再整合プロセスの場合には、
デルタx(水平)およびデルタy(垂直)値を知る必要
があり、関連インターフェース・スロット値が、これら
の数値により変更される。例えば、図7から図9の場合
には、各子が四つの数値を持つ「ウィンドウ」スロット
を持っていることに留意されたい。最初の二つの数値
は、対象物の左上の隅に対する(x,y)ピクセル・フ
ォーマット内の位置を示す。それ故、子は左上の隅にま
っすぐ移動する。何故なら、デルタxはデルタ−xにな
り、デルタyはデルタ−yになるからである。しかし、
スクリーンを移動するには、プロセスはもう少し複雑に
なる。何故なら、臨界状態の複数の子を発見しなければ
ならないからである。何故なら、すべてのスクリーン対
象物に対するデルタxおよびyを決定するために、その
xおよびy値が使用されるからである。しかし、選択ア
ルゴリズムは、実行するのにそれほど難しいものではな
い。何故なら、スクリーン対象物を構造体のアレイにシ
ーケンシャルに記憶することができ、「ウィンドウ」ス
ロット情報を上記構造体の四つのフィールドに記憶する
ことができるからである。ここでもまた、ブロック17
0が実行されたとき、指定されたスクリーン対象物の座
標が調整される。その後、図14のコネクタEに分岐が
行われる。
ーンまたは対象物が更新された後でウオームアップ作業
を行うことである。図14のブロック200が実行され
ると、CRT対象物がすべての除去される。その後、ブ
ロック202が実行され、修正を反映してCRTが更新
される。次に、ブロック204で問い合わせが行われる
が、その目的はCRTの内容をさらに更新する必要があ
るかどうかを判断することである。ブロック204に対
する問い合わせの結果が「イエス」である場合には、図
12のCへの分岐が行われる。この問い合わせの結果が
「ノー」である場合には、図11のAに分岐が行われ
る。本質的には、この問い合わせによりインターフェー
スをさらに修正することができ、ファイルをセーブする
ことができ、プログラムを終了することもできるし、ま
たはこれらのタスクの組み合わせを実行することもでき
る。
ク172、176、180、184、188、192お
よび196の実行は、位置メニュー名がそれぞれ「右
上」、「左下」、「右下」、「上」、「下」、「左」お
よび「右」であるブロック168に類似している。ブロ
ック174、178および182は、ブロック170に
非常に類似していて、これらのブロックがどのように実
行されるかは明らかである。ブロック186、190、
194および198の場合には、デルタ「iY」および
「iX」変数の一つは、1または−1により調整され、
他のものはゼロにセットされる。これは直感的でない方
法のように思われるかも知れないが、図4を参照する
と、テキスト「支払:」および「$ 0.00」を含む
ボックス272は、実際には、それぞれが境界を持たな
い、次の二つの隣接する制御、すなわち、「応答ボック
ス」および「編集ボックス」からなっている。これら二
つのボックスは、好適には、継ぎ目のない状態で表示さ
れることが好ましいので、それらが生成された後で、正
確にその中のどちらかを移動する方法があるほうが有利
である。それ故、ビルダー・ツール<B>は、1−ピク
セル移動機能を持ち、この機能はボックスをごく少しず
つ移動させることができる。ブロック186、190、
194または198が実行されると、図15のコネクタ
Fに対して分岐が行われる。
24、または相当するポインティング装置を使用して、
一度に、スクリーンまたは個々の対象物の一つのピクセ
ルを移動するために必要なステップを示すことである。
このようなことが必要な理由は、対象物、例えば、必ず
しも一つではなく、数個のピクセルを、一度に移動させ
なければならない状況が通常起こるからである。それ
故、図15のコネクタFは、この機能を行うことができ
るループのスタートを示すために使用される。ブロック
206での問い合わせは、マウスの右ボタン24が押さ
れたかどうかを判断するために使用される。この問い合
わせの結果が「イエス」である場合には、ブロック20
8が実行される。このブロックでは、指定された対象物
に、図13で初期化されたデルタxおよびy値により調
整された左上の隅の座標値をセットする。次に、ブロッ
ク210が実行され、CRT対象物が除去される。最後
に、ブロック212が実行され、修正の効果を示すため
にCRTが再びペイントされると、ループは終了する。
その後、ブロック206をポイントしているFに向かっ
て分岐が行われる。これらステップの効果は、CRT1
4上のスクリーンまたは個々の対象物の位置を微調整す
るために、マウスの右ボタンを継続して迅速にクリック
することができるようになることである。
が、この問い合わせの結果が「ノー」である場合には、
マウスの右ボタン24によるクリックがまだ検出されて
いないことを意味する。その後、ブロック214が実行
される。マウス24の右ボタンのクリックによるブロッ
ク214の問い合わせの結果が「イエス」である場合に
は、Fに向かって分岐が行われる。ブロック214での
問い合わせの結果が「ノー」である場合には、ブロック
216が実行される。ブロック216の問い合わせの目
的は、指定の対象物をさらに移動させる必要があるかど
うかを判断することである。この問い合わせの結果が
「ノー」である場合には、左上、右上、左下または右下
への移動を行った後で行ったように、図12のCへ向か
って分岐が行われる。ブロック214での問い合わせの
結果が「イエス」である場合には、同じ指定されたCR
T対象物をさらに移動させることができるように、図1
3のDに向かって分岐が行われる。
択し、子の番号を入力した後で行われるビルダー・ツー
ル<B>による修正ステップについて説明することにす
る。また、新しい対象物を生成するためのステップにつ
いても説明しなければならない。最初に、図12を参照
する。ブロック146において、CRTの子を修正しな
ければならないかどうかを判断するために、問い合わせ
が行われる。この問い合わせの結果が「イエス」である
場合には、すでに説明したように、図16のコネクタG
に向かって分岐をする前に、ブロック164および16
6が実行される。図16のフローチャートについて説明
すると、ブロック218が実行されると、指定のCRT
の子を移動させなければならないかどうかについて判断
するために、問い合わせが行われる。この問い合わせの
結果が「イエス」である場合には、図13のDに向かっ
て分岐が行われる。このフローチャートの説明はこれで
全部終了する。この問い合わせの結果が「ノー」である
場合には、次に、ブロック220が実行される。消去メ
ニューから、ユーザに、「子」メニュー項目を選択させ
ることにより、ブロック220は実行される。この問い
合わせの結果が「イエス」である場合には、指定のCR
Tの子が削除され、次に、ブロック222が実行され
る。ブロック222の実行結果は、上記除去を反映する
ために、すべての子の対象物を保持している構造体のア
レイを修正する。子がスクリーン対象物だけである場合
には、スクリーンが同様に除去される。次に、ブロック
224が実行され、必要に応じて、スクリーン検索アレ
イが修正される。このアレイは、構造体のアレイの各ス
クリーン内の第一の子の位置を維持している。それ故、
スクリーンの対象物を取り出すことは非常に容易であ
る。何故なら、スクリーン索引アレイの連続している位
置が、必要な情報を供給するからである。
ップ(wrap−up)ロジックを示す図14のEに向
かって分岐が行われる。ビルダー・ツール<B>のフロ
ーチャートのこの部分についてはすでに説明したが、こ
こで再び図14の目的はCRT対象物を削除し、CRT
ディスプレイ14の変化を示すCRT対象物をリペイン
トし、ビルダー・ツール<B>を継続する場所を決定す
ることであることを指摘することは有益なことである。
再び、ブロック220に戻って説明すると、この問い合
わせの結果が「ノー」である場合には、ブロック226
が実行される。ユーザに交換メニューから「子」メニュ
ー項目を選択させることにより、ブロック226が実行
される。ブロック226での問い合わせの結果が「イエ
ス」である場合には、ブロック228が実行される。こ
こで、「iScreenNum1」、「iChildN
um1」、「iScreenNum2」および「iCh
ildNum2」の数値を入手するために、ダイアログ
が使用される。他の方法としては、これら四つの変数を
初期化するために、二つの対象物をマウス24の右ボタ
ンでクリックすることができる。その後、ブロック23
0において、二つの子の対象物が、構造体のアレイに置
かれ、その内容が相互に交換される。次に、CRT14
の内容を修正し、次に行うべきことを決定するために、
図14のEに向かって分岐が行われる。
せにより、更新メニューから四つのメニュー項目の中の
一つまたはそれ以上を使用して、現在の子を修正するこ
とができる。これらのメニュー項目は、「共通」、「黒
板」、「アイコン」および「ロジック」である。これら
の同じメニュー項目も、新しい対象物を生成するときに
アクセスされる。しかし、この場合の違いは、「共通」
項目を最初に選択しなければならないこと、その後表示
されたダイアログを完成させなければならないこと、そ
の後、対象物が実際に生成される前に、「OK」ダイア
ログ・ボタンを押さなければならないことである。次
に、関連更新メニュー項目が作動し、他のものは使用禁
止状態のまま残る。再び、ブロック226での問い合わ
せについて説明すると、ブロック226での問い合わせ
の結果が「ノー」である場合には、ブロック232が実
行される。この問い合わせの結果が「イエス」である場
合には、図17のコネクタHに向かって分岐が行われ
る。この分岐は、ブロック110および142が実行さ
れ、対象物の新しいスクリーンが生成された後で、図1
1で行われるのと同じ分岐である。それ故、図16の残
りの部分について説明した後で、この後、図17につい
てさらに詳細に説明する。
結果が「ノー」である場合には、「共通」修正作業を行
う必要がなく、ブロック234が実行される。ブロック
234での問い合わせの結果が「イエス」である場合に
は、図19のJに向かって分岐が行われる。このフロー
チャートについても後で説明する。ブロック234での
問い合わせの結果が「ノー」である場合には、ブロック
236が実行される。ブロック236での問い合わせの
結果が「イエス」である場合には、図20のKに向かっ
て分岐が行われる。このフローチャートについては、再
び後で説明する。ブロック236での問い合わせの結果
が「ノー」である場合には、次に、ブロック238が実
行される。この問い合わせの結果が「イエス」である場
合には、図21のLに向かって分岐が行われる。このフ
ローチャートについても後で説明する。最後に、ブロッ
ク238での問い合わせの結果が「ノー」である場合に
は、図12のCに向かって分岐が行われる。この最後の
分岐を行う理由は、ある種の修正に対して子が選択され
た場合、ユーザが意図した修正を万一行わない場合に
は、脱出経路が必要だからである。それ故、この特定の
時間に指定の子が修正されなかった場合には、Cへ戻る
ことができる。
の残りの部分は、新しいNICE対象物を生成するた
め、または今まで説明してきたのとは異なる方法で現在
のNICEを修正するために使用される更新メニュー項
目の使用に関する。それ故、すでに説明したように、四
つの更新メニューは、「共通」、「黒板」、「アイコ
ン」および「ロジック」である。図17のコネクタHに
ついて考えてみよう。Hにアクセスするには二つの方法
があることを思い出してほしい。最初に、新しい対象物
を生成する必要が生じ、図11のブロック110および
142でするように、最後の選択メニューの一つを選択
した場合を考えてみよう。その後、初期制御情報が分岐
を行う前に、デフォールト情報を与えた関連NICE制
御スロットと一緒に、一時構造体に記憶される。2番目
に、選択メニューから「子」メニュー項目が選択された
場合を考えてみよう。その後、構造体情報の子のアレイ
も、図17でHに向かって分岐する前に、一時構造体に
収容される。それ故、生成タスクと修正タスクとを一つ
に結合することができ、それによりビルダー・ツール<
B>のロジックが簡単になる。その結果、四つの更新メ
ニュー項目は、一時構造物を修正するのに使用される。
その後、必要な場合には、実際のインターフェースを反
映するために、この構造物は構造物のアレイを更新する
ために使用される。このプロセスの最初のステップは、
選択した新しい対象物のクラスを決定することである。
この決定は、あとで「共通」メニュー項目が選択された
とき、どのダイアログを表示すべきかを判断するために
必要である。
る。ブロック240が実行さると、「iPtr」変数が
1に初期化される。次に、前に選択した対象物名が新し
い対象物のリストからのものと一致するか、一致しない
ことが判明するまで、ブロック242から246で実行
されたループが使用される。続いて、ブロック240が
実行された後で、次に、ブロック242が実行される。
ブロック242での問い合わせの結果が「ノー」である
場合には、ブロック244が実行される。この問い合わ
せの結果が「イエス」である場合には、図12のCに向
かって分岐が行われる。これは、ユーザがインターフェ
ース更新と共に前に進むことを決定しないで、異なる修
正を行うか、プログラムをセーブするか、またプログラ
ムを終了するかを決定した場合に、脱出経路を提供す
る。続いて、ブロック244での問い合わせの結果が
「ノー」である場合には、「iPtr」変数が1だけ増
大する。次に、ループのスタートのブロック242が実
行される。ブロック242での問い合わせの結果が、制
御クラスが分かったことを意味する「イエス」になるま
で、ループが継続して実行される。その後、ブロック2
48が実行される。このブロックにおいて、「chCl
ass」変数、すなわち、選択メニューからのメニュー
選択に対応する「chCommon[i]」へ変数スト
リング値が与えられる。その後、「chClass」の
数値が必要な図18のコネクタIに向かって分岐が行わ
れる。
が更新メニューから選択されると、ブロック250が実
行される。表示されるダイアログは、変数「chCla
ss」の数値により異なり、NICE制御のタイプに直
接関連する。この点については後でさらに詳細に説明す
る。次に、ブロック252において、問い合わせが行わ
れる。この問い合わせの結果が「イエス」である場合に
は、「共通」ダイアログから脱出が行われ、図19のJ
に向かって分岐が行われる。この問い合わせの結果が
「ノー」である場合には、ブロック254が実行され
る。ブロック254での問い合わせの結果が「イエス」
である場合には、新しいカラーを入手するためにブロッ
ク256が実行される。このプロセスの第一のステップ
は、四角の中に表示された予め定義したカラーをクリッ
クするために、ウィンドウズ・ダイアログを使用するこ
とである。同様に、さらにクリックすることによりコラ
ムでカラーを微調整することができるコラム・カラーを
入手するために、ユーザはカラーのバンをマウス24で
クリックすることができる。または、ユーザは、カラー
の赤、青および緑に対して3ディジットの数値を入力す
ることができる。その後、ウィンドウズ・カラー・ダイ
アログ「OK」ボタンをクリックすると、ビルダー・ツ
ール<B>のダイアログに戻り、そこで対象物のカラー
数値が修正される。「キャンセル」ボタンを、ウィンド
ウズ・カラー・ダイアログでクリックすると、ダイアロ
グ・カラー値は元のままで変化しない。新しい対象物の
場合には、そのダイアログ上の三つの数値は、カラーが
ないことを示す−1である。10のNICE制御のすべ
てがカラーに使用することができるわけではないので、
いかなる場合にも、ブロック254および256は実際
には実行されない。
ブロックにおいては、ユーザは「共通」ダイアログ情報
を入力または修正する。もちろん、エラー・チェックも
行うことができる。次に、ブロック260が実行され
る。ブロック260での問い合わせの結果が「ノー」で
ある場合には、ブロック252に向かって再び分岐が行
われるが、このブロックで、ユーザは現在のダイアログ
の内容をキャンセルまたは修正することができる。ブロ
ック260での問い合わせの結果が「イエス」である場
合には、ブロック262が実行され、一時構造物が更新
される。その後、この情報は、実際のインターフェース
・データを保持している構造物情報のアレイと併合され
る。次に、ブロック264が実行される。ブロック26
4での問い合わせの結果が「イエス」である場合には、
対象物が新しい対象物であることを意味し、次に、ブロ
ック266が実行される。このブロックは「bIco
n」、「bBlackboard」および「bELL」
というブール変数を初期化し、その結果、それらの各ブ
ール値が「真」である場合には、最後の三つの更新メニ
ュー項目が使用可能になり、それらのブール変数値が
「偽」である場合には、使用不能になる。このセッテン
グは、制御のタイプに関連する。例えば、「応答ボック
ス」制御はどのロジックにも関連していないので、「b
ELL」値は「偽」である。
「ノー」である場合には、ブロック266はスキップさ
れる。何故なら、三つのブール変数は既にその正しい数
値を持っているからである。続いて、ブロック268が
次に実行される。ブロック268での問い合わせの結果
が「イエス」である場合には、「共通」ダイアログのC
RT14上での表示方法に関連を持つ子が変更される。
すなわち、子が新しい子になるのか、または現在の子の
カラー、サイズまたは位置が変更される。それ故、CR
T14上の変更を反映するために、ブロック270およ
び272が実行される。また、ウィンドウズのサイズ変
更ハンドルにより、対象物の四角いフレームに焦点が当
てられので、対象物を移動させたり、サイズを変更する
ことができる。サイズ変更ハンドルは、マウス24の右
ボタンをクリックすることにより、または他のメニュー
項目を選ぶことにより、除去することができる。続け
て、ブロック268での問い合わせの結果が「ノー」で
ある場合には、ブロック270および272がバイパス
される。最後に、図18において、ブロック252で行
ったように、直接Jに分岐が行われる。
業を実行する必要がない場合、図19のコネクタJに対
して分岐が行われ、何らかの他の方法により子の修正が
行われる。続いて、コネクタJに到着した場合には、ブ
ロック274が実行される。ブロック274での問い合
わせの結果が「ノー」である場合は、「黒板」メニュー
項目がアクティブでないことを意味し、図20のKに向
かって分岐が行われる。このフローチャートについては
この後で説明する。ブロック274での問い合わせの結
果が「ノー」である場合には、ブロック276が実行さ
れる。ブロック276での問い合わせの結果が「ノー」
である場合には、メニュー項目が使用可能であっても、
「黒板」修正作業を実行してはならない。その後、Kに
向かって分岐が行なわれる。ブロック276での問い合
わせの結果が「イエス」である場合には、「黒板」ダイ
アログが表示される。ブロック276での問い合わせの
結果が「イエス」である場合には、「黒板」ダイアログ
が表示される。このダイアログは、すべてのNICE制
御に対して共通である。
うために、図4のタッチ・スクリーン・ディスプレイ2
04を再び参照する。注文選択を行う六つの水平に並ん
だボタン(261−268)がどのように表示されるか
に留意されたい。実際には、これらのボタンは、一つの
フレックス・バー対象物の一部である。この対象物は記
号タグを必要とする。何故なら、「割引き」ボタンのよ
うな他のボタンを押すと、購入金額を変更する新しい情
報が入力されるからである。このことは、フレックス・
バーの上のテキストを修正しなければならないことを意
味する。しかし、「割引き」ボタンに関連するELL機
能は、コンパイル時のフレックス・バーに関連するスク
リーン番号または子番号を知らない。この問題は、記号
名「黒板」をフレックス・バー対象物に割り当てること
により解決される。この問題については、後でさらに詳
細に説明する。図8は、この六つボタンのフレックス・
バー1311用のインターフェース言語である。「黒
板」スロット値が、名称CASH FLEX BARと
共に、番号4を持っていることに留意されたい。このこ
とは、「blackboard/dat」支持ファイル
の第四の入力は、「CASH FLEX BAR」とい
う名称を持つものであることを意味する。要するに、図
19のフローチャートの目的は、対象物とともに「黒
板」スロットを内蔵させるか、または現在のスロットを
除去することである。
板」ダイアログを表示した後で、次に、ブロック280
が実行される。ブロック280での問い合わせの結果が
「イエス」である場合には、このダイアログから脱出が
行われるが、現在の「黒板」状態の変更は行われず、図
20のKに向かって分岐が行われる。ブロック280で
の問い合わせの結果が「ノー」である場合には、ブロッ
ク282が実行される。ブロック282での問い合わせ
の結果が「イエス」である場合には、「黒板」名が無効
にセットされる。ブロック284は、何時でも押すこと
ができるウィンドウズのボタンを、ダイアログ・スクリ
ーン上に設置することによって実行される。ブロック2
82での問い合わせの結果が「ノー」である場合には、
「黒板」状態は変化せず、直ちにブロック286が実行
される。一方、ブロック282での問い合わせの結果が
「イエス」である場合には、ブロック288が実行され
る。このブロックの実行は以下のように行われる。最初
に、リスト・ボックスが複数の「blackboar
d.dat」名で満たされ、これら名称はアルファベッ
ト順に表示される。2番目に、必要な「黒板」名を選択
するために、リスト・ボックスと一緒に使用される。こ
のボックスにおいて、選択したものをタイプすると、対
応するリスト・ボックス入力が強調される。
結果が「ノー」である場合には、新しい「黒板」名は選
択されない。次に、新しい「黒板」が入力された場合、
および「黒板」状態が変化していない場合の両方の場合
に、ブロック290が実行される。この問い合わせの結
果が「ノー」である場合には、ダイアログ・スクリーン
の内容は変化しない。その後、ブロック280に向かっ
て分岐が行われ、そこでダイアログ情報を修正すること
ができるか、またはダイアログをキャンセルすることが
できる。ブロック290での問い合わせの結果が「イエ
ス」である場合には、一時的構造物が更新され、ブロッ
ク292の構造物情報のアレイと併合され、図20のK
に向かって分岐が行われる。図20のコネクタKは、こ
のコネクタが「黒板」修正ではなく、NICEアイコン
修正に関連しているという点を除けば、図19のコネク
タJに非常によく似ている。アイコンのコンセプトをは
っきりさせるために、図3のタッチ・スクリーン・ディ
スプレイ213の「食事としての」制御213−1を再
び参照する。サラダ・ボウルのように形をした画像21
3−1Pに留意されたい。NICEシステムは、小売り
およびその他の分野で役に立つ多くのこのようなアイコ
ンを供給する。図7において、「食事としての」インタ
ーフェース表現1304は、「アイコン」と呼ばれるス
ロット1304−3を持つ。この場合、数値は、「SA
LAD_C」である。このプログラムは、ビルダー・ツ
ール<B>「.rc」ファイルにより、この名前の関連
を解明する。NICEディレクトリ内の実際の名前およ
び経路を使用して地図の作成が行われる。
6、298、300、302、304、306および3
08に対して、「bBlackboard」の代わり
に、「bicon」変数が使用され、リスト・ボックス
が、「blackboard.dat]ファイルではな
く、NICEアイコン・ディレクトリからの供給により
満たされる。それ故、これらボックスに対するコメンタ
リは反復されない。続いて、ブロック308より後が実
行され、それからブロック310が実行される。ボック
ス310での問い合わせの結果が「ノー」である場合に
は、ブロック300に向かって分岐が行われ、そこでさ
らなるダイアログ変更を行うこともできるし、またはダ
イアログをキャンセルすることもできる。ブロック31
0の問い合わせの結果が「イエス」である場合には、ブ
ロック312が実行される。ボックス312での問い合
わせの結果が「イエス」である場合には、図21のLに
向かって分岐が行われる前に、ブロック314−318
が実行される。これら三つのブロックは、一時構造体を
修正し、それを子情報を含む構造体のアレイと併合し、
CRT対象物を除去し、アイコン変更を内蔵するCRT
対象物を直ちに再表示する。こうすることにより、アイ
コン割当が正しく行われているかどうかを容易にチェッ
クすることができる。続いて、ブロック312での問い
合わせの結果が「ノー」である場合には、三つのブロッ
クがバイパスされ、直接Lへの分岐が行われる。
ツール<B>の最後のフローチャートである。このフロ
ーチャートにおいて、ELL情報は、修正することがで
きるか、見ることができる。説明のために、図8のその
スロットを持つ第一のNICE制御1311を考えてみ
よう。この制御1311は、フレックス・バー対象物で
あり、一般的に、この対象物は、2〜8のボタンを持つ
ことができることを思い出してほしい。この場合、ボタ
ンの数は六つである。この対象物に対する六番目のスロ
ット1311−6は、「入力」という名前を持ち、その
関連データはテキストは「y」である。このことは、こ
の制御が実行時間システム<R>に関連していることを
意味する。「入力」スロットの後には、次の三つのスロ
ット名1311−7、8および9、すなわち、「機能
1」、「消去1」および「生成1」があることに留意さ
れたい。図4のタッチ・スクリーン・ディスプレイの
「Cash」ボタンを押すと、アクセスされる機能が
「Flex_Cash_Speciall」となる。こ
の機能は、たまたま「keylogic.dat」とい
う名前の支持ファイルの一つの中にある39番目の機能
である。次のスロット「消去1」は、このELL機能が
実行を終了したとき、消去されるスクリーンのリストを
表示する。スクリーン番号リストの末尾は、a−1値に
なっている。次に、「生成1」スロットは、前のスクリ
ーンがCRTから除去された時、生成されるスクリーン
のリストを表示する。同様に、このフレックス・バーの
一部である残りの五つのボタンにそれぞれに対して、類
似のスロットが存在する。
L情報を入力するためのステップである。最初に、ブロ
ック320が実行される。ブロック320での問い合わ
せの結果が「ノー」である場合には、「ロジック」メニ
ュー項目がアクティブでないことを意味し、図22のコ
ネクタMに向かって分岐が行われる。ブロック320で
の問い合わせの結果が「イエス」である場合には、EL
L情報のどれかを修正する必要があるかどうかを知るた
めに、ブロック322が実行される。ブロック322で
の問い合わせの結果が「ノー」である場合には、上記の
ようにMに向かって分岐が行われ、ELLの修正ができ
たとしても、修正は行われない。ブロック322での問
い合わせの結果が「イエス」である場合には、ブロック
324が実行される。この場合、最初のELLダイアロ
グ情報が「機能1」テキストの左に、「−−>」ポイン
タ付きで表示される。このような表示が行われるのは、
すべてのボタンの機能に対する情報を指定するために同
じダイアログが使用されるからである。また、アルファ
ベット順のすべてのELL機能名と一緒に、リスト・ボ
ックスが表示される。リスト・ボックスの上には、第一
の機能に関連するデフォルトまたは現在のELL機能名
を示すELL選択ボックスがある。
消去および生成スクリーン情報が与えられる。この情報
は、単に、四つの分類のそれぞれに対するスクリーンの
リストに過ぎない。通常の分岐に関連するスロット名
は、それぞれ、「destroyi」および「crea
tei」であり、補助分岐に対するスロット名は、「d
estroy_auxi」および「create_au
xi」である。上記のスロット名の末尾の「i」は、1
〜8の数字である。これらの分岐分類のそれぞれに対し
て、最大数のスクリーンが使用できる。分岐情報がイン
ターフェース・スロット言語に内蔵されると、すでに説
明したように、スクリーンの各リストの末尾はa−1に
なる。続けて、ブロック324が実行された後で、ブロ
ック326が実行される。ブロック326での問い合わ
せの結果が「イエス」である場合には、現在のダイアロ
グのキャンセルを意味し、ELL情報の変更は行われ
ず、図22のMに向かって分岐が行われる。このフロー
チャートについては、後でさらに詳細に説明する。ブロ
ック326での問い合わせの結果が「ノー」である場合
には、ブロック328が実行される。ブロック328で
の問い合わせの結果が「イエス」である場合には、ブロ
ック330が実行される。ブロック330における入力
作業は、重ね書きするダイアログ・エディタを使用し、
必要な場合には、第一の機能に対する分岐情報およびE
LL機能を使用して行われる。次に、ブロック332が
実行される。ブロック332での問い合わせの結果が
「ノー」である場合には、現在の機能修正作業は放棄さ
れ、ブロック326に向かって分岐が行われ、そこで、
必要な場合には、ELL機能作業が継続される。ブロッ
ク332での問い合わせの結果が「イエス」である場合
には、「Select」ボタンが押され、ブロック33
4のダイアログ情報が読み取られる。
ダイアログ情報がメモリに保持され、ブロック図338
に向かって分岐が行われる。ブロック338での問い合
わせの結果が「ノー」である場合には、ブロック328
も実行される。ブロック338での問い合わせの結果が
「イエス」である場合には、制御の次のELL情報がア
クセスされ、ダイアログ・スクリーン上に表示され、
「−−>」ポインタが次の「機能i」テキストに進む。
「i」は1〜8である。ボタンが一つ機能しか持ってい
ない場合には、ポインタおよびダイアログ情報は変化し
ない。ここでもまた、ブロック340が実行されると、
ポインタが前に進む。その後、ブロック342が実行さ
れ、ダイアログの内容が上記の前進を反映する。続け
て、ブロック326へ分岐が行われ、そこでさらにEL
Lの変更を行うことができ、またはダイアログをキャン
セルすることができる。キャンセルした場合には、すべ
ての現在の変更が放棄される。ブロック338について
再び説明すると、この問い合わせの結果が「ノー」であ
る場合には、ブロック344が実行される。ブロック3
44での問い合わせの結果が「ノー」である場合には、
ブロック326へ分岐が行われ、そこでもっと多くのE
LLの更新を行うこともできるし、またはダイアログを
キャンセルすることができる。この問い合わせの結果が
「イエス」である場合には、ブロック346が実行され
る。この場合、子に対する構造体のアレイが、ダイアロ
グの変更を反映するために更新される。次に、図22の
Mに向かって分岐が行われる。
のフローチャートである。このフローチャートの目的
は、四つの更新メニュー項目を使用した後で行う作業を
決定することである。完全にするために、四つの問い合
わせにより、必要な場合には、四つの更新メニュー項目
に再びアクセスすることができる。それ故、ブロック3
48、350、352および354の問い合わせのどれ
かが「イエス」である場合には、それぞれI、J、Kお
よびLへ分岐が行われる。これら問い合わせの結果がす
べての「ノー」である場合には、ブロック356が実行
される。この問い合わせの結果が「ノー」である場合に
は、図11のAに向かって分岐が行われる。本質的に
は、新しいスクリーンが完全に形成された後で、分岐が
行われる。この問い合わせの結果が「ノー」である場合
には、ブロック358が実行され、変数「iChild
Num」が1だけ増大する。次に、ブロック360が実
行され、新しいスクリーンに追加する次の新しい対象物
を識別するために、次の選択メニューの選択が行われ
る。次に、次のNICE対象物を組立るために、四つの
更新メニューの使用プロセスを反復して行うために、図
17のHに向かって分岐が行われる。
通」ダイアログに最後にいくつかつけ加えたい。これら
ダイアログは、本発明の基礎となるものである。何故な
ら、ダイアログ・フィールドにより、図7から図9に示
すスロットを容易に配置することができるからである。
その後、タッチ・スクリーン・ディスプレイ32をペイ
ントし、管理するために、インターフェース言語を分析
し、適当なウィンドウズ・コマンドにアーギュメントと
して、内蔵させることができる。1994年発行の(N
CR社から入手することができる)「NICE(登録商
標)クライアント、Cに対するプログラミング情報 リ
リース1.2」という表題の出版物に各NICE制御お
よびその能力が記載されている。それ故、ビルダー・ツ
ール<B>で使用される共通ダイアログは、テキスト、
ラジオ・ボタンおよび他の種類のフィールドのような種
々のダイアログ技術を使用して、この情報を入手する。
チャールズ・ペゾルド著の1992年発行の「プログラ
ミング・ウィンドウズ(商標)3.1」または他のオペ
レーティング・システムおよび/またはオペレーティン
グ環境についての容易に入手することができる類似の参
考書に、ウィンドウズ・メニュー、メニュー項目および
ダイアログを組み立てる複雑な方法が記載されている。
の一般的な情報を含んでいる。最初に、各スクリーン番
号および子の番号が常に表示され、修正することができ
る。例えば、新しい「応答ボックス」を現在のスクリー
ンに追加する場合には、選択メニューからこの選択を行
った時に、ビルダー・ツール<B>は、新しいスクリー
ンを上記のものと見なす。しかし、その新しい対象物
を、現在のスクリーンに追加する場合には、ダイアログ
・スクリーン番号を修正することができ、現在のスクリ
ーンの正しい場所にこの新しい対象物をセットするため
に、「前」および「後」ラジオ・ボタンを使用すること
ができる。第2に、「ウィンドウ」スロットに関連する
四つの座標を、640x480ピクセル表示により、ま
たは必要な状態を示すために、ラジオ・ボタンを使用す
ることによって、インチにより表示することができる。
インチを指定した場合には、小数であるが三桁の数値の
形で四つの数値が入力される。例えば、2.5インチは
250の形で入力される。この入力方法は、現在のタッ
チ・スクリーン・インターフェースを、レバレッジ・オ
フ(leverage off)するのにビルダー・ツ
ール<B>を使用するとき、非常に便利である。「O
K」ボタンを押すと、これら座標はピクセル・フォーマ
ットに変換される。
つの便利な特徴は、類似の新しいボタンを形成中である
場合には、「共通」ダイアログが同じ大きさの制御とな
り、対象物間の前の間隔を使用することである。例え
ば、図6のタッチ・スクリーン・ディスプレイ232に
留意されたい。形成するための10のピザのトッピング
があり、それはサイズを一回入力しなければならない時
だけ役に立つ。それ以降は、「共通」ダイアログがサイ
ズを「知っている(know)」。もちろん、変更する
ことはできるが、通常はそのままで使用される。
ル(以後<T>と呼ぶ)について以下に説明する。図1
0について説明するが、タッチ・スクリーン・ディスプ
レイ401の上に表示されているテスター・ウィンドウ
410に留意されたい。テスター・ウィンドウ410の
テキストの最初の行は、現在のタッチ・スクリーン・デ
ィスプレイ401を指定するスクリーン番号のリストで
ある。このテスター・ウィンドウ410の次の2行は、
分析中の論理対象物のボタン面テキストであるテキスト
を示す。この場合、このボタンは一行のテキストを持
ち、そのテキストは「二つ以上のピザ」である。この行
の直後はブランクになっている。次に、ELL機能名が
表示される。図10の場合には、名前は「ピザ1」であ
り、この名前は、「keylogic.dat」ファイ
ルに含まれていて、後で説明する実行時間システム<R
>に指定されている機能に対応する。テスター・ウィン
ドウ410の最後の行は、通常または補助どちらかの分
岐のタイプを示す。
>構成部材により、タッチ・スクリーン・ディスプレイ
がCRT14上に最初に表示されたとき、そのすべての
論理ボタンは、ユーザが触れるように、一度に一つずつ
試験される。テスター・ウインドウ410は、ウィンド
ウ410が試験中の対象物をカバーする場合には、図1
0に示すように表示されるか、左上の隅(またはウィン
ドウ401の任意の他の領域)に移動することができ
る。要するに、本発明のテスター・ツール<T>は、視
覚的に、外部インターフェースの経路を横切ることがで
きる。図23−図24のフローチャートついて説明する
と、テスター・ツール<Ts>の実行は、ブロック50
0からスタートし、ブロック502まで継続して行われ
る。ブロック502が実行されると、ビルダー・ツール
<B>の実行に類似の方法で、二つのインターフェース
・ファイルおよび二つの支持ファイルが開かれる。しか
し、この際、インターフェース・プリフィックスは選択
されないが、そのかわり「autopos」がプリフィ
ックスであると見なされる。その理由は、このインター
フェースが、実行時間システム<R>(後で説明する)
により使用されたものだからである。次に、ブロック5
04−506がシーケンシャルに実行されるが、これら
ブロックは、図11のブロック114−116と同じも
のである。続けて、ブロック508が実行され、CRT
14上に表示されているスクリーンが逆の順序で検査さ
れ、関連論理ボタン情報がスタックの一番上にくる。例
えば、図10について再び説明すると、テスター・ウィ
ンドウ410に表示されているスクリーン番号は、3、
7、4および5である。スタックから取り出された第一
の論理子の情報は、スクリーン3の第一の論理子でなけ
ればならない。それ故、スクリーンを重ねて表示する場
合には、テスター・ツール<T>は最初に最後のスクリ
ーンを検査する。それはスクリーン5である。さらに、
同じ理由で、子達は逆の順序で検査される。論理子の決
定は、子に対する「入力」スロットの数値が「y」であ
るかどうかをチェックすることにより行われる。その子
が論理子である場合には、ビルダー・ツール<B>のと
ころですでに説明したフレックス・バーのような多重機
能を持つことができ、各機能は、通常および補助分岐モ
ードに対して個々に試験しなければならない。それ故、
各機能に対して、通常二つのスタック入力がある。
スタックの構造は、幾分複雑のように見えるが、全部の
プロセスは容易に実行することができる。何故なら、ス
クリーン・アレイ索引値がi番目のスクリーンの第一の
子が表示されるi番目の場所を示しているからである。
その後、子が発見されると、すべての種々の機能情報を
保持している構造物のアレイに複数のアレイが存在して
いる。続けて、次に、ブロック510が実行される。ス
タックの一番上のスタック項目が取り出される。図10
の例の場合には、検索された第一の品目は、「二つ以上
のピザ」と表示されている一つのボタン211−1に対
する論理ボタン情報である。次に、ブロック512が実
行され、スタック情報がフォーマットされ、NICEコ
マンドにより、テキストをウィンドウに置くことができ
るNICEポップアップ・ウィンドウに送られる。テス
ター・ウィンドウ410が表示された後、左下の隅また
は左上の隅(または、他の場所)に、数秒間ウィンドウ
を表示することができるようにプログラム遅延が生じ
る。その後、ブロック514が実行され、テスターツー
ル<T>を終了することができる。ブロック514の実
行は、数字キーが押されたか、押されなかったかを決定
することにより、行うことができる。押された場合に
は、ウィンドウズ・オペレーティング環境により、イベ
ントが、テスターツール<T>に送られる。続けて、ブ
ロック514での問い合わせの結果が「イエス」である
場合には、図24のEに向かって分岐が行われ、プログ
ラムは終了する。この問い合わせの結果が「ノー」であ
る場合には、ブロック516が実行される。
「イエス」である場合には、プログラムは一時停止しな
ければならない。この問い合わせは、スペース・バーが
押されたか、押されなかったかを判断することにより行
われる。押された場合には、プログラムは一時停止す
る。スペース・バーをもう一度押すと、プログラムが再
開する。続けて、ブロック516での問い合わせの結果
が「イエス」である場合には、ブロック518が実行さ
れる。ブロック518での問い合わせの結果が「ノー」
である場合には、プログラムの一時停止状態は継続し、
ブロック518が再び実行される。ブロック518での
問い合わせの結果が「イエス」である場合には、プログ
ラムからの脱出が行われているかどうかを知るために、
ブロック514へ分岐が行われる。最後に、ブロック5
16での問い合わせの結果が「ノー」である場合には、
図24のCに向かって分岐が行われ、そこで試験が継続
して行われる。
常、図24のフローチャートがスタートする。また、プ
ログラムを放棄しなければならない場合には、図23か
らEに分岐することができる。続いて、Cへ分岐が行わ
れると、ブロック520が実行され、ウィンドウ環境
に、テスター・ウィンドウ・ハンドルに基づく従来のメ
ッセージを送ることにより、テスター・ウィンドウが消
去される。次に、ブロック522が実行される。ブロッ
ク522での問い合わせの結果が「イエス」である場合
には、スタックが空になり、通常プログラムからの脱出
が行われる。何故なら、全インターフェースの試験が終
了したからである。ブロック522での問い合わせの結
果が「ノー」である場合には、スタックは空にならな
い。それ故、ブロック526へ分岐が行われ、論理ボタ
ンの試験が継続して行われる。ブロック526が実行さ
れると、ブロック510の場合と同じ方法で、スタック
から論理ボタン情報が取り出される。次に、ブロック5
28が実行される。ブロック528での問い合わせの結
果が「イエス」である場合には、CRTスクリーンは現
在のCRTスクリーンのままで、次のテスター・ウィン
ドウ410の表示プロセスを再度スタートするために、
図23のBに向かって分岐が行われる。この問い合わせ
の結果が「ノー」である場合には、ブロック530が実
行される。ブロック530での問い合わせの結果が「イ
エス」である場合には、ブロック532−534が実行
され、現在のCRTからの一つまたはそれ以上のスクリ
ーンが消去され、一つまたはそれ以上のスクリーンが追
加される。消去および生成されたスクリーンは通常の分
岐に関するものである。ブロック530での問い合わせ
の結果が「ノー」である場合には、ブロック536−5
38が実行される。これらブロックは、分岐モードが補
助であることを除けば、ブロック532−534に類似
している。ここでも、これらブロックの実行は、すでに
説明したように、子の生成および消去スロットを使用し
て行われる。
ック540が実行される。ブロック540での問い合わ
せの結果が「イエス」である場合には、CRT14上の
残りの一つまたはそれ以上のスクリーンが、最初に、表
示され、試験を継続する前に、新しい論理ボタン情報を
スタックに挿入するために、図23のAに向かって分岐
が行われる。ブロック540での問い合わせの結果が
「ノー」である場合には、CRTは前の状態から変化す
るが、現在のCRT上のスクリーンは既に試験済みか、
現在試験中である。すなわち、もう試験する新しい論理
ボタンは存在しない。それ故、現在のCRTが数秒間表
示され、テスター情報を入手するために、Dへ分岐が行
われる前に、ブロック542−544が実行される。こ
こでもまた、ブロック544の実行の結果、すべてのC
RTスクリーン対象物が除去される。その後、ブロック
544が実行され、取り出される次のスタック項目に対
応するCRTスクリーンが表示される。このCRT表示
の決定は、その項目を取り出さないで、次の項目を見る
ことができる「観察」スタック・オペレータを追加する
ことによって、容易に行うことができる。これで一つの
追加説明を除いて、本発明のテスター・ツール<T>構
成部材の説明を終了する。ブロック534でもブロック
538でも、スクリーンが表示できない場合には、それ
が存在しないからである。その場合には、ユーザに対し
てエラー・メッセージを表示するために、ポップアップ
・ウィンドウが使用される。任意のキーを押すと、試験
が継続して行われる。
間システム(以後<R>と呼ぶ)について以下に説明す
る。図25−31について説明すると、実行時間システ
ム<R>の実行は、ブロック600からスタートし、ブ
ロック602まで継続して行われる。ブロック602に
おいては、実行時間の初期化がスタートする。より詳細
に説明すると、ブロック602において、背景が白の6
40x480のベース・ウィンドウが生成される。その
後で、種々のインターフェース・スクリーンが生成され
ると、種々のNICE制御または子のウィンドウがこの
ウィンドウの上に表示される。また、ベース・ウィンド
ウ・ハンドルが、すべてのウィンドウ環境メッセージを
受信するために使用される。次に、ブロック602の実
行の一部として、実行時間システム<R>にイベント・
メッセージが送られ、その結果、もっと多くの初期化作
業が行われる。例えば、プリンタ38および現金収納引
出し40および任意の他の周辺機器の初期化が行われ
る。さらに、NICE制御が作動し、ブール「黒板」変
数が、「b1ackboard.dat」ファイルのす
べての名前がまだ使用されていないことを示す「偽」が
セットされる。
の「autopos」インターフェース・ファイルが開
かれる。この場合、ビルダー・ツール<B>およびテス
ターツール<T>の実行内容とは対照的に、支持ファイ
ルは必要ない。それ故、支持ファイルは開かれない。次
に、ブロック606が実行され、二つのインターフェー
ス・ファイルが読まれる。「autopos.frm」
レコードが読まれると、各スクリーンの子達が、シーケ
ンシャルに構造体のアレイに記憶される。新しい各スク
リーンが発見されると、その第一の子のアレイの位置
が、「iScreenslndex」アレイの次の素子
に記憶される。さらに、「黒板」スロットに遭遇したと
き、構造体のアレイの子の対応する位置が、将来使用す
るために「黒板」アレイに保持される。このようにし
て、コンパイル時間中でなく、実行時間中に、システム
記号名が決定する。インターフェースがメモリに読み込
まれると、ブロック608が実行される。このブロック
は、ウィンドウ環境に他のイベント・メッセージを送る
ことにより、実行することができる。このブロック60
8は、コネクタAによりマークされていることを知って
いれば役に立つ。何故なら、ロジックは、タッチ・スク
リーン・ディスプレイ32が変更になる度に、実行され
るからである。ブロック608を実行すると、その結
果、アレイ「iScreensActive」が、現在
のディスプレイを含むスクリーンにより、初期化され
る。この情報は、最初、すでに説明したように、「au
topos.frm」ファィルの最初の行から送られて
くる。また、「iActivePtr」変数は、「iS
creensActive」アレイの最後のアクティブ
な素子の位置をマークする。変数「iStartNew
Screen」は、「iScreensActive」
アレイ中の新しいスクリーン番号の最初の部分が存在す
る位置を示す。最初に、この数値は、「iScreen
sActive」アレイの最初のアクティブな素子をマ
ークする。
に、もう一度図3の表示を参照する。「ビール」ボタン
221−8が押されたとしよう。その場合には、新しい
「飲物」スクリーンが生成されるが、スクリーンの残り
の部分は変わらない。それ故、「iStartNewS
creen」の数値は、「iActivePtr」と同
じである。何故なら、新しいスクリーン番号は、「iS
creensActive」アレイの現在のスクリーン
番号の後に表示されるからである。最後に、ブロック6
08において、ループ変数「i」が、「iStartN
ewScreen」の数値に初期化される。こうするこ
とにより、ループを実行することができ、この場合、各
反復によりスクリーンの子達の他のグループがタッチ・
スクリーン32上に表示される。ブロック608の後
で、コネクタCに遭遇し、タッチ・スクリーン・ディス
プレイの新しいひとつのスクリーンの生成に関連するす
べてのステップが、図26から開始する。これについて
は、後でさらに詳細に説明する。次に、ブロック610
が実行され、特殊のブール変数が、今アクティブにした
スクリーン番号に従って「真」にセットされる。例え
ば、再び、図3のタッチ・スクリーン・ディスプレイに
ついて説明するが、右下の隅の六つのボタン(241−
1から241−6)に留意されたい。これらのボタン
は、レシートの内容に基づいて状況次第で使用すること
ができ、関連スクリーンが始めて生成される。それ故、
これらボタンの中のあるボタンが、スクリーン生成の一
部として表示された場合には、対応するスクリーン・ブ
ール変数を「真」にセットするために、各黒板変数が使
用される。要するに、ブロック610において、あるブ
ール「黒板」変数が「真」にセットされる。これら変数
の中のあるものは、各実行時間システム<R>実行にあ
り、他のものは特定の実行時間システム<R>実行に関
連する。
「i]が1だけ増大する。次に、ブロック614が実行
され、すべての新しいスクリーンがタッチ・スクリーン
上に表示されたかどうかを知るために、問い合わせが行
われる。この問い合わせの結果が「ノー」である場合に
は、コネクタCに向かって分岐が行われ、そこで次のス
クリーンを生成するためのステップが供給される。この
問い合わせの結果が「イエス」である場合には、特殊な
ブール変数ロジックが実行される。例えば、生成された
後、最初に、図3のディスプレイの「品目変更」ボタン
241−2が使用できなくなる。何故なら、そのとき、
レシートが空であるからである。それ故、ブロック61
6は、特定のブール変数が「真」または「真」でない各
機能に対するガードを備えた機能呼出のグループとして
コード化される。ここでもまた、これら機能の中のいく
つかは、汎用化されているが、他のものは領域毎に異な
る。続いて、ブロック616が実行された後で、図29
のHに向かって分岐が行われる。
ャートの目的は、制御タッチ・イベントを処理するのに
必要なステップを示すことである。Hに分岐が行われる
と、ブロック670が実行される。ブロック670での
問い合わせの結果が「イエス」である場合には、レシー
トのスクロールが実行される。これがどのような働きを
するかを知るために、図3のタッチ・スクリーン・ディ
スプレイを再び参照する。右上の隅のレシートには、二
つの矢印231−1および231−2が表示されてい
る。これらの矢印231−1および231−2に触れる
と、上向きまたは下向きのレシートのスクロールが起こ
る。このようなレシートのスクロールが起こった場合に
は、NICEは他のレシート項目を強調することによっ
て、自動的にスクロールし、実行時間システム<R>に
イベント・メッセージを送り、ブロック672が実行さ
れたとき、そのメッセージが処理される。例えば、図3
においては、新しいレシート項目が強調される度に、六
つのボタン241−1から241−6までを作動させる
か、または作動を中止させなければならない。スクロー
ルの副作業が終了すると、Hへ分岐が行われ、他の実行
時間システム<R>タッチ・スクリーン・イベントを待
つ。
と、この問い合わせの結果が「ノー」である場合には、
ブロック674が実行される。ここで、ループ変数
「i」が初期化される。以降のループの目的は、各アク
ティブ・スクリーンを検査し、論理ボタンの一つに指が
触れたかどうかを知ることである。続いて、次に、図3
0のコネクタJに進む。図30のフローチャートの目的
は、特定のスクリーンの場合、最初に論理ボタンの位置
を知るのに必要なステップを供給し、その後で、そのE
LL機能を実行することである。これについては、後で
さらに詳細に説明する。 論理ボタンが他のスクリーン
上にあると仮定しよう。この場合には、ブロック676
が実行され、ループ変数「i」が1だけ増大する。次
に、ブロック678が実行され、「i」が「iActi
vePtr」より大きいかどうかを知るために、問い合
わせが行われる。この問い合わせの結果が「ノー」であ
る場合には、もっと多くのアクティブなスクリーンをサ
ーチしなければならないことを意味し、次のアクティブ
・スクリーンを使用してサーチを反復して行うために、
jへ分岐が行われる。この問い合わせの結果が「イエ
ス」である場合には、Hへ分岐が行われ、もっと多くの
関連Rイベントを待つことになる。何故なら、現在のイ
ベントが、論理タッチ・スクリーン・イベントではない
からである。実行時間システム<R>の後二つのタスク
について説明する。第一のタスクは、次のこと、すなわ
ち、触れられた論理ボタンの発見、正しいELL機能へ
のアクセスと実行、および以降の消去および生成(de
stroy−and−create)作業実行をどのよ
うに行うかを示すために、図30および図31を使用す
ることである。第2のタスクは、スクリーンの子達を生
成するのに必要なステップを示すために、図26から図
28を使用することである。
テム<R>によりタッチ・スクリーン・イベントが検出
された場合、またこのスクリーン番号が、今指で触れた
論理ボタンを含んでいるかどうかを知るために、「iS
creensActive」アレイのi番目の素子を使
用しなければならない場合、コネクタJに分岐が行われ
る。続いて、ブロック680が実行され、変数「n」が
検査対象のスクリーン番号にセットされる。また、それ
ぞれ「iScreenlndex[n]」および「iS
creenIndexC[n+1]」に、変数「iSt
art」および「iEnd」を割り当てることにより、
構造体のアレイのサーチ範囲が決定される。その後、ル
ープ変数「j」が、数値「iStart」に初期化され
る。次に、ブロック682が実行され、コネクタKによ
りマークされる。何故なら、そこが、子のサーチ・ルー
プのスタート位置であるからである。ブロック682に
おいては、j番目の子が構造体のアレイから取り出さ
れ、一つの構造体にセットされる。その目的は、特にイ
ンターフェースが大きすぎて、データ・セグメント制限
を避けるために、いくつかの構造体のアレイが必要な場
合に、より簡単なコード化を行うためである。
問い合わせの結果が「ノー」である場合には、ELL機
能をNICE対象物と関連させず、ブロック706にお
いて、Lへ分岐が行われる。ブロック706実行される
と、ループ変数「j」が1だけ増大し、その結果、この
スクリーンの次の子を検査することができる。次に、ブ
ロック708が実行される。ブロック684での問い合
わせの結果が「イエス」である場合には、jが「iEn
d」より小さいことを意味し、ブロック682におい
て、Kへ分岐が行われ、その結果、子のサーチ・ループ
を継続することができる。ブロック708での問い合わ
せの結果が「ノー」である場合には、図30のIに向か
って分岐が行われ、その結果、スクリーン・サーチ・ル
ープを継続することができる。再び、ブロック684に
ついて説明すると、この問い合わせの結果が「イエス」
である場合には、論理ボタンが発見され、ブロック68
6が実行される。ブロック686の問い合わせの結果が
「イエス」である場合には、NICE数字キーパッド制
御が触れられた現在の子になり、ブロック688へ分岐
が行われる。ブロック688が実行されると、キーボー
ド変数が初期過化され、「k」に子の「iEntryF
unctions[1]」の数値が割り当てられる。何
故なら、キーパッド制御は、一つのボタン制御と見なす
ことができるからである。また、「k」内の数値は「k
eylogic.dat」ファイルのELL機能の相対
的な位置であることを思い出してほしい。続いて、図3
1のMに向かって分岐が行われる。このフローチャート
は、ELL機能番号が分かった場合の、ボタンの汎用論
理ステップを示す。これについては後で説明する。
「ノー」である場合には、ブロック690が実行され
る。ブロック690での問い合わせの結果が「イエス」
である場合には、フレックス・バー制御にすでに指が触
れている。例えば、図4のタッチ・スクリーン・ディス
プレイについて説明すると、「$100」ボタンが必要
金額である場合には、この水平のフレックス・バーの第
三のボタン263に指を触れる。続けて、次に、ブロッ
ク692が実行される。現在のイベント・メッセージ・
パラメータの一つを検査することにより、「iPtr」
変数が初期化される。その後、正しいELL相対番号を
入手するために、「k」が「iEntryFuncti
on[iPtr]」に初期化される。最後に、今までの
ようにMへ分岐が行われる。ブロック690での問い合
わせの結果が「ノー」である場合には、ブロック694
が実行される。ブロック694での問い合わせの結果が
「イエス」の場合には、フレックス・バー以外の多重ボ
タン制御の左のボタンに、すでに指が触れられていて、
ブロック696が実行される。ブロック696において
は、「k」が「iEntryFunctions
[1]」に初期化される。何故なら、これが左のボタン
ELL機能番号が記憶されている場所だからである。そ
して、今までと同じように、Mへ分岐が行われる。
「ノー」である場合には、ブロック698が実行され
る。ブロック698での問い合わせの結果が「イエス」
である場合には、NICE制御の中央のボタンにすでに
指が触れている。次に、ブロック700が実行され、
「iPtr」が初期化される。この数値は制御の特定の
種類によって変わる。例えば、図6のタッチ・スクリー
ン・ディスプレイにおいては、「ペパロニ」ボタン23
2−1の中央のセクション232−1Bが強調される
が、このセクションは三つのタッチ位置(232−1
A、232−1B、および232−1C)の第2の部分
である。しかし、図5のタッチ・スクリーン・ディスプ
レイの「リセット」ボタン251−1に指を触れると、
中央のボタンに指を触れたことが検出されるが、この場
合は、ELL機能は「iEntryFunction
s」の第一の素子内にある。ブロック700での第2の
ステップで、「k」に正しい数値が割り当てられる。次
に、今までのように、Mへ分岐が行われる。 ブロック
698での問い合わせの結果が「ノー」である場合に
は、ブロック702が実行される。この問い合わせの結
果が「イエス」である場合には、ブロック704が実行
され、「iPtr」にその正しい数値が与えられ、
「k」にその数値が与えられ、Mへ分岐が行われる。ブ
ロック704の初期化ロジックは、二つまたは三つの論
理ボタン制御にすでに指が触れたかどうかを判断するの
に必要である。何故なら、対応するELL機能番号が、
「iEntryFunctions」の異なる場所に記
憶されているからである。ブロック702での問い合わ
せの結果が「ノー」である場合には、タッチ・スクリー
ン・イベントは関連のあるイベントではなく、スクリー
ン上の次の子を検査しなければならない。ブロック70
6から始まるこのロジックについては、すでに説明し
た。
は、ELL相対機能番号が、今触れたばかりの制御に対
して発見された場合に、分岐が行われる場所であること
を思い出してほしい。続いて、ブロック710が実行さ
れ、実行時間システム<R>に内蔵されている、ビジネ
ス・モデルに対応するELL機能が呼び出される。EL
L機能作業は、アーギュメントとしてのELL相対番号
により、「Business_Model」機能を呼び
出すことによりスタートする。その後、下記のコードの
Cラインを使用して、正しいELL機能が実行される。 「bStatus=Bridges[iFunctio
n]();」 この呼出作業を行う理由は、ELL機能が、「Busi
ness_Model」機能の後にアルファベット順に
コード化されいて、「.h」ファイルが「ブリッジ」を
下記のように定義しているからである。 int(*Bridges[NUM_FUNCTION
S])(void)={...}; 上記文において、NUM_FUNCTIONSには、
「#define」文より数値が与えられ、三つの点
は、コンマで区切られたELL機能により置き換えられ
る。「.h」ファイルおよび「.c」ファイルの生成
は、入力として「keylogic.dat」ファイル
を使用するプログラムにより自動的に行われる。その
後、特定のELLロジックが追加されるとき、ELL機
能を含むスケルトン「.c」ファイルが修正される。開
発を行う場合、新しいELL機能により「keylog
ic.dat」ファイルは修正され、現在のファイルの
いくつかは削除される。このプロセスを自動的に行うた
めに、下記のステップのシーケンスが実行される。最初
に、「keylogic.dat」ファイルの末尾に新
しい名前が追加され、名前およびコンマの右側に相対番
号−1がタイプされる。2番目に、削除するもの相対番
号が−2に変更される。その後、ファイルがアルファベ
ット順にソートされる。次に、ビルダー・ツール<B>
(すでに説明した)が呼び出され、そのファイルがセー
ブされる。その結果、インターフェースと「keylo
gic.dat」ファイルの両方が更新される。三番目
に、ELL機能を削除し、スケルトンの新しいELL機
能を追加するために、「.h」ファイルおよび「.c」
ファイルを更新するプログラムが実行される。最後に、
ビシネス・モデルを反映するために、新しいELL機能
が修正される。
712が実行される。ブロック712での問い合わせの
結果が「ノー」である場合には、ブロック714はスキ
ップされる。この問い合わせの結果が「イエス」である
場合には、ブロック714が実行される。消去されるス
クリーンは、ELL機能ロジックの一部として識別され
る。それ故、ブロック714において、消去プロセス
は、子とスクリーンを通しての循環と、タッチ・スクリ
ーン・ディスプレイからの子等の削除と、種々の子のハ
ンドルの消去と、「iScreensActive」ア
レイおよびその関連変数の更新とを必要とする。次に、
ブロック716が実行される。ブロック716での問い
合わせの結果が「ノー」である場合には、現在のディス
プレイに新しいスクリーンの追加は行われず、図29の
Hに向かって分岐が行われ、別のタッチ・スクリーン・
イベントの待ち状態になる。この問い合わせの結果が
「イエス」である場合には、図25のAに向かって分岐
が行われる。
のスクリーンの子を生成するときにアクセスされた、第
一のフローチャートである。最初にブロック618が実
行され、「n」に生成されるスクリーン番号がセットさ
れ、「iStart」が、第一の子の情報が記憶される
構造体のアレイの位置に割り当てられ、「iEnd」
は、最後のスクリーンの子の一つ前の位置であり、
「j」は、「iStart」の数値に初期化される。次
に、ブロック620が実行され、すでに説明した理由に
より、上記子の情報は、構造体のアレイから一つの構造
体に移動する。続けて、ブロック622が実行される。
ブロック622での問い合わせの結果が「イエス」であ
る場合には、生成される子は既に存在しているが、目に
は見えない「レシート」制御である。それ故、ブロック
624へ分岐が行われ、子を目で見ることができるよう
になる。このようなプロセスが行われる理由をさらによ
りよく理解してもらうために、図3の第一のタッチ・ス
クリーン・ディスプレイを参照する。いくつかの品目が
注文され、「スペシャル・ペパロニ」と表示されている
ボタン211−2の右の部分を指で触れたと仮定しよ
う。図6タッチ・スクリーン・ディスプレイは、次に表
示されたタッチ・スクリーン・ディスプレイである。
「OK」ボタンまたは「キャンセル」ボタンに触れる
と、第一のタッチ・スクリーンへ戻る。それ故、この時
点では、新しい「レシート」制御を生成させない方が望
ましく、すべての購入品目がこの制御へ再度送られる。
ブロック624を実行した後で、次のスクリーンの子の
準備をするために、図28のGに向かって分岐が行われ
る。フローチャートのこの部分については後で説明す
る。
問い合わせの結果が「ノー」である場合には、ブロック
626が実行される。第一のタスクは、gのfがf(g
(x))と定義されている数学的合成機能方法を使用し
て、タイトル・テキストの解読を行うことである。この
g(x)作業は、xをテキスト番号として指定し、アレ
イに記憶されている「autopos.dat」ファイ
ルからこのテキストを検索することにより、実行され
る。次に、f(g(x))を入手するために、このテキ
スト・ストリングは解読機能に送られる。一般的に、結
果はg(x)と同じである。しかし、変数テキスト状況
の場合には、テキスト・ストリングが変更される。変数
テキストの解読は、「::n:」という抜き取りにより
行われる。この場合、「n」は整数である。この抜き取
りがどのように行われるかを理解するために、図4のタ
ッチ・スクリーン・ディスプレイを参照する。
266)からなる水平な「フレックス・バー」は、申込
数量が必ずしも何時でも同じではないので、変数テキス
トを含む。さらに、ある支払金額の場合には、場合によ
っては、ある人間インターフエース申込アルゴリズム
(human interface tenderin
g algorithm)の場合、あるボタンが作動し
なくなる。これらの問題を解決するために、ボタンのラ
ベルはすべての変数テキストで定義されている。その
後、解読により、プログラム状態に基づいてラベルの変
更が行われる。ボタンを表示したくない場合には、テキ
スト・ラベルをストリング「MT」に変更する。ブロッ
ク626においてタイトルの解読が終了すると、ウィン
ドウズ環境コマンドおよび「begin_scree
n」文の末尾にある対象物クラス名を伴う子のスロット
情報のあるものを使用して、子を生成することができ
る。より詳細に説明すると、図7−図9において、「ア
イコン」および「黒板」スロットを除いて、各インター
フェース表現に対するスロット(1301、1302、
1303等)から「ウィンドウズ」スロット(例えば、
1301−2、1302−3等)までのスロットが使用
される。その後、子のハンドルが入手され、ブロック6
26における最後のステップが、子を構造体のアレイに
記憶することになる。実際、これにより、子のハンドル
変数は負でない整数に変更される。次に、ブロック62
8が実行される。ブロック628での問い合わせの結果
が「イエス」である場合には、タイトル・テキストが
「MT」であることを意味し、ブロック630が実行さ
れ、子のウィンドウを目で見ることができなくなる。そ
の後、図28のGに向かって分岐が行われる。何故な
ら、新しい子の作業が終了したからである。この問い合
わせの結果が「ノー」である場合には、図27のEに向
かって分岐が行われる。
は、子の生成の後作業を行うことである。最初に、ブロ
ック632が実行される。ブロック632での問い合わ
せの結果が「イエス」である場合には、子の「カラー」
スロット情報および共通ウィンドウズ・コマンドを使用
して、ブロック634が実行される。カラー・ハンドル
が戻され、子の情報が構造体のアレイに記憶される。ブ
ロック632での問い合わせの結果が「ノー」である場
合には、カラー作業はバイパスされる。続いて、ブロッ
ク636が実行される。この問い合わせの結果が「イエ
ス」である場合には、制御面上にアイコンを置くため
に、適当なNICEおよびウィンドウズ・コマンドと一
緒に、「アイコン」スロット情報が使用される。ここで
もまた、アイコン・ハンドルが入手され、子の情報が構
造体のアレイに記憶される。ブロック636での問い合
わせの結果が「ノー」である場合には、ブロック638
はスキップされる。続いて、次に、ブロック640が実
行される。ブロック640での問い合わせの結果が「イ
エス」である場合には、ブロック642が実行され、
「応答ボックス」に対するテキストが、子の「フォン
ト」、「テキスト」、「行末揃え」および「行」スロッ
ト、およびウィンドウズおよびNICEコマンドを使用
して処理される。「テキスト」は番号としてコード化さ
れ、「行末揃え」情報は、左、中央および右の行末を揃
えるためにコード化され、「行」は「応答ボックス」内
の相対行番号を示す。「フォント」はオプションであ
る。何故なら、各制御は「NL_CD.INI」ファイ
ルにデフォールト情報を持っているからである。
結果が「ノー」である場合には、ブロック642がバイ
パスされる。次に、ブロック644が実行される。ブロ
ック644での問い合わせの結果が「イエス」である場
合には、NICE数字キーパッドが現在の子のタイプに
なり、ブロック646が実行される。それにより、数字
キーパッドとして機能させる準備をするために、ウィン
ドウズ・メッセージが子の送られる。この問い合わせの
結果が「ノー」である場合には、ブロック646がバイ
パスされる。子の生成の後作業を継続するために、図2
8のFに向かって分岐が行われる。図28の目的は、新
しい子の生成に関連する作業を終了することである。実
行はブロック648でスタートする。この問い合わせの
結果が「イエス」である場合には、子に焦点が当てられ
る。ブロック650が実行され、基本ウィンドウズコマ
ンドを使用して、「編集ボックス」に焦点が当てられ
る。この問い合わせの結果が「ノー」である場合には、
ブロック650がバイパスされる。次に、ブロック65
2が実行される。この問い合わせの結果が「イエス」で
ある場合には、「EanbleWindow」ウィンド
ウズ・コマンドが呼び出される。これが必要な理由を知
りたければ、図3のディスプレイを参照してほしい。左
上の隅の、「ピザ」テキスト(211)を含む背景に留
意されたい。この制御はアクティブであってはならな
い。何故なら、他の制御がその上に置かれるからであ
る。それ故、上記制御は生成された後、使用不能にな
る。このテキストは暗くならない。何故なら、ウィンド
ウズ制御パネル設定が、このテキストを表示し続けるよ
うにするよう変更されているからである。要するに、使
用する場合、「explicit_enable」スロ
ットは、「y」または「n」かどちらかの数値を持つ。
その後、ブロック654において、状況が指定する
「真」または「偽」のメッセージを子に送るために、こ
の数値は、「EanbleWindow」コマンドおよ
び「eanble」スロットと一緒に使用される。
結果が「ノー」である場合には、ブロック654はスキ
ップされる。次に、ブロック656が実行される。ブロ
ック656での問い合わせの結果が「イエス」である場
合には、「フレックス・バー」対象物が生成され、ある
種の初期作業を実行しなければならない。それ故、次
に、ブロック658が実行される。図6に、上記初期作
業を実行しなければならない理由を示す。この図におい
ては、スクリーンが最初に生成されたとき、水平「フレ
ックス・バー」の一部である、「個々の皿」ボタン23
1−7が強調される。ブロック656での問い合わせの
結果が「ノー」である場合には、ブロック658はバイ
パスされる。次に、ブロック660が実行される。ブロ
ック660での問い合わせの結果が「イエス」である場
合には、制御が三状態ボタンであることを意味し、その
後ブロック662が実行される。それにより三状態初期
ロジックが実行される。例えば、再び図6について説明
するが、その中央の部分が強調されている「ペパロニ」
ボタン232−1に留意されたい。これは、スクリーン
が最初に生成され、ブロック662の一部として実行さ
れたとき、実行される。ブロック660での問い合わせ
の結果が「ノー」である場合には、ブロック662はス
キップされる。
ブロックは、種々の「黒板」スロット名をチェックする
機能を呼出すことにより実行され、その後特定のロジッ
クを行う。例えば、図3の「品目変更」ボタン241−
2が生成された場合には、「黒板」スロットが一致する
と、スクリーン「blackboard」変数を「真」
にセットすることができる。これにより、特定の子に対
する子の生成後作業が終了する。続いて、ブロック66
6が実行され、子の変数ポインタ「j」が1だけ増大す
る。次に、ブロック668が実行される。ブロック66
8での問い合わせの結果が「イエス」である場合には、
他のスクリーンの子等を生成しなければならないことを
意味し、この作業を再開するために、図26のDに向か
って分岐が行われる。この問い合わせの結果が「ノー」
である場合には、すべてのスクリーンの子が生成された
ことを意味し、その後、次の新しいスクリーンを生成を
継続し、またはスクリーン構成を終了させるために、図
26のビルダー・ツール<B>に向かって分岐が行われ
る。好適な実施形態を特に参照しながら本発明を詳細に
説明してきたが、本発明の精神および範囲から逸脱しな
いで、種々の変更および修正をすることができることを
理解されたい。
スクリーン・システムの、いくつかの例を示すブロック
図である。
スクリーン・システムの、いくつかの例を示すブロック
図である。
れた、種々の対象物を示すサンプル・グラフィカル・デ
ィスプレイである。
れた、種々の対象物を示すサンプル・グラフィカル・デ
ィスプレイである。
れた、種々の対象物を示すサンプル・グラフィカル・デ
ィスプレイである。
れた、種々の対象物を示すサンプル・グラフィカル・デ
ィスプレイである。
よび図3−図6の対象物に対するそれぞれのデータであ
る。
よび図3−図6の対象物に対するそれぞれのデータであ
る。
よび図3−図6の対象物に対するそれぞれのデータであ
る。
ある。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
を組み立てる時に実行されるステップを示すフローチャ
ートである。
験する時に実行されるステップを示すフローチャートで
ある。
験する時に実行されるステップを示すフローチャートで
ある。
実行時間システムに組み込む時に実行されるステップを
示すフローチャートである。
実行時間システムに組み込む時に実行されるステップを
示すフローチャートである。
実行時間システムに組み込む時に実行されるステップを
示すフローチャートである。
実行時間システムに組み込む時に実行されるステップを
示すフローチャートである。
実行時間システムに組み込む時に実行されるステップを
示すフローチャートである。
実行時間システムに組み込む時に実行されるステップを
示すフローチャートである。
実行時間システムに組み込む時に実行されるステップを
示すフローチャートである。
Claims (3)
- 【請求項1】 コンピュータ・システムで、一つまたは
それ以上のインターフェース制御からなるグラフィカル
・ユーザ・インターフェースを生成するためのシステム
であって、 (a)各入力が一つのインターフェース制御に関連し、
少なくとも一つのインターフェース制御が一つの機能に
関連している場合に、一つまたはそれ以上の入力を含む
ファイルを生成するための手段と、 (b)上記ファイルを記憶するための手段と、 (c)システムのユーザに応答する、上記インターフェ
ース制御の一つを選択するための手段と、 (d)(i)上記記憶手段から、上記ファイルの各入力
を読み出し、 (ii)上記ファイルの、上記選択手段により選択され
た、インターフェース制御に関連する機能を実行するた
めの実行時間手段とを備えるシステム。 - 【請求項2】 コンピュータシステムで、一つまたはそ
れ以上のインターフェース制御からなるグラフィカル・
ユーザ・インターフェースを生成するための方法であっ
て、 (a)各入力が一つのインターフェース制御に関連し、
少なくとも一つのインターフェース制御が一つの機能に
関連している場合に、一つまたはそれ以上の入力を含む
ファイルの生成と、 (b)コンピュータ・システムに接続している記憶装置
への、上記ファイルの記憶と、 (c)システムのユーザに応答する、上記インターフェ
ース制御の一つの選択と、 (d)上記記憶装置からの上記ファイルの各入力の読み
出しと、 (e)上記ファイルの、選択されたインターフェース制
御に関連する機能の実行とからなる方法。 - 【請求項3】 ビデオ・ディスプレイを含むコンピュー
タ・システムで、一つまたはそれ以上のインターフェー
ス制御からなるグラフィカル・ユーザ・インターフェー
スを生成するための方法であって、 (a)各入力が一つのインターフェース制御に関連し、
少なくとも一つのインターフェース制御が一つの機能に
関連している場合に、一つまたはそれ以上の入力を含む
ファイルの生成と、 (b)コンピュータ・システムに接続している記憶装置
への上記ファイルの記憶と、 (c)システムのユーザに応答する、上記インターフェ
ース制御の一つの選択と、 (d)上記記憶装置からの上記ファイルの各入力の読み
出しと、 (e)各入力に関連するインターフェース制御に関する
情報のビデオ・ディスプレイ上への表示と、 (f)各インターフェース制御に関連する機能に関する
情報のビデオ・ディスプレイ上への表示とからなる方
法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/742,004 | 1996-10-31 | ||
| US08/742,004 US6002395A (en) | 1996-10-31 | 1996-10-31 | System and method for building, testing and integrating a graphical touch user interface |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10254690A true JPH10254690A (ja) | 1998-09-25 |
Family
ID=24983121
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33341797A Pending JPH10254690A (ja) | 1996-10-31 | 1997-10-28 | グラフィカル ユーザー インタフェース システム及び方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6002395A (ja) |
| EP (1) | EP0841614A3 (ja) |
| JP (1) | JPH10254690A (ja) |
Families Citing this family (78)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6209125B1 (en) * | 1997-06-03 | 2001-03-27 | Sun Microsystems, Inc. | Method and apparatus for software component analysis |
| JP4078691B2 (ja) * | 1997-09-19 | 2008-04-23 | ソニー株式会社 | 記録再生制御システム、記録再生制御方法および記録再生制御装置 |
| AU9717798A (en) * | 1998-01-13 | 1999-08-05 | Sony Electronics Inc. | System and method for enabling manipulation of graphic images to form a graphic image |
| US6243857B1 (en) * | 1998-02-17 | 2001-06-05 | Nemasoft, Inc. | Windows-based flowcharting and code generation system |
| US6473100B1 (en) * | 1998-05-20 | 2002-10-29 | Microsoft Corporation | Hosting controls in a window via an interface for controlling the window |
| US6429882B1 (en) * | 1999-03-15 | 2002-08-06 | Sun Microsystems, Inc. | User interface component |
| EP1185945A2 (en) * | 1999-06-04 | 2002-03-13 | Receiptcity.com, Inc. | A secure internet-vault for consumer receipts,legal documents and commerce |
| JP2003523000A (ja) * | 1999-12-15 | 2003-07-29 | サン・マイクロシステムズ・インコーポレイテッド | フィルタ・エクスプレション木からグラフィカル・ユーザ・インターフェースを作成するシステムおよび方法 |
| US6580440B1 (en) | 2000-04-05 | 2003-06-17 | Ncr Corporation | System and method for automatically creating and updating a graphical user interface |
| US20010037245A1 (en) * | 2000-04-07 | 2001-11-01 | Krishnappa Ranganath | Point of sale device, e-commerce system, and method and apparatus for order processing and inventory management |
| US8089423B1 (en) * | 2000-05-12 | 2012-01-03 | Harris Scott C | Automatic configuration of multiple monitor systems |
| US7779359B2 (en) * | 2000-08-08 | 2010-08-17 | The United States Of America As Represented By The Secretary Of The Army | Multifunction display design tool |
| AU2001287149A1 (en) * | 2000-09-07 | 2002-03-22 | James B. Kargman | Method and user interface for specifying toppings and their placement on a pizza |
| US7216101B2 (en) * | 2000-12-27 | 2007-05-08 | Gxs, Inc. | Process for creating a trading partner profile |
| US6834209B2 (en) * | 2001-02-16 | 2004-12-21 | Siemens Aktiengesellschaft | Apparatus and method for generating a human machine interface |
| US7730401B2 (en) * | 2001-05-16 | 2010-06-01 | Synaptics Incorporated | Touch screen with user interface enhancement |
| US7453442B1 (en) | 2002-12-03 | 2008-11-18 | Ncr Corporation | Reconfigurable user interface systems |
| US7707255B2 (en) | 2003-07-01 | 2010-04-27 | Microsoft Corporation | Automatic grouping of electronic mail |
| US20050183022A1 (en) * | 2004-02-12 | 2005-08-18 | International Business Machines Corporation | System, method and program product for control of a presentation |
| US7584869B2 (en) | 2004-04-15 | 2009-09-08 | Redbox Automated Retail, Llc | Article dispensing system and method for same |
| US8146016B2 (en) | 2004-08-16 | 2012-03-27 | Microsoft Corporation | User interface for displaying a gallery of formatting options applicable to a selected object |
| US8255828B2 (en) | 2004-08-16 | 2012-08-28 | Microsoft Corporation | Command user interface for displaying selectable software functionality controls |
| US7703036B2 (en) | 2004-08-16 | 2010-04-20 | Microsoft Corporation | User interface for displaying selectable software functionality controls that are relevant to a selected object |
| US7911626B2 (en) * | 2004-11-08 | 2011-03-22 | Sharp Laboratories Of America, Inc. | Systems and methods for providing a configurable user interface on an imaging device |
| USD579949S1 (en) * | 2004-12-17 | 2008-11-04 | Bsh Bosch Und Siemens Hausgeraete Gmbh | Display for dishwasher |
| US7761848B1 (en) | 2005-03-15 | 2010-07-20 | Open Invention Network, Llc | Code generator tool for building software applications with reusable components |
| WO2006116112A1 (en) | 2005-04-22 | 2006-11-02 | Redbox Automated Retail, L.L.C. | System and method for selling a rental media product |
| US8060247B2 (en) | 2005-04-22 | 2011-11-15 | Redbox Automated Retail, Llc | System and method for communicating secondary vending options |
| US8239882B2 (en) | 2005-08-30 | 2012-08-07 | Microsoft Corporation | Markup based extensibility for user interfaces |
| US20070061777A1 (en) * | 2005-09-09 | 2007-03-15 | Source Technologies, Llc | System, method, and computer program product for graphically generating a program for controlling the operation of a kiosk |
| US8627222B2 (en) | 2005-09-12 | 2014-01-07 | Microsoft Corporation | Expanded search and find user interface |
| US8024706B1 (en) | 2005-09-27 | 2011-09-20 | Teradata Us, Inc. | Techniques for embedding testing or debugging features within a service |
| US9727989B2 (en) | 2006-06-01 | 2017-08-08 | Microsoft Technology Licensing, Llc | Modifying and formatting a chart using pictorially provided chart elements |
| US8484578B2 (en) | 2007-06-29 | 2013-07-09 | Microsoft Corporation | Communication between a document editor in-space user interface and a document editor out-space user interface |
| US8762880B2 (en) | 2007-06-29 | 2014-06-24 | Microsoft Corporation | Exposing non-authoring features through document status information in an out-space user interface |
| US8635543B2 (en) | 2007-09-07 | 2014-01-21 | Microsoft Corporation | Multiple UI paradigms within a single application |
| US8712872B2 (en) | 2012-03-07 | 2014-04-29 | Redbox Automated Retail, Llc | System and method for optimizing utilization of inventory space for dispensable articles |
| US9886809B2 (en) | 2007-09-28 | 2018-02-06 | Redbox Automated Retail, Llc | Article dispensing machine and method for auditing inventory while article dispensing machine remains operational |
| US8768789B2 (en) | 2012-03-07 | 2014-07-01 | Redbox Automated Retail, Llc | System and method for optimizing utilization of inventory space for dispensable articles |
| US9367166B1 (en) * | 2007-12-21 | 2016-06-14 | Cypress Semiconductor Corporation | System and method of visualizing capacitance sensing system operation |
| US9400640B2 (en) | 2008-02-05 | 2016-07-26 | Wayne Baratta | Web-based point of sale builder |
| US9588781B2 (en) | 2008-03-31 | 2017-03-07 | Microsoft Technology Licensing, Llc | Associating command surfaces with multiple active components |
| USD620951S1 (en) * | 2008-05-19 | 2010-08-03 | Arkray, Inc. | Transitional icon for a display screen of a handheld device |
| US8555201B2 (en) * | 2008-06-05 | 2013-10-08 | Qualcomm Incorporated | Wireless communication device having deterministic control of foreground access of the user interface |
| US9665850B2 (en) | 2008-06-20 | 2017-05-30 | Microsoft Technology Licensing, Llc | Synchronized conversation-centric message list and message reading pane |
| KR101569176B1 (ko) | 2008-10-30 | 2015-11-20 | 삼성전자주식회사 | 오브젝트 실행 방법 및 장치 |
| USD838288S1 (en) * | 2009-02-24 | 2019-01-15 | Tixtrack, Inc. | Display screen or portion of a display screen with a computer generated venue map and a pop-up window appearing in response to an electronic pointer |
| US8799353B2 (en) | 2009-03-30 | 2014-08-05 | Josef Larsson | Scope-based extensibility for control surfaces |
| JP4677039B2 (ja) * | 2009-04-08 | 2011-04-27 | 東芝テック株式会社 | 注文受付装置およびプログラム |
| US20100271315A1 (en) * | 2009-04-28 | 2010-10-28 | Microsoft Corporation | Encoding and decoding adaptive input device inputs |
| EP2425319A4 (en) | 2009-04-30 | 2013-11-13 | Synaptics Inc | OPERATION OF A TOUCHSCREEN CONTROL SYSTEM ACCORDING TO SEVERAL CONTROL SETS |
| US8996162B2 (en) | 2009-09-05 | 2015-03-31 | Redbox Automated Retail, Llc | Article vending machine and method for exchanging an inoperable article for an operable article |
| US9104990B2 (en) | 2009-09-05 | 2015-08-11 | Redbox Automated Retail, Llc | Article vending machine and method for exchanging an inoperable article for an operable article |
| US20110131512A1 (en) * | 2009-12-02 | 2011-06-02 | Microsoft Corporation | Updateable running application |
| US20110137977A1 (en) * | 2009-12-07 | 2011-06-09 | Sap Ag | Method and system for generating rich client applications for administrators and translators |
| US20110148438A1 (en) * | 2009-12-18 | 2011-06-23 | Synaptics Incorporated | System and method for determining a number of objects in a capacitive sensing region using a shape factor |
| US20110148436A1 (en) * | 2009-12-18 | 2011-06-23 | Synaptics Incorporated | System and method for determining a number of objects in a capacitive sensing region using signal grouping |
| US8386965B2 (en) * | 2010-01-15 | 2013-02-26 | Apple Inc. | Techniques and systems for enhancing touch screen device accessibility through virtual containers and virtually enlarged boundaries |
| US11030598B2 (en) | 2010-03-02 | 2021-06-08 | Lightspeed Commerce Usa Inc. | System and method for remote management of sale transaction data |
| US10699261B2 (en) | 2010-03-02 | 2020-06-30 | Shopkeep Inc. | System and method for remote management of sale transaction data |
| US10735304B2 (en) | 2011-02-28 | 2020-08-04 | Shopkeep Inc. | System and method for remote management of sale transaction data |
| US9965755B2 (en) | 2011-02-28 | 2018-05-08 | Shopkeep.Com, Inc. | System and method for remote management of sale transaction data |
| US9317844B2 (en) | 2010-03-02 | 2016-04-19 | Shopkeep.Com, Inc. | System and method for remote management of sale transaction data |
| US10640357B2 (en) | 2010-04-14 | 2020-05-05 | Restaurant Technology Inc. | Structural food preparation systems and methods |
| US8302014B2 (en) * | 2010-06-11 | 2012-10-30 | Microsoft Corporation | Merging modifications to user interface components while preserving user customizations |
| US8538581B2 (en) | 2010-09-03 | 2013-09-17 | Redbox Automated Retail, Llc | Article vending machine and method for authenticating received articles |
| US9569911B2 (en) | 2010-08-23 | 2017-02-14 | Redbox Automated Retail, Llc | Secondary media return system and method |
| US9513799B2 (en) | 2011-06-05 | 2016-12-06 | Apple Inc. | Devices, methods, and graphical user interfaces for providing control of a touch-based user interface absent physical touch capabilities |
| WO2012174171A2 (en) | 2011-06-14 | 2012-12-20 | Redbox Automated Retail, Llc | System and method for substituting a media article with alternative media |
| WO2013012874A2 (en) | 2011-07-20 | 2013-01-24 | Redbox Automated Retail, Llc. | System and method for providing the identification of geographically closest article dispensing machines |
| EP2740092A4 (en) | 2011-08-02 | 2015-03-11 | Redbox Automated Retail Llc | SYSTEM AND METHOD FOR PRODUCING NOTIFICATIONS RELATING TO NEW MEDIA |
| EP2742481A4 (en) | 2011-08-12 | 2015-01-21 | Redbox Automated Retail Llc | SYSTEM AND METHOD FOR APPLYING PARENTAL CONTROL LIMITS FROM CONTENT PROVIDERS TO MULTIMEDIA CONTENT |
| US9116611B2 (en) | 2011-12-29 | 2015-08-25 | Apple Inc. | Devices, methods, and graphical user interfaces for providing multitouch inputs and hardware-based features using a single touch input |
| US9747253B2 (en) | 2012-06-05 | 2017-08-29 | Redbox Automated Retail, Llc | System and method for simultaneous article retrieval and transaction validation |
| WO2014075092A1 (en) | 2012-11-12 | 2014-05-15 | Restaurant Technology Inc. | System and method for receiving and managing remotely placed orders |
| US9961239B2 (en) | 2015-06-07 | 2018-05-01 | Apple Inc. | Touch accommodation options |
| US9811448B2 (en) * | 2015-12-18 | 2017-11-07 | Fujitsu Limited | Event-driven software testing |
| CN114119340B (zh) * | 2021-10-18 | 2025-04-22 | 翱捷科技股份有限公司 | 一种基于lvgl的应用的活动的管理方法及装置 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4901221A (en) * | 1986-04-14 | 1990-02-13 | National Instruments, Inc. | Graphical system for modelling a process and associated method |
| US5121477A (en) * | 1988-04-08 | 1992-06-09 | International Business Machines Inc. | System for interactively creating action bar pull-down windows of a user interface for use at program run time |
| FR2647239B1 (fr) * | 1989-05-22 | 1991-07-05 | Bull Sa | Procede de generation d'interfaces pour applications-utilisateurs visualisables sur l'ecran d'un systeme informatique et dispositif pour mettre en oeuvre ledit procede |
| US5163130A (en) * | 1989-10-11 | 1992-11-10 | Next Computer, Inc. | System and method for configuring a graphic interface |
| JPH0756628B2 (ja) * | 1990-10-22 | 1995-06-14 | 富士ゼロックス株式会社 | グラフィカル・ユーザインターフェースの編集装置 |
| EP0525258A1 (en) * | 1991-07-29 | 1993-02-03 | International Business Machines Corporation | Generation of rules-based computer programs |
| US5533184A (en) * | 1991-08-19 | 1996-07-02 | International Business Machines Corporation | Computer system for dynamically generating display screen panels providing interactive interfaces for application program steps |
| US5347629A (en) * | 1992-04-07 | 1994-09-13 | International Business Machines Corporation | Graphical user interface including updating of multiple panels using what you see is what you get (WYSIWYG) editor |
| JP2525546B2 (ja) * | 1992-09-08 | 1996-08-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | グラフィックリソ―ス・エディタ |
| US5438659A (en) * | 1992-10-08 | 1995-08-01 | Hewlett-Packard Company | Object-action user interface management system |
| US5555369A (en) * | 1994-02-14 | 1996-09-10 | Apple Computer, Inc. | Method of creating packages for a pointer-based computer system |
| US5642511A (en) * | 1994-12-16 | 1997-06-24 | International Business Machines Corporation | System and method for providing a visual application builder framework |
| US5652850A (en) * | 1995-06-07 | 1997-07-29 | Ast Research, Inc. | Panel creation engine using templates to automatically configure user interface screeen displays |
| US5764226A (en) * | 1995-12-29 | 1998-06-09 | International Business Machine Corp. | Reusable and modifiable data entry interface part |
-
1996
- 1996-10-31 US US08/742,004 patent/US6002395A/en not_active Expired - Fee Related
-
1997
- 1997-10-17 EP EP97308246A patent/EP0841614A3/en not_active Withdrawn
- 1997-10-28 JP JP33341797A patent/JPH10254690A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US6002395A (en) | 1999-12-14 |
| EP0841614A2 (en) | 1998-05-13 |
| EP0841614A3 (en) | 2004-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH10254690A (ja) | グラフィカル ユーザー インタフェース システム及び方法 | |
| US5040131A (en) | Graphical processing | |
| AU761413B2 (en) | Computer based documentation and instruction | |
| CN101228500B (zh) | 键盘快捷键 | |
| JPH0778782B2 (ja) | 対話型コンピュータ・システムならびにその使用環境適合化装置および方法 | |
| US5920312A (en) | System and method for building testing and integrating a graphical dynakey user interface | |
| US20050015730A1 (en) | Systems, methods and computer program products for identifying tab order sequence of graphically represented elements | |
| US6928623B1 (en) | Method and system for selecting a target window for automatic fill-in | |
| US6035343A (en) | Method for executing software formed of software components and a system for executing such software | |
| US5644728A (en) | Control systems | |
| JPH01144117A (ja) | メニユー表示操作方法 | |
| JPH08137678A (ja) | プログラム作成方法 | |
| JPH06282591A (ja) | セット生成データ処理アクティビティおよび関連するデータセットのレコードを保持する方法および装置 | |
| JPH1040090A (ja) | プログラム開発支援システム及び支援方法、プログラム開発支援のために用いられるプログラム部品を格納する記憶媒体 | |
| US5781905A (en) | Program generating method combining data item part with database manipulation part | |
| EP0621527A1 (en) | Hierarchically grouped macroinstructions for a graphical user interface | |
| JPH10154070A (ja) | ユーザインタフェース設計装置及び方法 | |
| EP0377273A2 (en) | Space management system incorporating a software-operating environment | |
| Karat et al. | Modelling the user interaction methods imposed by designs | |
| JP3254793B2 (ja) | 対話処理システムの制御方法 | |
| JP2511647B2 (ja) | デ―タ処理システム上に可視インタフェ―スを構築する方法及び装置 | |
| Berry | The designer's model of the CUA Workplace | |
| Pangalos | Designing the user interface | |
| GB2380576A (en) | Stardard user interface control display for a data provider | |
| Pribeanu et al. | A methodological approach to task-based design of user interfaces |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040922 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061117 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070216 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070222 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070517 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070629 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071029 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071212 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080215 |