人気ブログランキング | 話題のタグを見る
メニュー定義のインターフェース

メニューを定義するのはやっぱりオブジェクトに対して行うことにします。メニュー項目 1 つにつき 1 つのオブジェクトが対応します。


メニュー定義のインターフェース_b0061398_21412231.gif


のような感じに。必要なプロパティは、







  • 種別。アクションが割り当てられているか、いないか、仮想か

  • アクションが割り当てられているときの、アクション名

  • アクションが割り当てられていないときの、スクリプト

  • アクションが割り当てられていないときの、メニューのキャプション

  • 仮想でないときの、ショートカット

  • 仮想であるときの、分類(1)

  • 仮想であるときの、分類(2)


それから、メソッド。メニューの項目自体が、その下に階層化されたメニュー項目の親になりえるので、コレクション的な役割も持たせる必要があると思います。これはまあ、ありがちな感じに。



  • Item()

  • Add(), AddAction(), AddVirtual()

  • Remove()

  • Clear()

  • Count


ところでツリー状に構成するので、すべてのルートとなる項目が 1 つ存在することになりますが、メニューバーには出ないです。当たり前だけど。


複数メニューのツリーを定義して、それぞれのルート項目をリストで持てば、実行中にまったく別体系のメニューに動的に変更できるなどという、無駄にスゴい機能を実現できるなー。


そんなもの必要なのかな。。。


たとえば 2 ちゃんねるブラウザを萌ディタ上で実装したとすると、メニューの体系がエディタ的なそれと全然異なります。そういう場合に使えばいいのかしら。


ちょっとやりすぎな感じがするので、とりあえずルートとなる項目はただ 1 つだけにしてみます。


by knife37 | 2004-11-13 21:42 | 妄想を申そう  | Top  | 
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
検索
最新のコメント
Hi! Good stu..
by lacedkl at 10:19
i think abou..
by MaybridabanTy at 06:31
Thank you!
by Roy at 20:27
Thank you!
by Patrick at 20:26
Great work!
by Andy at 20:25
Thank you!
by Rex at 20:23
Great work!
by Maggie at 20:23
I love it: ..
by siljb at 15:51
Keep up t..
by reizomo at 15:40
http://0buyp..
by affomfobe at 02:56
最新のトラックバック
フォロー中のブログ
ファン
記事ランキング
ブログジャンル
画像一覧