(57)【特許請求の範囲】
【請求項１】
第１の処理を実行させるための第１のメニューに関する情報である第１メニュー情報と、第２の処理を実行させるための第２のメニューに関する情報である第２メニュー情報とを、前記第１メニュー情報を上層、前記第２メニュー情報を下層として階層的に記憶するメニュー情報記憶手段と、
表示されている要素に関する情報であるオブジェクトデータを記憶するオブジェクトデータ記憶手段と、
前記表示されている要素のうち、選択状態にある要素を示す情報である選択情報を記憶する選択状態記憶手段と、
前記オブジェクトデータおよび前記選択情報に応じて、前記メニュー情報記憶手段に記憶されるメニュー情報を更新するメニュー情報更新手段と、
前記第１の処理が実行不可能なときに、前記第１の処理を実行可能とするために必要な処理を示す補助メニューを、前記第１のメニューごとに、前記第１の処理を実行可能とするために必要な要素に対応付けて記憶すると共に、前記第１のメニューごとに前記第１の処理を実行可能とするために必要な要素のそれぞれの表示条件を記憶する補助メニュー情報記憶手段と、
前記第１のメニューが選択状態とされた場合に、前記メニュー情報記憶手段を参照して、前記第２のメニューを描画するメニュー描画手段とを備え、
前記メニュー情報更新手段は、前記第１の処理を実行可能とするために必要な要素が１つでも前記表示条件を満たしていない場合に前記第１の処理が実行不可能と判断し、前記表示条件を満たしていない要素に対応付けられている前記補助メニューを前記第２のメニューとして、前記メニュー情報記憶手段に記憶されるメニュー情報を更新する、メニュー表示装置。
【請求項２】
前記表示条件は、当該要素が表示されていること、または当該要素が表示され、かつ選択状態にあること、である、請求項１に記載のメニュー表示装置。
【請求項３】
前記メニュー描画手段は、前記第２のメニューを前記第１のメニューの横に表示する、請求項１または２に記載のメニュー表示装置。
【請求項４】
第１の処理を実行させるための第１のメニューに関する情報である第１メニュー情報と、第２の処理を実行させるための第２のメニューに関する情報である第２メニュー情報とを、前記第１メニュー情報を上層、前記第２メニュー情報を下層として階層的に記憶するメニュー情報記憶手段と、
表示されている要素に関する情報であるオブジェクトデータを記憶するオブジェクトデータ記憶手段と、
前記表示されている要素のうち、選択状態にある要素を示す情報である選択情報を記憶する選択状態記憶手段と、
前記第１の処理が実行不可能なときに、前記第１の処理を実行可能とするために必要な処理を示す補助メニューを、前記第１のメニューごとに、前記第１の処理を実行可能とするために必要な要素に対応付けて記憶すると共に、前記第１のメニューごとに前記第１の処理を実行可能とするために必要な要素のそれぞれの表示条件を記憶する補助メニュー情報記憶手段とを備えるメニュー表示装置におけるメニュー表示方法であって、
処理の結果に応じて前記オブジェクトデータを更新するオブジェクトデータ更新ステップと、
前記第１の処理を実行可能とするために必要な要素が１つでも前記表示条件を満たしていない場合に前記第１の処理が実行不可能と判断し、そうでない場合に実行可能と判断する第１の判断ステップと、
前記第１の処理が実行不可能と判断された場合に、前記表示条件を満たしていない要素に対応付けられている前記補助メニューを前記第２のメニューとして、前記メニュー情報記憶手段に記憶されるメニュー情報を更新するメニュー情報更新ステップと、
前記第１のメニューが選択状態とされた場合に、前記メニュー情報記憶手段を参照して、前記第２のメニューを描画するメニュー描画ステップとを備える、メニュー表示方法。
【請求項５】
前記第１のメニューが選択状態とされた場合に、前記メニュー情報記憶手段を参照して、前記第２メニュー情報の有無を判断する第２の判断ステップをさらに備え、
前記メニュー情報更新ステップは、前記第２の判断ステップにおいて前記メニュー情報記憶手段に前記第２メニュー情報が記憶されていないと判断され、かつ前記第１の判断ステップにおいて前記第１の処理が実行不可能と判断された場合に、前記補助メニューを前記第２のメニューとして、前記メニュー情報記憶手段に記憶されるメニュー情報を更新する、請求項４に記載のメニュー表示方法。
【請求項６】
前記表示条件は、当該要素が表示されていること、または当該要素が表示され、かつ選択状態にあること、である、請求項４または５に記載のメニュー表示方法。
【請求項７】
前記メニュー描画ステップは、前記第２のメニューを前記第１のメニューの横に表示する、請求項４〜６のいずれかに記載のメニュー表示方法。
【請求項８】
第１の処理を実行させるための第１のメニューに関する情報である第１メニュー情報と、第２の処理を実行させるための第２のメニューに関する情報である第２メニュー情報とを、前記第１メニュー情報を上層、前記第２メニュー情報を下層として階層的に記憶するメニュー情報記憶手段と、
表示されている要素に関する情報であるオブジェクトデータを記憶するオブジェクトデータ記憶手段と、
前記表示されている要素のうち、選択状態にある要素を示す情報である選択情報を記憶する選択状態記憶手段と、
前記第１の処理が実行不可能なときに、前記第１の処理を実行可能とするために必要な処理を示す補助メニューを、前記第１のメニューごとに、前記第１の処理を実行可能とするために必要な要素に対応付けて記憶すると共に、前記第１のメニューごとに前記第１の処理を実行可能とするために必要な要素のそれぞれの表示条件を記憶する補助メニュー情報記憶手段とを備えるメニュー表示装置におけるメニュー表示処理をコンピュータに実行させるプログラムであって、
処理の結果に応じて前記オブジェクトデータを更新するオブジェクトデータ更新ステップと、
前記第１の処理を実行可能とするために必要な要素が１つでも前記表示条件を満たしていない場合に前記第１の処理が実行不可能と判断し、そうでない場合に実行可能と判断する第１の判断ステップと、
前記第１の処理が実行不可能と判断された場合に、前記表示条件を満たしていない要素に対応付けられている前記補助メニューを前記第２のメニューとして、前記メニュー情報記憶手段に記憶されるメニュー情報を更新するメニュー情報更新ステップと、
前記第１のメニューが選択状態とされた場合に、前記メニュー情報記憶手段を参照して、前記第２のメニューを描画するメニュー描画ステップとを実行させる、メニュー表示プログラム。
【請求項９】
前記第１のメニューが選択状態とされた場合に、前記メニュー情報記憶手段を参照して、前記第２メニュー情報の有無を判断する第２の判断ステップをさらに実行させ、
前記メニュー情報更新ステップは、前記第２の判断ステップにおいて前記メニュー情報記憶手段に前記第２メニュー情報が記憶されていないと判断され、かつ前記第１の判断ステップにおいて前記第１の処理が実行不可能と判断された場合に、前記補助メニューを前記第２のメニューとして、前記メニュー情報記憶手段に記憶されるメニュー情報を更新する、請求項８に記載のメニュー表示プログラム。
【請求項１０】
前記表示条件は、当該要素が表示されていること、または当該要素が表示され、かつ選択状態にあること、である、請求項８または９に記載のメニュー表示プログラム。
【請求項１１】
前記メニュー描画ステップは、前記第２のメニューを前記第１のメニューの横に表示する、請求項８〜１０のいずれかに記載のメニュー表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメニュー表示装置、メニュー表示方法、およびメニュー表示プログラムに関し、特に、アプリケーションのメニュー表示に対する処理を行なうメニュー表示装置、メニュー表示方法、およびメニュー表示プログラムに関する。
【背景技術】
【０００２】
アプリケーションにおけるメニューの表示は、メニューの表示が実行可能なメニューと実行不可能なメニューが識別できるように、実行不可能なメニューについてはグレイアウトと呼ばれる形態によって、実行可能なメニューより目立たないようになっている。実行不可能なメニューがグレイアウトされていることにより、ユーザは、実行不可能なメニューを認識することができ、実行可能なメニューをグレイアウトしていないメニューの中から実行できる。
【０００３】
しかしながら、このようなメニューの表示方法では、ユーザはグレイアウトしているメニューが実行不可能なメニューであることを認識できるだけで、なぜこの状況で実行不可能であるのかを知ることが出来なかった。
【０００４】
そこで、特許文献１は、コマンドまたはアイコンによって選択された機能を実行するデータ処理システムにおいて、アプリケーションの状態とコマンドまたはアイコンの各種類とに対応して、少なくとも選択されたコマンドまたはアイコンが実行不可能な場合における実行不可能な理由または実行を可能にする方法に関する情報を含むメッセージ情報を予め記憶するメッセージ情報記憶手段と、コマンドまたはアイコンが選択された場合に、実行可能であるかどうかを判別する実行可否判定処理手段と、選択されたコマンドまたはアイコンが実行不可能である場合に、前記メッセージ情報記憶手段に記憶されている実行不可能な理由または実行を可能にする方法に関するメッセージ表示処理手段とを備えていることを特徴とするデータ処理システムを開示している。
【０００５】
同文献に開示されている表示方法は、実行不可能なコマンドが選択されたときに、実行不可能な理由または実行を可能にする方法に関する情報を記したメッセージを表示する方法であって、ユーザは、グレイアウトしているメニューがなぜ実行不可能であるのかを知ることができる。
【０００６】
同様に、以下の特許文献２も、メニュー表示中に選択できないボタンに対する指示があった場合、その理由を通知するメッセージを表示する情報処理装置を開示している。
【特許文献１】特開平８−７６９５３号公報
【特許文献２】特開平１１−７３２６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、この方法では、グレイアウトして実行不可能なメニューに対して、実行不可能になった理由または可能にする方法に関する情報をメッセージとして表示するだけである。そこで、ユーザは、次にやるべき操作をメッセージから判断して行わなければならない。また、必要な操作を実行させるためのメニューを探す手間もかかる。そのため、アプリケーションに慣れていない初心者には、具体的にどのような操作をすれば実行不可を解除できるのかが分からない場合があるという問題があった。
【０００８】
本発明はこのような問題に鑑みてなされたものであって、操作性の高いメニューを表示することのできるメニュー表示装置、メニュー表示方法、およびメニュー表示プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のある局面に従うと、メニュー表示装置は、第１の処理を実行させるための第１のメニューに関する情報である第１メニュー情報と、第２の処理を実行させるための第２のメニューに関する情報である第２メニュー情報とを、第１メニュー情報を上層、第２メニュー情報を下層として階層的に記憶するメニュー情報記憶手段と、表示されている要素に関する情報であるオブジェクトデータを記憶するオブジェクトデータ記憶手段と、表示されている要素のうち、選択状態にある要素を示す情報である選択情報を記憶する選択状態記憶手段と、オブジェクトデータおよび選択情報に応じて、メニュー情報記憶手段に記憶されるメニュー情報を更新するメニュー情報更新手段と、第１の処理が実行不可能なときに、第１の処理を実行可能とするために必要な処理を示す補助メニューを、第１のメニューごとに、第１の処理を実行可能とするために必要な要素に対応付けて記憶すると共に、第１のメニューごとに第１の処理を実行可能とするために必要な要素のそれぞれの表示条件を記憶する補助メニュー情報記憶手段と、第１のメニューが選択状態とされた場合に、メニュー情報記憶手段を参照して、第２のメニューを描画するメニュー描画手段とを備え、メニュー情報更新手段は、第１の処理を実行可能とするために必要な要素が１つでも表示条件を満たしていない場合に第１の処理が実行不可能と判断し、表示条件を満たしていない要素に対応付けられている補助メニューを第２のメニューとして、メニュー情報記憶手段に記憶されるメニュー情報を更新する。
好ましくは、表示条件は、当該要素が表示されていること、または当該要素が表示され、かつ選択状態にあること、である。
【００１０】
また、メニュー情報更新手段は、オブジェクトデータ記憶手段を参照して、第１の処理の対象である要素が１つでも第１の処理対象とできない場合に、第１の処理が実行不可能と判断し、第１の処理対象とできない要素に対応付けられて補助メニュー情報記憶手段に記憶された補助メニューを第２のメニューとすることが好ましい。
【００１１】
さらに、オブジェクトデータは、前記要素の選択状態に関する情報を含み、第１の処理の対象であって第１の処理対象とできない第１の要素が表示されている要素であって選択状態にない要素であり、第１の処理の対象であって第１の処理対象とできない第２の要素が表示されている要素であって選択状態にある要素である場合、メニュー情報更新手段は、第１の要素に対応付けられて補助メニュー情報記憶手段に記憶された補助メニューを第２のメニューとすることがより好ましい。
【００１２】
なお、メニュー描画手段は、第２のメニューを第１のメニューの横に表示することが好ましい。
【００１３】
本発明の他の局面に従うと、メニュー表示方法は、第１の処理を実行させるための第１のメニューに関する情報である第１メニュー情報と、第２の処理を実行させるための第２のメニューに関する情報である第２メニュー情報とを、第１メニュー情報を上層、第２メニュー情報を下層として階層的に記憶するメニュー情報記憶手段と、表示されている要素に関する情報であるオブジェクトデータを記憶するオブジェクトデータ記憶手段と、表示されている要素のうち、選択状態にある要素を示す情報である選択情報を記憶する選択状態記憶手段と、第１の処理が実行不可能なときに、第１の処理を実行可能とするために必要な処理を示す補助メニューを、第１のメニューごとに、第１の処理を実行可能とするために必要な要素に対応付けて記憶すると共に、第１のメニューごとに第１の処理を実行可能とするために必要な要素のそれぞれの表示条件を記憶する補助メニュー情報記憶手段とを備えるメニュー表示装置におけるメニュー表示方法であって、処理の結果に応じてオブジェクトデータを更新するオブジェクトデータ更新ステップと、第１の処理を実行可能とするために必要な要素が１つでも表示条件を満たしていない場合に第１の処理が実行不可能と判断し、そうでない場合に実行可能と判断する第１の判断ステップと、第１の処理が実行不可能と判断された場合に、表示条件を満たしていない要素に対応付けられている補助メニューを第２のメニューとして、メニュー情報記憶手段に記憶されるメニュー情報を更新するメニュー情報更新ステップと、第１のメニューが選択状態とされた場合に、メニュー情報記憶手段を参照して、第２のメニューを描画するメニュー描画ステップとを備える。
好ましくは、表示条件は、当該要素が表示されていること、または当該要素が表示され、かつ選択状態にあること、である。
【００１４】
また、メニュー表示方法は、第１のメニューが選択状態とされた場合に、メニュー情報記憶手段を参照して、第２メニュー情報の有無を判断する第２の判断ステップをさらに備え、メニュー情報更新ステップは、第２の判断ステップにおいてメニュー情報記憶手段に第２メニュー情報が記憶されていないと判断され、かつ第１の判断ステップにおいて第１の処理が実行不可能と判断された場合に、補助メニューを第２のメニューとして、メニュー情報記憶手段に記憶されるメニュー情報を更新することが好ましい。
【００１５】
また、メニュー情報更新ステップは、オブジェクトデータ記憶手段を参照して、第１の処理の対象である要素が１つでも第１の処理対象とできない場合に第１の処理が実行不可能と判断し、第１の処理対象とできない要素に対応付けられて補助メニュー情報記憶手段に記憶された補助メニューを第２のメニューとすることが好ましい。
【００１６】
さらに、オブジェクトデータは、要素の選択状態に関する情報を含み、第１の処理の対象であって第１の処理対象とできない第１の要素が表示されている要素であって選択状態にない要素であり、第１の処理の対象であって第１の処理対象とできない第２の要素が表示されている要素であって選択状態にある要素である場合、メニュー情報更新ステップは、第１の要素に対応付けられて補助メニュー情報記憶手段に記憶された補助メニューを第２のメニューとすることがより好ましい。
【００１７】
なお、メニュー描画ステップは、第２のメニューを第１のメニューの横に表示することが好ましい。
【００１８】
本発明のさらに他の局面に従うと、メニュー表示プログラムは、第１の処理を実行させるための第１のメニューに関する情報である第１メニュー情報と、第２の処理を実行させるための第２のメニューに関する情報である第２メニュー情報とを、第１メニュー情報を上層、第２メニュー情報を下層として階層的に記憶するメニュー情報記憶手段と、表示されている要素に関する情報であるオブジェクトデータを記憶するオブジェクトデータ記憶手段と、表示されている要素のうち、選択状態にある要素を示す情報である選択情報を記憶する選択状態記憶手段と、第１の処理が実行不可能なときに、第１の処理を実行可能とするために必要な処理を示す補助メニューを、第１のメニューごとに、第１の処理を実行可能とするために必要な要素に対応付けて記憶すると共に、第１のメニューごとに第１の処理を実行可能とするために必要な要素のそれぞれの表示条件を記憶する補助メニュー情報記憶手段とを備えるメニュー表示装置におけるメニュー表示処理をコンピュータに実行させるプログラムであって、処理の結果に応じてオブジェクトデータを更新するオブジェクトデータ更新ステップと、第１の処理を実行可能とするために必要な要素が１つでも表示条件を満たしていない場合に第１の処理が実行不可能と判断し、そうでない場合に実行可能と判断する第１の判断ステップと、第１の処理が実行不可能と判断された場合に、表示条件を満たしていない要素に対応付けられている補助メニューを第２のメニューとして、メニュー情報記憶手段に記憶されるメニュー情報を更新するメニュー情報更新ステップと、第１のメニューが選択状態とされた場合に、メニュー情報記憶手段を参照して、第２のメニューを描画するメニュー描画ステップとを実行させる。
【００１９】
また、メニュー表示プログラムは、第１のメニューが選択状態とされた場合に、メニュー情報記憶手段を参照して、第２メニュー情報の有無を判断する第２の判断ステップをさらに実行させ、メニュー情報更新ステップは、第２の判断ステップにおいてメニュー情報記憶手段に第２メニュー情報が記憶されていないと判断され、かつ第１の判断ステップにおいて第１の処理が実行不可能と判断された場合に、補助メニューを第２のメニューとして、メニュー情報記憶手段に記憶されるメニュー情報を更新することが好ましい。
【００２０】
また、メニュー情報更新ステップは、オブジェクトデータ記憶手段を参照して、第１の処理の対象である要素が１つでも第１の処理対象とできない場合に、第１の処理が実行不可能と判断し、第１の処理対象とできない要素に対応付けられて補助メニュー情報記憶手段に記憶された補助メニューを第２のメニューとすることが好ましい。
【００２１】
さらに、オブジェクトデータは、要素の選択状態に関する情報を含み、第１の処理の対象であって第１の処理対象とできない第１の要素が表示されている要素であって選択状態にない要素であり、第１の処理の対象であって第１の処理対象とできない第２の要素が表示されている要素であって選択状態にある要素である場合、メニュー情報更新ステップは、第１の要素に対応付けられて補助メニュー情報記憶手段に記憶された補助メニューを第２のメニューとすることがより好ましい。
【００２２】
なお、メニュー描画ステップは、第２のメニューを第１のメニューの横に表示することが好ましい。
【発明の効果】
【００２３】
本発明にかかるメニュー表示装置、メニュー表示方法、およびメニュー表示プログラムが上記構成を備えることにより、画面上にある特定のオブジェクトがない場合や、マウスである特定のオブジェクトが選択されていない場合に実行不可能になるメニューのあるアプリケーションを操作する際に、操作に慣れていないユーザであっても、迷うことなく所望のメニューを操作するために必要なメニューを把握し、すぐに実行できる。その結果、どのような操作をしたら実行可能になるのかマニュアルやヘルプ等を参照する時間的なロスや、実行不可能なメニューを実行可能にするために必要なメニューを探す手間が省けるため、アプリケーションの操作の効率が上がる。
【発明を実施するための最良の形態】
【００２４】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
【００２５】
本発明の実施の形態において、本発明にかかるメニュー表示プログラムは３次元ＣＡＤアプリケーションに組込まれ、３次元ＣＡＤ（Computer Aided Design）アプリケーションの実行においてメニュー表示方法が実現されるものとする。
【００２６】
［第１の実施の形態］
図１は、第１の実施の形態にかかるメニュー表示装置の、システム構成を示すブロック図である。
【００２７】
図１を参照して、第１の実施の形態にかかるメニュー表示装置は、入力装置であるマウス１．１、表示装置１．２、基本ソフトウェアであるオペレーティングシステム（ＯＳ:Operating System）１．３、およびアプリケーション１．８とを含んで構成される。さらに、ＯＳ１．３は、マウス操作処理部１．４と、メニュー情報記憶装置１．５と、メニュー描画部１．６と、表示制御部１．７とを含み、アプリケーション１．８は、メニュー実行部１．９と、オブジェクトデータ記憶装置１．１０と、オブジェクト選択処理部１．１１と、オブジェクト選択リスト記憶装置１．１２と、補助メニューテーブル１．１３と、メニュー情報更新部１．１４と、オブジェクト描画部１．１５とを含んで構成される。
【００２８】
次に、本実施の形態に係る装置の動作について説明する。
マウス１．１は、表示装置１．２に表示されたカーソルを動かし、メニュー選択指示やアプリケーションの画面上のオブジェクトの選択指示を行なう入力デバイスである。オブジェクトとは、画面上に表示された文字や図形のことである。
【００２９】
表示装置１．２は、ＣＲＴ（Cathode Ray Tube）などの表示装置である。
ＯＳ１．３は、コンピュータシステムの各種資源を管理し、アプリケーション１．８がこの各種資源を利用できるようにする基本ソフトウェアである。
【００３０】
メニュー情報記憶装置１．５は、メニューＩＤ、メニューの実行可否の情報、メニュー領域として矩形形状の左上の座標と右下の座標との情報、１つ下の階層のメニュー（子メニュー）の情報、および子メニューＩＤなどのメニュー情報を記憶する。また、メニュー情報更新部１．１４により追加登録された補助メニューを子メニューとして記憶する。
【００３１】
図２に、メニュー表示装置でのアプリケーションのメニュー表示の具体例を示す。図２に示されたアプリケーションのメニュー表示例では、「描画」メニューの子メニューは「カーブ」メニューと「サーフェス」メニューと「平面」メニューと「サーフェス延長」メニューとである。「カーブ」メニューと「サーフェス」メニューと「平面」メニューとは実行可能なメニューとして表示され、「サーフェス延長」メニューは実行不可能なメニューとして表示されている。さらに、「サーフェス延長」メニューには、子メニューが登録されていることが示されている。図３に、本アプリケーションにおいて表示されるメニューが図２に示されたメニューである場合の、メニュー情報記憶装置１．５に記憶されるメニュー情報の具体例を示す。図３のメニュー情報より、「サーフェス延長」メニューの子メニューに、メニュー情報更新部１．１４により追加登録された補助メニュー「サーフェス」が登録されていることがわかる。
【００３２】
マウス操作処理部１．４は、マウス１．１からカーソル移動、クリックの有無、ドラッグ、ドロップのイベントを取得し、以下の３つ処理を行なう。
【００３３】
すなわち、第１の処理として、マウス操作処理部１．４は、メニュー情報記憶装置１．５から、メニュー情報記憶装置１．５に記憶されるメニュー情報に含まれるメニューとメニューの矩形領域とのデータを取得する。そして、そのデータに基づいて、マウス１．１に位置を指示されたカーソルがメニューの矩形領域に入ったかどうかの判断、さらにメニュー情報記憶装置１．５よりカーソルが入ったメニューの１つ下の階層にメニュー（子メニュー）があるかどうかの判断を行なう。カーソルが入ったメニューの１つ下の階層にメニューがある場合には、カーソルが入ったメニューの１つ下の階層に含まれる全ての子メニューについて、子メニューの識別情報である子メニューＩＤをメニュー描画部１．６に渡す。
【００３４】
第２の処理として、マウス操作処理部１．４は、メニュー情報記憶装置１．５からメニューとメニューの矩形領域とのデータを取得する。そして、そのデータに基づいて、マウス１．１において実行可能なメニューがクリックされたことを検出したときに、クリックされたメニューについて、メニューの識別情報であるのメニューＩＤをメニュー実行部１．９に渡す。
【００３５】
第３の処理として、マウス操作処理部１．４は、オブジェクトデータ記憶装置１．１０から、オブジェクトデータ記憶装置１．１０に記憶されるオブジェクトデータに含まれるオブジェクト名とオブジェクトの領域との情報を取得する。そして、そのデータに基づいて、マウス１．１に位置を指示されたカーソルがオブジェクトの領域に入っているときにマウス１．１がクリックされて選択されたことを検出すると、選択されたオブジェクトのオブジェクト名とオブジェクトの種類とをオブジェクト選択処理部１．１１に渡す。
【００３６】
メニュー描画部１．６は、マウス操作処理部１．４から受取ったメニューＩＤを元にメニュー情報記憶装置１．５より該当するメニューについてのメニュー情報を取得し、要求されたメニューを指定された位置に表示するように表示制御部１．７に要求する。また、該当するメニューが実行不可能なメニューの場合、グレイアウト表示するように表示制御部１．７に要求する。
【００３７】
アプリケーション１．８は、ワープロソフト、表計算ソフト、ＣＡＤソフト等のソフトウェアであり、本実施の形態にかかるアプリケーション１．８は、階層型のメニューで実行できないメニューをグレイアウトする。
【００３８】
メニュー実行部１．９は、マウス操作処理部１．４より渡されたメニューＩＤを元にメニュー情報記憶装置１．５からメニュー情報を取得してメニューを実行する。さらに、メニュー実行後に作成・修正されたオブジェクトデータをオブジェクトデータ記憶装置１．１０に記憶する。
【００３９】
オブジェクトデータ記憶装置１．１０は、メニュー実行部１．９により更新されたオブジェクトに関する情報であるオブジェクトデータを記憶する装置である。
【００４０】
図４は、オブジェクトデータ記憶装置１．１０に記憶されるオブジェクトデータの具体例を示す図である。図４を参照して、オブジェクトデータ記憶装置１．１０においては、オブジェクトデータとして、画面上に表示されているオブジェクトの種類とオブジェクト名とが記憶され、さらにオブジェクトの種類ごとに位置・角度などの幾何情報および色や線種などの属性情報等が記憶される。
【００４１】
また、図５は、オブジェクトがテキストデータである場合にオブジェクトデータ記憶装置１．１０に記憶されるオブジェクトデータであるテキストデータの具体例を示す図である。その場合、図５に示されるように、テキストの矩形領域の左上・右上位置情報、標準配置からの角度、テキストの内容、フォント、フォントサイズ、色の情報等が記憶される。
【００４２】
また、図６は、オブジェクトが曲線である場合にオブジェクトデータ記憶装置１．１０に記憶されるオブジェクトデータであるカーブデータの具体例を示す図である。その場合、図６に示されるように、曲線の太さ、実線／点線のスタイル、矢印のスタイル、色、制御点数、制御点の情報等が記憶される。
【００４３】
また、図７は、オブジェクトがサーフェスである場合にオブジェクトデータ記憶装置１．１０に記憶されるオブジェクトデータであるサーフェスデータの具体例を示す図である。その場合、図７に示されるように、サーフェスの色、制御点数、ｕ方向制御点、ｖ方向制御点、エッジの情報等が記憶され、サーフェスのエッジの幾何情報や属性情報はカーブの情報として図７のように記憶される。
【００４４】
オブジェクト選択処理部１．１１は、マウス操作処理部１．４にてマウス１．１でのオブジェクトの選択が検出されるたびに、マウス操作処理部１．４から渡されたオブジェクト名とオブジェクトの種類とに基づいてオブジェクト選択リストを生成し、オブジェクト選択リスト記憶装置１．１２に記憶する。
【００４５】
オブジェクト選択リスト記憶装置１．１２は、オブジェクト選択処理部１．１１により更新されたオブジェクト選択リストを記憶する装置である。マウス１．１でサーフェスのエッジとカーブとが１つずつ選択されている場合には、オブジェクト選択リスト記憶装置１．１２には、図８に示されるように、選択されているオブジェクトの種類と名称とを含むオブジェクト選択リストが格納される。
【００４６】
図９は、補助メニューテーブル１．１３の具体例を示す図であり、補助メニューテーブル１．１３は、図９に示されるように、実行不可能なメニューごとに、メニューＩＤと、そのメニューを実行可能にするために必要な補助メニューと、補助メニューそれぞれに対応した実行不可能なメニューを実行可能にするための必須要素と、補助メニューＩＤとを予め格納したテーブルである。必須要素を満たしていないメニューは実行不可能である。  
【００４７】
メニューを実行可能にするための必須要素には、オブジェクトデータ記憶装置１．１０に記憶されているオブジェクトデータと、オブジェクト選択リスト記憶装置１．１２に記憶されているマウス１．１によって選択されているオブジェクトの選択リストとの２種類がある。これらの必須要素の種類は補助メニューテーブル１．１３において区別されていることが好ましく、必須要素がオブジェクトデータである場合には、図９のようにオブジェクト名の後に（Ａ）を付加して「サーフェス（Ａ）」と書き、オブジェクト選択リストデータである場合には、オブジェクト名の後ろに（Ｍ）を付加して「サーフェスのエッジ（Ｍ）」と書くものとする。
【００４８】
メニュー情報更新部１．１４は、オブジェクトデータ記憶装置１．１０とオブジェクト選択リスト記憶装置１．１２との少なくとも一方が更新されたときにのみ動作し、メニュー情報記憶装置１．５に記憶されている階層型の全てのメニューに対して、補助メニューテーブル１．１３に格納されているメニューそれぞれに対応した、実行可能になるために必要な必須要素がオブジェクトデータ記憶装置１．１０またはオブジェクト選択リスト記憶装置１．１２にあるかどうか調べる。そして、メニュー情報記憶装置１．５に記憶されているメニュー情報を、必須要素が全てあるメニューは実行可能なメニュー、必須要素を１つでもないメニューは実行不可能なメニューであることを示すメニュー情報に更新する。
【００４９】
さらに、メニュー情報更新部１．１４は、実行不可能なメニューの必須要素の中で、オブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にない必須要素に対応した補助メニューを選択し、実行不可能なメニューの下の階層のメニューとしてメニュー情報記憶装置１．５に登録する。なお、オブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にない必須要素が複数で、かつ必須要素がオブジェクトデータ記憶装置１．１０に関する必須要素とオブジェト選択リスト記憶装置１．１２に関する必須要素との両方の必須要素を含んでいた場合には、前記オブジェクトデータ記憶装置１．１０に関する補助メニューのみを実行不可能なメニューの下の階層のメニューとしてメニュー情報記憶装置１．５に登録する。また、実行不可能なメニューは、グレイアウトするようにメニュー情報記憶装置１．５に設定する。
【００５０】
オブジェクト描画部１．１５は、オブジェクトデータ記憶装置１．１０またはオブジェクト選択リスト記憶装置１．１２のどちらかが更新されたときに動作する。更新された記憶装置がオブジェクトデータ記憶装置１．１０の場合には、オブジェクトデータ記憶装置１．１０からのオブジェクトの情報を元に、そのオブジェクトの表示を表示制御部１．７に要求する。また、更新された記憶装置がオブジェクト選択リスト記憶装置１．１２の場合には、オブジェクト選択リスト記憶装置１．１２からのオブジェクトの情報を元に、そのオブジェクトを他のオブジェクトと異なる表示形態として、他のオブジェクトよりも目立つ表示を表示制御部１．７に要求する。
【００５１】
表示制御部１．７は、表示装置１．２を制御して、オブジェクト描画部１．１５により指示されたオブジェクトを指示された位置に、また、メニュー描画部１．６により指示されたメニューを指示された位置に表示する。
【００５２】
図１０に、メニュー表示装置において３次元ＣＡＤアプリケーション実行時の表示の具体例を示す。図１０に示されるように、３次元ＣＡＤアプリケーションにおいてカーブ１１．１とサーフェス１１．２とが１つずつ作成されると、メニュー実行部１．９は、これらのオブジェクトに関するオブジェクトデータをオブジェクトデータ記憶装置１．１０に記憶する。
【００５３】
図１１は、図１０に示された具体例においてオブジェクトデータ記憶装置１．１０に記憶されるオブジェクトデータの具体例を示す図であって、カーブ１１．１のオブジェクトデータである「カーブ」curve1、およびサーフェス１１．２のオブジェクトデータである「サーフェス」surface1として、オブジェクト名、オブジェクトの種類のほか、幾何情報、色、線種などのオブジェクトの性質を表わすデータが記憶される。
【００５４】
図１０に示されるように、マウス１．１で位置が指示されるカーソル１１．３が「カーブ」curve1を選択する状態のとき、オブジェクト描画部１．１５は、curve1を他のオブジェクトよりも目立つように表示させる。また、オブジェクト選択処理部１．１１は、図１２に示されるような、選択されたオブジェクトのオブジェクト名「curve1」とオブジェクトの種類「カーブ」との情報を示すオブジェクト選択リストを生成し、オブジェクト選択リスト記憶装置１．１２に追加する。
【００５５】
オブジェクトデータ記憶装置１．１０またはオブジェクト選択リスト記憶装置１．１２のどちらかが更新されたときに、メニュー情報更新部１．１４においてメニュー情報を更新する処理が実行される。図１０に示された、curve1とsurface1とが作成された後、マウス１．１によりcurve1が選択されたときに実行されるメニュー情報更新部１．１４の動作について、「サーフェス延長」メニューを例として説明する。
【００５６】
図１３は、補助メニュー表示の具体例を示す図である。
「サーフェス延長」メニューを実行可能なメニューにするための必須要素は、図９の補助メニューテーブル１．１３により「サーフェス（Ａ）」と「サーフェスのエッジ（Ｍ）」との２つであり、この２つの必須要素のうち「サーフェス（Ａ）」はオブジェクトデータ記憶装置１．１０にあるが、「サーフェスのエッジ（Ｍ）」はオブジェクト選択リスト記憶装置１．１２にないため、図１３に示される表示において、「サーフェス延長」メニューはグレイアウトして実行不可能なメニューとなっている。
【００５７】
実行不可能な「サーフェス延長」メニューの必須要素のうち、オブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にない「サーフェスのエッジ（Ｍ）」に対応する補助メニューは、図９の補助メニューテーブル１．１３より「エッジ選択」である。メニュー情報更新部１．１４は、この「エッジ選択」メニューを「サーフェス延長」メニューの下の階層のメニューとしてメニュー情報記憶装置１．５に登録する。このようにメニュー情報記憶装置１．５に登録することにより、図１３に示されるように、グレイアウトしている「サーフェス延長」メニューにマウス１．１で位置が指示されるカーソル１５．１が入ったときに、そのメニューを実行可能とするための操作を実行するためのメニューとして「エッジ選択」のメニュー１５．２が「サーフェス延長」メニューの１つ下の階層のメニューである子メニューとして表示される。なお、子メニューの表示は親メニュー（この具体例では「エッジ選択」メニュー１５．２）の近傍であることが好ましく、より好ましくは、親メニューの横である。
【００５８】
また、図１４に、メニュー表示装置において３次元ＣＡＤアプリケーション実行時の表示の他の具体例を示す。図１４に示されるように画面上にカーブ１６．１とカーブ１６．２とが描画されており、マウス１．１で位置が指示されるのカーソル１６．３によりカーブ１６．１が選択されている。このとき、オブジェクトデータ記憶装置１．１０には、図１５に示されるような、線種や制御点の情報も含んだオブジェクトデータが記憶される。また、オブジェクト選択リスト記憶装置１．１２には、図１６に示されるのような、カーブ１６．１が選択されていることを示すオブジェクト選択リストが記憶される。
【００５９】
このとき、図９の補助メニューテーブル１．１３に挙げられている、「サーフェス延長」メニューを実行可能なメニューにするための必須要素である「サーフェス（Ａ）」と「サーフェスのエッジ（Ｍ）」とについて、「サーフェス（Ａ）」はオブジェクトデータ記憶装置１．１０になく、「サーフェスのエッジ（Ｍ）」もオブジェクト選択リスト記憶装置１．１２になく、必須要素が２つ以上欠落している。そのため、「サーフェス延長」メニューは実行不可能である。このような場合には、メニュー情報更新部１．１４は、オブジェクトデータ記憶装置１．１０に関する必須要素に対応した補助メニュー全てを「サーフェス延長」メニューの下の階層のメニューとしてメニュー情報記憶装置１．５に登録する。すなわちこの場合、メニュー情報更新部１．１４は、必須要素「サーフェス（Ａ）」に対応した補助メニュー「サーフェス」のみを登録し、必須要素「サーフェスのエッジ（Ｍ）」に対応した補助メニュー「エッジ選択」は登録しない。メニュー情報更新部１．１４がこのような補助メニューをメニュー情報記憶装置１．５に登録することによりメニュー情報記憶装置１．５に記憶されるメニュー情報は図２２のようになり、図１７に示されるように、グレイアウトしている「サーフェス延長」メニューにマウス１．１に位置を指示されるカーソルが入ったときに、そのメニューを実行可能とするための操作を実行するためのメニューとして「サーフェス」メニューが「サーフェス延長」メニューの１つ下の階層のメニューである子メニューとして表示される。なお、子メニューの表示は親メニュー（この具体例では「サーフェス延長」メニュー）の近傍であることが好ましく、より好ましくは、親メニューの横である。
【００６０】
次に、第１の実施の形態にかかるメニュー表示装置において実行される補助メニュー表示処理について図１８のフローチャートに沿って説明する。
【００６１】
図１８を参照して、ステップＳ１において、マウス操作処理部１．４はマウス１．１からのクリックやカーソルの移動などのイベントを待機し、イベントを検出すると、ステップＳ２において、マウス１．１から取得されたカーソルの位置情報と、メニュー情報記憶装置１．５から取出したメニューの矩形領域の情報とにより、カーソルがメニューの上にあるかどうか判断する。カーソルがメニューの上にある場合（ステップＳ２でＹＥＳ）、ステップＳ３に進み、メニューの上にない場合（ステップＳ２でＮＯ）、ステップＳ８に進む。
【００６２】
ステップＳ３においては、マウス操作処理部１．４がメニュー情報記憶装置１．５を参照し、ステップＳ２にてマウス１．１から取得されたカーソルの指しているメニューに、子メニューがあるかどうか判断する。子メニューがある場合（ステップＳ３でＹＥＳ）、ステップＳ４に進み、ない場合（ステップＳ３でＮＯ）、ステップＳ５に進む。
【００６３】
ステップＳ４においては、マウス操作処理部１．４がメニュー情報記憶装置１．５を参照し、ステップＳ３にてマウス１．１から取得されたカーソルの指しているメニューについて、全ての子メニューの子メニューＩＤをメニュー描画部１．６に送り、メニュー描画部１．６において、受取った子メニューＩＤを元にメニュー情報記憶装置１．５からメニュー情報を取得し、指定された位置に指定された名前のメニューを表示するように表示制御部１．７に要求する。表示制御部１．７が表示装置１．２にメニューを表示したら、ステップＳ１に戻る。
【００６４】
一方、ステップＳ５においては、マウス操作処理部１．４がマウス１．１のクリックの有無を判断する。マウス１．１がクリックされていなかったら（ステップＳ５でＮＯ）、ステップＳ１に戻り、クリックされていたら（ステップＳ３でＹＥＳ）、ステップＳ６に進む。
【００６５】
ステップＳ６においては、メニュー実行部１．９がマウス１．１によりクリックされたメニューを実行し、ステップＳ７に進む。ステップＳ６でのメニュー実行によりオブジェクト（画面上に表示された文字や図形）が作成・修正された可能性があるので、ステップＳ７では、メニュー実行部１．９がオブジェクトデータ記憶装置１．１０のオブジェクト情報を更新し、ステップＳ１０に進む。
【００６６】
一方、ステップＳ８においては、マウス操作処理部１．４が、マウス１．１から取得したクリックの位置情報とオブジェクトデータ記憶装置１．１０から取出したオブジェクトの領域の情報とにより、カーソルがオブジェクトの上にあるかどうか、さらにそのオブジェクトをクリックしたかどうか判断する。オブジェクトの上でマウス１．１がクリックされた場合には（ステップＳ８でＹＥＳ）、ステップＳ９に進み、オブジェクトをクリックしていないときは（ステップＳ８でＮＯ）、ステップＳ１に戻る。
【００６７】
ステップＳ９においては、オブジェクト選択処理部１．１１がマウス１．１で選択されたオブジェクトを示すオブジェクト選択リストをオブジェクト選択リスト記憶装置１．１２に記憶させ、ステップＳ１０に進む。
【００６８】
ステップＳ１０においては、メニュー情報更新部１．１４がメニュー情報記憶装置１．５に記憶されている階層型の全てのメニューに対して、補助メニューテーブル１．１３に格納されているメニューそれぞれに対応した、実行可能になるための必須要素がオブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にあるかどうか調べる。そして、メニュー情報記憶装置１．５に記憶されているメニュー情報を、必須要素が全てあるメニューは実行可能なメニュー、必須要素が１つでもないメニューは実行不可能なメニューであることを示すメニュー情報に更新する。メニュー情報記憶装置１．５が更新された後、メニュー情報更新部１．１４は、全メニューの中から実行不可能なメニューを選び、この実行不可能なメニューの必須要素の中でオブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にない必須要素に対応した補助メニューを選択し、実行不可能なメニューの下の階層のメニューとしてメニュー情報記憶装置１．５に登録する。なお、オブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にない必須要素が複数で、かつ必須要素がオブジェクトデータ記憶装置１．１０に関する必須要素とオブジェト選択リスト記憶装置１．１２に関する必須要素との両方の必須要素を含んでいた場合には、前記オブジェクトデータ記憶装置１．１０に関する補助メニューのみを実行不可能なメニューの下の階層のメニューとしてメニュー情報記憶装置１．５に登録する。そして、ステップＳ１１に進む。
【００６９】
例えば、図１０に示されたアプリケーションは、画面上にサーフェスsurface1とカーブcurve1とが描画されており、サーフェスcurve1が選択されている状態である。このとき、オブジェクトデータ記憶装置１．１０には図１１に示されるようにsurface1とcurve1とのデータと共に線種や制御点の情報が格納され、オブジェクト選択リスト記憶装置１．１２には図１２に示されるようにcurve1のデータが格納されている。
【００７０】
この場合、ステップＳ１０において、メニュー情報更新部１．１４は、まず各メニューの実行可否を以下のように調べる。
【００７１】
・「コピー」メニューは、オブジェクト選択リスト記憶装置１．１２にcurve1のデータが格納されており必須要素の「オブジェクト（Ｍ）」を満たしているので実行可能である。なお、「コピー」メニューを実行したときは、オブジェクトデータ記憶装置１．１０に一時的に記憶させる。
【００７２】
・「ミラー」メニューは、必須要素の「オブジェクト（Ｍ）」を満たしているが、もう１つの必須要素である「平面（Ａ）」はオブジェクトデータ記憶装置１．１０にないので実行不可能である。
【００７３】
・「カーブ」メニューと「サーフェス」メニューと「平面」メニューとは必須要素がないので、実行可能である。
【００７４】
・「サーフェス延長」メニューは、必須要素の「サーフェス（Ａ）」を満たしているが、もう１つの必須要素である「サーフェスのエッジ（Ｍ）」を満たしていないので実行不可能である。
【００７５】
さらにステップＳ１０においては、メニュー情報更新部１．１４は、これらの実行可否情報をメニュー情報記憶装置１．５に記憶させる。図１９に、上記具体例において更新された、メニュー情報記憶装置１．５に記憶されるメニュー情報の具体例を示す。
【００７６】
次に、ステップＳ１０において、実行不可能なメニューである「ミラー」メニューと「サーフェス延長」メニューとに対して、実行不可能なメニューを実行可能にするのに必要な補助メニューを探して、実行不可能なメニューの子メニューとして補助メニューをメニュー情報記憶装置１．５に登録する処理について、「ミラー」メニューの場合について説明する。
【００７７】
「ミラー」メニューの必須要素は、図９の補助メニューテーブル１．１３により「オブジェクト（Ｍ）」と「平面（Ａ）」との２つである。そのうち、「オブジェクト（Ｍ）」はオブジェクト選択リスト記憶装置１．１２にあるが、もう１つの必須要素である「平面（Ａ）」はオブジェクトデータ記憶装置１．１０にない。そこで、図９の補助メニューテーブル１．１３より、必須要素「平面（Ａ）」に対する補助メニューは「平面」メニューであるので、ステップＳ１０において、メニュー情報更新部１．１４は、「ミラー」メニューの子メニューとして「平面」メニューをメニュー情報記憶装置１．５に追加登録する。その結果、図１９に示されたメニュー情報のうち「ミラー」メニューについて、「平面」メニューが子メニューとしてとして追加されて、メニュー情報記憶装置１．５に記憶されるメニュー情報は、図２０に示されるメニュー情報に更新される。
【００７８】
次に、ステップＳ１１において、オブジェクト描画部１．１５は、オブジェクトデータ記憶装置１．１０からオブジェクトのデータを取出し、オブジェクト選択リスト記憶装置１．１２からオブジェクトの選択リストを取出し、これらに基づいてアプリケーションの画面を描画して画面を更新する。そして、処理がステップＳ１に戻る。
【００７９】
［第２の実施の形態］
第２の実施の形態にかかるメニュー表示装置は、図１に示されるシステム構成と同様の構成であるが、第１の実施の形態とメニュー情報更新部１．１４の機能が異なっている。
【００８０】
すなわち、本実施の形態において、メニュー情報更新部１．１４は、オブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２が更新されたときには、メニュー情報記憶装置１．５に記憶されている階層型の全てのメニューに対して、補助メニューテーブル１．１３に格納されているメニューそれぞれに対応した、実行可能になるために必要な必須要素が、オブジェクトデータ記憶装置１．１０またはオブジェクト選択リスト記憶装置１．１２にあるかどうか調べる。そして、必須要素が全てあるメニューは実行可能なメニュー、必須要素が１つでもないメニューは実行不可能なメニューであることを示すメニュー情報をメニュー情報記憶装置１．５に登録する。
【００８１】
さらに、メニュー情報更新部１．１４は、マウス１．１が位置を指示するカーソルが実行不可能なメニューの上に来たときに、その実行不可能なメニューの必須要素の中でオブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にない必須要素に対応した補助メニューを選択し、実行不可能なメニューの下の階層のメニューとしてメニュー情報記憶装置１．５に登録する。なお、オブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にない必須要素が複数で、かつ必須要素がオブジェクトデータ記憶装置１．１０に関する必須要素とオブジェト選択リスト記憶装置１．１２に関する必須要素との両方の必須要素を含んでいた場合には、前記オブジェクトデータ記憶装置１．１０に関する補助メニューのみを実行不可能なメニューの下の階層のメニューとしてメニュー情報記憶装置１．５に登録する。
【００８２】
次に、第２の実施の形態にかかるメニュー表示装置において実行される補助メニュー表示処理について図２１のフローチャートに沿って説明する。
【００８３】
図２１を参照して、ステップＳ１〜Ｓ９，Ｓ１１における処理は第１の実施の形態にかかるメニュー表示処理と同様である。
【００８４】
本実施の形態にかかるメニュー表示処理では、上記ステップＳ３で、マウス操作処理部１．４において、ステップＳ２にてマウス１．１から取得されたカーソルの指しているメニューに、子メニューがないと判断された場合（ステップＳ３でＮＯ）、マウス操作処理部１．４は、メニュー情報記憶装置１．５を参照して、カーソルの指しているメニューが実行可能かどうか判断する（ステップＳ４．１）。メニューが実行可能ならステップＳ８に進み、メニューが実行不可能ならステップＳ４．３に進む。
【００８５】
ステップＳ４．３においては、メニュー情報更新部１．１４がメニュー情報記憶装置１．５に記憶されている、カーソルの指している実行不可能なメニューの必須要素の中で、オブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にない必須要素に対応した補助メニューを、実行不可能なメニューの下の階層のメニュー（子メニュー）としてメニュー情報記憶装置１．５に登録する。また、オブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にない必須要素が複数で、かつ必須要素がオブジェクトデータ記憶装置１．１０に関する必須要素とオブジェト選択リスト記憶装置１．１２に関する必須要素との両方の必須要素を含んでいた場合には、前記オブジェクトデータ記憶装置１．１０に関する補助メニューのみを実行不可能なメニューの下の階層のメニュー（子メニュー）としてメニュー情報記憶装置１．５に登録し、ステップＳ４．５に進む。
【００８６】
ステップＳ４．５では、マウス操作処理部１．４がステップＳ４．３で登録された子メニューの子メニューＩＤをメニュー描画部１．６に送る。メニュー描画部１．６は、受取った子メニューＩＤを元にメニュー情報記憶装置１．５からメニュー情報を取得し、指定された位置に指定された名前のメニューを表示するように表示制御部１．７に指示する。そして、表示制御部１．７が表示装置１．２を制御し、メニューが表示されたら、ステップＳ１に戻る。
【００８７】
上記ステップＳ８で、オブジェクトデータ記憶装置１．１０のオブジェクト情報が更新された後、または上記ステップＳ９で、マウス１．１で選択されたオブジェクトを示すオブジェクトリストは、オブジェクト選択リスト記憶装置１．１２に記憶された後、メニュー情報更新部１．１４が、メニュー情報記憶装置１．５に記憶されている階層型の全てのメニューに対して、補助メニューテーブル１．１３に格納されているメニューそれぞれに対応した、実行可能になるための必須要素が、オブジェクトデータ記憶装置１．１０およびオブジェクト選択リスト記憶装置１．１２にあるかどうか調べる（ステップＳ７．５）。そして、メニュー情報記憶装置１．５に記憶されているメニュー情報を、必須要素が全てあるメニューは実行可能なメニュー、必須要素を１つでもないメニューは実行不可能なメニューであることを示すメニュー情報に更新し、ステップＳ１１に進む。
【００８８】
以上の第１および第２の実施の形態にかかるメニュー表示装置において上記メニュー表示処理が実行されることにより、実行不可能なメニューがマウスのカーソルで選択状態とされたときに、実行不可能なメニューを実行可能にするために必要なメニューが、実行不可能なメニューの下の階層のメニューとして表示される。そのため、画面上にある特定のオブジェクトがない場合や、マウスである特定のオブジェクトが選択されていない場合に実行不可能になるメニューのあるアプリケーションを操作する際に、操作に慣れていないユーザであっても、迷うことなく所望のメニューを操作するために必要なメニューを把握し、すぐに実行できる。その結果、どのような操作をしたら実行可能になるのかマニュアルやヘルプ等を参照する時間的なロスや、実行不可能なメニューを実行可能にするために必要なメニューを探す手間が省けるため、アプリケーションの操作の効率が上がる。
【００８９】
さらに、メニュー情報更新部１．１４において、上述の補助メニューの選択がなされるために、アプリケーションの画面上に不足しているオブジェクトの作成を促す補助メニューのみが選択され、実行不可能なメニューの下の階層のメニューとして、無駄に多くの補助メニューが表示することを防ぐことができる。そのため、アプリケーションの操作効率が上がる。
【００９０】
また、メニュー描画部１．６において、実行不可能なメニューの１つ下の階層のメニューとしてすぐ横に、実行不可能なメニューを実行可能にするのに必要な補助メニューが表示されることにより、やるべき操作を実行させるメニューを探す手間が省ける。そのため、アプリケーションの操作効率が上がる。
【００９１】
さらに、上述のメニュー表示方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００９２】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００９３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００９４】
【図１】第１の実施の形態にかかるメニュー表示装置のシステム構成を示すブロック図である。
【図２】メニュー表示装置でのアプリケーションのメニュー表示の具体例を示す図である。
【図３】メニュー情報記憶装置１．５に記憶されるメニュー情報の具体例を示す図である。
【図４】オブジェクトデータ記憶装置１．１０に記憶されるオブジェクトデータの具体例を示す図である。
【図５】オブジェクトデータ記憶装置１．１０に記憶されるテキストデータの具体例を示す図である。
【図６】オブジェクトデータ記憶装置１．１０に記憶されるカーブデータの具体例を示す図である。
【図７】オブジェクトデータ記憶装置１．１０に記憶されるサーフェスデータの具体例を示す図である。
【図８】オブジェクト選択リスト記憶装置１．１２に記憶されるオブジェクト選択リストの具体例を示す図である。
【図９】補助メニューテーブル１．１３の具体例を示す図である。
【図１０】メニュー表示装置において３次元ＣＡＤアプリケーション実行時の表示の具体例を示す図である。
【図１１】オブジェクトデータ記憶装置１．１０に記憶されるオブジェクトデータの具体例を示す図である。
【図１２】オブジェクト選択リスト記憶装置１．１２に記憶されるオブジェクト選択リストの具体例を示す図である。
【図１３】補助メニュー表示の具体例を示す図である。
【図１４】メニュー表示装置において３次元ＣＡＤアプリケーション実行時の表示の他の具体例を示す図である。
【図１５】オブジェクトデータ記憶装置１．１０に記憶されるオブジェクトデータの具体例を示す図である。
【図１６】オブジェクト選択リスト記憶装置１．１２に記憶されるオブジェクト選択リストの具体例を示す図である。
【図１７】補助メニュー表示の具体例を示す図である。
【図１８】第１の実施の形態にかかるメニュー表示装置において実行される補助メニュー表示処理を示すフローチャートである。
【図１９】メニュー情報記憶装置１．５に記憶されるメニュー情報の具体例を示す図である。
【図２０】メニュー情報記憶装置１．５に記憶されるメニュー情報の具体例を示す図である。
【図２１】第２の実施の形態にかかるメニュー表示装置において実行される補助メニュー表示処理を示すフローチャートである。
【図２２】メニュー情報記憶装置１．５に記憶されるメニュー情報の具体例を示す図である。
【符号の説明】
【００９５】
１．１  マウス、１．２  表示装置、１．３  ＯＳ、１．４  マウス操作処理部、１．５  メニュー情報記憶装置、１．６  メニュー描画部、１．７  表示制御部、１．８  アプリケーション、１．９  メニュー実行部、１．１０  オブジェクトデータ記憶装置、１．１１  オブジェクト選択処理部、１．１２  オブジェクト選択リスト記憶装置、１．１３  補助メニューテーブル、１．１４  メニュー情報更新部、１．１５  オブジェクト描画部。
【図１】
0004738089.tif 000002
【図２】
0004738089.tif 000003
【図３】
0004738089.tif 000004
【図４】
0004738089.tif 000005
【図５】
0004738089.tif 000006
【図６】
0004738089.tif 000007
【図７】
0004738089.tif 000008
【図８】
0004738089.tif 000009
【図９】
0004738089.tif 000010
【図１０】
0004738089.tif 000011
【図１１】
0004738089.tif 000012
【図１２】
0004738089.tif 000013
【図１３】
0004738089.tif 000014
【図１４】
0004738089.tif 000015
【図１５】
0004738089.tif 000016
【図１６】
0004738089.tif 000017
【図１７】
0004738089.tif 000018
【図１８】
0004738089.tif 000019
【図１９】
0004738089.tif 000020
【図２０】
0004738089.tif 000021
【図２１】
0004738089.tif 000022
【図２２】
0004738089.tif 000023