Создание интерфейса Quartz Composer Style - PullRequest
2 голосов
/ 18 февраля 2009

Я хочу добавить элемент интерфейса в стиле "редактора патчей" Quartz Composer в мое приложение Cocoa / Objective C (++). Для тех, кто не знаком с QC, редактор патчей представляет собой визуальное представление графика патчей: эффективно показывает каждый узел и его свойства, а также предоставляет управляемый мышью интерфейс выбора / щелчка / перетаскивания. Это выглядит как... Пример Quartz Composer http://files.me.com/archgrove/ya1xhh

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

В данный момент я использую собственный NSView в представлении прокрутки, в котором Quartz рисует каждый узел, дуги и т. Д. При каждом рендеринге и обрабатывает ввод с помощью мыши и клавиатуры вручную (включая тестирование нажатия, перемещение и т. Д.). Это кажется жестоким изобретательским подходом и не очень хорошо взаимодействует с Core Animation. Я надеюсь, что у кого-то есть общий альтернативный совет. Я размышляю по линии ...

  • Существующая контрольная / сторонняя библиотека, которую я пропустил
  • Сделайте каждый узел в дереве NSView и используйте обычную структуру представления для обработки ввода, одновременно рисуя графику таким же образом. Но тогда рендеринг дуги между узлами, кажется, не вписывается в дизайн
  • Что-то еще использует один NSView, но делает каждый узел дерева и дугу отдельным слоем
  • Что-то еще

Спасибо, любезно,

adamw

1 Ответ

3 голосов
/ 18 февраля 2009

Возможно, вы захотите взглянуть на EFLaceView: FlowChartView на CocoaDev

Изменить: ссылка на скачивание на странице выше не работает. Существует версия EFLaceView на github .

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