Common settings may change colors so make sure that we refresh the draw
objects when the settings change to draw them in the proper colors.
Failing to do this may also cause left over lines on the screen
depending on OpenGL drivers
Fixes https://gitlab.com/kicad/code/kicad/issues/11921
(cherry picked from commit 8aabdcff9c)
Our menu bar code is interestingly complex. But we were throwing away newly made menu items to the void in the cases of constructed on the fly submenus
When double-clicking to open a symbol, it is no longer selected in the
tree. We need to use the `GetTargetLibId()` to pick the correct symbol
(first selected, then current) when using the duplicate command
Fixes https://gitlab.com/kicad/code/kicad/issues/11034
(cherry picked from commit 802d20c409)
Also makes sure the progress dialog is closed when we're done reading
symbols (it used to stay up for much of the symbol editor initialization).
Also makes sure that any cancel in the preLoad step is honoured in the
sync step. (The preload is done because it is multi-threaded and therefore
faster than the single-threaded sync.)
Also makes sure that individual threads pay attention to the cancellation,
not just the GUI thread.
Fixes https://gitlab.com/kicad/code/kicad/issues/8372
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
Undo/Redo can change the symbol referenced by the symbol drawing tool.
This updates the current symbol before important steps to keep the
system synced
Fixes https://gitlab.com/kicad/code/kicad/issues/10125
(cherry picked from commit b8a7a66a0a)
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
There doesn't appear to be any reason why the LIBID needs to be populated
before a "save as", seeing as the user will be inputting the new lib name
and lib nickname via the dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9744
We have a hack for turning accelerator keys that wxWidgets turns into
menu commands back in to accelerator keys -- but it requires that the
corresponding menu items be enabled in order to work.
Can't escape by default because the allowed characters differ in the
read-only libraries and existing schematics that reference them. So,
escape when we import into standard KiCad Libraries
Fixes https://gitlab.com/kicad/code/kicad/issues/9419
Also cleans up the dialog a bit.
Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9036
This allows the workflow:
1) Edit symbol in schematic
2) Save As to original library
Also allows the user to quickly overwrite a symbol they don't want,
either by importing over the existing symbol or creating a new one.
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
CHANGED: When creating a new library, the usual intention is to add a
new symbol to it. Without this, the "No symbol library selected."
message will appear if the user attempts to add a new symbol without
manually selecting their new library.
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road. Better
to just escape them.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
MacOS wxWidgets implementation of wxPrintf/Format suffers from some
issues when mixing string types. We avoid this by manually formatting
the string ourselves.
Fixes https://gitlab.com/kicad/code/kicad/issues/8404
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
Differentiates better between the EDA_ITEM IsModified(), referring to
items themselves changing and the EDA_SCREEN IsContentModified(),
referring to whether we have made any unsaved changes.
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
1) Don't reset value when name changes
2) Don't fire events when initialising dialog
3) Make sure when symbol is saved back to schematic that only current
instance has its ref updated, but that all instances have their other
fields updated.
4) When saving symbol back to board always use the fields from the
editor and not the (alias-specific) ones from the library.
Fixes https://gitlab.com/kicad/code/kicad/issues/8159