SCH_COMMIT::Stage() can handle promoting the parent, but then the pin
needs to be removed first. I think it's probably clearer if we just
do the promotion in the delete routine.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15129
This is required to keep selected and brightened state across undo.
It's also probably required for things like IS_SHOWN_AS_BITMAP and
possibly ENTERED. FWIW, most BOARD_ITEMs do a straight swap, including
the temp and edit flags. But that seems like a risky change....
Also removes SyncView() call from Undo/Redo as that does a MODEL_RELOAD
which clears the selection.
Also fixes a bug where zooming doesn't get a redraw until mouse moves.
Also fixes a couple of bugs where dangling markers on SCH_SHEET_PINs
and SCH_HIERLABELs weren't getting drawn.
Also simplifies drawing algorithm by removing aesthetic offset (which
wasn't implemented when pin is drawn as part of selection VIEW_GROUP).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15129
CHANGED abandon the unpredictable behaviour of the Simulation Command
dialog. You now separately add simulation tabs (which have invariant
command types once created), and the dialog edits the current tab.
Also a bunch of bug fixes to make multiple simulation plots actually
work.
You must first check the checkbox in the Simulation Command dialog,
after which the signals will appear in the User Defined Signals
autocomplete lists.
SCH_EDIT_FRAME::SetCurrentSheet( xxx ) was used to switch to a sheet, but
SCH_EDIT_FRAME::SetCurrentSheet() has side effects to the current VIEW
(clear some data used to show the sheet on screen) and does not fully
restore the "old" screen
SCHEMATIC::SetCurrentSheet( xxx ) is now used to switch to a sheet
Also moves EE_POINT_EDITOR to SCH_COMMIT. (There was another refresh
bug in RollbackSymbolFromUndo() -- whose only caller was the
EE_POINT_EDITOR's old undo code).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14274
Note that "immediate" doesn't mean quite the same thing: while it will
enter the tool immediately, it won't necessarily finish the tool during
the call if the tool has an event loop. So for something like Rotate
"immediate" and "synchronous" have the same behaviour, but for something
like Move they do not.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15085
The text box used a different enum than the shapes, so this leads to a
possibility of clashing. The new action framework flagged this problem,
so modify the tool to handle the shape types properly.
Fixes KICAD-2CJ