-[NSMenuItem setIndentationLevel:] で悩む
JellyBeans*1 を作っていて、悩んだ所のひとつに、Dock Menu の項目のインデント(下図)がある。
図のようにメニューの項目(以下、NSMenuItem と言う)をインデントさせるには、-[NSMenuItem setIndentationLevel:] を呼んでやればいいはずなのだが、これを呼んでもどういうわけか Dock Menu に反映されない*2。indentationLevel を 1 にしても 2 にしても 15 にしても、ちっともインデントされないのだ。
「でも、上の図はインデントされてるじゃないか!」…うん。実はこれ、どうしても上手くいかないので、NSMenuItem の title に、半角スペースを2個頭にくっつけた文字列をセットしているだけなんですよ。つまり、見た目だけそれっぽくしてる訳です。それでいいじゃん、と言えばそうなんだけど、やはり「正当な」インデントの方が何かと間違いない訳で…
Google で検索しても、イマイチ情報が出てこない。いったい、
- Dock Menu では -[NSMenuItem setIndentationLevel:] は無効なのか?
- それとも、呼び方にコツがあって、私のやり方がマズいだけなのか(=ちゃんとやれば indentationLevel は反映されるのか)?
−何か情報をお持ちの方がいたら、ぜひ教えていただきたいです。