JP2842305B2 - 対話処理方式 - Google Patents

対話処理方式

Info

Publication number
JP2842305B2
JP2842305B2 JP7184676A JP18467695A JP2842305B2 JP 2842305 B2 JP2842305 B2 JP 2842305B2 JP 7184676 A JP7184676 A JP 7184676A JP 18467695 A JP18467695 A JP 18467695A JP 2842305 B2 JP2842305 B2 JP 2842305B2
Authority
JP
Japan
Prior art keywords
dialog
state transition
input
state
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP7184676A
Other languages
English (en)
Other versions
JPH0916360A (ja
Inventor
建樹 佐野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP7184676A priority Critical patent/JP2842305B2/ja
Publication of JPH0916360A publication Critical patent/JPH0916360A/ja
Application granted granted Critical
Publication of JP2842305B2 publication Critical patent/JP2842305B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はグラフィカルユーザイン
タフェースを有する情報処理装置における対話処理方式
に関する。
【0002】
【従来の技術】表示装置の画面に表示された矩形等の対
話要素に対してマウス等の入力装置から入力イベントを
与えることにより、各種の処理を対話的に起動できるよ
うにしたグラフィカルユーザインタフェースとして、I
nterViewsが知られている。このInterV
iewsでは、対話領域をGlyph(グリフ)と呼ぶ
小領域の対話領域に分割して各々についての対話処理の
内容をハードコーディングしておき、入力イベントの発
生位置に対応する対話要素のハードコーディング内容を
実行することで、各対話要素毎の対話処理を起動するよ
うにしている。
【0003】
【発明が解決しようとする課題】このように従来のグラ
フィカルユーザインタフェースにおいては、複数の対話
要素毎に独立した対話処理を実現する場合、その各々の
対話要素の対話処理の内容をハードコーディングしてい
るため、或る対話要素の対話処理の内容を変更するに
は、そのハードコーディング全体の変更を必要とした。
このため、対話処理の変更が容易でなく、また変更誤り
も生じ易かった。
【0004】本発明はこのような事情に鑑みて提案され
たものであり、その目的は、個々の対話要素の対話処理
の内容を状態遷移表で記述しておくことにより、対話処
理の内容の変更を状態遷移表中の状態遷移定義の追加,
削除,変更で対処し得るようにした対話処理方式を提供
することにある。
【0005】
【課題を解決するための手段】本発明は上記の目的を達
成するために、グラフィカルユーザインタフェースを有
する情報処理装置における対話処理方式において、画面
上に表示された対話要素と1対1に対応する対話要素デ
ータを木構造の節または葉として持つ対話要素木構造で
あって、各々の対話要素データは、状態遷移定義を1個
以上含む状態遷移表,入力に反応する領域を指定する対
話領域データおよび現在の対話状態を示す対話状態デー
タから構成され、且つ、前記状態遷移定義は、対話要素
が次の入力を受け取る前の状態を示す前状態と、対話要
素がこの前状態のときに受け取る入力の種類を示す入力
情報と、この入力情報で示される種類の入力を受け取っ
た場合に実行すべき処理内容と、この処理内容を実行し
た後に移行すべき状態を示す後状態とから構成されてい
る対話要素木構造を有し、且つ、入力装置からの利用者
の入力操作時に、入力の種類と入力の位置とを取得する
入力手段と、前記対話要素木構造を検索して、前記入力
手段で取得された入力の位置が対話領域データの示す対
話領域内に含まれる対話要素データのうち最も対話要素
木構造の根から遠い対話要素データを求め、且つ、該求
めた対話要素データの状態遷移表中の、前状態が対話状
態データと一致している状態遷移定義のうち、入力情報
が前記入力手段で取得された入力の種類と一致する状態
遷移定義と、該状態遷移定義を含む状態遷移表を持つ対
話要素データとの組を唯一決定する入力受信要素決定手
段と、該入力受信要素決定手段で決定された組の状態遷
移定義中の処理内容通りの処理を実行する処理実行手段
と、該処理実行手段が実行終了した処理内容を含む状態
遷移定義中の後状態で、前記入力受信要素決定手段で決
定された組の対話要素データ中の対話状態データを更新
する状態遷移手段とを備えている。
【0006】
【作用】本発明の対話処理方式においては、対話要素木
構造が、画面上に表示された対話要素と1対1に対応す
る対話要素データを木構造の節または葉として保持して
おり、各々の対話要素データは、状態遷移定義を1個以
上含む状態遷移表,入力に反応する領域を指定する対話
領域データおよび現在の対話状態を示す対話状態データ
から構成されている。また、状態遷移定義は、対話要素
が次の入力を受け取る前の状態を示す前状態と、対話要
素がこの前状態のときに受け取る入力の種類を示す入力
情報と、この入力情報で示される種類の入力を受け取っ
た場合に実行すべき処理内容と、この処理内容を実行し
た後に移行すべき状態を示す後状態とから構成されてい
る。そして、マウス等の入力装置からの利用者の入力操
作時、入力手段が、入力の種類と入力の位置とを取得
し、入力受信要素決定手段が、対話要素木構造を検索し
て、前記入力手段で取得された入力の位置が対話領域デ
ータの示す対話領域内に含まれる対話要素データのうち
最も対話要素木構造の根から遠い対話要素データを求
め、且つ、この求めた対話要素データの状態遷移表中
の、前状態が対話状態データと一致している状態遷移定
義のうち、入力情報が前記入力手段で取得された入力の
種類と一致する状態遷移定義と、該状態遷移定義を含む
状態遷移表を持つ対話要素データとの組を唯一決定す
る。そして、処理実行手段が、この決定された組の状態
遷移定義中の処理内容通りの処理を実行し、状態遷移手
段が、処理実行手段が実行終了した処理内容を含む状態
遷移定義中の後状態で、前記入力受信要素決定手段で決
定された組の対話要素データ中の対話状態データを更新
する。
【0007】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0008】図1を参照すると、本発明の一実施例の対
話処理方式は、入力手段1と対話要素木構造2と入力受
信要素決定手段3と状態遷移手段4と処理実行手段5と
から構成されている。なお、6はマウスやキーボード或
いはタッチパネル等の入力装置、7はCRTディスプレ
イ等の表示装置、8はワークエリアである。
【0009】利用者が操作対象とする対話要素は表示装
置7の画面に表示されており、この表示された対話要素
に対して利用者が入力装置6から入力操作を行う。図2
は表示装置7の画面に表示された対話要素の例を示す。
同図には、矩形a内に、内部に円eが1つ存在する矩形
bが1つ、内部に図形を持たない三角形cが1つ、内部
に2重の楕円f,hと矩形gが存在する矩形dが1つ存
在している。これらの各円e,楕円f,h,三角形c,
矩形a,b,d,gがそれぞれ1つの対話要素となる。
【0010】各対話要素a〜hは対話要素データを持っ
ており、全ての対話要素データが対話要素木構造2の節
または葉に保持されている。図1の対話要素木構造2中
に図示した木構造は図2に例示した対話要素a〜hに対
応しており、木構造の根(ルート)となる対話要素デー
タ21aと、その下位データとして位置付けられた対話
要素データ21b,21c,21dと、対話要素データ
21bの下位データとして位置付けられた対話要素デー
タ21eと、対話要素データ21dの下位データとして
位置付けられた対話要素データ21f,21gと、対話
要素データ21fの下位データとして位置付けられた対
話要素データ21hとから構成されている。ここで、対
話要素データ21x(x=a〜h)は図2の対話要素x
に対応している。なお、対話要素木構造2においては、
対話要素データの上下関係に従って、親,子,孫,曾孫
といった関係が成り立つ。即ち、対話要素データ21a
の対話要素を親とすると、対話要素データ21b〜21
dの対話要素は子であり、対話要素データ21e〜21
gの対話要素は孫であり、対話要素データ21hの対話
要素は曾孫である。
【0011】各々の対話要素データ21a〜21hは、
図3に示すように、対話領域データ211と対話状態デ
ータ212と状態遷移表213とから構成される。
【0012】状態遷移表213は1つ以上の状態遷移定
義から構成されており、1つの状態遷移定義は、図4に
示すように、前状態2131,入力情報2132,処理
内容2133,後状態2134で構成される。ここで、
前状態2131はその対話要素が次の入力を受け取る前
の状態を示し、入力情報2132はその対話要素がこの
前状態2131のときに受け取る入力の種類を示し、処
理内容2133はこの入力情報2132で示される種類
の入力を受け取った場合に実行すべき処理の内容を示
し、後状態2134はこの処理内容2133を実行した
後に移行すべき状態を示す。状態遷移表213は、この
ような状態遷移定義を幾つか組み合わせることで、当該
対話要素に対する種々の対話処理を規定している。
【0013】例えば、マウスの左ボタンのドラッグで、
対話要素の図形位置を変更する対話処理は、その対話要
素データに次のような状態遷移表(1)を定義すれば良
い。 状態遷移表(1) [開始,left press,図形の初期位置の保存,移動中] [移動中,left drag,図形位置の移動,移動中] [移動中,left release,図形位置の確定,開始]
【0014】また、マウスの右ボタンのドラッグで、対
話要素の図形の拡大縮小を行う対話処理は、その対話要
素データに次のような状態遷移表(2)を定義すれば良
い。 状態遷移表(2) [開始,right press,図形の初期大きさの保存,拡大縮小中] [拡大縮小中,right drag,図形の拡大縮小,拡大縮小中] [拡大縮小中,right release,図形の大きさの確定,開始]
【0015】そして、上記の状態遷移表(1),(2)
を1つの状態遷移表にまとめると、次のような性能を持
った対話処理が自然に構成できる。『左ボタンを押して
ドラッグすると、図形の移動を行う。しかし、移動中に
右ボタンを押しても、何も起こらない。また、右ボタン
を押してドラッグすると、図形の拡大縮小を行う。しか
し、拡大縮小中に左ボタンを押しても、何も起こらな
い。』
【0016】また、若し、『左ボタンを押してドラッグ
すると、図形の移動を行う。移動中に右ボタンを押す
と、その位置で図形の拡大縮小を行う。また、右ボタン
を押してドラッグすると、図形の拡大縮小を行う。しか
し、拡大縮小中に左ボタンを押して、何も起こらな
い。」というような対話処理を実現したい場合は、次の
ような状態遷移表(3)にすれば良い。
【0017】 状態遷移表(3) [開始,left press,図形の初期位置の保存,移動中] [移動中,left drag,図形位置の移動,移動中] [移動中,left release,図形位置の確定,開始] [移動中,right press,図形の初期大きさの保存,拡大縮小中] [開始,right press,図形の初期大きさの保存,拡大縮小中] [拡大縮小中,right drag,図形の拡大縮小,拡大縮小中] [拡大縮小中,right release,図形の大きさの確定,開始] これは、上記二つの状態遷移表(1),(2)を1つの
表にまとめたものに対して、 [移動中,right press,図形の初期大きさの保存,拡大縮小中] という1つの状態遷移定義を追加したものである。この
ようにマウスのドラッグなどの一連の状態遷移を、それ
らの間の部分的な遷移に分割して構成することにより、
状態遷移表を容易に構成できる。
【0018】なお、上述した状態遷移定義中の処理内容
はほんの一例に過ぎず、対話処理の内容によって種々の
ものがある。例えば、画面の更新,消去,音の発生,停
止、機器の始動,停止,映像の開始,終了,他の対話要
素の対話状態の変更,任意の対話要素の状態遷移表の変
更等がある。
【0019】他方、対話要素データ中の対話領域データ
211は、当該対話要素が入力に反応する領域(入力を
受け取る領域)を指定するデータである。ここで、各対
話要素データの対話領域データは、対話領域の包含関係
が対話要素木構造2における対話要素データの親子関係
を満足するように設定される。例えば、親の対話要素の
図形が左下端点(0,0)から右上端点(100,10
0)までの矩形(0,0)−(100,100)であ
り、その内部に矩形(0,0)−(30,30)と、円
(50,50,半径20)(50,50は円の中心の座
標値)との2つの子の対話要素がある場合、それぞれに
対して、対話領域「矩形(0,0)−(100,10
0)」,対話領域「矩形(0,0)−(30,3
0)」,対話領域「円(50,50,半径20)」とい
う対話領域を設定することができる。勿論、対話領域
は、幾何学形状のほか、任意の形状をとらせることもで
きる。また、対話領域は、親に当たる対話要素の図形内
の相対座標系で定義しても良い。例えば、或る対話要素
の図形の原点が(50,50)であるとすると、その図
形内にある子の対話要素の対話領域を絶対座標で「矩形
(50,50)−(60,60)」とする場合、親の図
形内の相対座標系で表現して、「矩形(0,0)−(1
0,10)」と定義しても良い。なお、対話要素が占め
る画面上の領域と、その対話要素の対話領域とは必ずし
も一致しない。
【0020】ここで、上述した例の状態遷移定義の如く
対話要素の対話処理がその対話要素自体を画面上で移
動,拡大する処理を含む場合、上記の状態遷移定義の処
理内容「図形位置の確定」や「図形の大きさの確定」の
処理の一環として、移動,拡大後の対話要素の画面上の
位置に応じてその対話要素データの対話領域データを更
新する。また、対話領域の包含関係が対話要素データの
親子関係に合致するように前記対話領域データを更新し
た対話要素データの上位,下位の対話要素データの対話
領域データを更新する。例えば、図5(a)に示すよう
な2つの対話要素X,Yがあり、対話要素Xの対話領域
が「矩形(0,0)−(100,100)」、その子で
ある対話要素Yの対話領域が「矩形(20,20)−
(70,70)」であったとする。この状態で、対話要
素Yが図5(b)や(c)に示すように親の対話要素の
対話領域外に移動した場合、その図形位置の確定処理の
一環として、対話要素Yの対話領域はその移動に応じ
て、図5(b)の場合は「矩形(35,10)−(4
5,20)」に、図5(c)の場合は「矩形(45,1
0)−(55,20)」に、それぞれ変更される。そし
て、親の対話要素Xの対話領域は移動後の対話要素Yの
対話領域を包含するように変更される。例えば、図5
(b)の場合は「矩形(0,0)−(45,40)」に
変更され、図5(c)の場合は「矩形(0,0)−(5
5,40)」に変更される。対話要素Xが移動,拡大し
て同様な状態になった場合も同様である。
【0021】次に、対話要素データ中の対話状態データ
212は、当該対話要素の現在の対話状態を示すデータ
であり、状態遷移表213の状態遷移定義における前状
態2131と後状態2134の何れか一方の値をとる。
即ち、前記状態遷移表(1)では、対話状態は「開
始」,「移動中」の2つのうちの何れかである。また、
前記状態遷移表(3)では、対話状態は「開始」,「拡
大縮小中」,「移動中」の3つのうちの何れかである。
この対話状態には、最初の入力が来る前には初期状態が
設定されている。例えば前記状態遷移表(1),
(2),(3)では、初期状態は何れも「開始」であ
る。
【0022】再び図1を参照して、残りの手段1,3,
4,5について説明する。
【0023】入力手段1は、マウス等の入力装置6から
の対話要素に対する入力操作を受け付ける手段であり、
例えば図6に示す処理を実行する入力プログラムで構成
される。入力手段1は、利用者によって入力装置6が操
作されると、入力情報と入力位置を取得し(S1)、そ
れを入力受信要素決定手段3に渡す(S2)。
【0024】ここで、入力情報とは、マウスのボタン操
作の状態やキーボードのキー入力のキーコードの情報で
ある。また、入力位置とは、マウスのボタン操作時やキ
ー入力時のマウスカーソルの位置である。例えば、入力
情報と入力位置との組み合わせを[入力情報,入力位
置]で表記すれば、マウスカーソルが点(0,0)の位
置にあるときにマウスの左ボタンを押す入力操作があっ
たとき、[left press,(0,0)]という
入力情報と入力位置とが取得される。また、その後に点
(100,100)までドラッグ操作が行われた場合、
例えば[leftdrag,(10,10)],[le
ft drag,(20,20)],…,[left
drag,(100,100)],[left rel
ease,(100,100)]といった入力情報と入
力位置とが順次取得される。更に、マウスカーソルが
(100,200)にある時に、キーボードのファンク
ションキーF1を押す入力操作があった場合には、[F
1 press,(100,200)]といった入力情
報と入力位置とが取得される。
【0025】なお、キー入力は常に特定の位置で発生す
るという規定にしておいても良い。このときは、例えば
キー入力は常に(0,0)で発生するという規定にして
おけば、マウスカーソルの位置にかかわらず、例えばキ
ーAを押すと、[A press,(0,0)]とな
る。また、キー入力の位置は特に特定しないという規定
にすることもできる。このときは、例えばキーBを押す
と、マウスカーソルの位置にかかわらず、[B pre
ss,−]となる。ここで、「−」は位置を規定しない
印である。
【0026】入力受信要素決定手段3は、入力手段1か
ら渡された入力情報と入力位置とに基づいて対話要素木
構造2を検索して今回の入力を受け取るべき1つの対話
要素を決定する手段であり、例えば図7に示すような処
理を行うプログラムで実現される。入力受信要素決定手
段3は、入力手段1から入力情報と入力位置とを受け取
ると(S11)、それに基づいて対話要素木構造2を検
索して状態遷移定義と対話要素データとの組を唯一決定
し(S12)、決定した状態遷移定義と対話要素データ
との組を状態遷移手段4に渡す(S13)。
【0027】図8は図7のステップS12の詳細を示す
フローチャートである。先ず、入力受信要素決定手段3
は、対話要素木構造2の根にあたる対話要素データに注
目し、入力位置がその対話要素の対話領域(対話領域デ
ータ211で示される領域)内かどうかを調べる(S2
1)。入力位置が対話領域外の場合は、該当する対話要
素と状態遷移定義の組は存在しないと判定し(S3
2)、図8の処理を終える。このときは、図7のステッ
プS13では実質的な処理は行われず、従って対話処理
は何も行われない。
【0028】入力位置が根の対話要素の対話領域内にあ
った場合、その対話要素に子の対話要素があるかどうか
を調べる(S22)。子の対話要素がなかった場合、根
の対話要素の状態遷移表中から現在の対話状態(対話状
態データ212が示す状態)に前状態が一致する状態遷
移定義を取り出し(S25)、更にこの取り出した状態
遷移定義のうちから入力情報が入力手段1から渡された
入力情報に一致する状態遷移定義を取り出す(S2
6)。そして、ステップS26で取り出された状態遷移
定義が幾つあるかを調べる(S27)。1つもなかった
場合は、該当する対話要素と状態遷移定義の組は存在し
ないと判定し(S32)、図8の処理を終える。また、
1つあった場合は、その存在した1つの状態遷移定義
と、それが存在した対話要素データとの組を返却する
(S28)。更に、複数あった場合は、最も優先度の高
い状態遷移定義を1つ選択し(S29)、残りの状態遷
移定義と当該対話要素データとの組を図1のワークエリ
ア8に出力した後(S30)、ステップS28におい
て、ステップS29で決定した状態遷移定義と当該対話
要素データとの組を返却する。なお、ステップS29で
は、状態遷移表における状態遷移定義の位置を優先順位
とし、例えば状態遷移表の下側に位置する状態遷移定義
ほど優先度を高くしている。
【0029】ステップS27において複数の状態遷移定
義が存在すると判定される場合の例としては、例えば以
下のような状態遷移定義A,Bがある。 状態遷移定義A;前状態=開始,入力情報=left
press,処理内容=若し入力位置が対話領域の右上
近傍なら図形の初期位置を保存し、それ以外は何も処理
を実行しない,後状態=右上端を右上方向に拡大中 状態遷移定義B;前状態=開始,入力情報=left
press,処理内容=若し入力位置が対話領域の右下
近傍なら図形の初期位置を保存し、それ以外は何も処理
を実行しない,後状態=右下端を右下方向に拡大中 これは、対話要素の領域内の右上端近傍にマウスカーソ
ルを置いてマウスの左ボタンを押した場合には、右上端
の位置を右上方向に拡大する対話処理を実現し、矩形の
対話要素の領域内の右下端近傍にマウスカーソルを置い
てマウスの左ボタンを押した場合には、右下端の位置を
右下方向に拡大する対話処理を実現する場合である。
【0030】他方、ステップS22の調査の結果、根と
なる対話要素に子の対話要素があった場合、存在する全
ての子の対話要素に対して当該図8のフローチャートで
示す手続きを再帰的に適用する(S23)。従って、子
の対話要素が例えば3つ存在する場合、その各々の対話
要素に注目して図8に示す処理が実行される。なお、そ
の子に更に子の対話要素(根からみると孫)が存在する
場合、子の処理におけるステップS23でその孫に対し
て図8の処理が再帰的に適用され、以下同様に木構造の
葉の対話要素まで順次に再帰的に手続きが適用される。
この結果、該当する状態遷移定義が存在するか否か、存
在した場合には状態遷移定義と対話要素との組とが、曾
孫から孫へ、孫から子へ、子から親へと次々と返却され
ていき、最終的に根となる対話要素の処理におけるステ
ップS24で、検索された状態遷移定義の数が調べら
れ、子以下の処理で1つも該当する状態遷移定義が検索
されなかったときは、ステップS22で子の対話要素が
なかった場合と同様にステップS25へ進む。他方、1
つの状態遷移定義が検索されたときは、その状態遷移定
義とそれが存在した対話要素データとの組を返却する
(S28)。また、複数存在した場合は、最も優先度の
高い対話要素データと状態遷移定義の組を1つ選択し
(S31)、それを返却する(S28)。ステップS3
1での選択では、例えば対話要素木構造においてより左
側に位置する対話要素データを含む組ほど優先度を高く
する方法や、実際の対話要素の画面上での重なりにおい
て上に位置する対話要素ほど優先度を高くする方法等が
採用される。
【0031】以上のようにして入力受信要素決定手段3
は、入力手段1から渡された入力情報と入力位置とに基
づいて、対話要素木構造2を検索し、今回の入力を受け
取るべき1つの対話要素に対応する対話要素データと該
当する状態遷移定義との組を取り出し、状態遷移手段4
に通知する。
【0032】状態遷移手段4は、入力受信要素決定手段
3から渡された状態遷移定義と対話要素データとの組を
入力し、状態遷移定義中から処理内容を取り出して処理
実行手段5に渡すと共に、対話要素木構造2中の元の対
話要素データの対話状態データ212を更新する手段で
あり、例えば図9に示す処理を実行するプログラムで構
成される。状態遷移手段4は、先ず、入力受信要素決定
手段3から渡された状態遷移定義中から処理内容を取り
出し、処理実行手段5に渡す(S41)。そして、入力
受信要素決定手段3から処理終了の通知を受けると(S
42でYES)、入力受信要素決定手段3から渡された
対話要素データ中の対話状態を、入力受信要素決定手段
3に今回渡した状態遷移定義中の後状態に変更する(S
43)。なお、この変更は対話要素木構造2上で実施す
る。そして、ワークエリア8をクリアする(S44)。
【0033】他方、処理実行手段5から処理終了でな
く、次の処理内容を通知するよう要求があった場合は、
ワークエリア8から次に優先度の高い状態遷移定義を検
索し(S45)、あれば(S46でNO)、その検索し
た処理内容を処理実行手段5に渡す(S48)。そし
て、ステップS42に戻って上述した処理を繰り返す。
また、次の処理内容が存在しなかった場合は(S46で
YES)、その旨を処理実行手段5に通知し(S4
7)、ステップS44に進む。
【0034】処理実行手段5は対話処理を実際に実行す
る手段であり、例えば図10に示すような処理を実行す
るプログラムで構成される。まず処理実行手段5は、状
態遷移手段4から処理内容を取得し(S51)、この取
得した処理内容通りの処理を実行する(S52)。そし
て、処理内容に記述された実行条件が満足されていた場
合には(S53でYES)、処理内容に記述された処理
を全て実行した後に状態遷移手段4に処理終了を通知す
る(S54)。他方、処理内容に記述された実行条件が
満足されなかった場合には(S53でNO)、状態遷移
手段4に次の処理内容を要求し(S55)、次の処理内
容を受け取った場合は(S56でYES)、ステップS
52の処理に戻る。次の処理内容がない旨の通知を受け
取った場合は(S56でNO)、処理を終了する。
【0035】従って、例えば前述した2つの状態遷移定
義、すなわち、 状態遷移定義A;前状態=開始,入力情報=left
press,処理内容=若し入力位置が対話領域の右上
近傍なら図形の初期位置を保存し、それ以外は何も処理
を実行しない,後状態=右上端を右上方向に拡大中 状態遷移定義B;前状態=開始,入力情報=left
press,処理内容=若し入力位置が対話領域の右下
近傍なら図形の初期位置を保存し、それ以外は何も処理
を実行しない,後状態=右下端を右下方向に拡大中 があって、状態遷移定義Aを含む組が入力受信要素決定
手段3から状態遷移手段4に渡され、状態遷移定義Bを
含む組がワークエリア8に格納されていた場合、先ず、
状態遷移手段4は状態遷移定義A中の処理内容を処理実
行手段5に渡し、処理実行手段5はその処理内容を実行
する。そして、若し入力位置が対話領域の右上近傍なら
ば、図形の初期位置を保存し、状態遷移手段4は、対話
要素データの対話状態データ212を「右上端を右上方
向に拡大中」に変更する。しかし、入力位置が対話領域
の右上近傍になければ、処理実行手段5から次の処理内
容を通知するよう要求が出され、状態遷移手段4は状態
遷移定義B中の処理内容を通知する。従って、若し入力
位置が対話領域の右下近傍ならば、処理実行手段5は図
形の初期位置を保存し、状態遷移手段4は、対話要素デ
ータの対話状態データ212を「右下端を右下方向に拡
大中」に変更することになる。
【0036】次に上述のように構成された本実施例の動
作を説明する。
【0037】利用者が入力装置6で入力操作を行うと、
入力手段1は図6に示す処理により、その入力操作によ
る入力情報と入力位置とを取得し(S1)、それを入力
受信要素決定手段3に伝達する(S2)。今、利用者が
入力装置6を構成するマウスを操作し、マウスカーソル
が(45,50)に位置しているときに左ボタンを押し
たとすると、入力手段1は[入力情報,入力位置]とし
て、[left press,(45,50)]を取得
して、入力受信要素決定手段3に伝達する。
【0038】入力受信要素決定手段3は、図7および図
8に示す処理により、入力手段1から渡された入力情報
および入力位置に基づいて対話要素木構造2を検索して
今回の入力を受け取るべき対話要素の対話要素データと
該当する状態遷移定義との組を取得し(S11,S1
2)、それを状態遷移手段4に伝達する(S13)。例
えば、上記の[left press,(45,5
0)]が渡された場合、入力受信要素決定手段3は以下
のような処理を実行する。
【0039】先ず、対話要素木構造2の根の対話要素a
に対応する対話要素データ21aに注目し、対話要素デ
ータ21a中の対話領域データ211の範囲内に、今回
の入力位置(45,50)が含まれるかどうかを調べる
(S21)。今、対話要素aの対話領域として、[矩形
(0,0)−(300,100)」がその対話領域デー
タ211に設定されていたとすると、今回の入力位置は
含まれることになるため、子の対話要素があるかどうか
を調べる(S22)。図1の対話要素木構造2では、根
となる対話要素データ21aの下位に3つの対話要素デ
ータ21b,21c,21dがある。即ち、対話要素a
は子の対話要素を3つ持っている。そこで、各々の子の
対話要素b,c,dに対して図8の手続きを再帰的に適
用する(S23)。
【0040】先ず第1の再帰の対象として対話要素bを
とり、この対話要素bの対話領域内に今回の入力位置が
含まれるかどうかを調べる(S21)。今、対話要素b
の対話領域として、[矩形(10,10)−(60,6
0)]がその対話領域データ211として対話要素bの
対話要素データ21bに定義されていたとすると、今回
の入力位置(45,50)が含まれるため、この対話要
素bに更に子の対話要素があるかどうかを調べる(S2
2)。図1の対話要素木構造2では、対話要素データ2
1bの下位に対話要素データ21eがある。即ち、対話
要素bは子の対話要素eを1つ持っている。このため、
その対話要素eに対して更に図8の手続きを再帰的に適
用する(S23)。
【0041】この対話要素eを再帰対象とした図8の手
続きのステップS21では、今回の入力位置(45,5
0)が対話要素eの対話領域内かどうかを調べる。今、
対話要素eの対話領域として、[円(40,40),半
径10]がその対話領域データ211として対話要素e
の対話要素データ21eに定義されていたとすると、今
回の入力位置が含まれるため、この対話要素eに更に子
の対話要素があるかどうかを調べる(S22)。図1の
対話要素木構造2では、対話要素データ21eは木構造
の葉の部分に相当し、下位に対話要素を持たないため、
子の対話要素なしと判定される。このため、対話要素e
を再帰対象とした図8の手続きのステップS22からス
テップS25へ進み、対話要素データ21eの状態遷移
表213に含まれる状態遷移定義のうち、現在の対話状
態に前状態2131が一致するものを取り出す。
【0042】例えば対話要素データ21eの状態遷移表
が前述した状態遷移表(3)、すなわち、 [開始,left press,図形の初期位置の保存,移動中] [移動中,left drag,図形位置の移動,移動中] [移動中,left release,図形位置の確定,開始] [移動中,right press,図形の初期大きさの保存,拡大縮小中] [開始,right press,図形の初期大きさの保存,拡大縮小中] [拡大縮小中,right drag,図形の拡大縮小,拡大縮小中] [拡大縮小中,right release,図形の大きさの確定,開始] であり、対話要素データ21eの対話状態データ212
が初期の状態である「開始」になっていたとすると、次
の2つの状態遷移定義を取り出す(S25)。 [開始,left press,図形の初期位置の保存,移動中] [開始,right press,図形の初期大きさの保存,拡大縮小中]
【0043】次に、この取り出した状態遷移定義のう
ち、入力情報が、入力手段1から渡された入力情報「l
eft press」に一致するものを取り出す(S2
6)。即ち、今の例では、下記の状態遷移定義が取り出
される。 [開始,left press,図形の初期位置の保
存,移動中]
【0044】次に、ステップS27において、ステップ
S26で取り出された状態遷移定義が幾つかを調べる。
今の例では1つである。このため、ステップS26で取
り出された上記の状態遷移定義と対話要素データ21e
との組を、当該対話要素eについて図8の手続きを呼び
出した対話要素bについての図8の手続きに返却する
(S28)。
【0045】対話要素bについての図8の手続きにおい
ては、対話要素eについての手続きから上記の状態遷移
定義と対話要素データ21eとの組が返却されると、検
索された状態遷移定義が幾つかを調べる(S24)。今
の場合は、1つだけなので、上記の状態遷移定義と対話
要素データ21eとの組を、当該対話要素bについて図
8の手続きを呼び出した対話要素aについての図8の手
続きに返却する(S28)。
【0046】対話要素aについての図8の手続きにおい
ては、対話要素bについての手続きから上記の状態遷移
定義と対話要素データ21eとの組が返却されると、そ
れをステップS23において受け取る。そして、残りの
子の対話要素c,dについて、対話要素bと同様に図8
の手続きを再帰的に適用する。今、対話要素c,dにつ
いての図8の手続きから返却される状態遷移定義と対話
要素データとの組が存在しなかったとすると、対話要素
aの図8の手続きでは、ステップS25に進み、ステッ
プS23の処理の結果得られた状態遷移定義が幾つかを
調べ、今の場合、上述した1つなので、上述の状態遷移
定義と対話要素データ21eとの組を返却値として図8
の処理を終了する。この結果、図7のステップS13で
は、状態遷移定義、 [開始,left press,図形の初期位置の保
存,移動中]と、対話要素データ21eとの組を状態遷
移手段4に渡すことになる。
【0047】状態遷移手段4では、入力受信要素決定手
段3から渡された状態遷移定義から処理内容「図形の初
期位置の保存」を取り出し、処理実行手段5に渡す(S
51)。これにより、処理実行手段5は、対話要素eの
初期位置として(40,40)を図示しない作業領域に
格納するといった処理を実行する(S52)。
【0048】また状態遷移手段4は、対話要素木構造2
における対話要素データ21e中の対話状態データ21
2を、上記の状態遷移定義の後状態「移動中」に変更す
る(S43)。
【0049】以上のような処理により、利用者がマウス
で起こした[left press,(45,50)]
といった内容の入力操作に対応する対話処理が実行され
たことになる。
【0050】以上の実施例では、図3に示すように、各
対話要素データ中に状態遷移表213の内容を含ませた
が、図3の状態遷移表213の部分には、別途存在する
状態遷移表の位置を指し示すポインタを格納しておくよ
うにしても良い。例えば、複数の対話要素で全く同じ状
態遷移表を使用する場合には、図11に示すように、そ
れらで共通に使用する状態遷移表102を設け、各々の
対話要素に対応する対話要素データ100,101に状
態遷移表102のポインタを設定する。また、複数の対
話要素間で一部の状態遷移定義が同じ場合は、図12に
示すように、一致する状態遷移定義を集めた状態遷移表
105を設け、各々の対話要素に対応する対話要素デー
タ103,104にはそれ独自の状態遷移定義と状態遷
移表105のポインタとを設定する。このような構成に
より、実際に保持しておくべき状態遷移定義の個数を削
減することができる。
【0051】
【発明の効果】以上説明したように本発明の対話処理方
式によれば、個々の対話要素の対話処理の内容を状態遷
移表で記述したことにより、対話処理の内容の変更は状
態遷移表中の状態遷移定義の追加,削除,変更で対処す
ることが可能となり、従来のようにハードコーディング
を修正する場合に比べて、対話処理の内容の変更が容易
となる。
【0052】また、複数の対話要素データで共通の状態
遷移定義を使用する場合、それら共通の状態遷移定義を
集めた状態遷移表を設け、各々の対話要素データに前記
共通の状態遷移表を指し示すポインタ情報を設定する構
成を採用したことにより、実際に必要な状態遷移定義の
数を削減することができる。
【図面の簡単な説明】
【図1】本発明の一実施例の対話処理方式のブロック図
である。
【図2】表示装置の画面に表示された対話要素の例を示
す図である。
【図3】対話要素データの構成例を示す図である。
【図4】状態遷移定義の構成例を示す図である。
【図5】対話領域の変更例を示す図である。
【図6】入力手段の処理例を示すフローチャートであ
る。
【図7】入力受信要素決定手段の処理例を示すフローチ
ャートである。
【図8】図7のステップS12の詳細を示すフローチャ
ートである。
【図9】状態遷移手段の処理例を示すフローチャートで
ある。
【図10】処理実行手段の処理例を示すフローチャート
である。
【図11】複数の対話要素データで同一の状態遷移表を
使用する場合に共通の状態遷移表を使用する例を示す図
である。
【図12】複数の対話要素データで使用する状態遷移定
義が一部共通する場合に共通の状態遷移定義を集めた状
態遷移表を使用する例を示す図である。
【符号の説明】
1…入力手段 2…対話要素木構造 21a〜21h…対話要素データ 3…入力受信要素決定手段 4…状態遷移手段 5…処理実行手段 6…入力装置 7…表示装置 8…ワークエリア

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 グラフィカルユーザインタフェースを有
    する情報処理装置における対話処理方式において、 画面上に表示された対話要素と1対1に対応する対話要
    素データを木構造の節または葉として持つ対話要素木構
    造であって、各々の対話要素データは、状態遷移定義を
    1個以上含む状態遷移表,入力に反応する領域を指定す
    る対話領域データおよび現在の対話状態を示す対話状態
    データから構成され、且つ、前記状態遷移定義は、対話
    要素が次の入力を受け取る前の状態を示す前状態と、対
    話要素がこの前状態のときに受け取る入力の種類を示す
    入力情報と、この入力情報で示される種類の入力を受け
    取った場合に実行すべき処理内容と、この処理内容を実
    行した後に移行すべき状態を示す後状態とから構成され
    ている対話要素木構造を有し、且つ、 入力装置からの利用者の入力操作時に、入力の種類と入
    力の位置とを取得する入力手段と、 前記対話要素木構造を検索して、前記入力手段で取得さ
    れた入力の位置が対話領域データの示す対話領域内に含
    まれる対話要素データのうち最も対話要素木構造の根か
    ら遠い対話要素データを求め、且つ、該求めた対話要素
    データの状態遷移表中の、前状態が対話状態データと一
    致している状態遷移定義のうち、入力情報が前記入力手
    段で取得された入力の種類と一致する状態遷移定義と、
    該状態遷移定義を含む状態遷移表を持つ対話要素データ
    との組を唯一決定する入力受信要素決定手段と、 該入力受信要素決定手段で決定された組の状態遷移定義
    中の処理内容通りの処理を実行する処理実行手段と、 該処理実行手段が実行終了した処理内容を含む状態遷移
    定義中の後状態で、前記入力受信要素決定手段で決定さ
    れた組の対話要素データ中の対話状態データを更新する
    状態遷移手段とを備えることを特徴とする対話処理方
    式。
  2. 【請求項2】 複数の対話要素データで使用する状態遷
    移定義が全て共通する場合、これらの状態遷移定義を集
    めた状態遷移表を設け、各々の対話要素データに前記状
    態遷移表を指し示すポインタ情報を設定するようにした
    ことを特徴とする請求項1記載の対話処理方式。
  3. 【請求項3】 複数の対話要素データで使用する状態遷
    移定義が一部共通する場合、共通する状態遷移定義を集
    めた状態遷移表を設け、各々の対話要素データにそれ独
    自の状態遷移定義と前記共通する状態遷移定義を集めた
    状態遷移表を指し示すポインタ情報とを設定するように
    したことを特徴とする請求項1または2記載の対話処理
    方式。
  4. 【請求項4】 各対話要素データの対話領域データは、
    対話領域の包含関係が対話要素木構造における対話要素
    データの親子関係を満足するように設定されることを特
    徴とする請求項1,2または3記載の対話処理方式。
JP7184676A 1995-06-28 1995-06-28 対話処理方式 Expired - Fee Related JP2842305B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7184676A JP2842305B2 (ja) 1995-06-28 1995-06-28 対話処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7184676A JP2842305B2 (ja) 1995-06-28 1995-06-28 対話処理方式

Publications (2)

Publication Number Publication Date
JPH0916360A JPH0916360A (ja) 1997-01-17
JP2842305B2 true JP2842305B2 (ja) 1999-01-06

Family

ID=16157418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7184676A Expired - Fee Related JP2842305B2 (ja) 1995-06-28 1995-06-28 対話処理方式

Country Status (1)

Country Link
JP (1) JP2842305B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100539524B1 (ko) * 1999-03-16 2005-12-29 엘지전자 주식회사 양방향 데이터 송수신 방법
JP4648714B2 (ja) * 2005-01-31 2011-03-09 シャープ株式会社 コンテンツデータ表示装置、コンテンツデータ表示装置における処理プログラム、およびコンテンツデータ表示装置における処理プログラムを記録した記録媒体
JP5012887B2 (ja) * 2009-12-28 2012-08-29 富士通株式会社 プログラム、編集方法、およびコンピュータ
JP7009001B1 (ja) * 2021-03-02 2022-01-25 株式会社Team F 情報処理装置およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332686A (ja) * 1993-05-20 1994-12-02 Mitsubishi Electric Corp ユーザインタフェース挙動記述方法、ならびにそれを用いたユーザインタフェース装置、ソフトウェア評価方法およびソフトウェア作成方法

Also Published As

Publication number Publication date
JPH0916360A (ja) 1997-01-17

Similar Documents

Publication Publication Date Title
JP3014284B2 (ja) ダイアログ・ボックスの表示方法及びシステム
US6374272B2 (en) Selecting overlapping hypertext links with different mouse buttons from the same position on the screen
JPH07129349A (ja) ファイル一覧表示方法,プログラム起動方法およびそれらの処理装置
US7296222B1 (en) Method and system for preparing and displaying page structures for web sites
JP2842305B2 (ja) 対話処理方式
JPH01240978A (ja) 対話画面定義装置
JPH08329004A (ja) アプリケーション・プログラム使用の端末操作性向上方法
JPH05257670A (ja) 画面作成方法およびその装置
JPH08101766A (ja) 計算機の操作方法および操作装置
JP2585311B2 (ja) プログラム作成方法
JP3157917B2 (ja) データ処理方法およびデータ処理装置
JP2001117918A (ja) 文書編集処理装置
JPH0816518A (ja) 情報処理装置
JPH0756902A (ja) 文書編集装置
JP2560563B2 (ja) 機能選択装置
JPH09305366A (ja) 画面表示最適化方法
JPH07129371A (ja) 情報処理装置の操作支援方式
JPH0695821A (ja) 業務システムの画面表示方法及びその装置
JP2002116910A (ja) ツリー構造作成描画装置として動作するようにプログラムされたコンピュータ、コンピュータを用いてツリー構造を作成し描画するための方法、およびコンピュータをツリー構造作成描画装置として動作させるためのプログラムを記録したコンピュータ読取可能な記録媒体
JP2843077B2 (ja) キーボードと位置入力装置を併用した情報処理装置
JPH08227420A (ja) 文書作成装置
JP2017162033A (ja) 情報処理装置及びその制御方法及びプログラム
JPH0816800A (ja) 情報処理装置
JPH08234971A (ja) 対話画面定義方法及びその装置
JPH08147130A (ja) メニュー対話情報処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071023

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081023

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091023

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees