HMI/source/util
Jesse Qu 3ad8b211e6 refactor: distribute serialization/deserialization from Document into item classes
Move per-type serialization logic out of Document's monolithic
  serializeItem()/deserializeItem() into each item class:

  - Add virtual serialize() to AbstractShapeType template, overridden by
    GraphicsRectItem, GraphicPolygonItem, and GraphicsItemGroup
  - Add static createFromJson() factory + self-registration to each item
  - Extract shared pen/brush/common helpers into serializationUtils
  - Add type registry (serializationRegistry) for factory-based deserialization
  - Document::saveAs()/load() now delegate to item->serialize() and
    createItemFromJson() — no longer owns per-type dispatch
  - Adding a new shape type no longer requires touching Document
2026-07-09 11:40:14 +08:00
..
baseSelector.cpp Refactor selector classes 2026-07-06 18:17:10 +08:00
creatingSelector.cpp ⏺ feat: add Document layer with serialization, dirty tracking, and file actions 2026-07-08 16:57:46 +08:00
editingSelector.cpp ⏺ feat: add Document layer with serialization, dirty tracking, and file actions 2026-07-08 16:57:46 +08:00
movingSelector.cpp ⏺ feat: add Document layer with serialization, dirty tracking, and file actions 2026-07-08 16:57:46 +08:00
rotationSelector.cpp ⏺ feat: add Document layer with serialization, dirty tracking, and file actions 2026-07-08 16:57:46 +08:00
scalingSelector.cpp ⏺ feat: add Document layer with serialization, dirty tracking, and file actions 2026-07-08 16:57:46 +08:00
selectorManager.cpp Refactor selector classes 2026-07-06 18:17:10 +08:00
serializationRegistry.cpp refactor: distribute serialization/deserialization from Document into item classes 2026-07-09 11:40:14 +08:00
serializationUtils.cpp refactor: distribute serialization/deserialization from Document into item classes 2026-07-09 11:40:14 +08:00