Menuについて考える

常時表示しておくわけでもないけど、すぐアクセスしたいものはメニューバーに置かざるを得ないが、かといってそういう項目はそんなにないので、TLifeのWindow上部にメニューを置くのを躊躇ってきた。
で、StatusBarをカスタム化して、右側にメニューバー(MenuBar)を置くことにした(つまりWindow右下)のだが、1回目にクリックするとなぜか該当メニューを左上基点としたサブメニューが現れる。Adobe AIRのとても残念な仕様により、一般的なポップアップメニューとかツールチップはWindowの外には絶対出ないので、サブメニューのほとんどがWindow内になく、これでは全く意味をなさない。ちなみに2回目以降はちゃんとWindow内に収まるようになっていた。
なんだこれ、バグじゃねーのとか思っていろいろ調べたら
https://bugs.adobe.com/jira/browse/SDK-14783
('A`)ヴァー しかしバグレポートほんと多いね。
というわけでMenuBarは断念。次に考えたのはComboBoxとかPopUpMenuButtonの横幅を極端に短くして「▼」だけにしたもの。これはこれで上記のような問題もなくいけるのだけれど、本来の使い方から逸脱しているので違和感が残る。
そこで思いついたのが、メニューバーのあるべきところにボタンを置いて、それを押すとPopUpWindowが開く方式。どうせMenuBarでも2クリックだからこれでもいいかな、と考えて実装したのが意外とよかった。TitleWindowでPopUpWindowを実現したのだけれど、半透明でドラッグもできるし、おまけに(僕の個人的に好きな)モードレスになっている。というわけでTitleWindowにしましたよ、と。

上記も含めて、友人に見せて、レイアウトを結構変更してみた。でもまだ右下の「メニュー」ボタンはやぼったい感じがする。

この件でPopUpWindowまわりの理解が深まった。あと中垣さんのあの記事はやはりかなり役に立つ。まだまだTODOは多いががんばる。