Please do not attempt to use this yet as it is a work in progress. Given
large number of merge conflicts, I pushed this partial commit to save time
rebasing.
All of the user interface is hidden behind the "EnableVariantUI" advanced
configuration flag until variants are ready.
FONT_CHOICE use Clear() to delete the wxOwnerDrawnComboBox items on MSW.
however (wxWidgets bug?) it creates 2 issues: a wxWidgets alert and fires
OnTextCtrl events, creating annoying recursions because OnTextCtrl event
call Clear().
Looks like it did not happen on Linux.
So wxOwnerDrawnComboBox::Clear() is not used on MSW, and used on other platforms.
Using the new wx3.3 routines to serialize the state of our AUI elements,
we store them using JSON in the preferences for each window
I have left the SavePerspective in place for now to see how legacy
(mostly *nix) builds handle this and provide a smooth transition to 3.3
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2381
Provides an update action to refresh the icon display when the user
changes the angle mode using a hotkey. Also unifies the angle modes
between schematic, pcb and library editors
This code looks correct, but by going through the ReportHead/Tail it
would actually end up re-calling Report() on the subclass's virtual
implementation instead of the base class's Report(), which would double
the lines.
The crash was due to use a temporary parent in SCH_LABEL_BASE::SetLabelShape()
The parent must be a SCH_SCREEN and is now tested before use.
It is also fixed and set to the current SCH_SCREEN at creation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21786
Sanitizes data library aliases when caching and loading while keeping a
lookup table back to the original values. Prevents saving invalid data
into the schematic
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20653
Creates a Type-3 representation of our stroke font, embeds it in the PDF
and then causes text to be represented in that font.
This prevents the need for over-stroking and keeps our PDFs searchable
and accessible
1) Always be explicit about what the delimiters are
2) If space is a delimiter, we probably want to skip
empty fields (wxTOKEN_STRTOK)
3) If space is not a delimiter, we often need to
trim the resultant tokens
4) Be more lenient about \t\r\n (and when they are
included, include them in the same order)
"description" and "keywords" must hold string values;
"footprint_filters" can either hold a (space-
separated) string value, or an array of strings.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20750
The constraint takes no values, but can have a severity
assigned. This allows solder mask bridges that meet
certain criteria to be ignored.
For a mask aperture, only the aperture must pass the
DRC rule conditional. For bridges between two copper
items, both items must pass the conditional.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21732