This breaks the view_item.h -> inspectable.h -> property.h chain that
pulled wx/propgrid/property.h into 150-200 TUs. The lean inspectable.h
now includes only wx/any.h, wx/string.h, wx/variant.h.
Headers using DECLARE_ENUM_TO_WXANY (board_item.h, sch_item.h) retain
their property.h include since the macro requires it.
When swapping group data for undo/redo operations, the parent group
pointers of children must be updated to maintain correct references.
This code was removed in commit f58fc0b952 during the GROUP undo
rewrite, but it's needed to prevent crashes when accessing group
members after undo operations.
The fix processes children in the correct order to handle any shared
children correctly: image first, then "this", so shared children end
up pointing to "this" (the live group).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/22587
This also removes the GROUP/UNGROUP-specific undo actions.
This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.
This also fixes some undo bugs when dividing wires etc.
This also fixes some bugs with new sch items not
being created within an entered group.