2011年1月29日土曜日

MacRuby・環境設定ウィンドウその4

本日はMacRubyのPopup Buttonの不具合に悩まされた。というか、MacRubyのせいらしい、とわかるまでに時間かかりすぎた。基本的にうまくいかないときは「自分が何か悪いことをしている」と考えざるを得ない状態なので、まさかMacRuby側の整備不良とは思わなんだ。

こんな環境設定パネルを作っている。


これはInterfaceBuilderで作成中。実行するとToolbarがついてこうなる。


まだデザインをいじる可能性があるのでTabは表示したまま。ToolbarをつけずにTabのままでもいい気がする。(^^;)

で、コントロールの現在の状態をUserDefaultsを通して保存したり読み込んだり、はxcatsan師匠によればInterfaceBuilderのインスペクタでbindingを使えばいい、ということなので試してみる。

チェックボックスやTabViewの選択Tab、スライダの現在値などは全く問題なく処理できる。しかし6個もつけたPopup Button(2番目のTabにあと4個)が全く保存できていない。


bindingできるContentもContent Valuesも(この2つにbindingするとコントロールがまともに動かなくなることがわかった)、Selected IndexもSelected ValuesもSelected TagもSelected Objectも全部試してみたけど全部動いていない。

いくらやってもだめなので、試しに普通のObjCのプロジェクトを作って試してみたら、そっちはInterfaceBuilderだけの作業で見通しどおりに動く。がっくり。

MacRubyをnightlyに変えてみたりもしたけど、全然だめでした。

ここで考えたのはObjCで書きなおすことと、泥臭くMacRubyで処理しちゃうこと。乗りかかった船(という表現をここ最近何回くらい使ったかなあ)なのでMacRubyでやってしまうことにする。

昼過ぎから夕食後まで、ずっとこの問題をいじっていて、やっと夜になってこう決めた、と。

0 件のコメント:

コメントを投稿