2009-06-02 3 views
0

アウトラインビューの親/グループ行にあるチェックボックスをチェックすると、すべての子チェックボックスがオンになっているときにチェックされます。しかし、いくつかだけチェックされているときは、行を表示します。ここで私が話しているかの例です:子供のチェックボックスがオンになっている場合、アウトラインビューのチェックボックスをチェックする方法を教えてください。

alt text http://snapplr.com/snap/042v

+0

Shame no onesがまだ答えていません。 – Joshua

答えて

3

このチェックボックスをオンにするたびに、そのすべての兄弟がチェックされているかどうかを確認します。その場合は、親をチェックしてください。 (そしてそのレベルでもう一度チェックを実行してください)

これを行うには...あなたのNSOutlineViewにはデータソースがありますか?何を表示するかを教えてくれる何か?つまり、チェックボックスが呼び出されたときに呼び出されるメソッドでは、クリックされた行の後ろに親オブジェクトが表示され、そのステータスが更新されます。モデルのチェックボックスを直接参照していない場合は、-[NSOutlineView parentForItem:]を使用して見つけることができます。

うまくいけば、これで十分です。そうでない場合は、より具体的な質問をして、問題のある部分を正確に詳述する必要があります。

+0

どうすればいいですか? – Joshua

+0

小切手ではなく行を表示させるにはどうすればよいですか? – Joshua

+0

[チェックボックスsetState:NSMixedState]; – Abizern

関連する問題