ADDED: Horizontal/vertical zoom for simulator plots, via mouse wheel,
toolbar buttons, menu commands, and hotkeys.
ADDED: Simulator preferences panel, populated with mouse wheel
and trackpad settings that control pan and zoom of simulator plots.
ADDED: Zoom In/Out Horizontally/Vertically commands that can be bound
to hotkeys.
CHANGED: Simulator plot scroll wheel gestures are no longer hard-coded
and can now be configured via the new Simulator preferences panel.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16597
Other unreported bugs that were fixed:
- Fixed wierd, jumpy simulator plot view limiting behavior.
- Fixed Zoom In Center and Zoom Out Center commands not preserving
the simulator plot center point.
- Fixed simulator plot nudging when exported as PNGs.
- Fixed rectangular selection zoom being able to exceed simulator plot
view limits.
Notes:
- Provided new SIM_PREFERENCES struct to be used for future
simulator preferences set via the simulator preferences dialog.
- Bundled pre-existing EESCHEMA_SETTINGS::SIMULATOR settings into
EESCHEMA_SETTINGS::SIMULATOR::VIEW.
- Replaced mpWindow::EnableMouseWheelPan with more general
SetMouseWheelActions.
- Refactored and tidied up wxMathPlot's mpWindow code involved with
fitting, zooming, and panning.
- Consolidated long lists of duplicated member variable initializers to
a new mpWindow private delegated constructor.
- Provided provisional Zoom In/Out Horizontally/Vertically toolbar
icons that need improvement by a graphics designer.
- Provided gitignore entries for the Qt Creator IDE
Also fixes a wrap-around bug in SPICE_VALUE::Normalize() where
it would lose the run of itself if the value was already
normalized to either the largest or smallest UNIT_PREFIX.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17228
Also adds new parameters to AM sources for ngspice-43.
Also fixes a bug in the spice parameter parser (which would
puke on any parameter name starting with one of the flag
parameter strings).
Also fixes a bug where the skipped source parameters would
get set to "0" instead of their default values.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16393
My first thought was to move the color out of the TRACE, which is
really a view object. However we can't make signals a first-class
citizen either, because they change depending on what the current
simulation tab is and so (for instance) we can only load in the
workbook signals for the current tab. Hours later I backed it all
out and arrived at this simpler, less "correct" solution.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14231