A sheetpath is required to correctly resolve text variables.
Depending on currentSheet is rife with bugs.
There are many places where we do *not* want to be prepending
field names to the field values, such as netlisting,
building PDF hypertext menus, etc.
Also, Find/Replace needs to work on unresolved text, as
that's what we're going to display (and if replace nuked
your variable references you wouldn't be happy).
The netlist exporter was never updated to exclude symbols that are
tagged as power symbols. Only the legacy power symbol name prefix
('#') was used as the power symbol check. Power symbols no longer
require the '#' name prefix.
Needs to be static, so keep the reference from the associated symbol and
not the SCH_SYMBOL instance. Both will likely have the same prefix,
which is all we care about here
We're going to use the dataStore to update the symbol, so
if we store resolved values it will nuke any text variables
even if the field wasn't edited.
Not sure if the BOM generator has a separate resolve-variables
step or not. But it will need one as the code removed here
only worked for Values and Footprint fields anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/14423
This ensures that when bus elements or labels matching bus elements are
removed that the stale neighbor/parent references are similarly removed
Matching 7.0 commit 4cdf75dc72
In particular, when a CN_ITEM is freed set all its anchor's
item pointers to NULL. (The anchors have a separate
lifecycle due to being std::shared_ptrs.)
Hopefully fixes Sentry KICAD-KV.
- At least on wxWidgets 3.2 GetPopupMenuSelectionFromUser() returns the submenu
id, not the submenu idx from 0
- wxID_NONE can be returned when clicking outside the popup menu, or cancel.
The undo command has accreted a number of things over the years. This
prunes back the changes to the minimum required number and correctly
orders the actions
Fixes https://gitlab.com/kicad/code/kicad/issues/14661
Also simplifies the scoring algorithm so that it only
differentiates between exact-match, match-at-start and
any-match. The rest of the position-based matching
stuff is gone, as is the knowledge of the name vs the
keywords vs the description. All that is left to the
provider of the weighted search terms array.