(57)【要約】【課題】アプリケーションの作成を容易に出来るアプリケーション作成プログラム、及びアプリケーション作成方法を提供すること。【解決手段】階層化された複数のメニューを有するアプリケーションを作成するためにコンピュータ１を、メインメニューに関する第１プログラム３６を保持する第１保持手段３０と、前記メインメニューより下の階層にあるサブメニューに関する第２プログラム３７を保持する第２保持手段３０と、前記第１プログラムに関する第１アイコン６４を作成し、前記第２プログラムに関する第２アイコン６５、６７を作成するアイコン作成手段１０と、前記第１、第２アイコン６５、６７の配置を、対応する前記メインメニュー及び前記サブメニューの階層レベルに関連付けて決定する配置手段１０と、前記第１、第２アイコン６５、６７を表示する表示手段５０として機能させる。【選択図】      図１
2006277625.tif 000002
【特許請求の範囲】
【請求項１】
階層化された複数のメニューを有するアプリケーションを作成するためにコンピュータを、
メインメニューに関する第１プログラムを保持する第１保持手段と、
前記メインメニューより下の階層にあるサブメニューに関する第２プログラムを保持する第２保持手段と、
前記メインメニューの作成命令を受けて前記第１プログラムに関する第１アイコンを作成し、前記サブメニューの作成命令を受けて前記第２プログラムに関する第２アイコンを作成するアイコン作成手段と、
前記アイコン作成手段で作成された前記第１、第２アイコンの配置を、対応する前記メインメニュー及び前記サブメニューの階層レベルに関連付けて決定する配置手段と、
前記配置手段によって配置の決定された前記第１、第２アイコンを表示する表示手段と
して機能させることを特徴とするアプリケーション作成プログラム。
【請求項２】
前記第１、第２プログラムは、各々の前記階層レベルに対応した識別番号が付与されて管理される
ことを特徴とする請求項１記載のアプリケーション作成プログラム。
【請求項３】
前記コンピュータを、
ソースプログラムを保持する第３保持手段と、
前記メインメニューの作成命令を受けた際、前記ソースプログラムを前記第１プログラムとして割り当て、前記サブメニューの作成命令を受けた際、前記ソースプログラムを前記第２プログラムとして割り当てるソースプログラム割り当て手段と
して更に機能させることを特徴とする請求項１または２記載のアプリケーション作成プログラム。
【請求項４】
前記第３保持手段は、過去に作成された前記第１、第２プログラムを前記ソースプログラムとして更に保持する
ことを特徴とする請求項３記載のアプリケーション作成プログラム。
【請求項５】
階層化された複数のメニューを有するアプリケーションを作成する方法であって、
メインメニューに関する第１プログラムに対応する第１アイコンを作成して表示すると共に、ソースプログラムを前記第１プログラムとして割り当てるステップと、
前記メインメニューより下の階層レベルにあるサブメニューに関する第２プログラムに対応する第２アイコンを作成し、該第２プログラムの前記階層レベルを前記第１アイコンに対して明示するように表示すると共に、前記ソースプログラムを前記第２プログラムとして割り当てるステップと、
前記第１アイコンの選択命令に応答して、前記ソースプログラムを元にした前記第１プログラムの作成フォームを提供するステップと、
前記第２アイコンの選択命令に応答して、前記ソースプログラムを元にした前記第２プログラムの作成フォームを提供するステップと
を具備することを特徴とするアプリケーション作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アプリケーション作成プログラム及びアプリケーション作成方法に関するもので、例えば階層化された複数のメニューを有するアプリケーションソフトを作成するためのものである。
【背景技術】
【０００２】
従来、メニューが階層化されたアプリケーションソフトが、携帯情報端末（Personal Digital Assistants：ＰＤＡ）や携帯電話等に使用されている。このようなアプリケーションソフトでは、トップメニュー画面においていずれかのサブメニューを選択する。この選択動作を、サブメニュー内でも必要に応じて繰り返して行い、最終的に目的のコマンドに達することが出来る（例えば特許文献１参照）。
【特許文献１】特開平９−１６７０８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、近年のＰＤＡや携帯電話では、その高機能化に伴いメニューの階層が深くなる傾向にある。そのため、上記従来の方法ではソースコードが膨大となりプログラムが非常に複雑化し、プログラマに大きな負担を強いるという問題があった。
【０００４】
この発明は、上記事情に鑑みてなされたもので、その目的は、アプリケーションの作成を容易に出来るアプリケーション作成プログラム、及びアプリケーション作成方法を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、この発明の一態様に係るアプリケーション作成プログラムは、階層化された複数のメニューを有するアプリケーションを作成するためにコンピュータを、メインメニューに関する第１プログラムを保持する第１保持手段と、前記メインメニューより下の階層にあるサブメニューに関する第２プログラムを保持する第２保持手段と、前記メインメニューの作成命令を受けて前記第１プログラムに関する第１アイコンを作成し、前記サブメニューの作成命令を受けて前記第２プログラムに関する第２アイコンを作成するアイコン作成手段と、前記アイコン作成手段で作成された前記第１、第２アイコンの配置を、対応する前記メインメニュー及び前記サブメニューの階層レベルに関連付けて決定する配置手段と、前記配置手段によって配置の決定された前記第１、第２アイコンを表示する表示手段として機能させる。
【０００６】
また、この発明の一態様に係るアプリケーション作成方法は、階層化された複数のメニューを有するアプリケーションを作成する方法であって、メインメニューに関する第１プログラムに対応する第１アイコンを作成して表示すると共に、ソースプログラムを前記第１プログラムとして割り当てるステップと、前記メインメニューより下の階層レベルにあるサブメニューに関する第２プログラムに対応する第２アイコンを作成し、該第２プログラムの前記階層レベルを前記第１アイコンに対して明示するように表示すると共に、前記ソースプログラムを前記第２プログラムとして割り当てるステップと、前記第１アイコンの選択命令に応答して、前記ソースプログラムを元にした前記第１プログラムの作成フォームを提供するステップと、前記第２アイコンの選択命令に応答して、前記ソースプログラムを元にした前記第２プログラムの作成フォームを提供するステップとを具備する。
【発明の効果】
【０００７】
この発明によれば、アプリケーションの作成を容易に出来るアプリケーション作成プログラム、及びアプリケーション作成方法を提供できる。
【発明を実施するための最良の形態】
【０００８】
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００９】
この発明の第１の実施形態に係るアプリケーション作成プログラム及びアプリケーション作成方法について説明する。図１は、アプリケーション作成プログラムを実行するコンピュータのブロック図である。本実施形態で作成されるアプリケーションは、階層化された複数のメニューを有するソフトウェアである。
【００１０】
図示するようにコンピュータ１は、ＣＰＵ１０、メインメモリ２０、メモリ３０、データ入出力部４０、及びディスプレイ５０を備えている。
【００１１】
メモリ３０は、メインプログラム（アプリケーション作成プログラム）３１、アイコン作成プログラム３２、ディスプレイデータ３３、キー割り当てテーブル３４、ソースプログラム３５、メインメニュープログラム３６、及び複数のサブメニュープログラム３７−０〜３７−ｎ（ｎ：自然数）を保持している。メインプログラム３１は、コンピュータ１においてアプリケーションを作成するためのソフトウェア（アプリケーション作成ソフト）のプログラムである。アイコン作成プログラム３２は、メインプログラム３１の一部であっても良く、アプリケーション作成ソフトにおいて必要となるアイコンを作成するためのプログラムである。ディスプレイデータ３３及びキー割り当てテーブル３４は、作成されたアプリケーションにおいて使用するデータである。ソースプログラム３５はアプリケーション作成ソフトにおいて使用される。メインメニュープログラム３６及びサブメニュープログラム３７−０〜３７−ｎは、アプリケーション作成ソフトによって作成され、作成されたアプリケーションの一部となるプログラムである。上記各プログラム及びデータに関しては後に詳述する。
【００１２】
データ入出力部４０は、コンピュータ１と外部とのデータの授受を司る。ＣＰＵ１０は、必要なプログラム及びデータをメモリ３０からメインメモリ２０に読み出し、アプリケーション作成ソフトを実行する。ディスプレイ５０はＣＰＵ１０における処理結果を画像として表示する。
【００１３】
図２は、上記アプリケーション作成ソフトを実行した際にディスプレイ５０に表示されるＧＵＩ（Graphical User Interface）の画面６０である。図示するように、ディスプレイ５０にはメニューダイアグラムウィンドウ６１、メニュー生成ウィンドウ６２、及びメニュー編集ウィンドウ６３が表示される。
【００１４】
メニューダイアグラムウィンドウ６１は、作成すべきアプリケーションが備えるメニューのプログラムに関するアイコン６４、６５−０〜６５−２、６６−０〜６６−５、６７を表示する。各アイコン６４、６５−０〜６５−２、６６−０〜６６−５、６７を選択することで、対応するメニューのプログラム作成フォームがディスプレイ５０に表示される。またアイコン６４、６５−０〜６５−２、６６−０〜６６−５、６７は、対応するメニューの階層に関連付けて表示される。この点につき図３を用いて説明する。
【００１５】
図３は、メニューダイアグラムウィンドウ６１を示しており、各アイコン６４、６５−０〜６５−２、６６−０〜６６−５、６７とその階層構造との関係を示している。図３の例では、最も上の階層にメインメニューがあり、メインメニューの下の階層に３つのサブメニューＡ、Ｂ、Ｃがある。またサブメニューＡの下の階層には３つのサブメニューＡ−０、Ａ−１、Ａ−２があり、サブメニューＢの下の階層には２つのサブメニューＢ−０、Ｂ−１があり、サブメニューＣの下の階層には１つのサブメニューＣ−０がある。更に、サブメニューＢ−０の下の階層には１つのサブメニューＢ−０−０がある。
【００１６】
ここで、最も上の階層を階層Ｌａｙ０と呼び、それ以降、階層が深くなるにつれてそれぞれ階層Ｌａｙ１、Ｌａｙ２、…Ｌａｙｍ（ｍ：自然数）と呼ぶことにする。すなわち、メインメニューとそのアイコンは階層Ｌａｙ０であり、サブメニューとそのアイコンは階層Ｌａｙ１以降となる。また、階層Ｌａｙ（ｉ−１）の同一メニューに属する階層Ｌａｙｉ（ｉ＝１〜ｍ）のサブメニューに対してＨｉ＝ｋ（ｋ＝自然数）なる番号を付ける。例えばメインメニューの下には階層Ｌａｙ１の３つのサブメニューＡ、Ｂ、Ｃが存在する。従って、サブメニューＡ、Ｂ、Ｃ及びそれらのアイコン６５−０〜６５−２には、それぞれＨ１＝０、Ｈ１＝１、Ｈ１＝２なる番号が付与される。なお階層Ｌａｙ０にあるメインメニュー及びアイコン６４に対してはＨ０＝ｋなる番号が付与される。そして、各メニューに対して、（Ｌａｙ−Ｈ０、Ｈ１、Ｈ２、Ｈ３）のＩＤが付与される。例えばメインメニューの場合、階層Ｌａｙ０にはメニューが１つしかないのでＨ０＝０であるから、ＩＤは（０−００００）となる。またサブメニューＡの場合、階層Ｌａｙ１、Ｈ１＝０なのでＩＤは（１−００００）となり、サブメニューＢの場合、階層Ｌａｙ１、Ｈ１＝１なのでＩＤは（１−０１００）となり、サブメニューＣの場合、階層Ｌａｙ１、Ｈ１＝２なのでＩＤは（１−０２００）となる。またサブメニューＡ−０の場合、階層Ｌａｙ２、Ｈ２＝０なのでＩＤは（２−００００）となり、サブメニューＡ−１の場合、階層Ｌａｙ２、Ｈ２＝１なのでＩＤは（２−００１０）となり、サブメニューＡ−２の場合、階層Ｌａｙ２、Ｈ２＝２なのでＩＤは（１−００２０）となる。
【００１７】
図２の説明に戻る。メニュー生成ウィンドウ６２は、メニュー選択部６８及びメニュー追加部６９、７０を備えている。メニュー選択部６８でメニューダイアグラムウィンドウ６１に表示されているいずれかのメニュー（アイコン）を選択する。その上で、メニュー追加部６９に新規メニューを登録すると、メニュー選択部６８で選択したメニューと同一階層に新たなアイコンが生成される。またメニュー追加部７０に新規メニューを登録すると、メニュー選択部６８で選択したメニューの下の階層に新たなアイコンが生成される。
【００１８】
メニュー編集ウィンドウ６３は、メニューをコピーする機能を有する。すなわち、コピー元及びコピー先のメニュー名とその階層を選択すると、指定した箇所にコピー元と同一のメニューを作成出来る。
【００１９】
上記のＧＵＩにおいて、メニューダイアグラムウィンドウ６１内のアイコンを選択すると、そのアイコンに対応するメニューに関するプログラムの作成画面が提供される。本ソフトウェアにおいては、メニュー毎に独立したプログラムファイルが作成される。作成されるプログラムの構成について、図４及び図５を用いて説明する。図４はメインメニューのプログラムであり、図５はサブメニューＢのプログラムである。図４のプログラムファイルは図１で述べたメインメニュープログラム３６であり、図５のプログラムファイルはサブメニュープログラム３７−１である。
【００２０】
まず図４を用いてメインメニュープログラム３６について説明する。図示するようにメインメニュープログラム３６は、大まかには３つのブロックを含んでいる。すなわちＩＤブロック７１、管理ブロック８０、及びデータブロック９０の３つである。ＩＤブロック７１は、当該メニューに割り当てられたＩＤを保持する。メインメニュープログラム３６の場合には図３で説明したように（０−００００）である。
【００２１】
管理ブロック８０は、４つの管理部、すなわちサブメニュー管理部８１、表示管理部８２、キー割り当て管理部８３、及びフラグ解析管理部８４を備えている。サブメニュー管理部８１は、ＩＤブロック７１に保持されたＩＤに対応するメニューの下の階層にあるサブメニューを管理する。表示管理部８２は、サブメニュー管理部８２により管理されるサブメニューに対応した表示画面を管理する。この表示画面は、図１においてメモリ３０に保持されるディスプレイデータ３３である。キー割り当て管理部８３は、サブメニュー管理部８２により管理されるサブメニューを選択する際のキー操作を管理する。解析管理部８４はアプリケーションの動作の優先度等を管理する。
【００２２】
データブロック９０は、サブメニューデータ群９１、ディスプレイデータ群９２、及びキーデータ群９３を備えている。サブメニューデータ群９１は、ＩＤブロック７１に保持されるＩＤに対応したメニューの下の階層にあるサブメニューデータを保持する。図４はメインメニュープログラムであるので、その下の階層には３つのサブメニューＡ、Ｂ、Ｃがある。従ってサブメニューデータ群９１は、これらのサブメニューＡ、Ｂ、Ｃに対応したサブメニューデータ９１−０〜９１−２を保持する。ディスプレイデータ群９２は、ＩＤブロック７１に保持されるＩＤに対応したメニューの下の階層にあるサブメニューを選択した際に表示すべきディスプレイデータを保持する。図４の場合は、サブメニューＡ、Ｂ、Ｃを選択した際に表示すべきに対応したディスプレイデータ９２−０〜９２−２を保持する。キーデータ群９３は、ＩＤブロック７１に保持されるＩＤに対応したメニューの下の階層にあるサブメニューを選択するための割り当てキーデータを保持する。図４の場合は、サブメニューＡ、Ｂ、Ｃを選択するためのキーデータ９３−０〜９３−２を保持する。
【００２３】
上記構成のメインメニュープログラム３６は次のようなメインメニューを作成する。すなわち、サブメニュー管理部８１によって３つのサブメニュー９１−０〜９１−２が起動可能である。サブメニュー９１−０〜９１−２を起動するには、このアプリケーションが動作するハードウェアにおいて、キーデータ９３−０〜９３−２に対応する入力キーを選択することで行う。ハードウェアのキーとサブメニュー９１−０〜９１−２との対応は、キー割り当て管理部８３によって行われる。この対応関係はキー割り当てテーブル３４が保持し、このテーブル３４を用いてキー割り当て管理部８３は制御を行う。サブメニュー９１−０〜９１−２が選択されると、表示管理部８２が、ハードウェアのディスプレイにそれぞれディスプレイデータ９２−０〜９２−２を表示させる。
【００２４】
次に図５を用いてサブメニュープログラム３７−１について説明する。サブメニュープログラム３７−１も、そのプログラム構造はメインメニュープログラム３６と同じである。すなわち、ＩＤブロック７１、管理ブロック８０、及びデータブロック９０の３つのブロックを含んでいる。ＩＤブロック７１に保持されるＩＤは、サブメニュープログラム３７−１の場合にはサブメニューＢのＩＤ＝（１−０１００）である。管理ブロック８０は、サブメニュー管理部８１、表示管理部８２、キー割り当て管理部８３、及びフラグ解析管理部８４を備えている。データブロック９０は、サブメニューデータ群９１、ディスプレイデータ群９２、及びキーデータ群９３を備えている。
【００２５】
サブメニューＢは、その下の階層Ｌａｙ２に２つのサブメニューＢ−０、Ｂ−１を有している（図３参照）。従ってサブメニューデータ群９１は、サブメニューＢ−０、Ｂ−１に対応したサブメニューデータ９１−３、９１−４を保持する。ディスプレイデータ群９２は、サブメニューＢ−０、Ｂ−１を選択した際に表示すべきに対応したディスプレイデータ９２−３、９２−４を保持する。キーデータ群９３は、サブメニューＢ−０、Ｂ−１を選択するためのキーデータ９３−３〜９３−５を保持する。
【００２６】
上記構成のサブメニュープログラム３７−１は次のようなサブメニューＢを作成する。すなわち、サブメニュー管理部８１によって２つのサブメニュー９１−３、９１−４が起動可能である。サブメニュー９１−３、９１−４を起動するには、このアプリケーションが動作するハードウェアにおいて、キーデータ９３−３、９３−５に対応する入力キーを選択することで行う。サブメニュー９１−３、９１−４が選択されると、表示管理部８２が、ハードウェアのディスプレイにそれぞれディスプレイデータ９２−３、９２−４を表示させる。
【００２７】
上記のようなプログラムにより作成されるアプリケーションについて、携帯電話の場合を例に挙げて具体的に説明する。図６はアプリケーションを実行する携帯電話の外観図である。図示するように、携帯電話１００は、電源ＯＮ／ＯＦＦボタン１０１、１０２、ダイヤルボタン１０３、画面選択ボタン１０４〜１０７、送話口１０８、受話口１０９、ディスプレイ１１０、及びディスプレイ１１０背面に設けられたモバイルカメラ（図示せず）を有している。
【００２８】
電源ＯＮ／ＯＦＦボタン１０１、１０２は、携帯電話１００の電源をＯＮ／ＯＦＦする際、及び通話を開始／終了するために使用される。ダイヤルボタン１０３はテンキーを含み、電話番号や文字を入力するために使用される。画面選択ボタン１０４は、ディスプレイ１１０に表示されるアイコンの選択／決定を行うために使用される。送話口１０８は、通話中に通話相手の音声を出力する。受話口１０９は、通話中に携帯電話１００のユーザの音声を取り込む。ディスプレイ１１０は、様々な情報を表示する。
【００２９】
次に、携帯電話１００において実行されるアプリケーションのメニュー動作について説明する。メニューの階層は、前述した図３のようであるとする。まずメインメニューについて図７を用いて説明する。図７はディスプレイ１１０に表示されるメインメニュー画面を示している。携帯電話１００のユーザが画面選択ボタン１０４によりメインメニューを選択すると、図７に示すようなメインメニュー画面が表示される。図示するように、メインメニューは通話メニュー、ウェブメニュー、及びカメラメニューの３つのサブメニューを有し、それぞれのサブメニューに対応したアイコン１１１−０〜１１１−２が表示される。これらの３つのサブメニューが、図２及び図３で説明したサブメニューＡ、Ｂ、Ｃにそれぞれ対応する。また同時に、アイコン１１１−０〜１１１−２を選択するためのキーを表示したアイコン１１２−０〜１１２−２が表示される。アイコン１１２−０〜１１２−２は、画面選択ボタン１０５〜１０７に対応している。従って、通話モード、ウェブモード、及びカメラモードを選択したい場合、ユーザはそれぞれ画面選択ボタン１０５〜１０７をプッシュすれば良い。
【００３０】
図７においてユーザが画面選択ボタン１０５をプッシュして通話メニューを選択すると、図８に示すような通話メニュー画面が表示される。図示するように、通話メニューは電話帳メニュー、着信履歴メニュー、及び発信履歴メニューの３つのサブメニューを有し、それぞれのサブメニューに対応したアイコン１１１−３〜１１１−５が表示される。これらの３つのサブメニューが、図２及び図３で説明したサブメニューＡ−０、Ａ−１、Ａ−２にそれぞれ対応する。また同時に、アイコン１１１−３〜１１１−５を選択するためのキーを表示したアイコン１１２−０〜１１２−２が表示される。
【００３１】
図７においてユーザが画面選択ボタン１０６をプッシュしてウェブメニューを選択すると、図９に示すようなウェブメニュー画面が表示される。図示するように、ウェブメニューはメールメニュー、及びインターネット接続メニューの２つのサブメニューを有し、それぞれのサブメニューに対応したアイコン１１１−６、１１１−７が表示される。これらの２つのサブメニューが、図２及び図３で説明したサブメニューＢ−０、Ｂ−１にそれぞれ対応する。また同時に、アイコン１１１−６、１１１−７を選択するためのキーを表示したアイコン１１２−０、１１２−２が表示される。
【００３２】
図７においてユーザが画面選択ボタン１０７をプッシュしてカメラメニューを選択すると、図１０に示すようなカメラメニュー画面が表示される。図示するように、カメラメニューは１つのサブメニュー、すなわちビデオモードメニューを有し、ビデオモードメニューに対応したアイコン１１１−８が表示される。このサブメニューが、図２及び図３で説明したサブメニューＣ−０に対応する。また同時に、アイコン１１１−８を選択するためのキーを表示したアイコン１１２−１が表示される。
【００３３】
階層Ｌａｙ２、Ｌａｙ３のサブメニューについても上記同様であるので、以下説明は省略する。次に、各メニューとメニュープログラムとの関係について、メインメニュー及びウェブメニューを例に挙げて説明する。
【００３４】
メインメニューは、図４で説明したメインメニュープログラム３６によって作成される。キー割り当て管理部８３は、画面選択ボタン１０５〜１０７をそれぞれ通話メニューアイコン１１１−０、ウェブメニュー１１１−１、及びカメラメニュー１１１−２に割り当て、その割り当てデータをキーデータ９３−０〜９３−２として管理する。この割り当てデータはキー割り当てテーブル３４としてメモリ３０に保持される。サブメニュー管理部８１は、サブメニューデータ９１−０〜９１−２として、それぞれ通話メニュー、ウェブメニュー、及びカメラメニューを保持する。そして、画面選択ボタン１０５〜１０７がプッシュされたことを受けて、通話メニュー、ウェブメニュー、及びカメラメニューを起動する。表示管理部８２は、ディスプレイデータ９２−０〜９２−２として、それぞれ図８乃至図１０に示したような表示画面データを保持する。図７乃至図１０に示す表示画面は、メモリ３０にディスプレイデータ３３として保持されている。そして、サブメニュー管理部８１によって通話メニュー、ウェブメニュー、及びカメラメニューが起動された場合、ディスプレイデータ９２−０〜９２−２をディスプレイ１１０に表示させる。
【００３５】
サブメニュー管理部８１によってウェブメニューが起動されると、アプリケーションはサブメニュープログラム３７−１を実行する。キー割り当て管理部８３は、画面選択ボタン１０５、１０７をそれぞれメールメニューアイコン１１１−６及びインターネット接続メニューアイコン１１１−７に割り当て、画面選択ボタン１０６はいずれのアイコンにも割り当てない。この割り当てデータも、キー割り当てテーブル３４としてメモリ３０に保持される。サブメニュー管理部８１は、サブメニューデータ９１−３、９１−４として、それぞれメールメニュー及びインターネット接続メニューを保持する。そして、画面選択ボタン１０５、１０７がプッシュされたことを受けて、メールメニュー及びインターネット接続メニューを起動する。表示管理部８２は、ディスプレイデータ９２−３、９２−４として、それぞれメールメニュー及びインターネット接続メニューを起動した際の表示画面データを保持する。これらの表示画面もメモリ３０にディスプレイデータ３３として保持されている。そして、サブメニュー管理部８１によってメールメニュー及びインターネット接続メニューが起動された場合、ディスプレイデータ９２−３、９２−４をディスプレイ１１０に表示させる。
【００３６】
次に、上記アプリケーションを作成するための、図２に示したＧＵＩを有するアプリケーション作成プログラム３１について、図１１を用いて説明する。図１１はプログラム３１により行われる処理のフローチャートである。
【００３７】
ＣＰＵ１０は、メモリ３０からメインプログラム３１をメインメモリ２０に読み出し、実行する。これによりディスプレイ５０には図２に示すＧＵＩが表示される。上記アプリケーションの作成にあたって、最初にメインメニューアイコンの作成が行われる（ステップＳ１０）。図２において、メニュー生成ウインドウ６２内のメニュー選択部６８に階層レベルが入力され（“Select Menu Level”）、更にメニュー名が入力される（“Select Menu Name”）。メインメニューであるから、階層はＬａｙ０である。ＣＰＵ１０は、この情報に基づいてメインメニューアイコン６４を作成すると共に、メインメニューアイコンに対してＩＤと、メモリ３０に保持されるソースプログラム３５を割り当てる（ステップＳ１１）。メインメニューアイコンに割り当てられるＩＤは、最も上の階層Ｌａｙ０であり且つその階層には他のメニューが存在しないので、（０−００００）である。また割り当てられたソースプログラム３５は、メインメニュープログラム３６としてメモリ３０に保持される。そしてＣＰＵ１０は、作成したメインメニューアイコン６４をメニューダイアグラムウィンドウ６１に表示させる（ステップＳ１２）。
【００３８】
ソースプログラム３５の構造について図１２を用いて説明する。ソースプログラム３５は、図４、図５に示したような完成されたプログラムにおいて、具体的なデータを割り付ける以前の構造を有している。すなわちソースプログラム３５は、ＩＤブロック７１、管理ブロック８０、及びデータブロック９０の３つのブロックを備えている。但し、ＩＤブロック７１にＩＤは未登録の状態である。管理ブロック８０は、サブメニュー管理部８１、表示管理部８２、キー割り当て管理部８３、及びフラグ解析管理部８４を備えている。データブロック９０は、サブメニューデータ群９１、ディスプレイデータ群９２、及びキーデータ群９３を備えているが、これらの領域にもデータは未登録である。
【００３９】
次にサブメニューアイコンの作成が行われる（ステップＳ１３）。図２において、メニュー生成ウインドウ６２内のメニュー選択部６８に、作成すべきサブメニューの１つ上の階層レベルとメニュー名が入力され、更にメニュー追加部７０に作成すべきサブメニュー名が入力される。サブメニューＡの場合には、メニュー選択部６８に入力される階層は階層Ｌａｙ０であり、メニュー名は「メインメニュー」である。するとＣＰＵ１０は、この情報に基づいてサブメニューアイコン６５−０を作成すると共に、サブメニューアイコン６５−０に対してＩＤと、メモリ３０に保持されるソースプログラム３５を割り当てる（ステップＳ１４）。サブメニューアイコン６５−０に割り当てられるＩＤは、階層Ｌａｙ１であり且つその階層に作成される１つめのメニューであるので、（１−００００）である。また割り当てられたソースプログラム３５は、サブメニュープログラム３７−０としてメモリ３０に保持される。サブメニューＡを作成した後にサブメニューＢを作る場合、その作成方法はサブメニューＡと同様で、階層Ｌａｙ１における２つ目のメニューであるのでＩＤは（１−０１００）となる。
【００４０】
サブメニュープログラムを作成した際、それより上の階層にあるメニューのサブメニュー管理部８１に、作成されたサブメニューデータを登録する（ステップＳ１５）。例えば図１３に示すように、メインメニュー（アイコン６４）の下に２つのサブメニューＡ（アイコン６５−０）及びサブメニューＢ（アイコン６５−１）を作成した場合を考える。これら２つのサブメニューＡ、Ｂは、メインメニュープログラム３６のサブメニュー管理部８１によって管理されるべきものである。従ってＣＰＵ１０は、図１４に示すようにメインメニュープログラム３６のサブメニューデータ９１−０、９１−１として、それぞれサブメニューＡ、Ｂを登録させる。
【００４１】
次にＣＰＵ１０は、作成したサブメニューアイコンのメニューダイアグラムウィンドウ６１内における配置を決定する（ステップＳ１６）。ＣＰＵ１０は、各メニュー間の関連付けと、各メニューと階層との関連づけとが明示されるように各アイコンを配置する。すなわち図１３に示すように、関連するメニューのアイコン同士がツリー状になるように、且つ同一の階層のアイコンが階層順に整列するように配置する。そしてＣＰＵ１０は、作成したサブメニューアイコンを、ステップＳ１６で決定した配置に従って、メニューダイアグラムウィンドウ６１に表示する。
【００４２】
次に、メニューダイアグラムウィンドウ６１に表示したいずれかのアイコンが選択されると（ステップＳ１７）、ＣＰＵ１０はディスプレイ５０にプログラム作成フォームを表示する。プログラム作成フォームとは、メニュープログラムを作成するための画面である。例えば図１３の状態でメインメニューアイコン６４が選択されると、ディスプレイ５０には、図１４に示す構造を有するメインメニュープログラム３６が表示される。プログラム言語としては例えばＣ言語が使用出来る。
【００４３】
全てのサブメニューを作成するまで、以上のステップＳ１３〜Ｓ１８を繰り返す（ステップＳ１９）。全てのサブメニューの作成が完了したとき、メモリ３０にはメインメニュープログラムと、全てのサブメニュープログラムファイルが保持される。例えば図２のメニューダイアグラムウィンドウ６１に示したツリー構造の場合、図１５に示すようにメインメニュープログラム３６及び１０個のサブメニュープログラム３７−０〜３７−９が得られる。それぞれのプログラムは、メインメニュー、サブメニューＡ、Ｂ、Ｃ、Ａ−０〜Ａ−２、Ｂ−０、Ｂ−１、Ｃ−０、Ｂ−０−０に対応する。そして、プログラムファイルをコンパイルすることで、実行ファイルが得られる（ステップＳ２０）。この実行ファイルを起動することで、例えば図７乃至図１０で説明したような、階層化された複数のメニューを有するアプリケーションが実現出来る。
【００４４】
上記のように、この発明の第１の実施形態に係るアプリケーション作成プログラム及びアプリケーション作成方法によれば、プログラマの負担を軽減し、アプリケーションの開発を容易にすることが出来る。この点につき以下説明する。
【００４５】
本実施形態に係るアプリケーション作成プログラムは、図２に示すようなＧＵＩをユーザに提供する。そしてユーザは、メニューダイアグラムウィンドウ６１によって各メニューがどの階層にあるのか、また各サブメニューがいずれの上位メニューに属するのか、といった情報が一目瞭然となる。従って、ユーザはアプリケーションの全体構造を視覚的に容易に把握出来るようになる。また、メニューの作成はメニュー生成ウィンドウ６２から、作成したい場所の階層とメニュー名を指定するだけで可能であり、非常に簡便となる。
【００４６】
またアプリケーションを実現するためのプログラムファイルはメニュー毎に作成される。従来方法では、階層が深くなるにつれてプログラムが長くなり手間がかかった。しかし本実施形態であるとメニュー毎にファイルが完結するので、プログラムが容易となる。更に、アイコンを作成した段階でソースプログラムが割り当てられる。従って、ユーザはソースプログラムを編集すれば良く、プログラムを一から組み始める必要が無いので、ユーザの負担を軽減できる。
【００４７】
次にこの発明の第２の実施形態に係るアプリケーション作成プログラム及びアプリケーション作成方法について説明する。本実施形態は上記第１の実施形態において、作成済みのメニュープログラムをデータベース化するものである。図１６は、この発明の第２の実施形態に係るアプリケーション作成方法のフローチャートである。
【００４８】
図示するように本実施形態では、メニュープログラムを作成した後、そのメニュープログラムをソースファイルとして登録し、メモリ３０に保持させる（ステップＳ２１）。そして、各アイコンを作成してソースプログラムを割り当てる際、いずれか適切なソースプログラムを選択して割り当てられる。
【００４９】
本実施形態によれば、上記第１の実施形態で説明した効果を得られると共に、アプリケーションの作成を更に簡略化出来る。すなわち、本実施形態に係る方法であると、メニュープログラムそのものをソースプログラムとして流用している。従って、ユーザはソースプログラム３５に選択の幅が出来、作成しようとするメニューに最も近い構造を有するソースプログラム３５を選択することで、プログラムの編集作業量を削減出来る。その結果、アプリケーションの作成が簡略化出来る。
【００５０】
なお図１６においては、作成したプログラムをソースプログラムとして登録するステップは、ステップＳ１９の後に行われる。しかしこれは一例に過ぎず、メニュープログラムが作成された後であれば、何時行っても良い。またメニュープログラムは必ずしも完成した状態である必要はない。例えば途中まで作成した状態でセーブして、これをソースプログラム３５として登録しても良い。
【００５１】
上記のように、この発明の第１、第２の実施形態に係るアプリケーション作成プログラム及びアプリケーション作成方法によれば、コンピュータ１は、メインメニュープログラム３６を保持する第１保持手段３０と、メインメニューより下の階層のサブメニュープログラム３７を保持する第２保持手段３０と、メインメニュー作成命令を受けてメインメニューアイコン６４を作成し、サブメニュー作成命令を受けてサブメニューアイコン３５を作成するアイコン作成手段１０と、アイコン作成手段１０で作成されたアイコンの配置を、対応するメインメニュー及びサブメニューの階層レベルに関連付けて決定する配置手段１０と、アイコンを表示する表示手段５０として機能する。従って、ユーザはアイコンの配置された位置によって、各メニューがどの階層にあるのか、またどの上位メニューに属するのかを容易に把握できる。
【００５２】
またコンピュータは、メニュー作成命令を受けた際、ソースプログラムをメニュープログラムとして割り当てるソースプログラム割り当て手段として更に機能する。従って、ユーザはメニュープログラムを作成する際、ソースプログラムを編集すれば良く、プログラムを一から組み始める必要が無いので、ユーザの負担を軽減できる。
【００５３】
なお、アイコンを選択してプログラムを作成する処理は、アイコンを作成した後であれば何時行っても良い。すなわち、アイコンを作成する度にプログラムを作成しても良いし、全てのアイコンを作成した後にまとめて行っても良い。また、アイコンの作成順序は、上記実施形態で説明した順序に限られるものではない。例えばサブメニューアイコンを後にメインメニューアイコンを作成してもよい。すなわち、階層が下のレベルのアイコンを先に作り、その後に階層が上のレベルのアイコンを作成することも可能である。更に、ソースプログラム３５は、必ずしも図１２の構造を有するものには限定されず、ユーザによって適宜変更を加えることが出来る。
【００５４】
更に、上記第１、第２の実施形態で説明したアプリケーション作成プログラムは記憶媒体に記録させることによって自由に携帯可能であり、様々なハードウェアにおいて本実施形態に係るアプリケーション作成方法が可能となる。また、本実施形態に係るプログラム及び方法によって作成されるアプリケーションは、携帯電話だけでなく、例えばＰＤＡやファクシミリ、またその他のモバイル機器や家電製品に使用出来る。
【００５５】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【図面の簡単な説明】
【００５６】
【図１】この発明の第１の実施形態に係るアプリケーション作成プログラムを実行するコンピュータのブロック。
【図２】この発明の第１の実施形態に係るアプリケーション作成プログラムを実行した際にディスプレイに表示されるＧＵＩ。
【図３】図２に示すＧＵＩにおいて、各メニューアイコンとその階層との関係を示す概念図。
【図４】この発明の第１の実施形態に係るアプリケーション作成プログラムを実行することにより得られるメインメニュープログラムの構造を示す概念図。
【図５】この発明の第１の実施形態に係るアプリケーション作成プログラムを実行することにより得られるサブメニュープログラムの構造を示す概念図。
【図６】この発明の第１の実施形態に係るアプリケーション作成プログラムにより作成されたアプリケーションが動作する携帯電話の外観図。
【図７】図６に示す携帯電話のディスプレイの様子を示す模式図であり、メインメニューを示す図。
【図８】図６に示す携帯電話のディスプレイの様子を示す模式図であり、サブメニューを示す図。
【図９】図６に示す携帯電話のディスプレイの様子を示す模式図であり、サブメニューを示す図。
【図１０】図６に示す携帯電話のディスプレイの様子を示す模式図であり、サブメニューを示す図。
【図１１】この発明の第１の実施形態に係るアプリケーション作成方法のフローチャート。
【図１２】この発明の第１の実施形態に係るアプリケーション作成プログラムで用いられるソースプログラムの構造を示す概念図。
【図１３】この発明の第１の実施形態に係るアプリケーション作成プログラムにより作成されるメニューと階層との関係を示す概念図。
【図１４】この発明の第１の実施形態に係るアプリケーション作成プログラムを実行することにより得られるメインメニュープログラムの構造を示す概念図。
【図１５】この発明の第１の実施形態に係るアプリケーション作成プログラムにより作成されるメインメニュープログラム及びサブメニュープログラムを示す図。
【図１６】この発明の第２の実施形態に係るアプリケーション作成方法のフローチャート。
【符号の説明】
【００５７】
１…コンピュータ、１０…ＣＰＵ、２０…メインメモリ、３０…メモリ、３１…メインプログラム、３２…アイコン生成プログラム、３３…ディスプレイデータ、３４…キー割り当てテーブル、３５…ソースプログラム、３６…メインメニュープログラム、３７−０〜３７−９…サブメニュープログラム、４０…データ入出力部、５０、１１０…ディスプレイ、６０…画面、６１…メニューダイアグラムウィンドウ、６２…メニュー生成ウィンドウ、６３…メニュー編集ウィンドウ、６４、６５−０〜６５−２、６６−０〜６６−５、６７、１１１−０〜１１１−８、１１２−０〜１１２−２…アイコン、６８…メニュー選択部、６９、７０…メニュー追加部、７１…ＩＤブロック、８０…管理ブロック、８１…サブメニュー管理部、８２…表示管理部、８３…キー割り当て管理部、８４…解析管理部、９０…データブロック、９１…サブメニューデータ群、９１−０〜９１−４…サブメニューデータ、９２…ディスプレイデータ群、９２−０〜９２−４…ディスプレイデータ、９３…キーデータ群、９３−０〜９３−４…キーデータ、１００…携帯電話、１０１、１０２…電源ボタン、１０３…ダイヤルボタン、１０４〜１０７…画面選択ボタン、１０８…送話口、１０９…受話口
【図１】
2006277625.tif 000003
【図２】
2006277625.tif 000004
【図３】
2006277625.tif 000005
【図４】
2006277625.tif 000006
【図５】
2006277625.tif 000007
【図６】
2006277625.tif 000008
【図７】
2006277625.tif 000009
【図８】
2006277625.tif 000010
【図９】
2006277625.tif 000011
【図１０】
2006277625.tif 000012
【図１１】
2006277625.tif 000013
【図１２】
2006277625.tif 000014
【図１３】
2006277625.tif 000015
【図１４】
2006277625.tif 000016
【図１５】
2006277625.tif 000017
【図１６】
2006277625.tif 000018