Footprints can now have a custom stackup. This means that they specify
an exact number of copper layers and the layers map 1:1 to board layers.
If the board doesn't contain that layer, the element just doesn't
show. We could make this a DRC check later on.
If there is no stackup, the behavior is the current default: a rule area
the In1 layer "expands" to all Inner layers.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10838
Always look for pre-existing undo/redo record. Checking for IsNew()
is less robust and should be avoided. Also moves the checking to a
location where it will be easier to ensure that it's uniform.
Push get-undo-level-item processing down a level so it is uniformly
called.
Make sure tables & labels are uniformly handled.
Remove incorrect usage of Get/SetGroupId() for storing lastPin
(which we don't use anyway).
Lists of deleted and changed items MUST include the screen pointer.
An item could be changed on one screen but not on another.
Also tightens handling of PCB_NETINFO_T items, which are not in the
view.
Also fixes a bug where there is no increment parameter if you assign
the base increment command to a hotkey.
(This was discovered while testing the above changes.)
Also fixes a bug where delete during a move in PCB Editor did an
undo instead of a delete.
(Again, found while testing above.)
An experiment was also run to collapse shared parts of SCH_EDIT_FRAME
and SYMBOL_EDITOR_FRAME into SCH_BASE_EDIT_FRAME. However, sharing the
undo code actually increased complexity, and there was very little else
of value in SCH_BASE_EDIT_FRAME (other than the Increment() routines).
How you ask? Plot first -> then read the PDF and print directly to the
platform-specific printers. Roundabout? Yes. Better than wx printing?
Darnbetcha.
Also allows multi-size page printing and proper margins and print
preview
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1831
If you set the env var KICAD_EDIT_ADVANCED_CFG=1, you get a new menu
option in the KiCad project window's Edit menu. Lets you modify the
settings for advanced config graphically without having to
remember/lookup the magic incantation
We were a bit aggro with how we removed junctions after finishing. Now,
we can avoid this by removing moved junctions and re-adding when needed
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21480
Sometimes, you don't want those 45° corners in your nice, clean zones.
This adds an additional mode that can be selected, cycling through
free-angle, 45° angle and 90° angle constraints
The scope, recursion, reset options and message filters remain in the
user preferences. Others including numbering, sort order and reuse are
schematic preferences.
Also, the oddball subunit display remains here but it doesn't really
belong in annotation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17942
There is only a simplistic multi-net pattern expression
generator here (A|B|...) with a single prefix detected
rather than anything too fancy.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21451
- Move under rectangular selection
- Simplify available modes
- Link to new icon
- Make selection state persistent
- Allow additive/subtractive with KiCad configurable keys
This can be useful when checking 3D models and/or generating
images of components in place on board, or if a dense via field is
in the way when looking at something on an inner layer.