Also pushes some of the implementation down a level
so that it can be shared between this and the
SYMBOL_FILTER_COMBOBOX.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20943
(cherry picked from commit ee2cf47f23eeca5cfc990ae845e18534fd8c96c4)
Note to self: likely a regression after adding aAllowSegmentSizeMismatch parameter (default = true) to AssembleLine(). We need to improve the simplification algorithm to take differing widths into account.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21078
(cherry picked from commit 0256ccb6a6c1521c474a38f98e61ea8198a15b6e)
At some point ".\" was added as the default file text control string
which triggered a SPICE model library load. This would fail every
time the dialog was loaded for the first time.
Clear the model list box when the SPICE model library fails to load.
This way a container out of bounds exception will not get thrown when
the library model list contains stale model indices.
Technically this does not fix issue #21063 because the crash was fixed
by catching the invalid index exception. It does prevent an annoying
modal dialog that blocks all of KiCad.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21063
(cherry picked from commit 1eb76cb14de44b428e29701e28e4f6d988cfc8cd)
We use this as part of the standard sexpr now. But previously, if a
designer used the '|' character as part of a string with no spaces, it
would be entered unquoted into the file, which neccesitates special
handling
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21065
(This should prevent vertical scrolling which is
what makes it look like the text disappears. the
problem with using a GRID_CELL_TEXT_EDITOR is that
it doesn't support auto-complete.)
(cherry picked from commit b5e7371275d8ccee91b491995d3fed35cddb1c7a)
Also fixes a potential crash bug in schematic
cleanup when breaking lines that are part of a
group.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20985
(cherry picked from commit 65dfee161bf614c3364017bfbbd92b350e1e6aca)
The sunken border was included in the size calculation on Windows, causing the same visibility bug.
Use a panel with a border that wraps the control instead.
AM and SFFM current sources were being netlisted as voltage sources due
to the wrong prefix being added.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20994
(cherry picked from commit 6bb3fc39dff6002045da7990edccb7dd190e2e73)
1) Pass aDepth down through those versions of
CreateModel() which expand text variables
2) Be aware that unresolved text variables look
just like unexpanded text variables.
(cherry picked from commit 61d36f9d29ab6f9047d734b9e61245dd8845c773)
We do not always have the LIB_SYMBOL set in a SCH_SYMBOL, so avoid
trying to get the embedded files from it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20986
(cherry picked from commit 9d32de515447be31726f9ea711d72331df5acd97)
Handle Altium project file format
Parse individual schematic files and layout files
Create top-level schematic file
Link imported UUIDs between schematic symbol and footprints based on
refdes
Create KiCad project
Map Altium layout layers between KiCad
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2117
(cherry picked from commit e81956f292f06719b6984d3a86e7493435f49805)
Label text color will inherit from the assigned net class. Apparently
this was overlooked when the directive labels were implemented.
(cherry picked from commit 19cb41722a593bf55c0c46193178900330a5e59e)
Prevent the file formatter from writing and the file parser from loading
symbol pin alternates that have an empty name or when the alternate name
is the same as the default pin name. Apparently at some point they were
able to be created and saved.
Do not allow SCH_PIN::SetAlt() to set an alternate name when the name
does not exist in the library symbol pin alternate list. This required
fixing the associated QA test.
When updating or changing schematic symbols from library, reset the pin
alternate to the default when the alternate no longer exists in the
symbol.
Do not populate pin alternates context menu with duplicate default pin.
Clear orphaned pin alternates to the default when saving symbols from
symbol editor.
(cherry picked from commit d16d2f5a5b1897b0fa3f4e797ff9b9a3a246c09a)
ADDED: An option in the update symbol dialog to reset alternate pins to
their default value.
Don't set the symbol alternate pin when the updated symbol no longer
contains the alternate pin name.
Clear the alternate pin name when it's set to the default pin name. This
is caused by a bug somewhere which hasn't been resolved and it causes the
library symbol comparison to fail when it's set.
This also changes the change/update symbol dialog layout. Adding another
option check box was making the dialog too tall. The option check boxes
were split into two columns which made the dialog wider. It might be
worth using another wxCheckListBox for the options as more are added.
(cherry picked from commit 46b24a5b683ab9e8fba247dc00289273d6758f7c)
The lexicographical sort for hierarchical pages needs to satisfy the
following:
- Ensure a parent comes before all its children
- Ensure all children with the same parent are sorted by page number
- Ensure all of a parent's children come before the parent's next sibling
To do this, we need to compare at each path level before descending
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20701
(cherry picked from commit e06e60882d83995fc2d879e93d1d9ec10a8bfb80)