Представляя дерево данных с NSOutlineView? - PullRequest
1 голос
/ 06 октября 2009

У меня есть дерево данных, которое я хотел бы представить пользователю в нисходящем порядке, как вы видите представленные деревья разбора. Концептуально данные имеют много общего с тем, что может представить NSOutlineView: иерархическая структура, узлы дерева могут быть расширены и переупорядочены и т. Д. Я пытаюсь выяснить, как я могу манипулировать или подкласс NSOutlineView (или NSTableColumn?), чтобы получить визуальную компоновку нужных мне узлов дерева, но мне трудно начинать. У кого-нибудь есть какие-нибудь советы по хорошему способу выполнения этой задачи? Должен ли я просто создать подкласс NSControl и начать с него?

Редактировать : Полагаю, все сводится к тому, что я пытаюсь повлиять на способ рисования контура, чтобы вместо стандартной презентации вы получили что-то похожее на это . Моя главная проблема заключается в том, что я не уверен, как мне взять контроль над тем, когда и где ячейка данных извлекает свое содержимое. Первоначально я думал, что NSTableColumn был ответственен за сам рисунок, но, похоже, я ошибался в этом. Так все ли расположение ячеек выполнено методом NSOutlineView drawRect:?

1 Ответ

4 голосов
/ 06 октября 2009

Я пытаюсь выяснить, как я мог бы манипулировать или создавать подкласс NSOutlineView (или NSTableColumn?), Чтобы получить визуальную компоновку нужных мне узлов дерева, но мне трудно начинать.

NSTableColumn - это один столбец в табличном представлении (или в виде структуры, который является разновидностью табличного представления).

Должен ли я просто создать подкласс NSControl и начать с него?

Это был бы трудный путь.

Редактировать: О, вы имеете в виду представление данных в виде дерева вместо контура. Да, определенно сделайте пользовательский элемент управления или представление для этого.

У кого-нибудь есть советы о том, как лучше справиться с этой задачей?

Назначьте объект контроллера, которому принадлежит ваша модель, в качестве источника данных представления структуры и приведите его в соответствие протоколу NSOutlineViewDataSource .

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