Instances, pins and graphics have started to wander around the files.
Sorts instances before writing. Uses compare with std::set (not
std::multiset) to enfore lib item ordering
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17737
Netclass assignments are stored in the project level but
CONNECTION_GRAPH updates would clear the assignments. This keeps
existing netname->netclass assignments but updates any netnames that
were changed by the incremental updates. Absolute updates are not
affected and fully recreate the net name to netclass map
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17720
We don't neccesarily have a valid pointer to the parent lib symbol when
checking if it is a power symbol, so fall back to the local flag if this
is the case
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17182
(cherry picked from commit 4481fcc75e)
The connectivity routine would consider symbols, overwriting unused
subgraphs for pins that were not in the change list. This is resolved
by updating the full connectivity to only use pins in the graph since
symbols are not connected independently.
In the process of adding QA tests for this change, additional issues
with the schematic QA were discovered. Specifically, we were not
properly setting the root sheet UUID. This was partially masked by a
const_cast setting of the RefDes in sch_symbol when called the RefDes
getter. This exposed the fact that our QA ERC numbers did not match the
schematic editor stand alone ERC numbers. So the test value for one
check needed to be updated
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17528
This will display a better error message to the user, instead of saying
that no plugins to load the file are found (because the plugin tests
will also fail due to being unable to read the file).
Currently, new global or local net labels are auto-filled with the
net name if the wire is driven by a global or local label. This
currently happens recursively within SCH_LINE. This fix moves this
to determining the driver from the connectivity graph, and removes
the determination from the SCH_LINE code where it does not belong.
Prevent the hierarchy navigator from being rebuilt unless there are actual
sheet changes that would cause a change to the tree.
Save the tree expansion state before rebuilding the tree and then restore
the expansion state to the previous state sans edits.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16635
(Particularly useful for those that have no other settings and
otherwise look blank.)
Also replaces "Generator" terminology as it's a bit confusing
(and will only get more confusing with PCBNew Generators).
Between schematic and pcb editors, we want the following actions:
- Single click on ERC/DRC item should show the item in the ERC/DRC
window. But if the window is not visible, it should only update the
status bar
- Double click on ERC/DRC item should show and raid the ERC/DRC window
as well as select the line item
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17383
If a ERC violation is set to ignore, all corresponding markers are deleted.
But if one of these markers is selected, a crash happens.
Now all selected objects are deselected before deleting markers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17375
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