(57)【特許請求の範囲】
【請求項１】
ＧＵＩ操作画面の表示部品レイアウト及びこのレイアウトの状態遷移に関する設計データの入力を受け付け、この入力データを反映させたＧＵＩ設計データを生成する設計部と、
上記ＧＵＩ操作画面での表示部品レイアウトの状態における表示部品の表示の可否、上記表示部品レイアウトの各状態遷移における表示部品の表示の可否、各表示部品の上記表示部品レイアウトの状態遷移に伴う表示の可否、各イベント処理に伴う表示部品の表示の可否、上記表示部品レイアウトの状態におけるイベント処理の無効化の可否、上記表示部品レイアウトの各状態遷移に伴うイベント処理の無効化の可否、各表示部品における上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否、及び各イベント処理の状態遷移に伴う無効化の可否に関する設計データの入力を受け付け、この入力データ内容を反映させるための属性を上記ＧＵＩ設計データに設定する属性編集部と、
上記設計部により生成され、上記属性編集部により上記属性が設定されたＧＵＩ設計データを格納する記憶部と、
上記記憶部からＧＵＩ設計データを読み込んでＧＵＩ操作画面上での表示部品のふるまいを実行する実行部と、
上記実行部がＧＵＩ操作画面上での表示部品のふるまいを実行するにあたり、上記属性編集部により上記ＧＵＩ設計データに設定された、上記表示部品レイアウトの状態の属性、状態遷移の属性、表示部品の属性、及びイベント処理の属性の内容に従って、上記表示部品レイアウトの状態遷移に伴う表示部品の表示の可否及びイベント処理の無効化の可否を制御する実行制御部とを備え、
上記属性編集部は、
各表示部品の上記表示部品レイアウトの状態遷移に伴う表示の可否、及び、各表示部品における上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記表示部品の属性として設定する表示部品属性編集部と、
上記表示部品レイアウトの状態における、表示部品の表示の可否及びイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記表示部品レイアウトの状態の属性として設定する状態属性編集部と、
上記表示部品レイアウトの各状態遷移における、表示部品の表示の可否及びイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記状態遷移の属性として設定する状態遷移属性編集部と、
各イベント処理の状態遷移に伴う無効化の可否に関する設計データ内容を反映させるための属性を、上記イベント処理の属性として設定するイベント処理属性編集部とを有し、
上記実行制御部は、
上記属性編集部によりＧＵＩ設計データに設定された、上記表示部品レイアウトの状態の属性、上記状態遷移の属性、及び上記表示部品の属性の内容に従って、上記実行部が実行する上記ＧＵＩ操作画面上での表示部品のふるまいにおける、上記表示部品レイアウトの状態遷移に伴う上記表示部品の表示の可否を制御する部品表示制御部と、
上記属性編集部により上記ＧＵＩ設計データに設定された、上記表示部品レイアウトの状態の属性、上記状態遷移の属性、上記表示部品の属性、及び上記イベント処理の属性の内容に従って、上記実行部が実行する上記ＧＵＩ操作画面上での表示部品のふるまいにおける、上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否を制御するイベント処理有効性制御部とを有するＧＵＩ設計装置。
【請求項２】
ＧＵＩ操作画面の表示部品レイアウト及びこのレイアウトの状態遷移に関する設計データの入力を受け付け、この入力データを反映させたＧＵＩ設計データを生成する設計部と、
上記ＧＵＩ操作画面での表示部品レイアウトの状態における表示部品の表示の可否、上記表示部品レイアウトの各状態遷移における表示部品の表示の可否、各表示部品の上記表示部品レイアウトの状態遷移に伴う表示の可否、各イベント処理に伴う表示部品の表示の可否、上記表示部品レイアウトの状態におけるイベント処理の無効化の可否、上記表示部品レイアウトの各状態遷移に伴うイベント処理の無効化の可否、各表示部品における上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否、及び各イベント処理の状態遷移に伴う無効化の可否に関する設計データの入力を受け付け、この入力データ内容を反映させるための属性を上記ＧＵＩ設計データに設定する属性編集部と、
上記設計部により生成され、上記属性編集部により上記属性が設定されたＧＵＩ設計データを格納する記憶部と、
上記記憶部からＧＵＩ設計データを読み込んでＧＵＩ操作画面上での表示部品のふるまいを実行する実行部と、
上記実行部がＧＵＩ操作画面上での表示部品のふるまいを実行するにあたり、上記属性編集部により上記ＧＵＩ設計データに設定された、上記表示部品レイアウトの状態の属性、状態遷移の属性、表示部品の属性、及びイベント処理の属性の内容に従って、上記表示部品レイアウトの状態遷移に伴う表示部品の表示の可否及びイベント処理の無効化の可否を制御する実行制御部とを備え、
上記属性編集部は、
各表示部品の上記表示部品レイアウトの状態遷移に伴う表示の可否、及び、各表示部品における上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記表示部品の属性として設定する表示部品属性編集部と、
上記表示部品レイアウトの状態における、表示部品の表示の可否及びイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記表示部品レイアウトの状態の属性として設定する状態属性編集部と、
上記表示部品レイアウトの各状態遷移における、表示部品の表示の可否及びイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、上記状態遷移の属性として設定する状態遷移属性編集部と、
各イベント処理の状態遷移に伴う無効化の可否に関する設計データ内容を反映させるための属性を、上記イベント処理の属性として設定するイベント処理属性編集部とを有し、
上記実行制御部は、
上記属性編集部によりＧＵＩ設計データに設定された、上記表示部品レイアウトの状態の属性、上記状態遷移の属性、及び上記表示部品の属性の内容に従って、上記実行部が実行する上記ＧＵＩ操作画面上での表示部品のふるまいにおける、上記表示部品レイアウトの状態遷移に伴う上記表示部品の表示の可否を制御する部品表示制御部と、
上記属性編集部により上記ＧＵＩ設計データに設定された、上記表示部品レイアウトの状態の属性、上記状態遷移の属性、上記表示部品の属性、及び上記イベント処理の属性の内容に従って、上記実行部が実行する上記ＧＵＩ操作画面上での表示部品のふるまいにおける、上記表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否を制御するイベント処理有効性制御部とを有するＧＵＩ設計装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータなどのＧＵＩ（Graphic User Interface）を設計するＧＵＩ設計装置及びこれをコンピュータに実現させるためのプログラムに関するものである。
【背景技術】
【０００２】
状態遷移の考え方に基づく、従来のＧＵＩ設計装置としては、例えば特許文献１に開示されるものがある。このＧＵＩ設計装置は、各種イベントに応じた状態遷移として実際のＧＵＩ操作画面（以下、ＧＵＩ画面と適宜称する）上に表示させた表示部品を切り替えるＧＵＩの設計に適用される。また、従来のＧＵＩ設計装置では、イベント発生により状態が、例えば状態１から状態２に遷移するＧＵＩを設計する場合、状態１を表現した表示内容を消去してから状態２に対応する表示部品を表示する。
【０００３】
【特許文献１】特開２００２−２４４８４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のＧＵＩ設計装置では、ＧＵＩ画面における表示部品の状態遷移を設計するにあたり、遷移すべき状態（遷移先）を決定すると前の状態（遷移元）に関する表示内容が消去され、且つ遷移元で実行待ちのイベント処理が無効化されてしまうため、遷移前後の状態を同時に処理することができないという課題があった。
【０００５】
具体的に、状態１、状態２、状態３において、部品Ａ、部品Ｂ、部品Ｃをそれぞれ表示し、状態１から状態２への状態遷移にイベントＸに対応して処理されるイベント処理Ｘを設定し、状態２から状態３への状態遷移にイベントＹに対応して処理されるイベント処理Ｙを設定する場合を例に挙げて説明する。
【０００６】
この場合、例えば初期の状態が状態１であり、次いでイベントＸの発生によりイベント処理Ｘがなされて状態２に遷移したとすると、部品Ａが消去され、イベント処理Ｘが無効化されると共に、部品Ｂが表示されてイベント処理Ｙが有効化されることになる。
【０００７】
従って、従来のＧＵＩ設計装置では、状態１から状態２へ状態遷移すると、部品Ａの表示やイベント処理Ｘを有効なまま残すことができない。つまり、ある状態とこの状態で表示すべき部品や有効なイベント処理とは対応しており、現在の状態に属する表示部品やイベント処理を残しつつ、他の状態に対応する部品を表示したり、イベント処理を追加したりするＧＵＩを記述できない。
【０００８】
このような不具合は、複数のウィンドウから構成されるＧＵＩで顕著となる。例えば、状態１に詳細ボタンと終了ボタンを配置したメインウィンドウを置き、状態２に詳細ボタンのクリックに反応して表示されるサブウィンドウを置き、状態３に終了ボタンのクリックに反応して表示される終了ウィンドウを置き、状態１から状態２への状態遷移に対して詳細ボタンのクリックにより発生するイベントに対応するイベント処理を設定し、状態１から状態３への状態遷移に対して終了ボタンのクリックにより発生するイベントに対応するイベント処理を設定した場合を説明する。
【０００９】
このＧＵＩに対して、最初にメインウィンドウを開き、メインウィンドウ中の詳細ボタンを押すとメインウィンドウに加えてサブウィンドウが開き、また、サブウィンドウが開いているか否かに関わらず、メインウィンドウ中の終了ボタンを押すと終了ウィンドウが表示されてその他のウィンドウが消去される、という挙動を新たに設計をするは非常に困難である。
【００１０】
つまり、状態２において、サブウィンドウに加えてメインウィンドウも表示させるためには、状態１のメインウィンドウと状態２のサブウィンドウの両方が配置された状態を状態２とする必要がある。また、サブウィンドウが表示されている状態２から状態３へ遷移して終了ウィンドウを表示するには、状態１から状態３への状態遷移におけるイベント処理と同じイベント処理を状態２から状態３への状態遷移にも設定しなければならない。従って、同様の設計が何回も登場し、設計が複雑になってしまう。
【００１１】
このような不具合を解決するため、特許文献１に開示されたＧＵＩ設計装置では、いくつかの状態をグループ化し、グループごとの状態で共通している表示部品やイベント処理を取り扱っている。これにより、同様の設計が何回も登場することを回避できる。しかしながら、複数の状態に共通に存在する部品や、様々な状態遷移についてイベント処理が共通に有効となる場合を予め静的にグループ化しておく必要がある。このため、設計が複雑となり、また設計の柔軟性にも欠けるという問題があった。
【００１２】
この発明は、上記のような課題を解決するためになされたもので、ＧＵＩ画面で表示させる表示部品の表示期間やイベント処理の有効期間を適宜決定することで、ある状態の表示部品やイベント処理を残しつつ、他の状態に属する表示部品を表示したりイベント処理を追加したりするようなＧＵＩを設計及び実行できるＧＵＩ設計装置及びこれをコンピュータに実現させるためのプログラムを得ることを目的とする。
【課題を解決するための手段】
【００１３】
この発明に係るＧＵＩ設計装置は、ＧＵＩ操作画面の表示部品レイアウト及びこのレイアウトの状態遷移に関する設計データの入力を受け付け、この入力データを反映させたＧＵＩ設計データを生成する設計部と、ＧＵＩ操作画面での表示部品レイアウトの状態における表示部品の表示の可否、表示部品レイアウトの各状態遷移における表示部品の表示の可否、各表示部品の表示部品レイアウトの状態遷移に伴う表示の可否、各イベント処理に伴う表示部品の表示の可否、表示部品レイアウトの状態におけるイベント処理の無効化の可否、表示部品レイアウトの各状態遷移に伴うイベント処理の無効化の可否、各表示部品における表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否、及び各イベント処理の状態遷移に伴う無効化の可否に関する設計データの入力を受け付け、この入力データ内容を反映させるための属性をＧＵＩ設計データに設定する属性編集部と、設計部により生成され、属性編集部により属性が設定されたＧＵＩ設計データを格納する記憶部と、記憶部からＧＵＩ設計データを読み込んでＧＵＩ操作画面上での表示部品のふるまいを実行する実行部と、実行部がＧＵＩ操作画面上での表示部品のふるまいを実行するにあたり、属性編集部によりＧＵＩ設計データに設定された、表示部品レイアウトの状態の属性、状態遷移の属性、表示部品の属性、及びイベント処理の属性の内容に従って、表示部品レイアウトの状態遷移に伴う表示部品の表示の可否及びイベント処理の無効化の可否を制御する実行制御部とを備え、属性編集部が、各表示部品の表示部品レイアウトの状態遷移に伴う表示の可否、及び、各表示部品における表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、表示部品の属性として設定する表示部品属性編集部と、表示部品レイアウトの状態における、表示部品の表示の可否及びイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、表示部品レイアウトの状態の属性として設定する状態属性編集部と、表示部品レイアウトの各状態遷移における、表示部品の表示の可否及びイベント処理の無効化の可否に関する設計データ内容を反映させるための属性を、状態遷移の属性として設定する状態遷移属性編集部と、各イベント処理の状態遷移に伴う無効化の可否に関する設計データ内容を反映させるための属性を、イベント処理の属性として設定するイベント処理属性編集部とを有し、実行制御部が、属性編集部によりＧＵＩ設計データに設定された、表示部品レイアウトの状態の属性、状態遷移の属性、及び表示部品の属性の内容に従って、実行部が実行するＧＵＩ操作画面上での表示部品のふるまいにおける、表示部品レイアウトの状態遷移に伴う表示部品の表示の可否を制御する部品表示制御部と、属性編集部によりＧＵＩ設計データに設定された、表示部品レイアウトの状態の属性、状態遷移の属性、表示部品の属性、及びイベント処理の属性の内容に従って、実行部が実行するＧＵＩ操作画面上での表示部品のふるまいにおける、表示部品レイアウトの状態遷移に伴うイベント処理の無効化の可否を制御するイベント処理有効性制御部とを有するものである。
【発明の効果】
【００１４】
この発明によれば、ＧＵＩ操作画面の表示部品レイアウト及びこのレイアウトの状態遷移に関する設計データの入力を受け付け、この入力データを反映させたＧＵＩ設計データを生成する設計部と、ＧＵＩ操作画面での表示部品レイアウトの状態遷移に伴う表示部品の表示の可否及び／又はイベント処理の有効性の有無に関する設計データの入力を受け付け、この入力データ内容を反映させるための属性をＧＵＩ設計データに設定する属性編集部と、設計部により生成され、属性編集部により属性が設定されたＧＵＩ設計データを格納する記憶部と、記憶部からＧＵＩ設計データを読み込んでＧＵＩ操作画面上での表示部品のふるまいを実行する実行部と、実行部がＧＵＩ操作画面上での表示部品のふるまいを実行するにあたり、属性編集部によりＧＵＩ設計データに設定された属性の内容に従って、ＧＵＩ操作画面上での表示部品レイアウトの状態遷移に伴う表示部品の表示の可否及び／又はイベント処理の有効性の有無を制御する実行制御部とを備える。
【００１５】
この構成を有することにより下記のような効果を得ることができる。先ず、従来では、ＧＵＩ画面上での表示部品レイアウトの状態遷移を設計する際、遷移先の状態の表示部品として新たに表示すべき表示部品を作成したり、その状態に関するイベント処理待ちになる前に、それまで表示されていた既存の表示部品を全て消去し、さらに待ち状態にある既存のイベント処理を全て無効化する処理が行われていた。これに対して、本発明では、設計者が表示部品の表示の可否やイベント処理の有効性の有無を属性の一つとして指定するだけで、この属性が属性編集部により複合表示部品に設定され、この属性の内容に従ってＧＵＩ画面上での状態遷移に伴う表示部品の表示の可否やイベント処理の有効性の有無などのふるまいが実行される。これにより、複数のウィンドウを同時に表示させるような複雑なＧＵＩを設計する場合においても、同一の表示部品やイベント処理を重複して設定する必要がなくなり、表示部品の表示期間やイベント処理の有効期間の設計の自由度を向上させることができるという効果がある。従って、例えば複数のウィンドウを有するＧＵＩの設計などにおいて、表示部品やイベント処理を残しつつ、他の部品を表示したりイベント処理を追加したりすることもできる。
【発明を実施するための最良の形態】
【００１６】
実施の形態１．
図１は、この発明の実施の形態１によるＧＵＩ設計装置の構成を示すブロック図である。本実施の形態１によるＧＵＩ設計装置は、状態集合編集部（設計部）１、イベント処理編集部（設計部）２、基本表示部品格納部３、状態表示編集部（設計部）４、複合表示部品格納部（記憶部）５、複合表示部品実行部（実行部）６、表示部品表示期間決定部（部品表示制御部、実行制御部）７、イベント処理有効期間決定部（イベント処理有効性制御部、実行制御部）８及び属性編集部９から構成される。
【００１７】
本発明のＧＵＩ設計装置は、例えば汎用コンピュータなどを用いて、本発明に従うＧＵＩ設計プログラムを実行させることによって具現化することができる。つまり、ＧＵＩ設計プログラムをコンピュータに実行させて上記構成要素１〜９として機能させることにより、本発明のＧＵＩ設計装置における特徴的なデータ処理を実行することができる。
【００１８】
なお、以下の説明において、本発明のＧＵＩ設計装置を具現化するコンピュータ自体の構成及びその基本的な機能については、当業者が当該分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。
【００１９】
本発明における複合表示部品とは、ＧＵＩ画面上で表示すべき複数の状態（表示部品レイアウトの状態）からなる状態空間を有し、各状態における表示部品の表示や状態遷移などのふるまいを設計記述することができる表示部品オブジェクトである。状態集合編集部１では、この複合表示部品の状態空間に新たな状態を追加したり、既に状態空間に存在している状態を削除するＧＵＩ設計を実行する。
【００２０】
具体的には、状態集合編集部１が、不図示の表示装置において、ＧＵＩを設計するための設計画面（以下、ＧＵＩ設計画面と称する）に、実際のＧＵＩ画面上で表示すべき複数の状態からなる複合表示部品を表示する。これに対して、不図示の入力装置を用いて設計者により各状態における表示部品の表示や状態遷移などのふるまいが記述されると、状態集合編集部１は、入力内容を反映させた複合表示部品に関する情報（ＧＵＩ設計データ）を作成する。また、このように、状態集合編集部１がＧＵＩ設計画面に複合表示部品を表示させる場合、各状態には互いを識別するための名前をつけられるようにしてもよい。
【００２１】
さらに、複合表示部品における状態空間に複数の状態がある場合には、この複合表示部品が、実際のＧＵＩ画面に表示されたとき、最初にどの状態になるかを指定する必要がある。そこで、状態集合編集部１が、設計者に対していずれかの状態を初期状態として設定させるための入力表示をＧＵＩ設計画面上に表示し、その入力に応じて初期状態の設定を複合表示部品に反映する処理を実行してもよい。
【００２２】
この他、状態集合編集部１に対して、いくつかの状態からなる状態グループを編集する機能を設けてもよい。複合表示部品において、例えば表示すべき表示部品が共通していたり、状態遷移についてイベント処理が共通に有効となる複数の状態をグループ化する。これにより、効率よくＧＵＩ設計を行うことができる。
【００２３】
また、設計者が上記入力装置を用いて、状態集合編集部１がＧＵＩ設計画面に表示させた複合表示部品中の各状態若しくは状態グループを指定すると、これら状態や状態グループに対応するイベントや状態表示を編集するためのイベント処理編集部２や状態表示編集部４を同時に起動するように構成してもよい。
【００２４】
イベント処理編集部２は、複合表示部品に規定された各状態や状態グループにおけるふるまいとして状態遷移のイベント処理を設計記述する。具体的には、状態集合編集部１がＧＵＩ設計画面に表示させた複合表示部品中の各状態や状態グループの状態遷移に対して、設計者からの指定に応じてどのようなイベントをどのように処理するかを規定するイベントハンドラを設定する。イベントの種類としては、例えばキーボードやマウスなどの入力装置による入力に応じたキーイベントやマウスイベント、指定時間の経過などで発生するタイマーイベントなどがある。
【００２５】
設計者からの指定に応じて、イベント処理編集部２は、イベントハンドラに対して、イベントの種類、これに対応するイベントが発生した場合の処理を規定するアクションを設定する。アクションで記述される処理としては、表示部品の属性の変更、他の複合表示部品などに対する内部イベントの送信、何らかのプログラムコードの実行、そして複合表示部品の状態遷移などが考えられる。
【００２６】
基本表示部品格納部３は、予め設計された基本表示部品を格納する記憶部であり、例えばボタンやラベル、テキスト入力フォーム、チェックボックス、メニュー、他の基本表示部品などを配置するためのパネルやフレームに関するＧＵＩ部品オブジェクト（ＧＵＩ部品プログラム）を基本表示部品として格納する。
【００２７】
また、基本表示部品格納部３は、同じ種類の基本表示部品について予め配置や大きさ、色、表示文字列などを特定したものを格納する。このとき、基本表示部品の属性については変更可能としておき、設計時に属性編集部９によって編集できるようにする。これにより、用意すべき基本表示部品の数を少なくすることができ、また個々の基本表示部品の汎用性を向上させることができる。
【００２８】
状態表示編集部４は、複合表示部品の各状態や状態グループにおいて表示すべき表示部品を新たに追加したり、既に各状態や状態グループに登録や追加されている表示部品を削除する。例えば、状態表示編集部４が、設計者から不図示の入力装置を用いて、状態集合編集部１によりＧＵＩ設計画面に表示された、複合表示部品の各状態や状態グループに対して設定可能な設計用ウィンドウを表示する。これにより設計者から入力された指示に従い、状態表示編集部４は、上記複合表示部品中の各状態や状態グループから表示部品を削除したり、基本表示部品格納部３から読み出した基本表示部品や複合表示部品格納部５に格納される複合表示部品を追加する。
【００２９】
このとき、状態表示編集部４が、複合表示部品の各状態や状態グループにおいて表示すべき表示部品の配置をそれらの外観とともにグラフィカルに表示し、それらをマウスなどの入力装置で設計者が操作し、大きさやサイズあるいは部品間の前後関係などレイアウトに関する属性や情報をグラフィカルに編集したり、各表示部品に対応する属性編集部９を直接起動するようにしてもよい。
【００３０】
複合表示部品格納部５は、状態集合編集部１、イベント処理編集部２、状態表示編集部４及び属性編集部９により設計された複合表示部品を格納する記憶部である。具体的には、複合表示部品ごとの情報として、複合表示部品の属性、最初に表示すべき状態（初期状態）の名前（以下、情報ａと適宜称する）や、各状態に関する情報（以下、情報ｂと適宜称する）を格納する。
【００３１】
各状態に関する情報（情報ｂ）としては、各状態の名前（以下、情報ｅと適宜称する）、各状態において表示部品の表示の可否を指定する属性、各状態で表示すべき表示部品ごとの情報（以下、情報ｃと適宜称する）や、ある状態を起点とするイベント処理に関する情報（以下、情報ｄと適宜称する）がある。各状態において表示部品の表示の可否を指定する属性は、複合表示部品実行部６を用いたＧＵＩ設計時に表示部品表示期間決定部７に読み込まれ、表示部品の表示の可否の判定基準となる。
【００３２】
各状態に関する情報（情報ｂ）における、ある状態を起点とするイベント処理に関する情報（情報ｄ）には、各イベント処理において表示部品の表示の可否を指定する属性、遷移先の状態の名前（以下、情報ｆと適宜称する）、イベントの種別や、イベントの属性がある。ここで、イベントの属性には、例えばキー入力に対応するイベントであれば、そのキー名称などがある。
【００３３】
各状態で表示すべき表示部品ごとの情報（情報ｃ）には、各状態遷移において表示部品の表示の可否を指定する属性、各表示部品において状態遷移時に表示の可否を指定する属性、表示部品の種別や、表示部品の属性がある。ここで、表示部品の属性には、実際のＧＵＩ画面上での表示部品の表示位置、大きさ、文字列の内容、文字列の色などがある。
【００３４】
なお、基本表示部品格納部３及び複合表示部品格納部５は、例えば本発明のＧＵＩ設計装置として機能するコンピュータに標準的に装備されたハードディスク装置や、このコンピュータで読み込み可能なＤＶＤなどの記録媒体などで具現化することができる。
【００３５】
複合表示部品実行部６は、複合表示部品格納部５に格納された複合表示部品に関する情報（ＧＵＩ設計データ）を読み出して実行し、ＧＵＩ画面で複合表示部品を動作させる。このとき、表示部品表示期間決定部７やイベント処理有効期間決定部８により状態遷移時の表示部品の表示の可否やイベント処理の有効無効が制御される。
【００３６】
表示部品表示期間決定部７は、上述した情報ｂに含まれる「各状態において表示部品の表示の可否を指定する属性」、情報ｃに含まれる「各状態遷移において表示部品の表示の可否を指定する属性」や「各表示部品において状態遷移での表示の可否を指定する属性」、情報ｄに含まれる「各イベント処理に伴う状態遷移で表示部品の表示の可否を指定する属性」を用いて、複合表示部品実行部６が複合表示部品を動作させるにあたり、各表示部品を表示させておく表示期間を決定し、複合表示部品実行部６による各表示部品の消去を制御する。
【００３７】
ここで、各状態において表示部品の表示の可否を指定する属性とは、各状態に設定する真又は偽の値をとる属性であり、例えば状態遷移において遷移先の状態で真値であれば遷移元の状態の表示部品を消去しない属性（以下、属性Ｐと称する）や、遷移元の状態で真値であれば遷移元の状態の表示部品を消去しない属性（以下、属性Ｑと称する）である。
【００３８】
各状態遷移において表示部品の表示の可否を指定する属性とは、各状態遷移において真又は偽の値をとる属性であり、例えば真値であれば当該状態遷移時に表示部品を消去しない属性（以下、属性Ｒと称する）である。
【００３９】
さらに、各表示部品において状態遷移時に表示の可否を指定する属性とは、各表示部品において真又は偽の値をとる属性であり、例えば状態遷移時に真値であれば当該表示部品を消去しない属性（以下、属性Ｓと称する）である。
【００４０】
また、各イベント処理において表示部品の表示の可否を指定する属性とは、各イベント処理において真又は偽の値をとる属性であり、例えば状態遷移時に真値であればこのイベント処理で表示部品を消去しない属性（以下、属性Ｔと称する）である。
【００４１】
上述した他に、状態遷移において表示部品の表示の可否を設定する属性には、下記のようなものが考えられる。
【００４２】
特定の条件下、例えば「所定数の表示部品が表示されると、その数を超えて当該表示部品を表示させない」というような場合において、各状態に設定する真又は偽の値をとる属性として、遷移先の状態で真値である間、この状態の表示部品を消去する属性（以下、属性Ｐ１と称する）を設けても良い。
【００４３】
また、上記と同様な特定の条件で、各状態遷移に設定する真又は偽の値をとる属性として、この状態遷移が真値である間、表示部品を消去する属性（以下、属性Ｒ１と称する）を設けても良い。
【００４４】
さらに、上記と同様な特定の条件で、各表示部品に設定する真又は偽の値をとる属性として、状態遷移時に真値であれば当該表示部品を消去する属性（以下、属性Ｓ１と称する）を設けても良い。
【００４５】
さらに、上記と同様な特定の条件で、各イベント処理に設定する真又は偽の値をとる属性として、真値である間、このイベント処理に伴う状態遷移で表示部品を消去する属性（以下、属性Ｔ１と称する）を設けても良い。
【００４６】
これら属性Ｐ、Ｐ１、Ｑ、Ｒ、Ｒ１、Ｓ、Ｓ１、Ｔ、Ｔ１は、複合表示部品実行部６を用いたＧＵＩ設計時に表示部品表示期間決定部７に読み込まれて、表示部品の表示の可否の判定基準となる。
【００４７】
イベント処理有効期間決定部８は、複合表示部品実行部６が複合表示部品を動作させるにあたり、複合表示部品に関する情報から取得した属性に基づいてイベント処理の有効期間を決定し、複合表示部品実行部６による各イベント処理の無効化の可否を制御する。具体的には、各イベント処理に対して設定された下記のような属性を、複合表示部品に関する情報から取得し、これら属性に基づいてイベント処理の有効期間を決定する。
【００４８】
イベント処理の有効期間を決定するための判定基準となる属性としては、例えば各状態においてイベント処理の無効化の可否を指定する属性、各状態遷移においてイベント処理の無効化の可否を指定する属性、各表示部品において状態遷移に伴うイベント処理の無効化の可否を指定する属性や、各イベント処理において状態遷移で無効化の可否を指定する属性がある。
【００４９】
各状態においてイベント処理の無効化の可否を指定する属性とは、各状態において真又は偽の値をとる属性であり、例えば状態遷移において遷移先の状態で真値であれば、当該状態遷移に伴うイベント処理の無効化を実行しない属性（以下、属性Ｐ２と称する）や、遷移元の状態で真値であれば当該状態遷移に伴うイベント処理の無効化を実行しない属性（以下、属性Ｑ２と称する）である。
【００５０】
各状態遷移においてイベント処理の無効化の可否を指定する属性とは、各状態遷移において真又は偽の値をとる属性であり、例えば真値であれば当該状態遷移に伴うイベント処理を無効化しない属性（以下、属性Ｒ２と称する）である。
【００５１】
また、各表示部品において状態遷移に伴うイベント処理の無効化の可否を指定する属性とは、各表示部品において真又は偽の値をとる属性であり、例えば真値であれば当該表示部品を含む状態の状態遷移に伴うイベント処理を無効化しない属性（以下、属性Ｓ２と称する）である。
【００５２】
さらに、各イベント処理において状態遷移で無効化の可否を指定する属性とは、各イベント処理において真又は偽の値をとる属性であり、例えば状態遷移時に真値であればイベント処理を無効化しない属性（以下、属性Ｔ２と称する）である。
【００５３】
上述した他に、状態遷移においてイベント処理の無効化の可否を設定する属性には、下記のようなものが考えられる。
【００５４】
特定の条件下、例えば「既に有効なイベント処理を状態遷移で無効化する」というような場合では、各状態に設定する真又は偽の値をとる属性として、遷移先の状態で真値である間、この状態遷移に伴うイベント処理を無効化する属性（以下、属性Ｐ３と称する）を設けても良い。
【００５５】
また、上記と同様な特定の条件で、各状態遷移に設定する真又は偽の値をとる属性として、真値である間、この状態遷に伴うイベント処理を無効化する属性（以下、属性Ｒ３と称する）を設けても良い。
【００５６】
さらに、上記と同様な特定の条件で、各表示部品に設定する真又は偽の値をとる属性として、真値である間、この表示部品を含む状態遷移に伴うイベント処理を無効化する属性（以下、属性Ｓ３と称する）を設けても良い。
【００５７】
さらに、上記と同様な特定の条件で、各イベント処理に設定する真又は偽の値をとる属性として、真値である間、このイベント処理を無効化する属性（以下、属性Ｔ３と称する）を設けても良い。
【００５８】
これら属性Ｐ２、Ｐ３、Ｑ２、Ｒ２，Ｒ３、Ｓ２、Ｓ３、Ｔ２、Ｔ３は、複合表示部品実行部６を用いたＧＵＩ設計時にイベント処理有効期間決定部８に読み込まれ、状態遷移に伴うイベント処理の無効化の可否の判定基準となる。
【００５９】
属性編集部９は、表示部品属性編集部１０、イベント処理属性編集部１１、状態属性編集部１２及び状態遷移属性編集部１３からなり、基本表示部品や複合表示部品などの表示部品が持つ属性や、状態遷移に伴うイベント処理の属性の値を設定する。なお、属性編集部９としては、上記編集部１０〜１３を全て備えたものの他、使用目的に応じて編集部１０〜１３のうちのいずれか一つで構成しても良い。
【００６０】
属性としては、上述した表示部品の表示期間やイベント処理の有効期間を判定するための真偽値の他、表示部品の配置や大きさ、例えば表示部品がボタンであれば、表示文字列とその色や、背景色などの表示部品の種類に応じたもの、例えばキーイベントであればどのキーが押されたかや、タイマーイベントであれば指定時間がどれぐらいかなどの各種イベントを詳細に識別するためのものが考えられる。
【００６１】
表示部品属性編集部１０は、設計者からの指定内容に応じて、状態表示編集部４によりＧＵＩ設計画面上に表示された状態の表示部品の属性を設定する。例えば、状態表示編集部４によりＧＵＩ設計画面上に表示された状態の表示部品を、設計者がマウスなどの入力装置を用いて選択すると、表示部品属性編集部１０は、当該表示部品に対する属性の設定欄をＧＵＩ設計画面上に表示する。この設定欄に対して設計者がマウスなどの入力装置を用いて指定した属性を当該表示部品に設定することになる。
【００６２】
イベント処理属性編集部１１は、設計者からの指定内容に応じて、状態集合編集部１によりＧＵＩ設計画面上に表示された複合表示部品中の状態遷移に規定されたイベント処理の属性を設定する。例えば、状態集合編集部１によりＧＵＩ設計画面上に表示された複合表示部品中の各状態や状態グループにおけるふるまいとしてイベント処理編集部２がイベント処理を設定するにあたり、イベント処理属性編集部１１が、当該イベント処理に対する属性の設定欄をＧＵＩ設計画面上に表示する。この設定欄に対して設計者がマウスなどの入力装置を用いて指定した属性が当該イベント処理に設定される。
【００６３】
なお、イベント処理に設定される属性としては、例えばキーイベントであればどのキーが押されたか、タイマーイベントであれば指定時間がどれぐらいか、などの各種イベントを詳細に識別するための情報の他、上述した関連する状態遷移に応じて処理の有効性の有無を判定するための真偽値からなる属性（属性Ｔ，Ｔ１，Ｔ２，Ｔ３）が設定される。
【００６４】
状態属性編集部１２は、設計者からの指定内容に応じて、状態集合編集部１によりＧＵＩ設計画面上に表示された複合表示部品中の状態の属性を設定する。例えば、状態集合編集部１によりＧＵＩ設計画面上に表示された複合表示部品中の状態（当該状態で表示すべき表示部品などが配置された、当該状態に対応する表示枠）を、設計者がマウスなどの入力装置を用いて選択すると、状態属性編集部１２は、この状態に対する属性の設定欄をＧＵＩ設計画面上に表示する。この設定欄に対して設計者がマウスなどの入力装置を用いて指定した属性を当該状態に設定することになる。
【００６５】
状態遷移属性編集部１３は、設計者からの指定内容に応じて、状態集合編集部１によりＧＵＩ設計画面上に表示された複合表示部品中の状態遷移の属性を設定する。例えば、状態集合編集部１によりＧＵＩ設計画面上の複合表示部品内での状態間をつなぐ矢印線で表示された状態遷移に対する属性の設定欄をＧＵＩ設計画面上に表示する。この設定欄に対して設計者がマウスなどの入力装置を用いて指定した属性を当該状態遷移に設定することになる。
【００６６】
次に動作について説明する。
ここでは、図２に示すようなＧＵＩを設計する場合を説明する。図２は、状態集合編集部１によりＧＵＩ設計画面上に表示された複合表示部品を示す図であり、当該複合表示部品は状態１〜３にそれぞれ対応する３つのウィンドウからなる。これに対して設計記述したいふるまいは、次の通りである。
【００６７】
先ず、状態１に対応するメインウィンドウが最初に開き、このメインウィンドウ中の詳細ボタンを、例えばマウスでクリックすると、メインウィンドウに加えて状態２に対応するサブウィンドウが開く。また、サブウィンドウが開いているかに関わらず、メインウィンドウ中の終了ボタンをクリックすると、状態３に対応する終了ウィンドウが表示され、その他のウィンドウも消去される。
【００６８】
図３は、上述したＧＵＩの設計例を示す図であり、この図に沿って図１に記載した実施の形態１によるＧＵＩ設計装置の各構成部の動作を説明する。先ず、状態集合編集部１は、不図示の入力装置を用いた設計者からの設定に応じて、状態１〜３からなる複合表示部品をＧＵＩ設計画面上に表示する。
【００６９】
ここで、設計者によって設計記述をしたい状態が指定されると、状態表示編集部４が、指定された状態に対応する表示部品をＧＵＩ設計画面上に表示する。なお、指定された状態に対応する表示部品は、設計者からの設計記述に従って、基本表示部品格納部３から読み出した基本表示部品を用いて状態表示編集部４が予め作成したものである。
【００７０】
例えば、マウスで状態１の表示枠をクリックすることにより、詳細ボタンと終了ボタンとを有するメインウィンドウ１４が表示される。このメインウィンドウ１４における詳細ボタンや終了ボタンは、特定の操作、例えばマウスでダブルクリックすると、表示部品属性編集部１０が起動する。これにより、表示部品属性編集部１０は、入力装置を用いて設計者から詳細ボタンや終了ボタンなどの表示部品に対して属性を設定するための属性設定欄１５をＧＵＩ設計画面上に表示する。
【００７１】
属性設定欄１５では、複合表示部品の各表示部品である詳細ボタンや終了ボタンについて状態遷移時に真値であれば消去しないことを指定する属性Ｓに真又は偽の値が設定される。ここでは、上述したように、「状態１に対応するメインウィンドウの詳細ボタンがクリックされると、メインウィンドウを消去せずに状態２に対応するサブウィンドウが開く」というふるまいを記述したい場合では、詳細ボタンについての属性Ｓに真値が設定される。
【００７２】
また、「状態１に対応するメインウィンドウの終了ボタンがクリックされると、サブウィンドウが開いているかに関わらず、状態３に対応する終了ウィンドウが表示され、その他のウィンドウも消去される」というふるまいを記述したい場合では、終了ボタンについての属性Ｓに真値が設定される。
【００７３】
具体的には、例えば属性設定欄１５中の左側ボタンをマウスでクリックするなどして真値が入力され、状態１に含まれる部品の情報（情報ｃ）を構成する情報として複合表示部品格納部５に格納される。このようにして、表示部品の属性を用いて状態遷移時における表示部品の表示の可否が設定される。
【００７４】
また、本発明では、状態遷移において表示部品を消去するか否かを、各状態の属性から設定することもできる。例えば、設計者によって状態２（又は状態３）として設計記述をしたい詳細ウィンドウ（又は終了ウィンドウ）の内容が指定されると、状態表示編集部４が、指定された表示部品を状態２（又は状態３）としてＧＵＩ設計画面上に表示する。なお、状態２（又は状態３）は、設計者からの設計記述に従って、状態表示編集部４が、基本表示部品格納部３から読み出した基本表示部品を用いて作成する。
【００７５】
上述のようにしてＧＵＩ設計画面上に表示された状態２（又は状態３）に対応する詳細ウィンドウ（終了ウィンドウ）を、マウスクリックなどによって設計者が選択すると、状態属性編集部１２が起動する。状態属性編集部１２は、各状態において表示部品の表示の可否を指定する属性を設定するための属性設定欄１６をＧＵＩ設計画面上に表示する。
【００７６】
属性設定欄１６では、状態遷移において遷移先の状態で真値であれば遷移元の状態１の表示部品であるメインウィンドウを消去しないことを指定する属性Ｐに真又は偽の値が設定される。ここでは、「状態１に対応するメインウィンドウの詳細ボタンがクリックされると、メインウィンドウを消去せずに状態２に対応するサブウィンドウが開く」というふるまいを記述したい場合、遷移先である状態２についての属性Ｐに真値が設定される。
【００７７】
また、「状態１に対応するメインウィンドウの終了ボタンがクリックされると、サブウィンドウが開いているかに関わらず、状態３に対応する終了ウィンドウが表示され、その他のウィンドウも消去される」というふるまいを記述した場合、遷移先である状態３についての属性Ｐに偽値が設定される。
【００７８】
具体的には、例えば属性設定欄１６中の左側ボタンをマウスでクリックするなどして真値（又は偽値）が入力され、状態２に関する情報（情報ｂ）を構成する情報として複合表示部品格納部５に格納される。このようにして、各状態についての属性を用いて遷移時に表示部品の表示の可否を設定することができる。
【００７９】
上記では、状態遷移において遷移先の状態で真値であれば遷移元の状態１の表示部品であるメインウィンドウを消去しないことを指定する属性Ｐを用いる処理を説明したが、遷移元の状態１で真値であれば遷移元の状態１の表示部品であるメインウィンドウを消去しない旨を指定する属性Ｑを用いても良い。この場合でも、状態属性編集部１２が、属性Ｑについての属性設定欄をＧＵＩ設計画面上に表示し、設計者により真偽値が入力される。
【００８０】
さらに、本発明では、状態遷移において表示部品を消去するか否かを各状態遷移の属性から設定することもできる。この場合、設計者からの設計記述に従って、状態集合編集部１により複合表示部品中の状態遷移、例えば状態１から状態２（又は状態１から状態３）への遷移が設定されると、状態遷移属性編集部１３が起動する。
【００８１】
状態遷移属性編集部１３は、各状態遷移において表示部品の表示の可否を指定する属性について、設計者が入力装置で真偽値を設定可能な属性設定欄１７をＧＵＩ設計画面上に表示する。この属性設定欄１７では、状態遷移において真値であれば遷移元の表示部品であるメインウィンドウを消去しないことを指定する属性Ｒに真又は偽の値が設定される。
【００８２】
ここでは、「状態１に対応するメインウィンドウの詳細ボタンがクリックされると、メインウィンドウを消去せずに状態２に対応するサブウィンドウが開く」というふるまいを記述したい場合であれば、状態１から状態２への状態遷移についての属性Ｒに真値が設定される。また、「状態１に対応するメインウィンドウの終了ボタンがクリックされると、サブウィンドウが開いているかに関わらず、状態３に対応する終了ウィンドウが表示され、その他のウィンドウも消去される」というふるまいを記述した場合であれば、状態１から状態３への状態遷移についての属性Ｒに偽値が設定される。
【００８３】
具体的には、例えば属性設定欄１７中の左側ボタンをマウスでクリックするなどして真値が入力され、状態１に関する情報（情報ｂ）を構成する、状態１に含まれる各部品の情報（情報ｃ）の一つとして複合表示部品格納部５に格納される。このようにして、各状態遷移の属性を用いて表示部品の表示の可否を設定することができる。
【００８４】
さらに、本発明では、状態遷移において表示部品を消去するか否かを、当該状態遷移に伴うイベント処理の属性から設定することができる。この場合では、設計者からの設計記述に従って、イベント処理編集部２により複合表示部品中の状態遷移に対してイベント処理が設定されると、イベント処理属性編集部１１を起動させる。
【００８５】
図３に示すように、状態集合編集部１により状態１から状態２（又は状態１から状態３）への遷移が設定されると、イベント処理編集部２は、設計者が入力装置を用いて設定可能なイベント処理設定欄１８をＧＵＩ設計画面上に表示する。このイベント処理設定欄１８により、設計者が、例えば状態１であるメインウィンドウの詳細ボタン（又は終了ボタン）をマウスでクリックするというイベント処理を設定する。
【００８６】
このようにして、イベント処理設定欄１８を介してイベント処理が設定されると、イベント処理属性編集部１１は、各イベント処理を伴う状態遷移において表示部品の表示の可否を指定する属性Ｔに真又は偽の値を設定するための属性設定欄１９をＧＵＩ設計画面上に表示する。例えば、状態１から状態２への状態遷移において、状態１の表示部品を消去しない場合であれば、この状態遷移に伴うイベント処理の属性Ｔに真値を設定する。
【００８７】
例えば、「状態１に対応するメインウィンドウの詳細ボタンがクリックされると、メインウィンドウを消去せずに状態２に対応するサブウィンドウが開く」というふるまいを記述したい場合、属性設定欄１９にて属性Ｔに真値が設定される。また、「状態１に対応するメインウィンドウの終了ボタンがクリックされると、サブウィンドウが開いているかに関わらず、状態３に対応する終了ウィンドウが表示され、その他のウィンドウも消去される」というふるまいを記述したい場合であれば、属性設定用欄１９で属性Ｔに偽値が設定される。
【００８８】
具体的には、例えば属性設定欄１９中の左側ボタンをマウスでクリックするなどして真値が入力され、状態１を起点とするイベント処理に関する情報（情報ｄ）を構成する情報として複合表示部品格納部５に格納される。このようにして、本発明では、各イベント処理の属性を用いて表示部品の表示の可否を設定することができる。
【００８９】
また、複合表示部品に関する情報は、上述したように、各情報が階層的に入れ子になった構造で複合表示部品格納部５に格納される。つまり、例えば複合表示部品に関する情報の一つである情報ｂ（状態に関する情報）には、情報ｃ（状態に含まれる各部品に関する情報）や、情報ｄ（その状態を起点とするイベント処理に関する情報）、情報ｅ（状態の名前）などから構成される。
【００９０】
また、下位階層の情報ｃ，ｄも、これら情報ｃ，ｄを上位階層の情報とする複数の下位階層の情報から構成される。例えば、情報ｃであれば、各状態ごとの表示部品の表示の可否を指定する属性Ｒ，Ｓ、表示部品の種別、表示部品の属性（各状態ごとの表示部品の表示の可否を指定する属性を除く、表示部品の配置やサイズ、色などの属性など）が必要に応じて設定される。
【００９１】
次に、各状態遷移におけるイベント処理の無効化の可否を指定する場合を説明する。
上述した例では、図２に示す「状態１に対応するメインウィンドウ中の詳細ボタンをマウスでクリックすると、メインウィンドウに加えて状態２に対応するサブウィンドウが開く」というふるまいを記述した。
【００９２】
そこで、以下では、「メインウィンドウ中の詳細ボタンをクリックしてメインウィンドウ及びサブウィンドウの両方が開いた状態で、メインウィンドウ中の詳細ボタンをさらにクリックする度に、状態２に対応するサブウィンドウが一つずつ表示される」というふるまいを記述するものとし、併せて特定の条件、例えば「サブウィンドウが所定数分だけ表示されると、これを超えるサブウィンドウを表示しない」という条件でのふるまいも記述する場合を考える。
【００９３】
このふるまいは、状態１（メインウィンドウ）から状態２（サブウィンドウ）へ状態遷移しても、メインウィンドウの詳細ボタンをさらにクリックすることで、サブウィンドウが所定数表示されるまで、メインウィンドウからサブウィンドウへ状態遷移することを意味する。つまり、状態１から状態２への状態遷移を行っても、状態２に所定数遷移するまで、この遷移に伴う「詳細ボタンをクリックする」というイベント処理が有効になる。
【００９４】
本発明では、状態遷移に伴うイベント処理の無効化の可否を、各状態においてイベント処理の無効化の可否を指定する属性から設定することができる。この場合、設計者からの設計記述に従って、状態集合編集部１により複合表示部品中の状態遷移、例えば状態１から状態２への遷移が設定され、イベント処理編集部２により当該状態遷移に伴うイベント処理、例えば「詳細ボタンをマウスでクリックすると状態遷移する」が設定されると、状態属性編集部１２が起動する。
【００９５】
状態属性編集部１２は、図３と同様に、各状態においてイベント処理の無効化の可否を指定する属性について、設計者が入力装置で真偽値を設定可能な属性設定欄をＧＵＩ設計画面上に表示する。この属性設定欄は、状態１から状態２への状態遷移において遷移先の状態２で真値であれば、「詳細ボタンをマウスでクリックすると状態遷移する」という、当該状態遷移に伴うイベント処理を無効化しないことを指定する属性Ｐ２の設定欄となり、この属性Ｐ２に真又は偽の値が設定される。
【００９６】
また、「所定回数分、状態２に対応するサブウィンドウを表示した」という特定条件に合致していれば、上記属性設定欄を、状態１から状態２への状態遷移において遷移先の状態２で真値である間、この状態の表示部品を消去する属性Ｐ１の設定欄とし、この属性Ｐ１に真又は偽の値が設定される。
【００９７】
これに対し、上記条件を「所定回数分、状態２に対応するサブウィンドウを表示した」ことで、「詳細ボタンをマウスでクリックすると状態遷移する」というイベント処理を無効化する条件であると考えれば、上記属性設定欄を、遷移先の状態２で真値である間、この状態遷移に伴うイベント処理を無効化する属性Ｐ３の設定欄とし、この属性Ｐ３に真又は偽の値が設定される。
【００９８】
ここでは、「状態１に対応するメインウィンドウの詳細ボタンをクリックする度に、メインウィンドウを消去せずに状態２に対応するサブウィンドウを次々に開く」というふるまいを記述するので、状態１についての属性Ｐ２に真値が設定される。また、所定回数分サブウィンドウが表示されたなら、状態１についての属性Ｐ１若しくは属性Ｐ３に真値が設定される。
【００９９】
これら属性Ｐ１，Ｐ２，Ｐ３は、状態１に関する情報（情報ｂ）を構成する情報の一つとして複合表示部品格納部５に格納される。このようにして、本発明では、各状態の属性を用いて状態遷移に伴う表示部品の消去やイベント処理の無効化の可否、その条件を設定することができる。
【０１００】
上記では、状態１から状態２への状態遷移において遷移先の状態２で真値であれば、当該状態遷移に伴うイベント処理を無効化しないことを指定する属性Ｐ２を用いる処理を説明したが、遷移元の状態１で真値であればイベント処理を無効化しないことを指定する属性Ｑ２を用いても良い。この場合でも、状態属性編集部１２が、属性Ｑ２についての属性設定欄をＧＵＩ設計画面上に表示し、設計者により真偽値が入力される。
【０１０１】
また、本発明では、状態遷移に伴うイベント処理を無効化するか否かを、各状態遷移の属性から設定することができる。この場合、設計者からの設計記述に従って、状態集合編集部１により複合表示部品中の状態遷移、例えば状態１から状態２への遷移が設定され、イベント処理編集部２により当該状態遷移に伴うイベント処理、例えば「詳細ボタンをマウスでクリックすると状態遷移する」が設定されると、状態遷移属性編集部１３が起動する。
【０１０２】
状態遷移属性編集部１３は、図３と同様に、各状態遷移においてイベント処理の無効化の可否を指定する属性について、設計者が入力装置で真偽値を設定可能な属性設定欄をＧＵＩ設計画面上に表示する。この属性設定欄を、状態１から状態２への状態遷移において真値であれば、「詳細ボタンをマウスでクリックすると状態遷移する」というイベント処理を無効化しないことを指定する属性Ｒ２の設定欄とし、この属性Ｒ２に真又は偽の値が設定される。
【０１０３】
また、「所定回数分、状態２に対応するサブウィンドウを表示した」という特定条件に合致していれば、上記属性設定欄を、状態１から状態２への状態遷移において真値である間、遷移先の状態２の表示部品を消去する属性Ｒ１の設定欄とし、この属性Ｒ１に真又は偽の値が設定される。
【０１０４】
これに対して、上記条件を「所定回数分、状態２に対応するサブウィンドウを表示した」ことで、「詳細ボタンをマウスでクリックすると状態遷移する」というイベント処理を無効化する条件であると考えれば、上記属性設定欄を、上記状態遷移において真値である間、これに伴うイベント処理を無効化する属性Ｒ３の設定欄とし、この属性Ｒ３に真又は偽の値が設定される。
【０１０５】
ここでは、「状態１に対応するメインウィンドウの詳細ボタンをクリックする度に、メインウィンドウを消去せずに状態２に対応するサブウィンドウを次々に開く」というふるまいを記述するので、状態１から状態２への状態遷移についての属性Ｒ２に真値が設定される。また、所定回数分サブウィンドウが表示されたなら、この状態遷移についての属性Ｒ１若しくは属性Ｒ３に真値が設定される。
【０１０６】
これら属性Ｒ１，Ｒ２，Ｒ３は、状態１に関する情報（情報ｂ）を構成する、状態１に含まれる各部品の情報（情報ｃ）の一つとして複合表示部品格納部５に格納される。このようにして、本発明では、状態遷移の属性を用いて状態遷移に伴う表示部品の消去や、イベント処理の無効化の可否、その条件を設定することができる。
【０１０７】
さらに、本発明では、各状態遷移に伴うイベント処理を無効化するか否かを、各表示部品の属性から設定することができる。この場合、設計者からの設計記述に従い、状態集合編集部１により複合表示部品中の状態遷移、例えば状態１から状態２への遷移が設定され、イベント処理編集部２により当該状態遷移に伴うイベント処理、例えば「詳細ボタンをマウスでクリックすると状態遷移する」が設定されると、表示部品属性編集部１０を起動させる。
【０１０８】
表示部品属性編集部１０は、図３と同様に、各表示部品において状態遷移に伴うイベント処理の無効化の可否を指定する属性について、設計者が入力装置で真偽値を設定可能な属性設定欄をＧＵＩ設計画面上に表示する。この属性設定欄は、真値であれば状態遷移に伴うイベント処理を無効化しないことを指定する表示部品の属性Ｓ２の設定欄となり、この属性Ｓ２に真又は偽の値が設定される。
【０１０９】
また、「所定回数分、状態２に対応するサブウィンドウを表示した」という特定条件に合致していれば、上記属性設定欄を、状態遷移時に真値であれば状態２の表示部品を消去する属性Ｓ１の設定欄とし、この属性Ｓ１に真又は偽の値が設定される。
【０１１０】
これに対して、上記条件を「所定回数分、状態２に対応するサブウィンドウを表示した」ことで、「詳細ボタンをマウスでクリックすると状態遷移する」というイベント処理を無効化する条件であると考えれば、上記属性設定欄を、状態遷移時に真値であればイベント処理を無効化する表示部品の属性Ｓ３の設定欄とし、この属性Ｒ３に真又は偽の値が設定される。
【０１１１】
ここでは、「状態１に対応するメインウィンドウの詳細ボタンをクリックする度に、メインウィンドウを消去せずに状態２に対応するサブウィンドウを次々に開く」というふるまいを記述するので、状態１に対応するメインウィンドウや詳細ボタンなどの表示部品の属性Ｓ２に真値が設定される。また、所定回数分サブウィンドウが表示されたなら、この表示部品についての属性Ｓ１若しくは属性Ｓ３に真値が設定される。
【０１１２】
これら属性Ｓ１，Ｓ２，Ｓ３は、状態１に関する情報（情報ｂ）を構成する、状態１に含まれる各部品の情報（情報ｃ）の一つとして複合表示部品格納部５に格納される。このようにして、本発明では、表示部品の属性を用いて状態遷移に伴う表示部品の消去や、イベント処理の無効化の可否、その条件を設定することができる。
【０１１３】
さらに、本発明では、各状態遷移に伴うイベント処理を無効化するか否かを、各イベント処理の属性から設定することができる。この場合、設計者からの設計記述に従い、状態集合編集部１により複合表示部品中の状態遷移、例えば状態１から状態２への遷移が設定され、イベント処理編集部２により当該状態遷移に伴うイベント処理、例えば「詳細ボタンをマウスでクリックすると状態遷移する」が設定されると、イベント処理属性編集部１１を起動させる。
【０１１４】
イベント処理属性編集部１１は、図３と同様に、各イベント処理において状態遷移で無効化の可否を指定する属性について、設計者が入力装置で真偽値を設定可能な属性設定欄をＧＵＩ設計画面上に表示する。この属性設定欄には、状態遷移時に真値であれば無効化しないことを指定するイベント処理の属性Ｔ２に真又は偽の値が設定される。
【０１１５】
また、「所定回数分、状態２に対応するサブウィンドウを表示した」という特定条件に合致していれば、上記属性設定欄を、状態遷移時に真値であれば表示部品を消去するイベント処理の属性Ｔ１の設定欄とし、この属性Ｔ１に真又は偽の値が設定される。
【０１１６】
これに対して、上記条件を「所定回数分、状態２に対応するサブウィンドウを表示した」ことで、「詳細ボタンをマウスでクリックすると状態遷移する」というイベント処理を無効化する条件であると考えれば、上記属性設定欄を、状態遷移時に真値であれば無効化するイベント処理の属性Ｔ３の設定欄とし、この属性Ｔ３に真又は偽の値が設定される。
【０１１７】
ここでは、「状態１に対応するメインウィンドウの詳細ボタンをクリックする度に、メインウィンドウを消去せずに状態２に対応するサブウィンドウを次々に開く」というふるまいを記述するので、状態遷移時に真値であればイベント処理を無効化しないことを指定する属性Ｔ２に真値が設定される。また、所定回数分サブウィンドウが表示されたなら、このイベント処理についての属性Ｔ１若しくは属性Ｔ３に真値が設定される。
【０１１８】
これら属性Ｔ１，Ｔ２，Ｔ３は、状態１に関する情報（情報ｂ）を構成する、状態１を起点とするイベント処理に関する情報（情報ｄ）の一つとして複合表示部品格納部５に格納される。このようにして、本発明では、各イベント処理の属性を用いてその無効化の可否や表示部品の表示の可否、その条件を設定することができる。
【０１１９】
上述のようにして、状態集合編集部１、イベント処理編集部２、状態表示編集部４及び属性編集部９を用いて設計記述された複合表示部品に関する情報は、複合表示部品格納部５に格納される。
【０１２０】
次に、上記のようにして設計記述した複合表示部品を動作させる場合を説明する。
以降では、図３に示すＧＵＩ設計により作成された複合表示部品を動作させる場合を例として説明する。なお、上述した処理にて、この複合表示部品には、「状態１に対応するメインウィンドウが最初に開き、このメインウィンドウ中の詳細ボタンをマウスでクリックすると、メインウィンドウに加えて状態２に対応するサブウィンドウが開く。また、メインウィンドウ中の詳細ボタンをクリックしてメインウィンドウ及びサブウィンドウの両方が開いた状態で、詳細ボタンをさらにクリックする度に、状態２に対応するサブウィンドウが一つずつ表示され、サブウィンドウが所定数分だけ表示されると、これを超えるサブウィンドウを表示しない。さらに、メインウィンドウ中の終了ボタンをクリックすると、サブウィンドウが開いているかに関わらず、状態３に対応する終了ウィンドウが表示され、その他のウィンドウが消去される。」というふるまいが設計記述されているものとする。
【０１２１】
先ず、複合表示部品格納部５に格納される複合表示部品に関する情報（ＧＵＩ設計データ）は、上述したように、各構成情報が階層的に入れ子になった構造を有している。例えば、複合表示部品に関する情報は、大きく分けると、複合表示部品の属性、最初の状態の名前（情報ａ）や、状態に関する情報（情報ｂ）から構成される。
【０１２２】
また、情報ｂ（状態に関する情報）も、情報ｃ（状態に含まれる各部品に関する情報）や、情報ｄ（その状態を起点とするイベント処理に関する情報）、情報ｅ（状態の名前）などの情報ｂに従属する下位階層の情報を有する。
【０１２３】
さらに、情報ｂの下位階層の情報ｃ，ｄにおいても、これら従属する複数の下位階層の情報を有している。例えば、情報ｃであれば、各状態ごとの表示部品の表示の可否を指定する属性Ｒ，Ｓ、表示部品の種別、表示部品の属性（各状態ごとの表示部品の表示の可否を指定する属性を除く、表示部品の配置やサイズ、色などの属性など）が必要に応じて設定されている。
【０１２４】
複合表示部品実行部６は、複合表示部品格納部５から動作させるべき複合表示部品に関する情報を読み込むと、この複合表示部品に関する情報より情報ａ（最初の状態の名前）及び当該複合表示部品に含まれる全ての状態についての情報ｂ（状態に関する情報）、さらに各情報ｂより情報ｅ（状態の名前）を抽出する。
【０１２５】
このあと、複合表示部品実行部６は、各情報ｅと情報ａとを比較して情報ａに合致する情報ｅを探索し、その結果得られた情報ｅから情報ｂを取得して、これに含まれる情報ｃに基づいて動作させるべき複合表示部品の初期状態の表示部品を作成し、不図示の表示装置におけるＧＵＩ画面上に表示する。図３の例では、初期状態が状態１であるので、状態１に関する情報ｂから詳細ボタンや終了ボタンについての情報ｃが抽出され、状態１に対応するメインウィンドウがＧＵＩ画面上に表示される。
【０１２６】
また、複合表示部品実行部６は、上記初期状態の表示に際し、上記情報ｂを解析して、各状態において表示部品の表示の可否を指定する属性Ｐ，Ｐ１，Ｑが存在すればそれを抽出し、上記情報ｂに含まれる情報ｃ中に、各状態遷移において表示部品の表示の可否を指定する属性Ｒ，Ｒ１、各表示部品において状態遷移時に表示の可否を指定する属性Ｓ，Ｓ１が存在すればそれを抽出する。このようにして抽出された表示部品の表示の可否を指定する属性は、複合表示部品実行部６から表示部品表示期間決定部７に出力される。
【０１２７】
さらに、複合表示部品実行部６は、上記情報ｂに情報ｄが含まれており、この情報ｂで特定される状態に関してイベント処理が設定されている場合、上記情報ｂ中に、各状態においてイベント処理の無効化の可否を指定する属性Ｐ２，Ｐ３，Ｑ２が存在すればそれを抽出し、上記情報ｂに含まれる情報ｃ中に、各状態遷移においてイベント処理の無効化の可否を指定する属性Ｒ２，Ｒ３、各表示部品において状態遷移に伴うイベント処理の無効化の可否を指定する属性Ｓ２，Ｓ３が存在すればそれを抽出する。このようにして抽出されたイベント処理の無効化の可否を指定する属性は、複合表示部品実行部６からイベント処理有効期間決定部８に出力される。
【０１２８】
この他、複合表示部品実行部６は、上記のように複合表示部品の初期状態に関してイベント処理が設定されている場合、上記情報ｄ中に、各イベント処理において表示部品の表示の可否を指定する属性Ｔ，Ｔ１が存在すればそれを抽出して、表示部品表示期間決定部７に出力し、また各イベント処理において状態遷移で無効化の可否を指定する属性Ｔ２，Ｔ３が存在すればそれを抽出して、イベント処理有効期間決定部８に出力する。
【０１２９】
このようにして、状態遷移によって表示部品の表示の可否やイベント処理の無効化の可否を指定する属性を表示部品表示期間決定部７やイベント処理有効期間決定部８に出力すると、複合表示部品実行部６は、複合表示部品の初期状態に関してイベント処理が設定されていれば、その情報ｄにより特定されるイベント処理の待ち状態に移行する。
【０１３０】
図３の例では、初期状態である状態１において、メインウィンドウの詳細ボタンがクリックされると、状態２である詳細ウィンドウ（サブウィンドウ）を表示するというイベント処理や、メインウィンドウの終了ボタンがクリックされると、状態３である終了ウィンドウ（サブウィンドウ）を表示するというイベント処理が設定されている。これにより、複合表示部品実行部６は、詳細ボタンや終了ボタンのクリック待ちの状態に移行することになる。
【０１３１】
上述のようなイベント処理待ち状態でイベントが発生すると、複合表示部品実行部６は、情報ｄに含まれるイベントの種別や属性（例えば、キー入力に対応するイベントならキー名称など）から発生したイベントを特定し、このイベントに伴う状態遷移を特定する情報ｆ（遷移先の状態の名前）を抽出する。
【０１３２】
このあと、複合表示部品実行部６は、情報ｅが上記情報ｆとなる状態の情報ｂを探索し、これにより得られた情報ｂから情報ｃを取得し、この情報ｃに含まれる部品種別や属性などの情報に基づいて遷移先の状態で表示すべき表示部品を作成し、表示部品表示期間決定部７やイベント処理有効期間決定部８からの制御に従ってＧＵＩ画面上に表示する。さらに、この遷移先の状態に関してイベント処理が設定されていれば、複合表示部品実行部６は、そのイベント処理を特定する情報ｄを取得してイベント処理待ち状態に移行する。
【０１３３】
なお、従来では、上述のように、遷移先の状態の表示部品として新たに表示すべき表示部品を作成したり、その状態に関するイベント処理待ちになる前に、それまで表示されていた既存の表示部品を全て消去し、さらに待ち状態にある既存のイベント処理を全て無効化する処理が行われていた。このため、表示部品の消去やイベント処理の無効化のタイミングを柔軟に設計することができなかった。
【０１３４】
これに対して、本発明では、表示部品の消去やイベント処理の無効化を指定する属性に基づく表示部品表示期間決定部７やイベント処理有効期間決定部８からの制御によって、複合表示部品実行部６が表示部品の消去やイベント処理の無効化を所望のタイミングで実行することができる。
【０１３５】
例えば、図３に示す複合表示部品では、「メインウィンドウの詳細ボタンがクリックされる」というイベントが発生した場合、「状態１に対応するメインウィンドウに加えて、状態２に対応するサブウィンドウが開く」というふるまいが設定されている。これは、下記（１）〜（５）のいずれかの属性設定により実現される。
【０１３６】
（１）状態属性編集部１２は、図３に示す複合表示部品で、遷移元の状態１における表示部品（メインウィンドウ中の詳細ボタンや終了ボタン）を残しつつ、遷移先の状態２における表示部品（サブウィンドウの詳細ウィンドウ）を表示させるので、例えば遷移先の状態２の属性Ｐに真値を設定する。表示部品表示期間決定部７は、この状態２の属性Ｐの値に従って状態１から状態２への遷移時に遷移元の状態１における表示部品を消去しないように複合表示部品実行部６を制御する。
（２）状態属性編集部１２は、図３に示す複合表示部品で、遷移元の状態１における表示部品を残しつつ、遷移先の状態２における表示部品を表示させるので、例えば遷移元の状態１の属性Ｑに真値を設定する。表示部品表示期間決定部７は、この状態１の属性Ｑの値に従って状態１から状態２への遷移時に遷移元の状態１における表示部品を消去しないように複合表示部品実行部６を制御する。
（３）状態遷移属性編集部１３は、図３に示す複合表示部品で、遷移元の状態１における表示部品を残しつつ、遷移先の状態２における表示部品を表示させるので、例えば状態１から状態２への状態遷移の属性Ｒに真値を設定する。表示部品表示期間決定部７は、この状態１から状態２への状態遷移における属性Ｒの値に従ってその遷移時に遷移元の状態１における表示部品を消去しないように複合表示部品実行部６を制御する。
（４）表示部品属性編集部１０は、図３に示す複合表示部品で、遷移元の状態１における表示部品を残しつつ、遷移先の状態２における表示部品を表示させるので、例えば状態１における各表示部品（メインウィンドウ中の詳細ボタンや終了ボタン）の属性Ｓに真値を設定する。表示部品表示期間決定部７は、この状態１から状態２への状態遷移時に状態１の各表示部品の属性Ｓの値に従ってその消去を行わないように複合表示部品実行部６を制御する。
（５）イベント処理属性編集部１１は、図３に示す複合表示部品で、遷移元の状態１における表示部品を残しつつ、遷移先の状態２における表示部品を表示させるので、例えば状態１から状態２への状態遷移に伴うイベント処理（詳細ボタンのクリック）における属性Ｔに真値を設定する。表示部品表示期間決定部７は、この状態１から状態２への状態遷移を伴うイベント処理の属性Ｔの値に従って、その起点となる状態１の表示部品を消去しないように複合表示部品実行部６を制御する。
【０１３７】
なお、これらの属性設定を組み合わせて所望の仕様に沿ったＧＵＩを設計記述するように構成することも可能である。各属性に優先順位を設けたり、同じ挙動を指定する属性が二つ以上あれば無条件にその挙動を設定するようにしてもよい。例えば、上述した（１）における属性Ｐと（２）における属性Ｑとを組み合わせ、遷移先の属性Ｐか、遷移元の属性Ｑのいずれかが真のとき、表示部品を消去しないように構成してもよい。
【０１３８】
図３に示す複合表示部品に設定された「状態１に対応するメインウィンドウの終了ボタンをクリックすると、状態３に対応する終了ウィンドウを表示してその他の（状態に対応する）ウィンドウを消去する」というふるまいについては、上述した属性Ｐ，Ｑ，Ｒ，Ｓ，Ｔに偽値を設定するか、若しくは、これらの属性に真偽値の設定を行わないことで実現することができる。
【０１３９】
つまり、上記属性に真偽値が設定されていなければ、複合表示部品実行部６は、表示部品表示期間決定部７からの制御を受けることなく、従来と同様に動作して状態遷移前から既存の表示部品を全て消去し、さらに待ち状態にある既存のイベント処理を全て無効化する。
【０１４０】
また、図３に示す複合表示部品には、「状態１に対応するメインウィンドウ中の詳細ボタンをクリックしてメインウィンドウ及びサブウィンドウの両方が開いた状態で、詳細ボタンをさらにクリックする度に、状態２に対応するサブウィンドウが一つずつ表示される」というふるまいが設定されている。これは、状態１に設定されているイベント処理を状態遷移後も引き続き有効にしたい場合に相当し、下記（１）〜（５）のいずれかの属性設定により実現される。
【０１４１】
（１）状態属性編集部１２は、図３に示す複合表示部品で、状態１から状態２への遷移後においても「状態１における詳細ボタンをクリックにより状態２の詳細ウィンドウを表示させる」というイベント処理を無効化しないので、例えば遷移先の状態２の属性Ｐ２に真値を設定する。イベント処理有効期間決定部８では、この状態２の属性Ｐ２の値に従って状態１から状態２への遷移後であっても状態１におけるイベント処理を無効化しないように複合表示部品実行部６を制御する。
（２）状態属性編集部１２は、図３に示す複合表示部品で、状態１から状態２への遷移後においても「状態１における詳細ボタンをクリックにより状態２の詳細ウィンドウを表示させる」というイベント処理を無効化しないので、例えば遷移元の状態１の属性Ｑ２に真値を設定する。イベント処理有効期間決定部８では、この状態１の属性Ｑ２の値に従って状態１から状態２への遷移後であっても状態１におけるイベント処理を無効化しないように複合表示部品実行部６を制御する。
（３）状態遷移属性編集部１３は、図３に示す複合表示部品で、状態１から状態２への遷移後においても「状態１における詳細ボタンをクリックにより状態２の詳細ウィンドウを表示させる」というイベント処理を無効化しないので、例えば状態１から状態２への状態遷移の属性Ｒ２に真値を設定する。イベント処理有効期間決定部８では、この属性Ｒ２の値に従って状態１から状態２への遷移後であっても状態１におけるイベント処理を無効化しないように複合表示部品実行部６を制御する。
（４）表示部品属性編集部１０は、図３に示す複合表示部品で、状態１から状態２への遷移後においても「状態１における詳細ボタンをクリックにより状態２の詳細ウィンドウを表示させる」というイベント処理を無効化しないので、例えば状態１において表示すべき表示部品の属性Ｓ２に真値を設定する。イベント処理有効期間決定部８では、この属性Ｓ２の値に従って状態１から状態２への遷移後であっても状態１におけるイベント処理を無効化しないように複合表示部品実行部６を制御する。
（５）イベント処理属性編集部１１は、図３に示す複合表示部品で、状態１から状態２への遷移後においても「状態１における詳細ボタンをクリックにより状態２の詳細ウィンドウを表示させる」というイベント処理を無効化しないので、例えば状態１から状態２への状態遷移に伴うイベント処理（詳細ボタンのクリック）における属性Ｔ２に真値を設定する。イベント処理有効期間決定部８は、この状態１から状態２への状態遷移を伴うイベント処理の属性Ｔ２の値に従って状態１におけるイベント処理を無効化しないように複合表示部品実行部６を制御する。
【０１４２】
なお、これらの属性設定を組み合わせて所望の仕様に沿ったＧＵＩを設計記述するように構成することも可能である。各属性に優先順位を設けたり、同じ挙動を指定する属性が二つ以上あれば無条件にその挙動を設定するようにしてもよい。
【０１４３】
さらに、図３に示す複合表示部品には、「状態２に対応するサブウィンドウが所定数分だけ表示されると、これを超えるサブウィンドウを表示しない。」というふるまいが設定されている。遷移先の状態の表示部品を常に表示させないのであれば、単に遷移先の状態の表示部品を設定しなければよい。しかしながら、上記のような「既に遷移先の状態に関する表示部品が予め定めた所定数分だけ表示されており、これを超える表示部品を表示させない」というような特定の条件下でのふるまいは、下記（１）〜（４）のいずれかの属性設定により実現することができる。
【０１４４】
（１）状態属性編集部１２は、図３に示す複合表示部品で、遷移先の状態２における表示部品が所定回数分表示されると、これを超える表示を行わないので、例えば遷移先の状態２の属性Ｐ１に真値を設定する。表示部品表示期間決定部７は、所定回数を超える状態１から状態２への遷移が実行されると、状態２の属性Ｐ１の値に従って遷移先の状態２における表示部品を消去するように複合表示部品実行部６を制御する。
（２）状態遷移属性編集部１３は、図３に示す複合表示部品で、遷移先の状態２における表示部品が所定回数分表示されると、これを超える表示を行わないので、例えば状態１から状態２への状態遷移の属性Ｒ１に真値を設定する。表示部品表示期間決定部７は、所定回数を超える状態１から状態２への遷移が実行されると、この状態遷移の属性Ｒ１の値に従って遷移先の状態２における表示部品を消去するように複合表示部品実行部６を制御する。
（３）表示部品属性編集部１０は、図３に示す複合表示部品で、遷移先の状態２における表示部品が所定回数分表示されると、これを超える表示を行わないので、例えば遷移先の状態２における表示部品（詳細ウィンドウ）の属性Ｓ１に真値を設定する。表示部品表示期間決定部７は、所定回数を超える状態１から状態２への遷移が実行されると、状態２における表示部品の属性Ｓ１の値に従ってこれを消去するように複合表示部品実行部６を制御する。
（４）イベント処理属性編集部１１は、図３に示す複合表示部品で、遷移先の状態２における表示部品が所定回数分表示されると、これを超える表示を行わないので、例えば状態１から状態２への状態遷移に伴うイベント処理（詳細ボタンのクリック）の属性Ｔ１に真値を設定する。表示部品表示期間決定部７は、所定回数を超える状態１から状態２への遷移が実行されると、この遷移に伴うイベント処理の属性Ｔ１の値に従って遷移先の状態２における表示部品を消去するように複合表示部品実行部６を制御する。
【０１４５】
なお、これらの属性設定を組み合わせて所望の仕様に沿ったＧＵＩを設計記述するように構成することも可能である。各属性に優先順位を設けたり、同じ挙動を指定する属性が二つ以上あれば無条件にその挙動を設定するようにしてもよい。
【０１４６】
上述した「状態２に対応するサブウィンドウが所定数分だけ表示されると、これを超えるサブウィンドウを表示しない。」というふるまいを、詳細ボタンのクリックにより上記サブウィンドウを表示するというイベント処理を無効化することにより実現する場合を考える。
【０１４７】
遷移先の状態の表示部品を常に表示させないようにするのであれば、その表示の起因となるイベント処理を設定しなければよい。しかしながら、上記のような「既に遷移先の状態に関する表示部品が予め定めた所定数分だけ表示されており、これを超える表示部品を表示させないために、その表示の起因となるイベント処理を無効化する」というような特定の条件下でのふるまいは、下記（１）〜（４）のいずれかの属性設定により実現することができる。
【０１４８】
（１）状態属性編集部１２は、図３に示す複合表示部品で、遷移先の状態２における表示部品が所定回数分表示されると、これを超える表示を行わさせないために、その表示の起因となるイベント処理を無効化するので、例えば遷移先の状態２の属性Ｐ３に真値を設定する。イベント処理有効期間決定部８は、所定回数を超える状態１から状態２への遷移が指定されると、状態２の属性Ｐ３の値に従って上記状態遷移の起因となるイベント処理を無効化するように複合表示部品実行部６を制御する。
（２）状態遷移属性編集部１３は、図３に示す複合表示部品で、遷移先の状態２における表示部品が所定回数分表示されると、これを超える表示を行わさせないために、その表示の起因となるイベント処理を無効化するので、例えば状態１から状態２への状態遷移の属性Ｒ３に真値を設定する。イベント処理有効期間決定部８は、所定回数を超える状態１から状態２への遷移が指定されると、この状態遷移の属性Ｒ３の値に従ってその起因となるイベント処理を無効化するように複合表示部品実行部６を制御する。
（３）表示部品属性編集部１０は、図３に示す複合表示部品で、遷移先の状態２における表示部品が所定回数分表示されると、これを超える表示を行わさせないために、その表示の起因となるイベント処理を無効化するので、例えば遷移先の状態２における表示部品（詳細ウィンドウ）の属性Ｓ３に真値を設定する。イベント処理有効期間決定部８は、所定回数を超える状態１から状態２への遷移が指定されると、状態２における表示部品の属性Ｓ３の値に従って上記状態遷移の起因となるイベント処理を無効化するように複合表示部品実行部６を制御する。
（４）イベント処理属性編集部１１は、図３に示す複合表示部品で、遷移先の状態２における表示部品が所定回数分表示されると、これを超える表示を行わさせないために、その表示の起因となるイベント処理を無効化するので、当該イベント処理の属性Ｔ３に真値を設定する。イベント処理有効期間決定部８は、所定回数を超える状態１から状態２への遷移が指定されると、上記イベント処理の属性Ｔ３の値に従ってこれを無効化するように複合表示部品実行部６を制御する。
【０１４９】
なお、これらの属性設定を組み合わせて所望の仕様に沿ったＧＵＩを設計記述するように構成することも可能である。各属性に優先順位を設けたり、同じふるまいを指定する属性が二つ以上あれば無条件にそのふるまいを設定するようにしてもよい。
【０１５０】
上述のようにして、複合表示部品実行部６は、ＧＵＩ画面上で、設計者が所望するふるまいが設計記述された複合表示部品を動作させる。設計者は、このＧＵＩ画面上での複合表示部品の動作を確認して、状態集合編集部１、イベント処理編集部２、状態表示編集部４及び属性編集部９を用いて、さらに複合表示部品の設計記述を行うこともできる。
【０１５１】
以上のように、この実施の形態１によれば、ＧＵＩ画面の表示部品レイアウト及びこのレイアウトの状態遷移に関する設計データの入力を受け付け、この入力データを反映させたＧＵＩ設計データである複合表示部品を生成する、状態集合編集部１、イベント処理編集部２及び状態表示編集部４からなる設計部を備え、ＧＵＩ画面での表示部品レイアウトの状態遷移に伴う表示部品の表示の可否やイベント処理の有効性の有無に関する設計データの入力を受け付け、この入力データ内容を反映させるための属性を複合表示部品に設定する属性編集部９、上記設計部により生成され、属性編集部９により属性が設定された複合表示部品を格納する複合表示部品格納部５と、複合表示部品格納部５から複合表示部品を読み込んでＧＵＩ画面上での表示部品のふるまいを実行する複合表示部品実行部６を備え、複合表示部品実行部６がＧＵＩ画面上での表示部品のふるまいを実行するにあたり、属性編集部９により複合表示部品に設定された属性の内容に従って、ＧＵＩ画面上での表示部品レイアウトの状態遷移に伴う表示部品の表示の可否を制御する表示部品表示期間決定部７や当該状態遷移に伴うイベント処理の有効性の有無を制御するイベント処理有効期間決定部８を備えるので、設計者が表示部品の表示の可否やイベント処理の有効性の有無を属性の一つとして指定するだけで、この属性が属性編集部９により複合表示部品に設定され、この属性の内容に従ってＧＵＩ画面上での状態遷移に伴う表示部品の表示の可否やイベント処理の有効性の有無などのふるまいを実行することができる。これにより、複数のウィンドウを同時に表示させるような複雑なＧＵＩを設計する場合においても、同一の表示部品やイベント処理を重複して設定する必要がなくなり、表示部品の表示期間やイベント処理の有効期間の設計の自由度を向上させることができる。従って、例えば複数のウィンドウを有するＧＵＩの設計などにおいて、表示部品やイベント処理を残しつつ、他の部品を表示したりイベント処理を追加したりすることができる。
【０１５２】
なお、上記実施の形態１では、属性として真又は偽の値をとるものを例に挙げたが、これに限定されるものではない。例えば、状態遷移において表示部品の消去やイベント処理の無効化の可否を指定する属性として、所定回数の遷移が行われると、所定回数以下での指定内容と所定回数を超えた場合の指定内容とが逆転するような、指定内容の時限を設定できるようなものであってもよい。
【０１５３】
具体的に説明すると、各表示部品において状態遷移時に表示の可否を指定する属性Ｓの代わりに、表示部品の属性として指定内容の時限を特定する自然数Ｎを設定可能なものを用意し、Ｎ回目までの状態遷移では表示部品の消去をせず、Ｎ回目の状態遷移のときに消去するようにしてもよい。
【０１５４】
また、上記実施の形態では、表示部品表示期間決定部７及びイベント処理有効期間決定部８の双方を備えた構成を説明したが、使用目的に応じて決定部７，８のいずれかを備える構成としてもよい。
【産業上の利用可能性】
【０１５５】
この発明に係るＧＵＩ設計装置は、コンピュータを利用した様々なシステムのＧＵＩを提供するアプリケーションソフトウエアの構築に適用可能である。
【図面の簡単な説明】
【０１５６】
【図１】この発明の実施の形態１によるＧＵＩ設計装置の構成を示すブロック図である。
【図２】ＧＵＩ設計画面上に表示された複合表示部品を示す図である。
【図３】図２中の複合表示部品を用いたＧＵＩ設計例を示す図である。
【符号の説明】
【０１５７】
１  状態集合編集部（設計部）、２  イベント処理編集部（設計部）、３  基本表示部品格納部、４  状態表示編集部（設計部）、５  複合表示部品格納部（記憶部）、６  複合表示部品実行部（実行部）、７  表示部品表示期間決定部（部品表示制御部、実行制御部）、８  イベント処理有効期間決定部（イベント処理有効性制御部、実行制御部）、９  属性編集部、１０  表示部品属性編集部、１１  イベント処理属性編集部、１２  状態属性編集部、１３  状態遷移属性編集部、１４  メインウィンドウ、１５〜１７，１９  属性設定欄、１８  イベント処理設定欄。
【図１】
0004679834.tif 000002
【図２】
0004679834.tif 000003
【図３】
0004679834.tif 000004