2011年7月6日水曜日

Cocoa NSTreeController ChildNodeの更新・わからず

現在作っているファイルマネージャのようなもの、外見はこうなっている。


左側NSOutlineView、右側NSTableView、というWindowsでいうところのエクスプローラスタイル2ペインウィンドウでありますな。

TableViewからファイルなりディレクトリなりをDragして、他のTabの上にもっていくとそのTabで表示しているディレクトリがアクティブになってDropできる、という仕様。

Dropされた後はSCEventが「ファイルシステムに変更があったぞよ」と通知してくれるので、通知されたNSTableViewは自分自身を更新する。

・・・しかし、NSOutlineViewの方が困った。ファイルシステムはNSTreeControllerでモデルを操作するようにして、NSOutlineViewは表示を受け持っているだけ。だから「reloadItem」は当然使えない。

へ?どうするんだろう、というところで時間切れ。現在ADCサンプルのDragNDropOutlineViewを読んだりしている。

0 件のコメント:

コメントを投稿