Each symbol unit in eeschema has a unique identifier. But we don't have
a unique identifier for the entire symbol. So changing which symbol
instance was unit A (our default base for matching), changed the UUID
that we were using to match the footprints.
This commit adds all UUIDs to the netlist, allowing us to match symbol
to footprint without worrying about which unit is referenced.
This still does not handle changing different units on different sheets.
Fixes https://gitlab.com/kicad/code/kicad/issues/7604
Also fixes some latent bugs with not updating the local ratsnest
visibility in other places, and the netcode in update PCB from schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/7202
The canvas keeps a reference to the settings object, so we
can't pass one from the stack because it runs into lifetime
issues.
Also cleanup some loop-iterator problems.
Fixes https://gitlab.com/kicad/code/kicad/issues/6338
in most of files, including wx.h is not necessary, when only 2 or 3 wx files must be included.
Moreover, on windows, including wx.h sometimes create compil warnings about
shadowed vars defined in some specific windows headers.
These objects can now be used in advanced DRC rules and
not just for keeping things out. Also remove the restriction
that at least one of the "basic" keepout rules must be set,
so that these areas can be used for more advanced rules.
* Make the app progress indicator only have the indeterminate state
when the taskbar indicator is used (causes an uused variable warning
on wx<3.1)
* Remove unused dry run variable in pcb_netlist.h
* Remove unused forceDropAnnotations from the paste special dialog
since the dialog only controls keeping them.
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.
There is still some debugging output in test code that really needs to
be moved into a unit test.
Add debugging output section to the coding policy regarding debugging
output.