(57)【特許請求の範囲】
【請求項１】
ディスプレイ画面上に設定されるボタンが指示されるときに、該ボタンに対応付けられる目的処理を実行するデータ処理装置において、
ボタンを表示するとともに、該ボタンと目的処理との連携処理を行うボタンオブジェクトと、
対話処理に従ってボタンに割り付ける任意の形状を作成して、該形状情報を管理する形状オブジェクトを生成する形状定義作成ツールと、
上記形状オブジェクトに対応付けて生成されて、対となる形状オブジェクトを指定されるボタンに割り付けるキャリアオブジェクトとを備え、
上記形状オブジェクトは、上記割り付けられたボタンを実現するボタンオブジェクトの発行する表示要求に応答して、自オブジェクトの管理する形状情報に基づいて、該ボタン上に外郭線を表示し、さらに、該ボタンオブジェクトの発行する目的処理の起動可否の判定要求に応答して、該判定要求で指定されるイベントの発生座標が該外郭線の内部にあるのか否かを判定することで目的処理の起動の可否を判定して、該判定結果を該ボタンオブジェクトに返答し、
かつ、上記ボタンオブジェクトは、上記外郭線の内部に、ボタンが配置されないときに表示されるべき情報を描画することで、透明なボタンを表示することを、
特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
上記形状オブジェクトは、指定される線の属性に従って上記外郭線を表示することを、
特徴とするデータ処理装置。
【請求項３】
請求項１又は２に記載のデータ処理装置において、
上記キャリアオブジェクトは、指定されるボタンに既に他の形状オブジェクトが割り付けられている場合には、それと交換することで、指定されるボタンに新たな形状オブジェクトを割り付けることを、
特徴とするデータ処理装置。
【請求項４】
請求項１ないし３のいずれか１項に記載のデータ処理装置において、
上記形状定義作成ツールは、対話処理に従って、既定義の形状オブジェクトの管理する形状情報を編集することで任意の形状情報を管理する形状オブジェクトを生成することを、
特徴とするデータ処理装置。
【請求項５】
請求項４記載のデータ処理装置において、
典型的な形状情報を管理する形状オブジェクトが既定義のものとして予め用意されるように構成されることを、
特徴とするデータ処理装置。
【請求項６】
請求項１ないし３のいずれか１項に記載のデータ処理装置において、
上記形状定義作成ツールは、ポインティング手段の動きをトレースすることで任意の形状情報を管理する形状オブジェクトを生成することを、
特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ディスプレイ画面上のボタンが指示されるときに、そのボタンに対応付けられる目的処理を実行するデータ処理装置に関し、特に、より自然なヒューマンインタフェースを実現するデータ処理装置に関する。
【０００２】
コンピュータシステムの普及に伴って、非専門家がシステムを容易に利用可能とする構成の構築が叫ばれている。これから、より自然なヒューマンインタフェースを構築していく必要がある。
【０００３】
【従来の技術】
非専門家がコンピュータシステムを容易に利用可能とするために、ディスプレイ画面に目的処理に応じた図形を表示するとともに、その図形上にイベントハンドラ（いわゆるボタン）を表示する構成を採って、そのボタンが指示されるときに、そのボタンに対応付けられる目的処理を実行する構成を採るデータ処理装置がある。
【０００４】
このようなデータ処理装置では、従来、矩形のような定型のボタンを用いて、そのような定型のボタンを図形に貼り付けることで目的処理を呼び出すという構成を採っていた。
【０００５】
例えば、日本地図を表示して、選択された県の人口情報等を表示していくという目的処理を実行するデータ処理装置では、図１１に示すように、各県の図形部分に定型のボタンを貼り付けるという構成を採っていたのである。
【０００６】
【発明が解決しようとする課題】
しかしながら、このような従来技術に従っていると、ユーザは、目的処理を呼び出すためには、ボタンの貼り付けられている図形部分を指示する必要があり、ボタンの貼り付けられていない図形部分を指示しても目的処理を呼び出すことができないという問題点があった。
【０００７】
また、このような従来技術に従っていると、ボタンを明示する必要があることから、例えばボタンを白色で表示することで表示情報の一部が隠されるという問題点があった。
【０００８】
更に、このような従来技術に従っていると、離散しているような複雑な図形や、非常に小さい図形にはボタンを配置することが難しいという問題点や、図形の形状が変わる度に、ボタンを再配置しなければならないという問題点があった。
【０００９】
本発明はかかる事情に鑑みてなされたものであって、任意形状を持つ透明なボタンを生成できるようにすることで、より自然なヒューマンインタフェースを実現する新たなデータ処理装置の提供を目的とする。
【００１０】
【課題を解決するための手段】
この目的を達成するために、本発明のデータ処理装置は、ディスプレイ画面上に設定されるボタンが指示されるときに、該ボタンに対応付けられる目的処理を実行する処理を行うために、（イ）ボタンを表示するとともに、該ボタンと目的処理との連携処理を行うボタンオブジェクトと、（ロ）対話処理に従ってボタンに割り付ける任意の形状を作成して、該形状情報を管理する形状オブジェクトを生成する形状定義作成ツールと、（ハ）形状オブジェクトに対応付けて生成されて、対となる形状オブジェクトを指定されるボタンに割り付けるキャリアオブジェクトとを備え、（ニ）形状オブジェクトは、割り付けられたボタンを実現するボタンオブジェクトの発行する表示要求に応答して、自オブジェクトの管理する形状情報に基づいて、該ボタン上に外郭線を表示し、さらに、該ボタンオブジェクトの発行する目的処理の起動可否の判定要求に応答して、該判定要求で指定されるイベントの発生座標が該外郭線の内部にあるのか否かを判定することで目的処理の起動の可否を判定して、該判定結果を該ボタンオブジェクトに返答し、（ホ）かつ、ボタンオブジェクトは、形状オブジェクトの表示する外郭線の内部に、ボタンが配置されないときに表示されるべき情報を描画することで、透明なボタンを表示する。
【００１１】
【作用】
本発明では、形状定義作成ツールは、対話処理に従って、頂点と頂点間の線モードとを設定することで任意の形状情報を管理する形状オブジェクトを作成したり、対話処理に従って、既定義の形状オブジェクトの管理する形状情報を編集することで任意の形状情報を管理する形状オブジェクトを作成したり、ポインティング手段の動きをトレースすることで任意の形状情報を管理する形状オブジェクトを作成したりすることで、任意の形状情報を管理する形状オブジェクトを作成する。
【００１２】
このようにして形状オブジェクトが作成されると、それに対応付けてキャリアオブジェクトが生成され、この生成されたキャリアオブジェクトは、その形状オブジェクトを指定のボタンに割り付ける。すなわち、ポインタ等を張ることで、その形状オブジェクトを指定のボタンに割り付ける処理を行う。なお、キャリアオブジェクトは、それまで伝達対象（割付対象）としていた形状オブジェクトに代えて、ボタンに割り付けられている他の形状オブジェクトを受け取って新たな伝達対象（割付対象）として、それを別のボタンに割り付ける処理を行うこともある。
【００１３】
一方、ボタンオブジェクトは、ボタンの表示要求を受け取ると、そのボタンに割り付けられる形状オブジェクトに対して表示領域の設定処理を要求し、この設定要求に応答して形状オブジェクトの管理する形状情報に応じた表示領域が設定されると、その表示領域に、ボタンが配置されないときに表示されるべき情報を描画していくことで、そのボタンを透明なものとし、これにより任意形状を持つ透明なボタンを表示する。
この処理にあたって、形状オブジェクトは、自オブジェクトの管理する形状情報に基づいて、ボタン上に外郭線を表示することになるが、透明なボタンの展開領域を明示すべく、その外郭線を指定の線属性に従って表示していくことがある。
【００１４】
このように、本発明に従うことで、任意形状を持つ透明なボタンを生成できるようになる。
これから、目的処理を呼び出すために用意される図形と同一形状の透明なボタンをその図形に貼り付けることが可能になる。これにより、ユーザは、正確かつ簡単に目的処理を呼び出すことができるようになる。そして、表示情報が隠されるというような不都合もなくなり、複雑な図形や非常に小さい図形にも適格なボタンを配置できるとともに、図形の形状が変わっても、ボタンを再配置する必要もなくなる。
【００１５】
【実施例】
以下、実施例に従って本発明を詳細に説明する。
図１に、本発明を具備するデータ処理装置１の一実施例を図示する。図中、２０はボタンオブジェクトであって、目的処理との連携部分として機能し、ディスプレイにボタンを表示する構成を採って、そのボタンが選択されるときに、連携先となる目的処理を起動するもの、２１は形状定義ツールであって、対話処理に従って、ボタンオブジェクト２０に設定する形状を作成するもの、２２は形状オブジェクトであって、形状定義ツール２１により作成された形状等を管理するもの、２３はキャリアオブジェクトであって、形状オブジェクト２２に対応付けて生成されて、形状オブジェクト２２の持つ形状をディスプレイに視覚的に表示しつつボタンオブジェクト２０に伝達するものである。
【００１６】
図２に、この形状オブジェクト２２のデータ構造を図示する。この図に示すように、形状オブジェクト２２は、メソッド群と、正規化された形状定義体と、その形状定義体の長さと、枠種別とを管理するものである。
【００１７】
形状オブジェクト２２の形状定義体は、図３に示すように、形状定義ツール２１の作成する形状の持つ頂点の座標と、その頂点と１つ前の頂点との間が直線で結ばれるのか曲線で結ばれるのかを表す辺モードと、曲線で結ばれるときには、２つの頂点の間に生成される補間点の座標とを１つのデータ単位として、各頂点毎にこのデータ単位を管理することで、形状定義ツール２１の作成する形状を管理するものである。
【００１８】
ここで、形状オブジェクト２２の形状定義体は、絶対座標を管理するものではなくて、図４に示すように、形状定義ツール２１の作成する形状を囲う枠の左下の点を原点として、この原点からの相対座標値と正規化係数とを乗算することで求まる相対座標を管理する構成を採っている。
【００１９】
形状オブジェクト２２の枠種別は、後述するように、形状オブジェクト２２がボタンオブジェクト２０に設定する形状の外郭線をディスプレイに表示する構成を採っているので、そのときに表示する外郭線の枠種別（太さとか色とかいったような外郭線の属性）が如何なるものであるのかを管理するものである。
【００２０】
形状オブジェクト２２のメソッド群には、「add Point 」と、「add Line」と、「add Curve 」と、「move Point」と、「move Curve」と、「clip」と、「unclip」と、「inside」と、「stroke」と、「set Stroke()」というものがある。この内の「add Point 」／「add Line」／「add Curve 」／「move Point」／「move Curve」は、形状定義ツール２１と形状オブジェクト２２との間のインタフェースとなるものであり、残りの「clip」／「unclip」／「inside」／「stroke」／「set Stroke()」は、ボタンオブジェクト２０と形状オブジェクト２２との間のインタフェースとなるものである。
【００２１】
これらのメソッドの機能について説明するならば、「add Point 」は、新たに設定する頂点座標を引数にして呼び出されて、形状オブジェクト２２の形状定義体に対して、その頂点座標を設定し、「add Line」は、新たに設定する頂点座標を引数にして呼び出されて、形状オブジェクト２２の形状定義体に対して、その頂点座標と１つ前の頂点座標とを直線で結ぶことを設定し、「add Curve 」は、新たに設定する頂点座標を引数にして呼び出されて、形状オブジェクト２２の形状定義体に対して、その頂点座標と１つ前の頂点座標とを曲線で結ぶことと、そのために生成する補間点座標とを設定し、「move Point」は、移動後の頂点座標を引数にして呼び出されて、形状オブジェクト２２の形状定義体に対して、その移動後の頂点座標を設定し、「move Curve」は、移動後の補間点座標を引数にして呼び出されて、形状オブジェクト２２の形状定義体に対して、その移動後の補間点座標を設定する。
【００２２】
ここで、「add Curve 」は、新たに設定する頂点座標と１つ前の頂点座標との間に２つの補間点を生成して、それらの４つの点をスプライン曲線で結ぶことで曲線を生成するものであって、１つ前の線が曲線であるときには、連続曲線となることから、前回作成した形状定義体のデータ単位の持つ頂点を補間点に変換するとともに、そのデータ単位に新たな頂点と補間点とを設定していく処理を行うことになる。
【００２３】
一方、「clip」は、ディスプレイ名と、発行元のボタンオブジェクト２０の大きさ／位置とを引数にして呼び出されて、ディスプレイに表示するボタンの表示領域を設定し、「unclip」は、ディスプレイ名を引数にして呼び出されて、「clip」の設定したボタンの表示領域を解除し、「inside」は、イベント発生座標と、発行元のボタンオブジェクト２０の大きさ／位置とを引数にして呼び出されて、発行元のボタンオブジェクト２０に対して、イベントを拾うべきか否かを指示し、「stroke」は、ディスプレイ名と、発行元のボタンオブジェクト２０の大きさ／位置とを引数にして呼び出されて、ディスプレイに表示するボタンの外郭線を表示し、「set Stroke()」は、外郭線の枠種別を引数にして呼び出されて、ディスプレイに表示するボタンの外郭線の枠種別を設定する。
【００２４】
図５に、形状定義ツール２１の実行する処理フローの一実施例、図６に、キャリアオブジェクト２３の実行する処理フローの一実施例、図７及び図８に、ボタンオブジェクト２０の実行する処理フローの一実施例を図示する。次に、これらの処理フローに従って、本発明を詳細に説明する。
【００２５】
形状定義ツール２１は、ユーザと対話することで、ボタンオブジェクト２０に割り付ける任意形状を作成して形状オブジェクト２２を生成する処理を実行するものであって、形状の作成依頼があると、図５の処理フローに示すように、新規の形状作成である場合には、生成することになる形状オブジェクト２２を伝達するためのキャリアオブジェクト２３を生成する。
【００２６】
そして、最初の頂点定義である場合には、形状オブジェクト２２に対して「add Point 」を発行することで、その頂点を形状オブジェクト２２の形状定義体に登録し、最初の頂点定義でない頂点定義にあって、１つ前の頂点との間を直線で結ぶときには、形状オブジェクト２２に対して「add Line」を発行することで、１つ前の頂点との間を直線で結ぶことを形状オブジェクト２２の形状定義体に登録し、最初の頂点定義でない頂点定義にあって、１つ前の頂点との間を曲線で結ぶときには、形状オブジェクト２２に対して「add Curve 」を発行することで、１つ前の頂点との間を曲線で結ぶことを形状オブジェクト２２の形状定義体に登録する。
【００２７】
そして、頂点定義でないときにあって、頂点を移動するときには、形状オブジェクト２２に対して「move Point」を発行することで、移動後の頂点を形状オブジェクト２２の形状定義体に登録し、頂点定義でないときにあって、曲線の形状を変えるときには、形状オブジェクト２２に対して「move Curve」を発行することで、変更後の曲線を形状オブジェクト２２の形状定義体に登録する。
【００２８】
このように、形状定義ツール２１は、ユーザからの指示が最初の頂点定義である場合には、「add Point 」を発行することで図９の“まる１（○に１が記入されたもの）”に示すように最初の頂点を設定し、ユーザからの指示が直線で結ぶ頂点定義である場合には、「add Line」を発行することで図９の“まる２（○に２が記入されたもの）”に示すように直線を設定し、ユーザからの指示が曲線で結ぶ頂点定義である場合には、「add Curve 」を発行することで図９の“まる３（○に３が記入されたもの）”に示すように曲線を設定し、ユーザからの指示が頂点の移動である場合には、「move Point」を発行することで図９の“まる４（○に４が記入されたもの）”に示すように頂点を移動し、ユーザからの指示が曲線の変更である場合には、「move Curve」を発行することで図９の“まる５（○に５が記入されたもの）”に示すように曲線を変更していくことで、任意の形状を作成していくのである。
【００２９】
なお、形状定義ツール２１は、新規に任意の形状を作成していくこともあるが、既に作成した形状を編集することで任意の形状を作成したり、予め用意されている基本的な形状を編集することで任意の形状を作成することもある。
【００３０】
一方、キャリアオブジェクト２３は、形状オブジェクト２２対応に生成されて、対となる形状オブジェクト２２を指定のボタンオブジェクト２０に割り付ける処理を行うものであって、ユーザのマウスドラッグ操作等によりボタンオブジェクト２０が表示するディスプレイ上のボタン位置にまで移動されると、図６の処理フローに示すように、Ｓｅｔ項目とＧｅｔ項目とからなるメニューを表示して、ユーザがＳｅｔ項目を選択するときには、対となる形状オブジェクト２２をそのボタンオブジェクト２０にコピーして渡し、ユーザがＧｅｔ項目を選択するときには、そのボタンオブジェクト２０に割り付けられている形状オブジェクト２２を受け取って、それまで保持していた形状オブジェクト２２と置き換えるよう処理する。
【００３１】
このように、キャリアオブジェクト２３は、形状定義ツール２１により作成された形状を指定のボタンオブジェクト２０に設定したり、一度設定した形状をボタンオブジェクト２０間で移動することで、ボタンオブジェクト２０に対して、任意の形状を管理する形状オブジェクト２２を割り付ける処理を行うのである。ここで、キャリアオブジェクト２３は、対となる形状オブジェクト２２の持つ形状をディスプレイに表示しつつボタンオブジェクト２０に伝達する処理を行うものであることから、ユーザは、極めて簡単に、希望するボタンオブジェクト２０に対して希望する形状オブジェクト２２を割り付けることができることになる。
【００３２】
このようにして、形状オブジェクト２２が割り付けられるときにあって、ボタンの表示要求があると、ボタンオブジェクト２０は、図７の処理フローに示すように、割り付けられた形状オブジェクト２２に対して、ディスプレイ名と、自ボタンオブジェクト２０の大きさ／位置とを引数にして「stroke」を発行する。この発行を受け取ると、その形状オブジェクト２２は、ボタンの展開位置を明示すべく、自分の形状定義体の管理する形状をその大きさに変換して、その変換した形状の外郭線を指定の枠種別（線属性）に従ってディスプレイ上のその位置に表示する。
【００３３】
続いて、ボタンオブジェクト２０は、割り付けられた形状オブジェクト２２に対して、ディスプレイ名と、自ボタンオブジェクト２０の大きさ／位置とを引数にして「clip」を発行する。この発行を受け取ると、その形状オブジェクト２２は、自分の形状定義体の管理する形状をその大きさに変換して、その位置に位置するその変換した形状をボタンの表示領域として設定する。
【００３４】
ボタンの表示領域が設定されると、続いて、ボタンオブジェクト２０は、その設定された表示領域に、本来の表示情報（ボタンが配置されないときに表示されるべき情報）を描画する。すなわち、設定された表示領域を持つ透明なボタンとなるようにと、設定された表示領域内に制限しつつ、本来の表示情報を描画するのである。
【００３５】
そして、表示するボタンの消去要求があると、続いて、ボタンオブジェクト２０は、割り付けられた形状オブジェクト２２に対して、ディスプレイ名を引数にして「unclip」を発行する。この発行を受け取ると、その形状オブジェクト２２は、ボタンの表示領域の設定を解除することでボタンの表示を解除する。
【００３６】
一方、形状オブジェクト２２が割り付けられるときにあって、イベントの処理要求があると、ボタンオブジェクト２０は、図８の処理フローに示すように、イベント発生位置のｘ座標を変数ｘに設定するとともに、ｙ座標を変数ｙに設定する。
【００３７】
続いて、ボタンオブジェクト２０は、割り付けられた形状オブジェクト２２に対して、変数ｘ，ｙに設定されたイベント発生座標と、自ボタンオブジェクト２０の大きさ／位置とを引数にして「inside」を発行する。この発行を受け取ると、その形状オブジェクト２２は、自分の形状定義体の管理する形状をその位置を基準にしてその大きさに変換して、イベント発生座標が変換された形状に含まれる場合には、発行元のボタンオブジェクト２０に対して「Ｙｅｓ」の応答値を返し、含まれない場合には「Ｎｏ」の応答値を返す処理を行う。
【００３８】
この形状オブジェクト２２からの応答値を受け取ると、続いて、ボタンオブジェクト２０は、その応答値が「Ｙｅｓ」であるのか「Ｎｏ」であるのかを判断して、「Ｙｅｓ」であることを判断するときには、連携先となる目的処理を呼び出し、「Ｎｏ」であることを判断するときには、その目的処理を呼び出すことなく処理を終了する。
【００３９】
このようにして、本発明では、ディスプレイ上のボタンが指示されるときに、そのボタンに対応付けられる目的処理を実行する構成を採るときにあって、形状という概念をボタンと分離する構成を採って、図１０に示すように、ボタンとは分離して作成した任意の形状をボタンに割り付けていくことで、目的処理を呼び出していく構成を採るものである。
【００４０】
図示実施例について説明したが、本発明はこれに限定されるものではない。例えば、実施例では、頂点を指定していくことで形状を作成していく構成を開示したが、本発明はこれに限られるものではなくて、マウス等の動きをトレースすることで形状を作成していく方法を採ることも可能である。
【００４１】
【発明の効果】
以上説明したように、本発明によれば、任意形状を持つ透明なボタンを生成できるとともに、そのボタンの展開位置を明示できるようになる。
【００４２】
これから、目的処理を呼び出すために用意される図形と同一形状の透明なボタンをその図形に貼り付けることが可能になる。これにより、ユーザは、正確かつ簡単に目的処理を呼び出すことができるようになる。そして、表示情報が隠されるというような不都合もなくなり、複雑な図形や非常に小さい図形にも適格なボタンを配置できるとともに、図形の形状が変わっても、ボタンを再配置する必要もなくなる。
【図面の簡単な説明】
【図１】  本発明の一実施例である。
【図２】  形状オブジェクトの説明図である。
【図３】  形状定義体のデータ構造である。
【図４】  正規化処理の説明図である。
【図５】  形状定義ツールの実行する処理フローである。
【図６】  キャリアオブジェクトの実行する処理フローである。
【図７】  ボタンオブジェクトの実行する処理フローである。
【図８】  ボタンオブジェクトの実行する処理フローである。
【図９】  形状定義ツールの処理説明図である。
【図１０】  本発明の処理説明図である。
【図１１】  従来技術の説明図である。
【符号の説明】
１    データ処理装置
２０  ボタンオブジェクト
２１  形状定義ツール
２２  形状オブジェクト
２３  キャリアオブジェクト
【図１】
0003862097.tif 000002
【図２】
0003862097.tif 000003
【図３】
0003862097.tif 000004
【図４】
0003862097.tif 000005
【図５】
0003862097.tif 000006
【図６】
0003862097.tif 000007
【図７】
0003862097.tif 000008
【図８】
0003862097.tif 000009
【図９】
0003862097.tif 000010
【図１０】
0003862097.tif 000011
【図１１】
0003862097.tif 000012