Commit Graph

6 Commits

Author SHA1 Message Date
Jesse Qu 744af1b95b Document PropertyEditor property grouping system in CLAUDE.md
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 15:30:55 +08:00
Jesse Qu 3d88a3615a Add property grouping support to PropertyEditor
Introduce IPropertyGroupProvider interface that lets QObjects declare
which group each property belongs to. PropertyEditor then renders
collapsible group headers in the tree view, with properties sorted
under their respective groups.

Key changes:
- New IPropertyGroupProvider interface (getPropertyGroup method)
- QDetailsViewRow_Group row type with bold group header rendering
- isGroup model role and delegate property for styled group rows
- TapHandler-based expand/collapse toggle in delegate template
- One-time C++ auto-expand for groups in setObject() to avoid
  re-expansion loop with delegate recreation
- Grouped property children added via LayoutBuilder::addGroup()
- GraphicsBusSectionItem demonstrates grouping with 5 categories

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 11:52:54 +08:00
Jesse Qu 78f2edf24b Add Document class for file persistence
- Add Document class (include/document.h, source/document.cpp)
  - JSON serialization/deserialization of DesignerScene
  - State management: filename, modified flag, timestamps, metadata
  - File operations: New, Open, Save with .bay extension
- Integrate Document into CMainWindow
  - initializeDocument() to create and associate with DesignerScene
  - File menu actions connected to Document methods
  - Window title updates on modified/filename changes
  - Close event checks for unsaved changes
- Update CLAUDE.md with Document architecture documentation
2026-05-13 16:24:21 +08:00
Jesse Qu ff67c48a86 Update build instructions to use CMake presets
Simplified the build commands in CLAUDE.md from complex absolute-path CMake configuration to preset-based approach:
- Changed from cmake -B <build-dir> -S <source-dir> ... to cmake --preset default
- Changed from cmake --build <build-dir> to ninja -C build/Debug
- Updated output location to macOS-specific build/Debug/BayTemplate.app
2026-04-16 14:16:43 +08:00
Jesse Qu ba12fb1017 renamed 2026-03-25 17:40:40 +08:00
Jesse Qu ab6960acb5 Initial commit: BayTemplate Grid Framework DesignTime tool
- Qt-based application for designing electrical power grid structures
- Features dockable UI with graphics canvas for placing grid elements
- Includes QtADS (Advanced Docking System v4.3.1) and PropertyEditor
- Supports Qt5/Qt6, multiple platforms (Windows, macOS, Linux, Android)
- Architecture: DesignerView/Scene, SelectorManager, Command Pattern for undo/redo
2026-03-25 17:15:51 +08:00