Skip to content

Project Tree

QAbstractItemModel-based tree view for the planning hierarchy.

Key Classes

Class Purpose
PlanningTreeModel QAbstractItemModel backed by PlanningController
PlanningTreeNodes Internal tree node objects for the model
StrukturFilterProxy QSortFilterProxyModel for Struktur-only filtering
ProjectTreeWidget QWidget wrapper owning model, view, and delegate
ProjectTreeDelegate Custom delegate for icons, status colors, lock indicators
FluentTreeProxyStyle QProxyStyle for chevron branch rendering

Signals (from ProjectTreeWidget)

  • item_selected, item_double_clicked -- selection events
  • item_drop_requested, item_reorder_requested -- internal drag-drop
  • library_item_drop_requested -- external library item drops
  • context_menu_requested, rename_requested, delete_requested -- CRUD
  • copy_requested, paste_requested, save_requested -- keyboard shortcuts
  • undo_requested, redo_requested -- undo/redo shortcuts
  • expand_all_requested, collapse_all_requested -- hotkey-driven

Notes

  • Uses incremental updates via controller signals (not full rebuild)
  • Supports multi-select for copy/paste operations
  • Drop indicator rendering handles both internal and library drops