О представлениях схемы

NSOutlineView подкласс NSTableView это позволяет пользователю расшириться или упасть в обморок строки, содержащие иерархические данные. Как в табличном представлении, представление схемы выводит на экран данные для ряда связанных элементов со строками, представляющими отдельные элементы и столбцы, представляющие атрибуты тех элементов. В отличие от табличного представления, элементы в представлении схемы не находятся в плоском списке, а скорее могут быть организованы в иерархии, как файлы и папки на жестком диске, или менеджеры и сотрудники в организации.

Элемент в представлении схемы расширяем, если он может содержать другие элементы. Расширяемый элемент отличает визуально треугольник раскрытия, указывающий вправо, когда элемент разрушен и указывает вниз, когда расширен элемент. Щелчок по треугольнику раскрытия заставляет элемент быть расширенным или разрушился, в зависимости от нового состояния треугольника. Элемент может быть расширен, даже если он не содержит элементов. Щелчок опции по треугольнику раскрытия элемента расширяется или разрушается все свои содержавшие элементы.

Когда элемент расширен, представление схемы может вывести на экран расширенное предыдущее или разрушилось состояние его содержавших элементов, если были ранее показаны элементы. Для автоматического восстановления всего расширенного состояния представления схемы для ранее показанных элементов использовать setAutosaveExpandedItems:.

Элементы в расширенном элементе располагаются с отступом. По умолчанию, когда пользователь расширяется или падает в обморок вложенные элементы, ширина столбца изменена так, чтобы это было просто достаточно широко для отображения самого широкого элемента, на основе ширины элементов и их добавления отступа в иерархии. Выравнивание следует за выравниванием существующей системы. Для выключения автоматического изменения размеров использовать setAutoresizesOutlineColumn:. Обратите внимание на то, что элемент может состоять из текста, изображения или чего-либо еще, что может быть нарисовано подклассом NSCell.

Экземпляр NSOutlineView обычно выводится на экран в экземпляре NSScrollView, как показано ниже.

NSOutlineView in an NSScrollView

Поведение, наследованное от NSTableView

Представление схемы наследовало большую часть своего поведения от его родительского класса, NSTableView. В результате много операций, поддерживаемых табличным представлением, таких как выбор строк или столбцов, менять местоположение столбцов путем перетаскивания заголовков столбцов, задержали активацию для перетаскивания, и т.д., также поддерживаются представлением схемы. Ваше приложение имеет контроль над этими функциями и может сконфигурировать параметры представления, чтобы позволить или запретить определенные операции. Например, Вы могли бы принять решение не позволить редактировать или перестраивать для определенных столбцов.

NSTableView класс также обеспечивает методы для работы с данными, ответа на щелчки мышью, установки атрибутов сетки, редактирования ячеек и выполнения других операций. Для получения дополнительной информации см. Руководство по программированию Табличного представления для Mac.