Commit Graph

1 Commits

Author SHA1 Message Date
jessequ 8ea5033f0d feat: add text item with IShape interface decoupling
Extract a pure virtual IShape interface from AbstractShapeType<T> so
  selectors and Document use dynamic_cast<IShape *> instead of
  qgraphicsitem_cast<AbstractShape *>. This decouples the selector
  system from the template hierarchy, enabling GraphicsTextItem (backed
  by QGraphicsTextItem) to work uniformly with all existing selectors.

  GraphicsTextItem supports inline text editing (double-click to edit,
  focus-out to finish), font/color properties via PropertyEditor, resize
  with proportional font scaling, move, rotate, and full serialization.
  Adds CM_place creation mode for single-click placement.
2026-07-22 09:56:28 +08:00