There is no technical reason for this restriction for non-power symbols, so let's remove it.
This will allow more flexibility and compatibility with other tools.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9389
When changing units, we might not have the original pins
available to set the Alt assignments. Instead, we search
by number and skip the pin if it doesn't exist in the
new unit
Fixes https://gitlab.com/kicad/code/kicad/issues/12218
Rewrite the spice exporter to work with the new simulation model
architecture and data model, with many bugfixes related to the latter
two along the way.
This commit adds parameter display functionality, via a wxPropertyGrid
widget, to the Sim Model Editor. To faciliate that, a SIM_VALUE class is
created to serialize, deserialize, and validate numeric values in the
new parameter grid.
SPICE_MODEL is renamed to SIM_MODEL and split into several subclasses
that correspond to different model kinds.
Prior to fixing the schematic file change churn do to instance data
changing to the last selected sheet instance, the symbol instance data
was set rather than empty. This change allows for users to set the
default instance data which is used for every new instance of the
schematic.
ADDED: Default schematic symbol instance data (unit and reference, value,
and footprint fields) can be set to be used as the default settings
for all new instances of the schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11113
Note:
- wxYield does not work here, indicating the need for locking
- wxYieldIfNeeded does not work, possibly for the same reason as wxYield
- Both Layout() and m_fieldGrid->Layout() need to be called even though
the first should call the second.
Fixes https://gitlab.com/kicad/code/kicad/issues/5690
On GTK, some configurations will trigger a column resize, which will
close the current editor. This blocks the column resize while the
editor is open, unless the resize continues, which indicates dragging of
the window edge
Fixes https://gitlab.com/kicad/code/kicad/issues/5690
When the grid editor is shown, we also want to ensure that the grid gets
resized to account for the new editor. Queuing the event will ensure
that happens after the editor is emplaced in the grid
Fixes https://gitlab.com/kicad/code/kicad/issues/5690
(cherry picked from commit fddfce4fb1)
On GTK, the full editor needs to be shown and, for some systems, the
editor will not show correctly. By yielding we should allow the time to
recalculate sizes for the editor in the grid
Fixes https://gitlab.com/kicad/code/kicad/issues/5690
(cherry picked from commit 871556ebda)
Calling UpdateItem() may be performed by in a common loop, e.g. for(
SCH_ITEM* item : GetScreen()->Items() ) or similar. We cannot call
GetScreen()->Update( SCH_ITEM* ) in this routine as it will remove and
re-add the item to the RTree, invalidating iterators. If needed, the
items need to be cached to an external container before updating
Fixes https://gitlab.com/kicad/code/kicad/issues/9318
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.
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
Don't assume all identical references should have the same value.
Filter by checking that only symbol units having the same reference
also have the same library identifier before updating the value and
footprint fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8313
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.