(57)【要約】【課題】  グラフィカルユーザインタフェース（ＧＵＩ）の設計において、ＧＵＩを構成するソフトウェア部品であるＧＵＩ部品のイベントおよびハンドラを相互に接続する手間を軽減する。【解決手段】  編集済みの画面定義データ１０１から、相互に接続済みのイベントおよびハンドラの組を抽出し、イベントおよびハンドラが属するＧＵＩ部品の配置座標情報と合わせてイベント・ハンドラ接続情報１０５として格納するイベント・ハンドラ接続情報抽出手段１０４と、画面定義データ１０１から未接続のイベントおよびハンドラを抽出し、抽出したイベントおよびハンドラそれぞれが属するＧＵＩ部品の配置座標を、イベント・ハンドラ接続情報における配置座標と比較して、配置座標、イベントおよびハンドラが一致するものをイベント・ハンドラ接続候補リスト１０７として選出するイベント・ハンドラ接続候補選出手段１０６とを備える。【選択図】  図１
2013025457.tif 000002
【特許請求の範囲】
【請求項１】
グラフィカルユーザインタフェース（ＧＵＩ）画面を構成するソフトウェア部品であるＧＵＩ部品のイベントおよびハンドラを入出力手段に表示し、前記入出力手段を通じてそれぞれ１つずつ選択されたイベントおよびハンドラを相互に接続する手段を提供するイベント・ハンドラ接続編集手段と、
前記ＧＵＩ画面に対する編集済みの画面定義データから、相互に接続済みのイベントおよびハンドラの組を抽出し、前記イベントおよび前記ハンドラが属するＧＵＩ部品の配置座標情報と合わせてイベント・ハンドラ接続情報として記憶媒体に格納するイベント・ハンドラ接続情報抽出手段と、
前記画面定義データから未接続のイベントおよびハンドラを抽出し、抽出した前記イベントおよび前記ハンドラそれぞれが属するＧＵＩ部品の配置座標を、前記イベント・ハンドラ接続情報における配置座標と比較して、配置座標、イベントおよびハンドラが一致するものをイベント・ハンドラ接続候補リストとして選出するイベント・ハンドラ接続候補選出手段と、
前記イベント・ハンドラ接続候補リストを入出力手段に表示し、前記入出力手段により選択されたイベント・ハンドラ接続候補について、前記イベント・ハンドラ接続編集手段を用いて前記イベント・ハンドラ接続候補で示されるイベントおよびハンドラを相互に接続するイベント・ハンドラ接続候補選択手段と、
を備えたグラフィカルユーザインタフェース設計装置。
【請求項２】
編集対象のＧＵＩ画面を構成するＧＵＩ部品のイベント・ハンドラ接続情報を予めイベント・ハンドラ接続テンプレートとして記憶媒体に格納し、
イベント・ハンドラ接続候補選出手段は前記イベント・ハンドラ接続テンプレートからイベント・ハンドラ接続情報を取得することを特徴とする請求項１記載のグラフィカルユーザインタフェース設計装置。
【請求項３】
イベント・ハンドラ接続情報抽出手段は、画面定義データにおけるイベントおよびハンドラの相互接続の組み合わせの出現回数をイベント・ハンドラ接続情報に付加して記憶媒体に記録し、
イベント・ハンドラ接続候補選択手段は、イベント・ハンドラ接続候補リストを前記出現回数が多い順に並べ替えて入出力手段に表示することを特徴とする請求項１記載のグラフィカルユーザインタフェース設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、グラフィカルユーザインタフェース（ＧＵＩ）画面上に配置されたＧＵＩソフトウェアのソフトウェア部品（ＧＵＩ部品）から発生するイベントと、イベントに応じた処理を行う関数であるハンドラとの関連付けのための接続を行うことにより、ＧＵＩ画面を設計するグラフィカルユーザインタフェース設計装置に関する。
【背景技術】
【０００２】
ＧＵＩ画面はボタン、リストなどのＧＵＩ部品を複数組み合わせることによって構成される。ＧＵＩ部品には、それぞれ固有のイベントを生成するものがあり、また、ＧＵＩ部品が備える機能に応じた処理を行う関数であるハンドラが定義される。
ＧＵＩ部品はイベントに基づいて連携した動作を行う。すなわち、あるＧＵＩ部品で発生したイベントを契機として、別のＧＵＩ部品のハンドラが実行されることにより、ＧＵＩ画面としての機能が実現される。
従来のグラフィカルユーザインタフェース設計装置では、ＧＵＩ画面に配置されたＧＵＩ部品の中から、接続すべきイベントまたはハンドラを有するＧＵＩ部品をユーザが探し出し、イベントとハンドラをそれぞれ指定して相互に接続する操作によって、イベントとハンドラとの関連付けを行い、イベント発生時に動作すべきハンドラを対応付けていた。
この対応付けを行う操作を効率的に行うために、グラフィカルユーザインタフェース設計装置上でイベントを選択すると、そのデータ型またはＧＵＩ部品に付属する付属データ（引数）のデータ型に関する情報から、接続先のハンドラを絞り込んで提示する方法がある（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１０７６９号公報（第１０〜１１頁、図２３）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＧＵＩ画面におけるＧＵＩ部品のイベントとハンドラの数はＧＵＩが複雑化、多機能化によって増加しており、多数のイベントとハンドラの中から必要なものを探し出し、対応付ける作業量も増大している。また、ＧＵＩ開発を行うための開発環境の中には、ＧＵＩの多機能化に対応するため、複数のＧＵＩ部品を組み合わせて階層構造を有する新たなＧＵＩ部品を作成することができるものがある。このようなＧＵＩ開発環境においては、ＧＵＩ画面におけるイベントとハンドラの数はさらに増加するため、対応付けのための作業量も増大することになる。
従来のグラフィカルユーザインタフェース設計装置では、接続候補のイベントおよびハンドラの絞り込みを行う機能はあるものの、相互に接続する必要のあるイベントやハンドラを有するＧＵＩ部品を識別し、多数のＧＵＩ部品の中から探し出す作業はユーザが行う必要があった。
【０００５】
このようなグラフィカルユーザインタフェース設計装置においては、ユーザがグラフィカルユーザインタフェース設計装置上でイベントとハンドラをそれぞれ一つずつ選択して相互に接続していく必要がある。このため、イベントとハンドラが大量に定義されていると、その中から必要なものを探し出して接続するのに手間がかかる。また、ユーザがイベントとハンドラの接続状況を網羅的に把握するのが困難になるため、イベントとハンドラの接続忘れに気づかないといった問題点があった。
この発明は、上のような問題点を解決するためになされたものであり、ＧＵＩ設計においてソフトウェア部品のイベントおよびハンドラを相互に接続する手間を軽減することができ、イベントとハンドラの接続忘れを低減できるグラフィカルユーザインタフェース設計装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るグラフィカルユーザインタフェース設計装置は、ＧＵＩ画面を構成するソフトウェア部品であるＧＵＩ部品のイベントおよびハンドラを入出力手段に表示し、前記入出力手段を通じてそれぞれ１つずつ選択されたイベントおよびハンドラを相互に接続する手段を提供するイベント・ハンドラ接続編集手段と、前記ＧＵＩ画面に対する編集済みの画面定義データから、相互に接続済みのイベントおよびハンドラの組を抽出し、前記イベントおよび前記ハンドラが属するソフトウェア部品の配置座標情報と合わせてイベント・ハンドラ接続情報として記憶媒体に格納するイベント・ハンドラ接続情報抽出手段と、前記画面定義データから未接続のイベントおよびハンドラを抽出し、抽出した前記イベントおよび前記ハンドラそれぞれが属するソフトウェア部品の配置座標を、前記イベント・ハンドラ接続情報における配置座標と比較して、配置座標、イベントおよびハンドラが一致するものをイベント・ハンドラ接続候補リストとして選出するイベント・ハンドラ接続候補選出手段と、前記イベント・ハンドラ接続候補リストを入出力手段に表示し、前記入出力手段により選択されたイベント・ハンドラ接続候補について、前記イベント・ハンドラ接続編集手段を用いて前記イベント・ハンドラ接続候補で示されるイベントおよびハンドラを相互に接続するイベント・ハンドラ接続候補選択手段と、を備えたものである。
【発明の効果】
【０００７】
この発明によれば、イベント・ハンドラ接続情報抽出手段と、イベント・ハンドラ接続候補選出手段と、イベント・ハンドラ接続候補選択手段とを設けたことにより、接続の必要性が高いイベントおよびハンドラの組み合わせのリストが入出力手段を用いてユーザに提示され、入出力手段を通じて接続するイベントとハンドラの組み合わせが選択されることにより、イベントおよびハンドラを相互に接続する操作が完了するため、イベントおよびハンドラを相互に接続する操作の手間が軽減される。また、接続対象となるイベント、ハンドラの組み合わせが膨大となる場合でも接続忘れを低減することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置のブロック構成を示す図である。
【図２】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置のハードウェア構成例を示す図である。
【図３】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置のフローチャートである。
【図４】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置の編集処理のフローチャートである。
【図５】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置のイベント・ハンドラの選択および接続処理のフローチャートである。
【図６】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置のイベント・ハンドラ接続候補表示処理のフローチャートである。
【図７】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置の主操作画面の構成例である。
【図８】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置のイベント・ハンドラ接続候補選択画面の構成例である。
【図９】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置の接続候補選択手段を用いたＧＵＩ画面の編集例である。
【図１０】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置のイベント・ハンドラ接続情報の例を示す図である。
【図１１】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置のイベント・ハンドラ接続候補リストの例を示す図である。
【図１２】この発明の実施の形態１におけるグラフィカルユーザインタフェース設計装置におけるイベント・ハンドラ接続候補選出手段が抽出したソフトウェア部品のリストの例を示す図である。
【図１３】この発明の実施の形態２におけるグラフィカルユーザインタフェース設計装置のブロック構成を示す図である。
【図１４】この発明の実施の形態３におけるグラフィカルユーザインタフェース設計装置のイベント・ハンドラ接続情報の例を示す図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
この発明を実施するための実施の形態１におけるグラフィカルユーザインタフェース設計装置のブロック構成を図１に示す。図において、同一の符号を付したものは、同一またはこれに相当するものであり、これは明細書の全文において共通することである。
【００１０】
図１において、画面定義データ１０１ａ、１０１ｂ、・・・は、ＧＵＩとして表示される画面の内容を定義したデータであり、画面へのＧＵＩ部品の配置情報、画面に配置された各ＧＵＩ部品のパラメータ情報、当該画面に対応したハンドラ等からなる。また、画面定義データには画面および画面に配置されたＧＵＩ部品が有するイベントとハンドラの接続情報も含まれる。
ＧＵＩ設計データ１０２は、グラフィカルユーザインタフェース設計装置を用いて設計したＧＵＩを記憶媒体に保存したものである。ＧＵＩ設計データ１０２は、複数の画面定義データ１０１ａ、１０１ｂ、・・・から構成される。
【００１１】
イベント・ハンドラ接続編集手段１０３は、入出力手段（図示せず）を用いて、ユーザがイベントとハンドラを一つずつ選択し、それらの間の接続を指示するためのインタフェースを提供する。
イベント・ハンドラ接続情報抽出手段１０４は、各画面定義データ１０１ａ、１０１ｂ、・・・から接続済みのイベントとハンドラの組を全て抽出する。また、イベント・ハンドラ接続情報抽出手段１０４は、抽出したイベントとハンドラの組をイベント、ハンドラがそれぞれ属するＧＵＩ部品の配置座標情報と共に、イベント・ハンドラ接続情報１０５として記憶媒体１０９に格納する。
イベント・ハンドラ接続情報１０５は、接続済みのイベントとハンドラの名称、および当該イベントとハンドラが属するＧＵＩ部品の配置座標情報を一組とするデータのリストである。
【００１２】
イベント・ハンドラ接続候補選出手段１０６は、各画面定義データ１０１ａ、１０１ｂ、・・・から未接続のイベントとハンドラを抽出する。次いで抽出したイベントおよびハンドラが属するＧＵＩ部品の配置座標を、イベント・ハンドラ接続情報１０５に格納されているＧＵＩ部品の配置座標と比較し、ＧＵＩ部品の配置座標、イベントの名称およびハンドラの名称が全て同じものを接続候補として選出する。イベント・ハンドラ接続候補選出手段１０６によって選出された接続候補は、イベント・ハンドラ接続候補リスト１０７として記憶媒体１０９に格納される。その結果、イベント・ハンドラ接続候補リスト１０７は、イベント・ハンドラ接続候補選出手段１０６により接続の必要性が高いと推定されたイベントとハンドラの組を１個又は複数個含むリストとなる。
【００１３】
イベント・ハンドラ接続候補選択手段１０８は、イベント・ハンドラ接続候補リスト１０７を入出力手段（図示せず）によりユーザに提示する。ユーザによって入出力手段を用いて選択された候補について、当該イベントとハンドラを接続するようイベント・ハンドラ接続編集手段１０３に要求する。
記憶媒体１０９は、ＧＵＩ設計データ１０２、イベント・ハンドラ接続情報１０５およびイベント・ハンドラ接続候補リスト１０７を保持する。
【００１４】
本実施の形態におけるグラフィカルユーザインタフェース設計装置のハードウェア構成例を図２に示す。
イベント・ハンドラ接続編集手段１０３、イベント・ハンドラ接続情報抽出手段１０４、イベント・ハンドラ接続候補選出手段１０６およびイベント・ハンドラ接続候補選択手段１０６は、この発明の趣旨に従ったＧＵＩ設計用プログラムを図２のハードウェア構成で示すコンピュータに読み込ませ、ＣＰＵ２０４によって実行させることで、ハードウェアとソフトウェアが協働した具体的な手段として上記コンピュータにおいて実現することができる。
【００１５】
また、出力デバイスコントローラ２０７がディスプレイ２０８、スピーカ２０９等を介してユーザがイベント・ハンドラ接続候補の選択を行うイベント・ハンドラ接続候補選択画面、設計結果等の表示、音声出力等を実行する。これに応じてマウス２０１、キーボード２０２等の入力装置で、入力デバイスコントローラ２０３を介して、イベント・ハンドラ接続編集手段１０３およびイベント・ハンドラ接続候補選択手段１０３への操作指示が実行される。なお、マウス２０１、キーボード２０２、入力デバイスコントローラ２０３、出力デバイスコントローラ２０７、ディスプレイ２０８およびスピーカ２０９等は上述した入出力手段を構成する。
【００１６】
ＧＵＩ設計データ１０２、イベント・ハンドラ接続情報１０５およびイベント・ハンドラ接続候補リスト１０７を保持する記憶媒体１０９は、上記コンピュータに標準的に内蔵されたハードディスク２０５、メモリ２０６等の記憶領域上あるいは図示しない外部記憶装置の記憶メディア上に構築することができる。
【００１７】
次に、動作について説明する。
本実施の形態におけるグラフィカルユーザインタフェース設計装置の動作を図３のフローチャートに示す。同図に示すように、グラフィカルユーザインタフェース設計装置は起動後、ステップＳ３０１に進む。ステップＳ３０１では、ユーザがキーボード２０２、マウス２０１等の入力デバイスを用いて編集指示を行い、グラフィカルユーザインタフェース設計装置はこの編集指示入力を受けて、ステップＳ３０２に進む。
ステップＳ３０２では、ステップＳ３０１の入力データがＧＵＩ設計データの編集を終了する指示であるか否かを判定し、終了指示であった場合はGUI設計装置の動作を終了する。終了指示でなければステップＳ３０３に進む。
【００１８】
ステップＳ３０３では、編集指示入力データに従ってＧＵＩ設計データの操作を行い、ステップＳ３０４において、ステップＳ３０３で処理されたＧＵＩ設計データに基づいて、ディスプレイ２０８への表示内容、あるいはスピーカ２０９への出力内容等の更新を行う。ステップＳ３０４の後、ステップＳ３０１に戻る。
【００１９】
図３のステップＳ３０３における編集処理のフローチャートを図４に示す。
図４において編集処理開始後、ステップＳ４０１に進む。ステップＳ４０１では入力された編集指示の内容に従い、対応する編集処理に分岐する。編集指示が「画面定義データの新規作成」である場合は、ステップＳ４０２に進む。また、編集指示が「画面定義データを開く」である場合は、ステップＳ４０３に進む。また、編集指示が「画面定義データを保存」である場合は、ステップＳ４０４に進む。また、編集指示が「イベント・ハンドラの選択および接続」である場合は、ステップＳ４０５に進む。また、編集指示が「イベント・ハンドラ接続候補の表示」である場合は、ステップＳ４０６に進む。さらに、編集指示が「イベント・ハンドラ接続候補の選択」である場合は、ステップＳ４０７に進む。
【００２０】
ステップＳ４０２では、画面定義データ１０１ａ等を新規作成する準備として、編集中の画面定義データを廃棄し、空の画面定義データを作成する。
ステップＳ４０３では、既存の画面定義データを編集する準備として、編集中の画面定義データを廃棄し、記憶媒体１０９のＧＵＩ設計データ１０２内にある画面定義データ（例えば画面定義データ１０１ａ）を読み込む。
ステップＳ４０４では、編集中の画面定義データを、記憶媒体１０９のＧＵＩ設計データ１０２内に保存する。
ステップＳ４０５では、編集指示に従いイベントおよびハンドラの選択と接続を行う。
ステップＳ４０６では、接続候補のリスト表示処理を行う。
【００２１】
ステップＳ４０７において、ユーザによる選択指示がイベント・ハンドラ接続候補選択手段１０８に通知される。イベント・ハンドラ接続候補選択手段１０８は、選択された接続候補のイベントとハンドラをイベント・ハンドラ接続編集手段１０３に要求する。イベント・ハンドラ接続編集手段１０３は、要求されたイベントとハンドラを接続する。
ステップＳ４０２〜Ｓ４０７におけるそれぞれの編集処理を終了すると、編集処理（図３におけるステップＳ３０３）を終了する。
【００２２】
図４のステップＳ４０５におけるイベント・ハンドラの選択および接続処理のフローチャートを図５に示す。図５において、イベント・ハンドラの選択および接続処理が開始すると、ステップＳ５０１に進む。
ステップＳ５０１では、編集指示の内容に従い、対応する編集処理に分岐する。編集指示が「部品リストの選択」の場合は、ステップＳ５０２に進む。また、編集指示が「イベントリストの選択」の場合は、ステップＳ５０３に進む。また、編集指示が「ハンドラリストの選択」の場合は、ステップＳ５０４に進む。さらに、編集指示が「イベント・ハンドラの接続」の場合は、ステップＳ５０５に進む。
ステップＳ５０２では、画面定義データに含まれるＧＵＩ部品のリストから、ユーザが選択したＧＵＩ部品を以降のステップＳ５０３またはステップＳ５０４の処理における操作対象として設定する。
【００２３】
ステップＳ５０３では、ステップＳ５０２で選択されたＧＵＩ部品に属するイベントのリストから、ユーザが選択したイベントを以降の処理における操作対象に設定する。
ステップＳ５０４では、ステップＳ５０２で選択されたＧＵＩ部品に属するハンドラのリストから、ユーザが選択したハンドラを以降の操作対象に設定する。
ステップＳ５０５では、ステップＳ５０３で選択されたイベントと、ステップＳ５０４で選択されたハンドラとを接続する。なお、ステップＳ５０３で選択されたイベントが属するＧＵＩ部品と、ステップＳ５０４で選択されたハンドラが属するＧＵＩ部品は、同じ部品でも別の部品でもよい。
ステップＳ５０２〜Ｓ５０５におけるそれぞれの編集処理を終了すると、イベント・ハンドラの選択および接続処理を終了する。
【００２４】
図６に、図４におけるステップＳ４０６における処理であるイベント・ハンドラ接続候補表示処理のフローチャートを示す。
イベント・ハンドラ接続候補表示処理が開始すると、ステップＳ６０１に進む。ステップＳ６０１では、ＧＵＩ設計データ１０２に含まれる全ての画面定義データ１０１ａ、１０１ｂ、・・・から、接続済みのイベントとハンドラの組を全て抽出する。また、抽出したイベントとハンドラのそれぞれが属するＧＵＩ部品から配置座標情報を取得する。イベントとハンドラ、これらのそれぞれが属するＧＵＩ部品の配置座標情報を１組として、抽出した全ての組をイベント・ハンドラ接続情報１０５に保存する。
【００２５】
次に、ステップＳ６０２では、各画面定義データ１０１ａ、１０１ｂ、・・・から未接続のイベントとハンドラを全て抽出する。また、抽出したイベントとハンドラのそれぞれが属するＧＵＩ部品から配置座標情報を取得する。イベント・ハンドラ接続情報１０５に保存されている全ての組について、イベントとハンドラ、これらのそれぞれが属するＧＵＩ部品の配置座標情報が一致するイベントとハンドラを検索する。一致するものがある場合はそのイベントとハンドラの組み合わせをイベント・ハンドラ接続候補リスト１０７に追加する。
次に、ステップＳ６０３では、イベント・ハンドラ接続候補リスト１０７に保存されているイベントとハンドラの組み合わせリストを、ユーザが入出力手段によって選択可能な形式で提示する。
ステップＳ６０３の処理を終了すると、イベント・ハンドラ接続候補選択処理を終了する。
【００２６】
ここで、図６におけるステップＳ６０１およびＳ６０２は、必ずしもイベント・ハンドラ接続候補表示処理（図４におけるステップＳ４０６）の中で行う必要はない。例えば、マルチタスク処理に対応するコンピュータであれば、バックグラウンドのタスクで実行してもよい。
【００２７】
また、ＧＵＩ設計データが、ＧＵＩ部品を組み合わせて新たなＧＵＩ部品を設計するような階層構造を持つものである場合、上記ステップＳ６０１において、新たに設計された（階層構造を持つ）ＧＵＩ部品の構成要素となるＧＵＩ部品におけるイベント・ハンドラ接続情報１０５を再帰的に抽出するように構成してもよい。
同様に、上述のステップＳ６０２において、階層構造を持つＧＵＩ部品の構成要素となるＧＵＩ部品のイベントおよびハンドラを再帰的に検索するようにしてもよい。
【００２８】
次に、図７〜図１１を用いて本実施の形態によるグラフィカルユーザインタフェース設計装置による操作画面例、編集例を用いて説明する。
本実施の形態におけるグラフィカルユーザインタフェース設計装置を実施した場合の主操作画面の構成例を図７に、イベント・ハンドラ接続候補選択画面の構成例を図８に、接続候補選択手段を用いたＧＵＩ画面の編集例を図９に示す。また、図１０に、図６におけるステップＳ６０１においてイベント・ハンドラ接続情報抽出手段１０４によって生成されるイベント・ハンドラ接続情報１０５の例を示す。さらに、図６のステップＳ６０２においてイベント・ハンドラ接続候補選出手段１０６によって生成される、イベント・ハンドラ接続候補リスト１０７の例を図１１に示す。
【００２９】
図７における主操作画面は、ＧＵＩ設計データ１０２の中から一つの画面定義データ（例えば１０１ａとする）を編集対象として開き、イベントとハンドラの接続確認、接続指示を行う機能をユーザに対して提供する。
同図において、イベント・ハンドラ接続編集ウィンドウ７０１は、グラフィカルユーザインタフェース設計装置のイベント・ハンドラ接続編集の機能を操作するためのユーザインタフェースを提供し、グラフィカルユーザインタフェース設計装置に対する編集指示の受け付けとグラフィカルユーザインタフェース設計装置からの処理結果の提示を行う。
メニューバー７０２は、編集指示の際にユーザがグラフィカルユーザインタフェース設計装置の機能を選択し実行するためのものである。
【００３０】
イベントリスト７０３は、イベント・ハンドラ接続編集の対象となっている画面定義データ１０１ａに含まれる全てのイベントと、そのイベントが属するＧＵＩ部品の名称をリスト表示する領域である。イベントリストのフォーカス７０４（黒色の背景に白抜き文字で表示されている行）は、イベントリスト７０３の中からユーザが接続操作の対象として選択したイベントを表す。
ハンドラリスト７０５は、イベント・ハンドラ接続編集の対象となっている画面定義データ１０１ａに含まれる全てのハンドラと、そのハンドラが属するＧＵＩ部品の名称をリスト表示する領域である。ハンドラリストのフォーカス（イベントリスト同様に、黒色の背景に白抜き文字で表示されている行）７０６は、ハンドラリスト７０５の中からユーザが接続操作の対象として選択したハンドラを表す。
【００３１】
ＧＵＩ表示領域７０７は、イベント・ハンドラ接続編集の対象となっている画面定義データ１０１ａ画面イメージを表示する領域である。また、この領域において、イベントリスト７０３において接続操作の対象として選択されているイベントの属する部品、およびハンドラリスト７０３において接続操作の対象として選択されているハンドラの属する部品が強調表示される（同図において白い点線で表示される）。
接続操作パネル７０８は、ユーザが選択したイベントとハンドラを表示して接続操作対象の確認を補助するとともに、接続操作を受け付ける領域である。
【００３２】
選択中ハンドラ表示部７０９は、ユーザが選択したハンドラと当該ハンドラが属する部品を表示する領域である。選択中イベント表示部７１０は、ユーザが選択したイベントと当該イベントが属する部品を表示する領域である。接続実行ボタン７１１は、ユーザからのイベントとハンドラの接続要求を受け付ける。
【００３３】
次に、図８に示すイベント・ハンドラ接続候補選択画面では、ＧＵＩ設計データ１０２の中から一つの画面定義データ（例えば１０１ａとする）を編集対象として開き、イベント・ハンドラ接続候補選択による接続を行う機能をユーザに提供する。
イベント・ハンドラ接続候補選択ウィンドウ８０１は、グラフィカルユーザインタフェース設計装置のイベント・ハンドラ接続候補選択の機能を操作するためのユーザインタフェースであり、グラフィカルユーザインタフェース設計装置に対する編集指示の受け付けとグラフィカルユーザインタフェース設計装置からの処理結果の提示を行う。
【００３４】
イベント・ハンドラ接続候補リスト８０２は、イベント・ハンドラ接続候補リスト１０７に保存されているイベント・ハンドラ接続候補の組み合わせのうち、イベント・ハンドラ接続編集の対象となっている画面定義データ１０１ａに含まれるものをリスト表示する領域である。イベント・ハンドラ接続候補リストのフォーカス８０３（黒色の背景に白抜き文字で表示されている行）は、イベント・ハンドラ接続候補リスト８０２の中からユーザが接続操作の対象として選択したものを表す。
候補選択ボタン８０４は、ユーザが選択した接続候補の接続要求を受け付ける。
【００３５】
次に、本発明の実施の形態におけるグラフィカルユーザインタフェース設計装置による編集例について説明する。図９において、ＧＵＩ画面９０１は、編集済みのＧＵＩ画面を示し、画面定義データとしてＧＵＩ設計データ１０２に保存されている。ＧＵＩ画面９０１には、リストを下にスクロールさせるButtonDownという名称のボタン９０２がある。ボタン９０２は押下されるとpressedという名称のイベント９０４を発生する。ＧＵＩ画面９０１にはまた、SearchListという名称のリスト９０３が含まれる。リストにはscrollDownという名称のハンドラ９０５があり、このハンドラ９０５が実行されるとリストを１項目下にスクロールする。
【００３６】
また、ボタン９０２が押下された場合にリストを下方向にスクロールするために、ボタン９０２のイベントpressedとリスト９０３のハンドラscrollDownが接続されている。
この接続に関する情報は、イベント・ハンドラ接続情報抽出手段１０４により抽出され、イベント・ハンドラ接続情報１０５に格納されている。
【００３７】
次に、本実施の形態におけるグラフィカルユーザインタフェース設計装置を用いて、新たにＧＵＩ画面９０６の編集を行う場合について説明する。
ＧＵＩ画面９０６はＧＵＩ画面９０１と画面構成が同じである。ボタン９０２と同位置に同サイズのボタン９０７が配置されている。ボタン９０７は、ボタン９０２で接続済みのpressedイベント９０４と同じ名称（pressed）のイベント９０９を有する。また、リスト９０３と同位置に同サイズのリスト９０８が配置されている。リスト９０８は、リスト９０３で接続済みのscrollDownハンドラ９０５と同じ名称（scrollDown）のハンドラ９１０を有する。
【００３８】
図１２（ａ）に、図９におけるＧＵＩ画面９０６に対して、イベント・ハンドラ接続候補選出手段１０６が抽出を行った、各ＧＵＩ部品の部品名、配置座標およびそれぞれの部品が有するイベントのリストの例を示す。また、図１２（ｂ）に、図９におけるＧＵＩ画面９０６に対して、イベント・ハンドラ接続候補選出手段１０６が抽出を行った、各ＧＵＩ部品の部品名、配置座標およびそれぞれの部品が有するハンドラのリストの例を示す。図１２（ａ）および（ｂ）にはそれぞれ、ＧＵＩ画面９０６に含まれる全てのイベントおよびハンドラが抽出される。
【００３９】
イベント・ハンドラ接続候補選出手段１０６は、図１０におけるイベント・ハンドラ接続情報に格納された各接続情報について、図１０に示されるリストにおける「部品の配置座標（イベント）」と「イベント」が共に一致する項目が、図１２（ａ）に示されるリストにないかを検索する。また、図１０に示されるリストにおける「部品の配置座標（ハンドラ）と「ハンドラ」がともに一致する項目が、図１２（ｂ）に示されるリストにおける「部品の配置座標」と「ハンドラ」に一致する項目がないかを検索する。図１０に示されるリスト中の接続情報が図１２（ａ）および（ｂ）のいずれにも存在する場合、これを接続候補として、当該イベントとハンドラの組をイベント・ハンドラ接続候補リスト１０７に追加する。
【００４０】
以上に述べた手順を用いて、イベント・ハンドラ接続候補選出手段１０６により、図９において、イベント・ハンドラ接続情報１０５に格納されているイベント９０４およびハンドラ９０５、並びにこれらがそれぞれ属するボタン９０２およびリスト９０３の配置座標情報と、編集対象のＧＵＩ画面９０６におけるイベント９０９およびハンドラ９１０、並びにこれらがそれぞれ属するボタン９０７およびリスト９０８の配置座標情報が一致することが判定される。その結果、イベント９０９とハンドラ９１０の組がイベント・ハンドラ接続候補リスト１０７に追加される。
次いで、図８において、イベント・ハンドラ接続候補選択手段１０８により、イベント・ハンドラ接続候補リスト１０７におけるイベント９０９とハンドラ９１０の組がイベント・ハンドラ接続候補リスト８０２に表示される。
【００４１】
ユーザはイベント・ハンドラ接続候補リスト８０２からイベント９０９とハンドラ９１０の組を選択し、候補選択ボタン８０４を押下することで、イベント９０９とハンドラ９１０を接続する。
【００４２】
ここで、イベントとハンドラの属する部品の配置座標情報を使用してイベント・ハンドラ接続候補リストを生成するのは以下の理由による。
特に組み込み機器のＧＵＩにおいては、機器のエンドユーザが容易に機器を扱えるよう、操作方法と外観をできるだけ統一するのが一般的である。このため、ＧＵＩ画面上に配置されるＧＵＩ部品の位置とサイズは、異なる画面間でも厳密に一致するように設計される。このため、異なる画面間において同じ位置およびサイズに配置される部品は、同じ目的で使用される可能性が高く、その部品のイベントとハンドラの接続も、同様になる可能性が高いことが期待できる。本発明はこの特徴に着目したものである。
【００４３】
本実施の形態によれば、接続の必要性が高いイベントとハンドラの組み合わせのリストが入出力手段を用いてユーザに提示され、入出力手段を通じてユーザにより接続するイベントとハンドラの組み合わせが選択されることで、イベントとハンドラとを相互に接続する操作が完了する。これにより、イベントとハンドラを相互に接続する操作の手間が軽減される。また、接続対象となるイベント、ハンドラの組み合わせが膨大となる場合でも接続忘れを低減することができる。
【００４４】
実施の形態２．
この発明を実施するための実施の形態２におけるグラフィカルユーザインタフェース設計装置のブロック構成を図１３に示す。図１３においては、実施の形態１における図１におけるイベント・ハンドラ接続情報抽出手段１０４がなく、また、記憶媒体１０９において、イベント・ハンドラ接続情報１０５の代わりに、イベント・ハンドラ接続テンプレート１２０１が用いられる。それ以外の構成については図１と同様であるので、同じ符号を付して詳細な説明を省略する。
実施の形態１においては、イベント・ハンドラ接続情報抽出手段１０４によりＧＵＩ設計データ１０１からイベント・ハンドラ接続情報１０５を動的に生成するものであった。
【００４５】
本実施の形態におけるグラフィカルユーザインタフェース設計装置では、編集しようとするＧＵＩ画面に合わせたイベント・ハンドラ接続情報を、予めイベント・ハンドラ接続テンプレート１２０１として保存しておく。ここで、実施の形態１におけるイベント・ハンドラ接続情報１０５とイベント・ハンドラ接続テンプレート１２０１のデータ構造は同一である。
イベント・ハンドラ接続候補選出手段１０６は、このイベント・ハンドラ接続テンプレート１２０１から接続候補となるイベントとハンドラの組を抽出することができる。
これにより、ＧＵＩ設計データ１０２内に画面定義データ１０１ａ、１０１ｂ等がひとつもない状態でも、イベント・ハンドラ選択候補リスト１０７を用いたイベントとハンドラの接続を行うことができる。以下、実施の形態１で述べたのと同様の手順で、イベントとハンドラの相互接続を行うことができる。
本実施の形態は予め作成するＧＵＩ画面の構成とイベントとハンドラとの接続関係が分かっている場合などに有効となる。
【００４６】
本実施の形態によれば、接続の必要性が高いイベントとハンドラの組み合わせのリストがユーザに提示され、そこから接続したい組み合わせを選択することで接続操作を完了できる。これにより接続の手間と接続忘れを低減できる。また、ＧＵＩ設計データ１０２に画面定義データがひとつもない状態でも、イベント・ハンドラ選択候補リスト１０７を用いたイベントとハンドラの接続を行うことができる。
【００４７】
実施の形態３．
図１４にイベント・ハンドラ接続情報抽出手段１０４によって生成されるイベント・ハンドラ接続情報１０５の例を示す。これは実施の形態１において図１０に示されるイベント・ハンドラ接続情報１０５の例に対応するものである。すなわち、実施の形態１と同様に図６におけるステップＳ６０３において、イベント・ハンドラ接続情報抽出手段１０４によって生成されるものである。図１０に示すイベント・ハンドラ接続情報１０５の例との差異として、図１４においては、各組み合わせが全ての画面定義データ１０１において何回出現したかを記録する出現回数の欄（同図の右端の列で示される）が加えられる。
図６におけるステップＳ６０３において、イベント・ハンドラ接続候補選択手段１０８がイベント・ハンドラ接続候補リスト１０７に保存されているイベントとハンドラの組み合わせリストをユーザに提示する際に、この出現回数が多い順にリストを並べ替えて表示する。
【００４８】
出現回数の多い接続候補は、接続の必要性がより高いことが期待でき、これがリストの上位に表示されるため、ユーザがリストをスクロールして候補を探す手間を削減できる。また、接続忘れを低減することができる。
【００４９】
本実施の形態によれば、実施の形態１と同様に接続の必要性が高いイベントとハンドラの組み合わせのリストがユーザに提示され、そこから接続したい組み合わせを選択することでイベントとハンドラとを相互に接続する操作を完了できる。これにより、接続の手間と接続忘れを低減できる。さらに、イベントとハンドラの組み合わせリストをユーザに提示する際に、この出現回数が多い順に表示するため、ユーザがリストをスクロールして候補を探す手間を削減でき、接続忘れを削減することができる。
【００５０】
以上の実施の形態においては、本発明の構成例を示したものであり、同等の手段を備える構成であれば、実施の形態１〜３に限るものではなく、他の実施の形態をとってもよい。
【符号の説明】
【００５１】
１０１ 画面定義データ、１０２ GUI設計データ、１０３ イベント・ハンドラ接続編集手段、１０４ イベント・ハンドラ接続情報抽出手段、１０５ イベント・ハンドラ接続情報、１０６ イベント・ハンドラ接続候補選出手段、１０７ イベント・ハンドラ接続候補リスト、１０８ イベント・ハンドラ接続候補選択手段、１０９ 記憶媒体。
【図１】
2013025457.tif 000003
【図２】
2013025457.tif 000004
【図３】
2013025457.tif 000005
【図４】
2013025457.tif 000006
【図５】
2013025457.tif 000007
【図６】
2013025457.tif 000008
【図７】
2013025457.tif 000009
【図８】
2013025457.tif 000010
【図９】
2013025457.tif 000011
【図１０】
2013025457.tif 000012
【図１１】
2013025457.tif 000013
【図１２】
2013025457.tif 000014
【図１３】
2013025457.tif 000015
【図１４】
2013025457.tif 000016