Qooxdoo - VirtualTree и отсутствующий сотовый рендерер

Я пытаюсь создать редактируемый виджет дерева. Есть много примеров того, как сделать редактируемые столбцы для таблицы, например, с помощью cellrenderer и propertyCellRendererFactoryFunc, что довольно круто. К сожалению, я не могу найти полезный пример для VirtualTree/Tree. Можно ли вообще создать его без глубокого редактирования исходного кода дерева?


person Zbigniew Pomianowski    schedule 23.09.2013    source источник
comment
Вопросы по коду должны демонстрировать минимальное понимание решаемой проблемы. Включите предпринятые решения, почему они не сработали и ожидаемые результаты.   -  person zero323    schedule 23.09.2013


Ответы (1)


Вот один из подходов для VirtualTree:

  • VirtualTree использует обычные виджеты для элементов дерева, поэтому идея состоит в том, чтобы изменить способ создания этих элементов, чтобы изменить их внешний вид.
  • Это достигается с помощью делегата. Используйте tree.setDelegate(), чтобы установить пользовательский делегат в дереве.
  • Сам делегат может быть нативным JS-объектом (картой). Он должен соответствовать IVirtualTreeDelegate. , что означает, что объект делегата предоставляет некоторые методы из предопределенного набора (например, «bindItem», «createItem», ...). Общий пример см. в коде этой демонстрации.
  • В вашем случае вы хотите предоставить < em>createItem в вашем делегате вместе с любыми другими вспомогательными методами (например, bindItem). Существует несколько более сложный пример, который делает то, что использует свой экземпляр в качестве делегата.

ХТН

person ThomasH    schedule 07.10.2013