(57)【特許請求の範囲】
【請求項１】
１つの母国語について母国語インタープリタを使用してプロセッサ上でプログラムを実行するステップであって、該プログラムは、１つ又は複数の第１の母国語コード・ステイトメントとコンフィギュレーション・データとを含み、該コンフィギュレーション・データは、１つ又は複数の第２の母国語コード・ステイトメントと短縮シンタックスを含み、該コンフィギュレーション・データは、該プログラムのためのグラフィカル・ユーザ・インターフェイスの複数の構成要素に対応しているステップと、
該母国語インタープリタを使用して該プログラムを解析するステップと、
該コンフィギュレーション・データ内の該短縮シンタックスの複数のユーザ定義キーワードを１つ又は複数の第３の母国語コード・ステイトメントで置換するステップと、
該母国語インタープリタのプリプロセッサ・サブルーチンを使用して該プロセッサ上で該コンフィギュレーション・データを解析するステップと、
該プリプロセッサ・サブルーチンを使用して該プロセッサ上で該短縮シンタックスから１つ又は複数の第４の母国語コード・ステイトメントを自動的に生成するステップと、
グラフィカル・ユーザ・インターフェイス（ＧＵＩ）生成器を使用して該１つ又は複数の第１、第２、第３、及び第４の母国語コード・ステイトメントから該グラフィカル・ユーザ・インターフェイスの表示を生成するステップとを含む方法。
【請求項２】
請求項１に記載の方法において、
グラフィカル・ユーザ・インターフェイス（ＧＵＩ）生成器を使用して、該プリプロセッサ・サブルーチンによって生成された該１つ又は複数の第４の母国語コード・ステイトメントから該複数の構成要素の各々に対する完全パスを自動的に生成するステップと、
該グラフィカル・ユーザ・インターフェイス（ＧＵＩ）生成器を使用して、該グラフィカル・ユーザ・インターフェイスのレイアウト内の該複数の構成要素の各々の位置を記述する該完全パスにより、該グラフィカル・ユーザ・インターフェイスの表示を生成するステップとをさらに含む方法。
【請求項３】
請求項１に記載の方法の方法において、該自動的に生成するステップは、
該母国語インタープリタを使用して、該短縮シンタックス内の、該複数の構成要素の各々に関連する１つ又は複数の構成要素タグを識別するステップと、
該母国語インタープリタを使用して、該１つ又は複数の構成要素タグと１つ又は複数のステイトメントとを該所定の母国語で関連付けるステップと、
該プリプロセッサ・サブルーチンを使用して、該複数の構成要素の各々に対して該所定の母国語で完全パスを構成するステップと、
該プリプロセッサ・サブルーチンを使用して、該１つ又は複数のステイトメント及び該完全パスから該１つ又は複数の第４の母国語コード・ステイトメントを生成するステップとをさらに含む方法。
【請求項４】
請求項１に記載の方法において、該自動的に生成するステップは、
該プリプロセッサ・サブルーチンを使用して、該ＧＵＩの該複数の構成要素の複数の位置に関して、該複数の構成要素の１つの位置をそれぞれ決定するステップと、
該複数の構成要素の多々の該複数の位置から該１つ又は複数の第４の母国語コード・ステイトメントを生成するステップと、
該グラフィカル・ユーザ・インターフェイスのレイアウト内の該複数の構成要素の各々の位置を使用して、該グラフィカル・ユーザ・インターフェイスの該表示を生成するステップとをさらに含む方法。
【請求項５】
請求項４に記載の方法において、該プリプロセッサ・サブルーチンを使用して、該ＧＵＩの該複数の構成要素の複数の位置に関して、該複数の構成要素の１つの位置をそれぞれ決定するステップは、
該プリプロセッサ・サブルーチンを使用して、該複数の構成要素と関連する該短縮シンタックスの複数の配置に関して、該１つの構成要素と関連する該短縮シンタックスの配置から、該１つの構成要素の位置を決定するステップと、
該ＧＵＩの該１つの構成要素の位置から該１つ又は複数の第４の母国語コード・ステイトメントを生成するステップとをさらに含む方法。
【請求項６】
１つのプロセッサと１つの記憶装置と１つの出力装置とを含む装置であって、
該プロセッサは、１つの母国語について該母国語インタープリタを使用して該プロセッサ上で１つのプログラムを実行し、該プログラムは、１つ又は複数の第１の母国語コード・ステイトメントとコンフィギュレーション・データとを含み、該コンフィギュレーション・データは、１つ又は複数の第２の母国語コード・ステイトメントと短縮シンタックスを含み、該コンフィギュレーション・データは、該プログラムのためのグラフィカル・ユーザ・インターフェイスの複数の構成要素に対応しており、
該記憶装置は、該プログラムのためのＧＵＩの複数の構成要素に対応するコンフィギュレーション・データ内の該短縮シンタックスから、１つ又は複数の第４の母国語コード・ステイトメントを生成し、該コンフィギュレーション・データ内の該短縮シンタックスのユーザ定義のキーワードを１つ又は複数の第３の母国語コード・ステイトメントで置換するプリプロセッサ・サブルーチンを格納しており、
該母国語インタープリタは、該プロセッサ上で該プログラムを解析し、
該母国語インタープリタの該プリプロセッサ・サブルーチンは、該記憶装置から呼び出されて、該プロセッサ上で該コンフィギュレーション・データを解析し、
グラフィカル・ユーザ・インターフェイス（ＧＵＩ）生成器は、該１つ又は複数の第１、第２、第３、及び第４の母国語コード・ステイトメントから該グラフィカル・ユーザ・インターフェイスの表示を生成する装置。
【請求項７】
請求項６に記載の装置において、該プリプロセッサは、該所定の母国語で書かれ、該短縮シンタックスは、該ＧＵＩの該複数の構成要素を記述する複数の構成要素タグを含み、
該短縮シンタックスは、該複数の構成要素に関して、１つの構成要素の配置を定める構成を備え、
該プリプロセッサは、該複数の構成要素タグ及び該短縮シンタックスの該構成から該１つ又は複数の第４の母国語コード・ステイトメントを生成し、
該プリプロセッサは、該コンフィギュレーション・データの該１つ又は複数の第２の母国語のコード・ステイトメントを保存する装置。
【請求項８】
請求項６に記載の装置において、パス生成器をさらに備え、
該パス生成器は、該ＧＵＩの該複数の構成要素の各々に対して、該所定の母国語で複数の完全パスを保持し、
該プリプロセッサは、該パス生成器を使用して、該複数の完全パス及び該１つ又は複数のステイトメントから該所定の母国語で該１つ又は複数の第４の母国語コード・ステイトメントを生成する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にグラフィカル・ユーザ・インタフェースの生成に関し、より具体的には、グラフィカル・ユーザ・インタフェースの構成要素の位置を抽出することに関する。
【背景技術】
【０００２】
グラフィカル・ユーザ・インタフェース（「ＧＵＩ」）を開発する場合、かなりの時間がＧＵＩを含む複数の構成要素のレイアウトを記述するために向けられる。例えば、パック・ジオメトリ・マネージャといったジオメトリ・マネージャは、ＧＵＩにおける複数の構成要素、すなわちウィジェットのレイアウトを記述するためにユーザによって使用される１つの方法を含んでいる。パック・ジオメトリ・マネージャは、垂直または水平のいずれかで単一のファイルに配置された多数のウィジェットおよび／またはサブコンテナが詰め込まれたフレームと呼ばれる不可視のコンテナを使用している。このＧＵＩウィンドウ全体は最大のルート・コンテナである。
【０００３】
ウィジェットまたはサブフレームの各々およびそれぞれフレーム（ウィジェットを含む）を含んでいる各々は、ＵＮＩＸ（登録商標）ファイル・システム構造内のファイルおよび関連するディレクトリの関係に類似する関係を含む。この関係に関し、ウィジェットおよびフレームはツリーのルートとして、ＧＵＩウィンドウで始まるツリー構造を形成する。当業者には理解されるように、ウィジェットまたはフレームの各々は、完全パス名（ルートウィンドウで始まり、フレームを含む各々を通り、ウィジェットで止まる）によって参照される。
【０００４】
例えば、第１のコンテナからＧＵＩの第２のコンテナへボタンを移動させるといったレイアウトの変更を行う場合、影響を受ける１つまたは複数の構成要素に関連する完全パス名を更新しなければならない。残念ながら、変更によって影響を受ける１つまたは複数の構成要素を参照するためにジオメトリ・マネージャが完全パス名を必要とする場合、当業者が理解しているように、完全パス名はかなりの時間を必要とするものとなり、かつ維持することが困難になる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、ＧＵＩの複数の構成要素のレイアウトの生成を抽出する必要がある。
【課題を解決するための手段】
【０００６】
一実施形態における本発明は方法を含んでいる。グラフィカル・ユーザ・インタフェースの複数の構成要素に対応するデータが確立される。このデータから、コードが所定の母国語で自動的に生成される。グラフィカル・ユーザ・インタフェースの表示はこのコードから生成される。
【０００７】
本発明の別の実施形態は装置を包含している。この装置は、グラフィカル・ユーザ・インタフェースの複数の構成要素に対応するデータから所定の母国語でコードを生成するプリプロセッサを含んでいる。
【０００８】
本発明のさらに別の実施形態は物品を含んでいる。この物品は１つまたは複数の、コンピュータ可読信号を保持するメディアを含んでいる。この物品は、グラフィカル・ユーザ・インタフェースの複数の構成要素に対応するデータを確立する手段を１つまたは複数のメディアに含んでいる。この物品は、所定の母国語でコードをデータから自動的に生成する手段を１つまたは複数のメディアに含んでいる。この物品はコードからグラフィカル・ユーザ・インタフェースの表示を生成する手段を１つまたは複数のメディアに含んでいる。
【０００９】
本発明の例示的実施形態の特徴は、説明、特許請求の範囲および添付図面から明らかとなろう。
【発明を実施するための最良の形態】
【００１０】
これら非限定的な実施例において議論される特定の値および構成は変更されてよく、本発明の実施形態を説明するために単に引用したに過ぎず、本発明の範囲を限定することを意図したものではない。
【００１１】
図１を参照すると、一実施形態の装置１００はプリプロセッサ１０５、母国語インタプリタ１１０、グラフィカル・ユーザ・インタフェース（「ＧＵＩ」）生成器１１５、プログラム１２０、ＧＵＩ１２５、記憶装置１３０、プロセッサ１３５および出力装置１４０を備えている。プロセッサ１３５はプログラム１２０を実行するために母国語インタプリタ１１０を使用する。母国語インタプリタ１１０はプリプロセッサ１０５およびＧＵＩ生成器１１５を呼び出す。ＧＵＩ生成器１１５は出力装置１４０に表示されるＧＵＩ１２５を生成する。
【００１２】
一実施例では、プログラム１２０は複数のコンフィギュレーション・データ、１つまたは複数の母国語のコード・ステートメントおよび１つまたは複数のＧＵＩコマンドを含んでいる。複数のコンフィギュレーション・データは、複数のＧＵＩ１２５の複数の構成要素の複数のレイアウトを記述する。複数のコンフィギュレーション・データのある１つのコンフィギュレーション・データは、短縮シンタックスおよび／または母国語のコード・ステートメントを含んでいる。一実施例では、短縮シンタックスはウィジェットおよびフレームなどのＧＵＩ１２５の複数の構成要素の各々を記述している。コンフィギュレーション・データ内の複数の構成要素の各々に関連する短縮シンタックスの構成は、ＧＵＩ１２５の複数の構成要素に関して、ＧＵＩ１２５の複数の構成要素の各々についての位置を決定する。
【００１３】
例えば、コンフィギュレーション・データに記述された複数の構成要素は、ＵＮＩＸ（登録商標）ファイル・システム構造に類似する関係を含んでいる。複数の構成要素の各々は、親構成要素と関連している。コンフィギュレーション・データによってＧＵＩ１２５の設計者が、ＧＵＩ１２５のレイアウトにきわめて類似するフォーマットでＧＵＩ１２５のレイアウトを記述すること、すなわち、ツリー構造フォーマットでＧＵＩ１２５の複数の構成要素のレイアウトを記述することが可能となる。
【００１４】
図２を参照すると、工程２０５ではプロセッサ１３５は、例えば、パール翻訳プログラムである母国語インタプリタ１１０を呼び出してプログラム１２０を実行する。母国語インタプリタ１１０は１つまたは複数の母国語コード・ステートメントを翻訳する。工程２１０では、例えば、ｍｋ＿ｇｕｉコマンドなどの第１のＧＵＩコマンドに対処し、プリプロセッサ１０５を呼び出してコンフィギュレーション・データから、例えば、パールなどの所定の母国語で自動的にコードを生成する。
【００１５】
工程２１５では、プリプロセッサ１０５はコンフィギュレーション・データを解析して所定の母国語でコードを生成する。工程２２０では、母国語インタプリタ１１０はＧＵＩ生成器１１５を呼び出してコードからＧＵＩ１２５を生成する。ＧＵＩ１２５は、例えば、コンピュータ・モニタなどの出力装置１４０に表示される。
【００１６】
次に図３を参照すると、工程３０５では、母国語インタプリタ１１０は、例えば、ｐｒｅ＿ｍｋ＿ｇｕｉコマンドなどの第２のＧＵＩコマンドについてプログラム１２０を解析する。工程３１０では、母国語インタプリタ１１０が第２のＧＵＩコマンドを識別した場合、母国語インタプリタ１１０は第１のサブルーチンを呼び出してプログラム１２０のコンフィギュレーション・データを処理する。一実施例では、第１のサブルーチンはコンフィギュレーション・データを操作するために、第１のユーザ定義サブルーチンを含んでいる。例えば、当業者には理解されるように、第１のユーザ定義サブルーチンは、プリプロセッサ１０５によって実行される前にコンフィギュレーション・データ内のユーザ定義キーワードを置換する。
【００１７】
工程３１５および工程３２０では、母国語インタプリタ１１０は１つまたは複数のＧＵＩコマンドについてプログラム１２０を解析する。工程３２５では、母国語インタプリタ１１０が第１のＧＵＩコマンドを識別した場合、母国語インタプリタ１１０はコンフィギュレーション・データ上でプリプロセッサ１０５を呼び出す。
【００１８】
工程３３０では、プリプロセッサ１０５はＧＵＩ１２５の複数の構成要素に関連する１つまたは複数の構成要素タグについて、１つまたは複数の母国語のコード・ステートメントおよびコンフィギュレーション・データの短縮シンタックスを解析する。工程３３５では、プリプロセッサ１０５がコンフィギュレーション・データの１つの構成要素タグを識別した場合、プリプロセッサ１０５はＧＵＩ１２５の１つの構成要素に関連する１つまたは複数の母国語コード・ステートメントを生成する。工程３４０では、プリプロセッサ１０５が１つの構成要素タグを識別しない場合、プリプロセッサ１０５は複数の母国語コード・ステートメントの１つの母国語コード・ステートメントを識別し、コンフィギュレーション・データの１つの母国語コード・ステートメントを保存する。
【００１９】
工程３４５では、プリプロセッサ１０５は、プリプロセッサ１０５がコンフィギュレーション・データの終わりを識別するまで、工程３３０〜３４０を繰り返すように働き、母国語インタプリタ１１０によるプログラム１２０の実行が継続される。プリプロセッサ１０５はプリプロセッサ１０５によって生成された１つまたは複数の母国語コード・ステートメントから、母国語でコードを生成する。
【００２０】
工程３５０では、母国語インタプリタ１１０はプログラム１２０の解析を継続する。工程３５５では、母国語インタプリタ１１０が、例えば、ｐｏｓｔ＿ｍｋ＿ｇｕｉコマンドなどの第３のＧＵＩコマンドを識別する場合、母国語インタプリタ１１０は第２のサブルーチンを呼び出してプリプロセッサ１０５によって生成された母国語でコードを処理する。一実施例では、第２のサブルーチンはコードを操作するために第２のユーザ定義サブルーチンを含んでいる。例えば、当業者には理解されるように、第２のユーザ定義サブルーチンは、短縮されたデータから母国語インタプリタ１１０によって生成されたコードにカスタマイゼーションをさらに付加するように機能する。例えば、第３のＧＵＩコマンドが省略された場合、母国語インタプリタ１１０は、例えば、赤色などのデフォルト色を有するウィジェットを生成する。第３のＧＵＩコマンドが指定されると、第２のユーザ定義サブルーチンはデフォルト色を青色に変更する。
【００２１】
工程３６０では、母国語インタプリタ１１０はＴｋツールキットのようなＧＵＩ生成器１１５をコードで呼び出す。ＧＵＩ生成器１１５はＧＵＩ１２５を生成するように機能する。プリプロセッサ１０５によって生成された１つまたは複数の母国語コード・ステートメントは、１つまたは複数の完全パス名を含んでいる。プリプロセッサ１０５は並列の概念を使用してＧＵＩのレイアウト内の１つの構成要素の位置を記述する。並列の概念は、第２の構成要素がコンフィギュレーション・データ内のどこに記述されているかということに関連して、１つの構成要素がコンフィギュレーション・データ内のどこに記述されているかということに基づいて１つの構成要素の第１の位置を決定する工程を含んでいる。
【００２２】
図４を参照すると、プリプロセッサ１０５は、ＧＵＩ１２５の複数の構成要素に関連する短縮シンタックスの複数の配置に関して、１つの構成要素に関連する短縮シンタックスの配置からＧＵＩ１２５の１つの構成要素のレイアウト内の位置を決定する。工程４０５および４１０では、プリプロセッサ１０５は１つまたは複数の構成要素タグについて、コンフィギュレーション・データを解析する。工程４１５では、プリプロセッサ１０５がフレームを参照する先頭構成要素タグに遭遇すると、プリプロセッサ１０５はローカル変数を更新して１つの構成要素を参照する。先頭構成要素タグは１つの構成要素に関連する短縮シンタックスの開始を示す。プリプロセッサ１０５は、ＵＮＩＸ（登録商標）ファイル・システム構造のツリー構造を横断するのに類似したように、同じフレームの末尾構成要素タグの各々に遭遇するまで、工程４０５〜４１５を繰り返す。
【００２３】
工程４２０では、プリプロセッサ１０５は１つの構成要素に関連する短縮シンタックスの終わりを示すエンド構成要素タグに遭遇する。工程４２５では、プリプロセッサ１０５はローカル変数を使用して１つの構成要素に関連する完全パス名を構成する。当業者には理解されるように、工程４３０では、プリプロセッサ１０５は自動的にローカル変数を更新して１つの構成要素に関連する親構成要素を参照する。
【００２４】
工程４３５では、プリプロセッサ１０５は、コンフィギュレーション・データの終わりに遭遇するまで、複数の構成要素の各々に対する完全パス名を構成しながら工程４０５〜４３０を繰り返す。一実施例では、プリプロセッサ１０５は記憶装置１３０に母国語でコードを格納する。
【００２５】
本明細書に記載した工程または操作は単に例示的なものである。これらの工程または操作には本発明の精神から逸脱することなく多数の変更を加えてよい。例えば、工程は異なる順序で実行されてよく、あるいは工程は付加、削除または修正されてよい。
【００２６】
装置１００は少なくとも１つのコンピュータ可読信号を保持するメディアを含む。装置１００のコンピュータ可読信号を保持するメディアの一例には、１つまたは複数の磁気的、電気的、工学的、生物学的、および原子的データ格納媒体などの記録可能なデータ記憶媒体の一例が含まれる。一実施例では、記録可能なデータ格納媒体は記憶装置１０１および２０１を含む。別の実施例では、装置１００のコンピュータ可読信号を保持するメディアは、例えば、１つまたは複数の電話網、ローカル・エリア・ネットワーク（「ＬＡＮ」）、インターネット、および無線ネットワークといった装置１００を含むかまたはそれに結合されたネットワーク上で伝達される変調された搬送信号を含んでいる。当業者には理解されるであろうように、装置１００の典型的な構成要素は、多数のプログラミング言語のいずれかで書かれたかまたは実施された計算機命令のセットおよび／またはシリーズを使用するかつ／または含む。
【００２７】
本発明の典型的な実施形態を本明細書に描写し記載してきたが、本発明の精神から逸脱することなく種々の変更、付加、置換等を行うことができ、したがってそれらは特許請求の範囲に定められた本発明の範囲内にあると考えられることは当業者には明白であろう。
【図面の簡単な説明】
【００２８】
【図１】ソフトウェア・プログラム、埋め込まれたプリプロセッサ、ジオメトリ・マネージャおよびグラフィカル・ユーザ・インタフェース（「ＧＵＩ」）を備えた装置の例示的な一実施形態を示す図である。
【図２】図１の装置の１つまたは複数の工程のフローチャートを示す図である。
【図３】図１の装置の埋め込まれたプリプロセッサの１つまたは複数の工程のフローチャートを示す図である。
【図４】図３の装置の完全パス名の構成の１つまたは複数の工程のフローチャートを示す図である。
【図１】
0004836412.tif 000002
【図２】
0004836412.tif 000003
【図３】
0004836412.tif 000004
【図４】
0004836412.tif 000005