Commit Graph

128 Commits

Author SHA1 Message Date
Jeff Young e890986e01 Fix crash when grid tries to access deleted field. 2022-12-11 23:12:55 +00:00
Wayne Stambaugh b95ce69054 Disconnect event handlers in symbol properties dialog dtor.
This is probably a good rule of thumb to prevent any event ordering
issues between platforms or unhandled events being trigger during
inherited object destruction.
2022-12-07 14:27:36 -05:00
Wayne Stambaugh 0a62c17040 Remove schematic symbol value and footprint field instance data.
https://gitlab.com/kicad/code/kicad/-/issues/12933
2022-11-30 11:47:13 -05:00
Jeff Young 1b3f03a800 Don't feed wxWidgets negative column widths. 2022-11-16 13:33:55 +00:00
Jeff Young a9a2cc3e84 Enhance readability of Simulation Model dialog. 2022-10-27 00:01:38 +01:00
Jeff Young bd1114d94d Move footprint properties dialogs to symbol properties grid resizing strategy.
Fixes https://gitlab.com/kicad/code/kicad/issues/9883
2022-10-12 00:38:44 +01:00
Wayne Stambaugh 0336cff8d6 Allow schematic symbol value and footprint fields to be instantiated. 2022-10-05 11:12:21 -04:00
Wayne Stambaugh a11c40197f Expunge default symbol instance from schematic file format.
Now that importing hierarchical sheets "properly" imports instance data,
the default symbol instance setting doesn't have any meaning.
2022-10-04 15:42:41 -04:00
Seth Hillbrand 524b129c64 ADDED: Support for explicit DNP field
Dims elements shown as DNP.  Adds property `dnp` to explicitly denote
parts that should not be populated. These parts are not included in X/Y
files
2022-09-16 22:26:16 +00:00
kliment b97f9ea329 Add support for symbol unit display names in eeschema and symbol editor 2022-09-14 22:11:37 +00:00
Jeff Young 45fb0107a0 Copy field properly.
Offset for new parent, and set parent property.

Fixes https://gitlab.com/kicad/code/kicad/issues/12376
2022-09-11 23:16:34 +01:00
jean-pierre charras 95f0c863b8 Remove a log message used in debug and left in code by mistake. 2022-09-05 18:33:18 +02:00
jean-pierre charras fd94a3b532 DIALOG_SYMBOL_PROPERTIES: fix an issue about symbol flags:
It prevent saving changes in undo/redo stack.
2022-09-05 12:57:07 +02:00
jean-pierre charras 92edee5a08 Fix issues related to m_unit SYMBOL member:
- ensure it is updated in DIALOG_SYMBOL_PROPERTIES
- ensure it is restored after changes in CONNECTION_GRAPH::Recalculate
2022-09-04 20:59:06 +02:00
Wayne Stambaugh 4c096fee15 Eeschema: fix crash when attempting to edit missing library symbol.
Disable the edit symbol buttons in the symbol properties dialog when
there is no library symbol to edit.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11318

(cherry picked from commit 5afeb45a84)
2022-09-02 16:25:34 -04:00
Jon Evans 8694c37376 Remove requirement that non-power symbols share a name and value
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
2022-08-20 17:43:43 -04:00
jean-pierre charras 4270c6d676 DIALOG_SYMBOL_PROPERTIES: rebuild the pin list when selecting another unit. 2022-08-13 11:00:00 +02:00
Seth Hillbrand d142cf239e Avoid null pin assertions
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
2022-08-12 18:25:49 -07:00
Mikolaj Wielgus 6450ec6b85 Sim: Spice netlist exporter rewrite
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.
2022-07-30 02:25:34 +00:00
Mikolaj Wielgus c5a256291e Sim Model Editor: Display model parameters
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.
2022-07-30 02:25:34 +00:00
jean-pierre charras 993c446fdf Fix some warnings detected by PVS-STUDIO (most are not used vars) 2022-07-25 18:23:52 +02:00
Jeff Young e10158ff10 ADDED show pin names on footprint pads when assigning to symbol.
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young 46fd32b738 Update grid attributes after sorting.
Fixes https://gitlab.com/kicad/code/kicad/issues/11753
2022-06-08 15:25:13 +01:00
jean-pierre charras 20d1d0705e Fix a few issues related to field names and their translation. - Do not use translated field names outside strings displayed in dialogs. - fix code that does not work well with default locale. - fix some (not all) I18n issues in DIALOG_UPDATE_SYMBOL_FIELDS. 2022-05-13 11:45:37 +02:00
Jeff Young 9c5aa5c3c1 Font and color for FIELDS_GRID_TABLE.
Fixes https://gitlab.com/kicad/code/kicad/issues/11459
2022-05-06 00:06:00 +01:00
Jeff Young 4ab2c93070 Update Selection Filter title bar with language changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/11421
2022-04-19 21:12:13 +01:00
Jeff Young 184b67098f Meet user expectations on life-cycle of symbol fields.
In other words, support empty fields.

Also adds deleting fields to Symbol Fields Table.

Fixes https://gitlab.com/kicad/code/kicad/issues/8999
2022-04-12 22:11:31 +01:00
Wayne Stambaugh 239f0214ac Eeschema: add support for default schematic symbol instance data.
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
2022-04-09 07:49:36 -04:00
Jeff Young d60ed70d54 Sync all fields between units when symbol is edited.
Fixes https://gitlab.com/kicad/code/kicad/issues/10610
2022-02-17 12:42:10 +00:00
Jeff Young e499793147 Update alt pin assignments in other units.
Fixes https://gitlab.com/kicad/code/kicad/issues/10849
2022-02-17 12:42:10 +00:00
Seth Hillbrand 79403ef075 Readd yield call to give slice to system.
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
2022-01-28 13:02:39 -08:00
Seth Hillbrand 9ab2eb391f Move delay selection out of UpdateUI
Calling actions from within UpdateUI can cause loops that crash or
substantially slow

Fixes https://gitlab.com/kicad/code/kicad/issues/10616
2022-01-26 16:05:40 -08:00
Seth Hillbrand 2dc031ee34 Prevent auto-column sizing when editor opens
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
2022-01-25 17:59:15 -08:00
Seth Hillbrand b6ecbc596e Fix mistaken use of `m_width`
This is a protected var in Linux but doesn't exist in Mac/MSW.  We use
the new m_fieldsSize
2022-01-25 12:45:09 -08:00
Seth Hillbrand efb323d57d Another stab at https://gitlab.com/kicad/code/kicad/-/issues/5690
This time, ensure that the grid is increased and the main form gets an
event
2022-01-24 16:30:30 -08:00
Seth Hillbrand a054a46136 Force a size event to avoid multiple yields
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)
2022-01-24 15:32:17 -08:00
Seth Hillbrand 175c4fe67c Allow time to update editor
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)
2022-01-24 09:58:10 -08:00
dsa-t d105e773a1 Update columns when height changes too 2021-12-25 15:26:43 +00:00
Alex 45c50535c5 Use GetUnobscuredSize in dialogs/panels 2021-12-25 15:26:43 +00:00
Jeff Young c3552a940a Make sure standard OK/Cancel buttons respond to current language.
Fixes https://gitlab.com/kicad/code/kicad/issues/9635
2021-12-24 18:13:11 +00:00
Jeff Young 889970a449 SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00
Jeff Young 88fc6d25a7 Correctly handle deleting multiple selections in some grids.
Fixes https://gitlab.com/kicad/code/kicad/issues/9952
2021-12-12 17:28:17 +00:00
Roberto Fernandez Bautista dd219419a0 Quiet wxWidgets asserts (sheet & symbol properties dialogs)
Ensure we don't set column size smaller than 1. If so, set to
-1 to auto size.
2021-11-27 21:03:42 +00:00
Jeff Young b967610e05 Remove confirmation for De Morgan (and spell his name right).
Fixes https://gitlab.com/kicad/code/kicad/issues/9483
2021-10-29 20:30:37 +01:00
Jeff Young c52cb229d0 Add unsaved-changes indication to Symbol Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/9443
2021-10-25 12:35:04 +01:00
Seth Hillbrand 854472d550 Prevent automatic RTree recaching
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
2021-10-05 20:13:15 -07:00
Jeff Young b84d1456d5 KIFACE_I -> KIFACE_BASE. 2021-09-14 23:45:14 +01:00
Jeff Young 6aaf4413b3 Fix kicad_string.h / string.cpp mismatch.
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.
2021-07-29 16:03:25 +01:00
Mike Williams 934b6e4cdc Eeschema: fix symbol library link not showing
In wxWidgets GTK, SetLabel() won't show anything. Seems like an old
wxWidgets issue:
https://forums.wxwidgets.org/viewtopic.php?t=20207
2021-07-29 01:19:51 +00:00
Jeff Young 87e4a1c672 Remove cover type; capitalize class name; make filename equal classname. 2021-07-28 22:16:38 +01:00
Jeff Young 726f4d8016 Fix up some more cases of missing escaping for symbol names.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 16:40:38 +01:00
Jeff Young b1b4caee6a Escape "naughty" characters in symbol names.
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
2021-06-30 13:12:57 +01:00
Jeff Young 389287e942 A bit more Part -> Symbol. 2021-06-17 22:24:41 +01:00
Wayne Stambaugh ff099453c8 Rename class_library.[h|cpp] to symbol_library.[h|cpp]. 2021-06-15 09:24:55 -04:00
Wayne Stambaugh ee3eac325d Expunge the use of the word part from Eeschema code. 2021-06-15 08:32:11 -04:00
Wayne Stambaugh 71c183d7bb Rename LIB_PART to LIB_SYMBOL. 2021-06-14 07:11:17 -04:00
Wayne Stambaugh fbc135e69f Rename SCH_COMPONENT to SCH_SYMBOL. 2021-06-10 10:34:49 -04:00
Marek Roszko 6e01ce84b9 Break out eda_item_flags.h, fix the typedef to std::uint32_t, fix some signed vars 2021-06-08 19:12:30 -04:00
Wayne Stambaugh 68085820ff Eeschema: fix value and footprint field update bug.
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
2021-05-06 07:13:26 -04:00
Mario Luzeiro 4e63aefaab Call Layout OnSizeGrid
Fixes https://gitlab.com/kicad/code/kicad/issues/5690
2021-03-16 21:59:44 +00:00
Jon Evans 18037e2f65 Rework bitmap system to load from archived PNGs
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.
2021-03-11 08:37:35 -05:00
Jon Evans 720147d272 Remove transitive inclusion of bitmaps.h 2021-03-07 16:08:57 -05:00
Jeff Young 7760570d76 Treat action buttons in Symbol/Footprint Properties as OK, not Cancel.
Fixes https://gitlab.com/kicad/code/kicad/issues/7001
2021-03-01 20:37:04 +00:00
Jeff Young 8a33542bcd SCH_COMPONENT::GetField() expects a vector index, not a field id.
Check this at compile time.  Callers wanting to use an index now must
use SCH_COMPONENT::GetFields()[i] instead.

Fixes https://gitlab.com/kicad/code/kicad/issues/7757
2021-02-28 15:10:37 +00:00
Jeff Young b6a7981e62 Write changes back to grid after using file explorer.
Fixes https://gitlab.com/kicad/code/kicad/issues/7361
2021-02-17 14:08:53 +00:00
jean-pierre charras 909ebe4b78 Try to fix an annoying issue in DIALOG_SYMBOL_PROPERTIES on wxGTK.
In some cases selecting a field to change its value make this value invisible.
It happens until the dialog is resized, so I am guessing there is a problem
when initializing sizers settings.
2021-02-10 12:48:58 +01:00
Jeff Young 69d58d39e5 Add alt pin table to compare function for LIB_PIN.
Also fixes refresh issue when editing alt pins.

Fixes https://gitlab.com/kicad/code/kicad/issues/7204
2021-01-28 11:35:18 +00:00
Seth Hillbrand 87d5318187 Disable alternate pin assignments for DeMorgan
Instead of hiding the dialog, we diable the pane and dropdown with a
consistent tooltip explaining why the pin assignments are not available.
2021-01-04 15:57:59 -08:00
Michael Kavanagh 154e19b6e7 Icons: use common prefix for small 16x16 2021-01-02 23:16:33 +00:00
jean-pierre charras cf6620f8fa eeschema: DIALOG_SYMBOL_PROPERTIES: fix crash when working on a old .sch file
Old .sch files do not store the symbol part description (stored in a cache lib)
So when using a .sch file, the part description can be not existing.
The fix tests for non existing part description.

Fixes #6580
https://gitlab.com/kicad/code/kicad/issues/6580
2020-12-03 10:45:47 +01:00
Jeff Young a207bd97bb Naming conventions. 2020-11-17 16:05:49 +00:00
Jeff Young f0d0e17aab Prepare for MODULE -> FOOTPRINT. 2020-11-13 15:16:24 +00:00
Wayne Stambaugh 3dde4e5616 Eeschema: fix yet another symbol properties dialog layout issue.
Stop trying to make a read only wxTextCtrl with a custom font work
for displaying the symbol library identifier and use an ellipsized
wxStaticText control with the standard font instead.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6240
2020-10-31 08:36:59 -04:00
Marek Roszko 14c18b7e64 Move ui functions out of common and into ui_common 2020-10-25 20:01:12 -04:00
Jeff Young 346b7178b7 Repair the way other units are collected when syncing symbol fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/6106
2020-10-24 22:39:53 +01:00
Ian McInerney 06bf7943b7 Minor warning fixes 2020-10-21 00:30:50 +01:00
Jeff Young e497639320 Don't allow both DeMorgan alternates and general pin alternates.
Fixes https://gitlab.com/kicad/code/kicad/issues/6087
2020-10-20 22:26:47 +01:00
Jeff Young 6dfcfb0177 Rename DIALOG_EDIT_COMPONENT_IN_SCHEMATIC -> DIALOG_SYMBOL_PROPERTIES 2020-10-18 00:26:37 +01:00
Renamed from eeschema/dialogs/dialog_edit_component_in_schematic.cpp (Browse further)