Commit Graph

3 Commits

Author SHA1 Message Date
Jesse Qu a9dc41cf80 fix: add missing override keywords and virtual destructor to resolve all compiler warnings
- Mark 27 overriding functions with 'override' across GraphicsItemGroup,
    GraphicsRectItem, and GraphicPolygonItem headers
  - Add virtual destructor to IPropertyHandleImpl (fixes -Wdelete-abstract-non-virtual-dtor)
  - Build is now 0 warnings, 0 errors
2026-07-15 11:27:08 +08:00
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
Jesse Qu 04db02dbdf first commit for HMI 2026-07-03 11:29:21 +08:00