Sometimes you want to add these in the ctor of the child
class based on some logic and having to construct the vector
in the init-list is a bit ugly.
Theoretically allows to not require a vector too.
We don't use wxWidget DPI (which is the screen DPI) for our on-screen
display. Instead, we use 91 (?!?). Make this configurable in advanced
config and use the set value in our scaling widget
EGL/NVidia can sometimes clip the cursor based on its plane regardless of the depth mask. This avoids the issue by forcing the cursor up over the existing plane.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12183
If the value we want to show is in nm but we are representing it as mm,
don't show 0.00 unless it is actually 0. otherwise, convert to
scientific notation to represent the value in nm.
MSW doesn't have a default dark color for the listbox but it does for
window color so temporarily we can use this for windows when in dark
mode
Fixes https://gitlab.com/kicad/code/kicad/issues/21386
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).