Commit Graph

2 Commits

Author SHA1 Message Date
Jesse Qu acf56d7c83 Add Save As feature and fix document serialization
- Add saveAsToFile() method to Document class for "Save As" functionality
- Add actionSaveAs menu item and onAction_saveAs() handler in MainWindow
- Add isValidItem() method to GraphicsBaseItem to filter helper elements
- Add using declarations to expose AbstractShapeType members in GraphicsBaseItem
- Fix document serialization to properly handle GraphicsItemGroup pen/brush
- HandleType enum starts from 50 to avoid conflicts with future handle types
- Improve deserialization to properly restore item properties

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 17:55:56 +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