Как сделать так, чтобы флажок в Outline View становился отмеченным, когда отмечены все его детские флажки? - PullRequest
0 голосов
/ 02 июня 2009

Как сделать так, чтобы флажок, который находится в строке родителей / групп в виде структуры, стал отмечен, когда отмечены все флажки его детей. Но когда проверяются только некоторые из них, отображается строка. Вот пример того, о чем я говорю:

альтернативный текст http://snapplr.com/snap/042v

1 Ответ

3 голосов
/ 03 июня 2009

Всякий раз, когда вы ставите флажок, проверьте, проверены ли все его братья и сестры. Если это так, проверьте родителей. (И снова запустите проверку на этом уровне.)

Для этого ... ну, у вашего NSOutlineView есть источник данных, верно? Что-то, что говорит это, что отображать? Что ж, в методе, вызываемом флажком при его щелчке (независимо от того, что вы установили, чтобы он был), найдите родительский объект за строкой, по которой щелкнули, и затем обновите его статус. Если у вас нет прямой ссылки на флажок из модели, вы можете использовать -[NSOutlineView parentForItem:], чтобы найти его.

Надеюсь, это даст вам достаточно для начала. Если этого не произойдет, вам нужно задать более конкретный вопрос, подробно указав, с какими частями возникают проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...