Commit Graph

10348 Commits

Author SHA1 Message Date
jean-pierre charras d1caadeb4f symbol editor: fix small issues:
* save visibility of the properties panel
* fix correct size of the properties panel after hide/show it.
2023-07-30 11:04:49 +02:00
jean-pierre charras 1548b14f84 DIALOG_LIB_SYMBOL_PROPERTIES: fix incorrect state of two wxCheckboxes.
When opening the dialog, m_excludeFromBomCheckBox and  m_excludeFromBoardCheckBox
states were the opposite of the actual symbol property.
Fixes #15269
https://gitlab.com/kicad/code/kicad/-/issues/15269
2023-07-30 08:42:33 +02:00
Seth Hillbrand 018d60eb40 Fix-up for previous commit
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
2023-07-28 09:47:18 -07:00
Seth Hillbrand 7bd3992350 Change stale_bus_members to work around MSVC issue
Somehow, MSVC vector gets corrupted in certain cases.  While the
mechanism is unclear, using an unordered_set avoids this problem

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
2023-07-28 09:35:39 -07:00
Mike Williams 1e66129218 Schematic: Align Elements to Grid needs to respect grid overrides 2023-07-27 10:45:27 -04:00
Mike Williams c0a9cf2cfa Schematic Point Editor: fix cancel of point drag 2023-07-27 10:45:27 -04:00
jean-pierre charras db382f8782 Eeschema: Export symbols to New Library: Fix Cancel button not working
This bug can crash Eeschema.
Fixes #15278
https://gitlab.com/kicad/code/kicad/-/issues/15278
2023-07-27 15:14:49 +02:00
Jon Evans 148e111579 Refactor pin orientation to be an enum class
Add various LIB_PIN properties
2023-07-26 23:46:15 -04:00
Jon Evans 000fa28ffc Properties: initial infrastructure for symbol editor 2023-07-26 18:32:14 -04:00
jean-pierre charras 5ea170baab Symbol editor: fix crash when trying to "drag" an item.
Drag or move is an option of the schematic editor, and not in symbol editor.
So it cannot be tested in code for the symbol editor.
Fixes #15264
https://gitlab.com/kicad/code/kicad/-/issues/15264
2023-07-26 08:58:22 +02:00
Seth Hillbrand 530af96da2 Prevent null dereference 2023-07-25 10:53:05 -07:00
Mike Williams 132a0ada73 Grid Overrides: support grids-per-type that override the current grid.
Schematic only at this point while we test and refine.

PCB support is a future addition.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-07-25 10:17:57 -04:00
jean-pierre charras a16ab0aae1 Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344 about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
Seth Hillbrand 9902250f5d Fix a couple of issues with NAVLIB version checker
Need to include core lib in kiplatform for the version functions.  Need
to link kiplatform into the navlib library in eeschema to load
2023-07-24 13:55:12 -07:00
Seth Hillbrand 32ad42a435 Add 3dconnexion driver version check
Re-enable 3dconnexion driver by default as we are able to gate the
driver versions

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13362
2023-07-24 18:09:52 +00:00
Josue Huaroto eeb74dbae9 Sort SCH_ITEM by name on paste 2023-07-24 16:37:25 +00:00
jean-pierre charras e9f6ff4366 Simulator frame: removes * indicator for unsaved workbook after saving it.
Fixes #15236
https://gitlab.com/kicad/code/kicad/-/issues/15236
2023-07-24 08:55:34 +02:00
Mike Williams 7d9f791518 kicad-cli: sch bom export: fix inability to disable grouping
Just set --group-by default to "" (No default grouping), and drop the
additional --group option. Also fix the exclude DNP option.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15246
2023-07-23 13:59:28 -04:00
Seth Hillbrand 7fe83993cf Be smarter about releasing lockfiles
If KiCad crashes or exits without deleting the lockfile, don't show the
warning message unless we are not the one who locked it or there are
other KiCad instances running locally.

This should catch 99% of the cases where the message is shown
incorrectly.  There may be some corner cases where the lock file is
created on a network drive using two different machines with the same
name and same user but these cases should be (famous last words)
sufficiently rare as to not be observed in practice
2023-07-21 15:40:19 -07:00
Seth Hillbrand f7f67c6d53 Sort the bus alias set by name
If we place pointers in a set, they are sorted by the pointer value in
memory, not the data, so we need a custom comparator

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11890
2023-07-21 09:03:35 -07:00
Jeff Young e4b262d6e1 Fixed-y-scale bug fixes.
Default dialog to SPICE command.
Any of the three axis locks must lock the plotWindow Y axis (otherwise
locking Y2 but not Y1 doesn't preclude zooming).
2023-07-20 17:41:23 +01:00
Jeff Young 06f19aa761 Implement y axis locking for secondary y axes.
Still a bit of a work-in-progress.

Also fixes some bugs with formatting of measurements and cursor values.
2023-07-20 17:21:19 +01:00
Jeff Young 9c08d4febe ADDED support for simulation plot margins and GUI for Y axis locking. 2023-07-19 23:40:10 +01:00
Jeff Young 65f66755ee Reduce overhead for unused code. 2023-07-19 23:25:05 +01:00
Jeff Young 764913207c Read legend position from workbook. 2023-07-19 23:25:04 +01:00
jean-pierre charras a586bbc3ea Symbol editor, DIALOG_FIELD_PROPERTIES: fix missing initialization of font.
In Symbol editor, tying to change the font of a field did nothing.
2023-07-18 18:40:53 +02:00
jean-pierre charras 3a4f3cb0b8 Minor Coverity and compil warnings fixes. 2023-07-17 16:19:22 +02:00
Jeff Young 30928796bd Repair new switch-based Global Update Text & Graphics.
We were forgetting to handle wire and bus labels.
2023-07-16 20:41:23 +01:00
Jon Evans 24a3816a34 EDA_TEXT Orientation property shouldn't be exposed to schematics
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15140
2023-07-16 15:19:13 -04:00
jean-pierre charras 58a9b75883 Eechema: Do Not Place markers: add a specific setting for their color.
Previously, the color was the ERROR ERC marker color.
Now they have a specific color.
2023-07-16 20:46:30 +02:00
Jeff Young eaa3543d67 Beautify DNP symbols.
Make sure the 'X' is centered over the body, not the body + pins.
2023-07-16 19:18:24 +01:00
Jeff Young 89e2cb0b85 Use loaded colours for DNP symbol.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15203
2023-07-16 18:35:05 +01:00
Jeff Young a16033f624 Fix logic errors in DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
(We can't exit out if it doesn't match a particular type as we haven't
checked the other types yet.  Use a switch to prevent this.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15206
2023-07-16 14:43:29 +01:00
Jeff Young 7f3839a179 Minor cleanup. 2023-07-16 14:43:29 +01:00
Jeff Young 63c83b3aed Remove dead code, and some formatting cleanup. 2023-07-16 14:43:29 +01:00
Jeff Young 5419055acb We no longer need activate actions with RunSynchronousAction. 2023-07-16 14:43:29 +01:00
Jeff Young 537d6bdb75 Don't destroy ERC dialog twice.
(And some other cleanup.)
2023-07-16 14:43:29 +01:00
Jeff Young a09a5cb641 More undo cleanup.
The symbol editor has few enough items that it will still be performant
if we always send a selected-item-modifed event.  (As it turns out we
were doing that anyway as the check for child-modified flags didn't
also check for selected.)
2023-07-16 14:43:29 +01:00
Roberto Fernandez Bautista cf0b719a4a Fix some unreachable code msvc warnings 2023-07-16 15:41:05 +02:00
Jeff Young 89780d353a Pick up snapped item's line properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15192
2023-07-15 20:22:34 +01:00
Jeff Young 1218f61d0a Implement undo/redo for footprint children.
Our special-cases to handle the fact that we didn't do this had far
outgrown the code necessary to actually handle it.
2023-07-15 17:37:31 +01:00
Marek Roszko 3233bbe0ba Make exported date time strings use ISO8601 format
Also rename the function to be explicit on its result format

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15185
2023-07-14 23:24:12 -04:00
Jeff Young 24e9cf4fd8 Improve self-documentation of sim workbook. 2023-07-14 21:02:51 +01:00
Jeff Young 041bd2a54f JSON bools can be read straight up; no need to compare to "true".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15197
2023-07-14 20:58:12 +01:00
Jeff Young 3aa479cd54 Fix typo. 2023-07-14 19:48:28 +01:00
Jeff Young 593b77be8c Fix typo. 2023-07-14 19:47:15 +01:00
Jeff Young cbf685ad76 Clear owner of old watcher before resetting std::unique_ptr.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15173
2023-07-14 19:32:20 +01:00
Jeff Young 054252ccbe Move sim workbook to json.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15197
2023-07-14 17:46:06 +01:00
Jeff Young ff044cd0cf Mostly a terminology update...
... but also makes DIALOG_SIM_COMMAND and SIMULATOR_REPORTER a bit
more simulator-agnostic.
2023-07-14 17:46:06 +01:00
Jeff Young 8d2c744349 More error messages for reading workbook files.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15197
2023-07-13 23:54:00 +01:00
Jeff Young c4179cb996 Correctly initialize New Simulation Command dialog. 2023-07-13 23:37:48 +01:00
Jeff Young 5f8583cd25 Try both ends to see if one is a wire.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15178
2023-07-13 18:20:28 +01:00
Jeff Young 964e42a611 ADDED text-based pole-zero analyses. 2023-07-13 16:18:25 +01:00
Jeff Young 841b693c91 Add pole-zero command parsing and printing. 2023-07-13 16:04:29 +01:00
Jeff Young 2e89c735c0 Fix buffer overrun.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15187
2023-07-13 16:04:29 +01:00
Josue Huaroto 4cad021ef4 Add Open preferences folder button in Preferences Dialog 2023-07-13 14:10:31 +00:00
Sergio Costas 181ae7f450 Change all bare isnan calls into std::isnan 2023-07-13 12:55:58 +00:00
Mike Williams cfa0d4bfb7 Symbol Fields Table: handle missing fields better
Treat missing ones as empty, unless they are a named variable field and
then resolve the field.
2023-07-12 16:40:08 -04:00
Mike Williams e26dcbece4 Symbol Fields Table: add item number support 2023-07-12 15:08:50 -04:00
Mike Williams 265720ec65 BOM Export: add DNP to Group By * defaults
Closer to the BOM export scripts we are trying to replace, and gives the
user a clue that fields with variables names are way to export other
data.
2023-07-12 12:16:14 -04:00
Mike Williams 7cb8d3d1c9 Schematic fields: implement fields with variables as names
Special case that always fills in the value with the value of the
variable
2023-07-12 12:16:14 -04:00
Alex Shvartzkop 89a9eee174 LTspice import: fix Mac path variable shadowing. 2023-07-12 18:07:26 +05:00
Jeff Young 0a28956cf8 Replace misssing "if" stmt and make outer "if" catch all cases of log scales.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15174
2023-07-12 10:41:46 +01:00
Alex Shvartzkop f8f7b84f13 LTspice import: add LTspice 17.1 Windows library path. 2023-07-12 10:57:30 +05:00
Alex Shvartzkop c652abecff LTspice import: don't scan input file directory recursively. 2023-07-12 09:58:51 +05:00
Alex Shvartzkop 2266ba78c5 LTspice import: much faster library path scanning. 2023-07-12 08:38:18 +05:00
Alex Shvartzkop 32fdb231b2 LTspice import: fill symbol rectangles with body color when needed. 2023-07-12 08:38:18 +05:00
Alex Shvartzkop 568a461080 LTspice import: Fix multiline text alignment. 2023-07-12 08:38:18 +05:00
Jeff Young f8f29b55cb Don't promote to sheet parent when the item itself is a sheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15167
2023-07-11 14:52:05 +01:00
Jeff Young c3d10084b9 ADDED footprint associations dialog. 2023-07-11 14:52:05 +01:00
Alex Shvartzkop 0bc546fa62 LTspice import: fixes for graphical items. 2023-07-11 16:03:29 +05:00
Alex Shvartzkop a5ba9ccce2 LTspice import: don't try loading .asc files for non-subsheets.
Subsheets don't have "Prefix" attribute, components do.
2023-07-11 16:03:29 +05:00
Alex Shvartzkop ef1a2ff050 LTspice import: text and pin justification, polarity fixes. 2023-07-11 13:00:43 +05:00
Alex Shvartzkop e80e4ff410 LTspice import: hide pin names with None justification, hide pin numbers 2023-07-11 12:57:56 +05:00
Wayne Stambaugh 929a6a2b99 Coding policy fixes. 2023-07-10 19:24:59 -04:00
Alex Shvartzkop b957c1ad17 LTspice import: Support VCenter text justification 2023-07-11 04:09:16 +05:00
Alex Shvartzkop 1e149704b8 LTspice import: Fix M270 symbol orientation. 2023-07-11 04:09:16 +05:00
Alex Shvartzkop cab0db76f8 Clear view before resetting schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15159
2023-07-11 03:00:42 +05:00
Wayne Stambaugh 415dcf82c4 Coverity issue fixes.
CIDs 462497, 462496, 462495, 462494
2023-07-10 17:48:27 -04:00
Wayne Stambaugh aeed542202 Net navigator fixes and improvements.
Remove wires, junctions, and bus entries from tree.  These objects make
the net tree noisy for complex nets.  Until a sane way to group these
objects can be, remove them for now.

Fix tree expansion and debug assertion issues.
2023-07-10 15:34:00 -04:00
Jeff Young eedf319ba4 Don't double-offset effective text shapes.
Also fixes several bugs with intersheet ref fields.  (It's possible for
other fields to have an ID of 0.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15165
2023-07-10 19:32:00 +01:00
Jeff Young d2f9994fc5 SCH_SHEET::GetContextualTextVars() will return Project text vars.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15123
2023-07-10 12:40:04 +01:00
jean-pierre charras 6a47fe1e3c simulator: shows the wxCURSOR_ARROWWAIT cursor only when the sim is running.
Reset the mouse cursor to its default shape when the simulation is finished.
2023-07-10 13:30:14 +02:00
Jeff Young 3ba7e7e993 A few baby steps in trying to straighten out LTSPICE_SCHEMATIC::Load(). 2023-07-10 11:34:06 +01:00
Jeff Young 229dcde948 Fix a memory leak.
There are likely *many* more in this routine, but I can't quite
understand what it's trying to do.
2023-07-10 11:34:06 +01:00
Jeff Young 8f9a67063a Straighten out some really confusing terminology in simulator GUI. 2023-07-09 23:07:54 +01:00
Jeff Young 7608350bdc Iron out NewPlot vs EditSimCommand.
Also don't confuse SIM_PLOT_PANEL_BASE with SIM_PLOT_PANEL.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15157
2023-07-09 22:38:48 +01:00
Roberto Fernandez Bautista dfe7051171 LTspice importer fixes
- Correctly find the library paths for new and old LTspice versions
- Use case insensitive comparison (store element names as lower case in the map)
- Better search paths
- Allow user to copy contents of LTspice "lib" folder to the same folder as file being imported

Partially addresses https://gitlab.com/kicad/code/kicad/-/issues/15061
2023-07-09 22:53:23 +02:00
Roberto Fernandez Bautista 6539171459 LTspice importer - remove dead code 2023-07-09 22:51:21 +02:00
Jeff Young 5aed30ac79 Handle RepeatLastItem for TwoClickPlace items.
(Note that we've always excluded sheet pins from RepeatLastItem.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15108
2023-07-09 20:33:33 +01:00
Jeff Young 6182ff4834 Handle delete of sheet pins.
SCH_COMMIT::Stage() can handle promoting the parent, but then the pin
needs to be removed first.  I think it's probably clearer if we just
do the promotion in the delete routine.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15129
2023-07-09 13:40:27 +01:00
Jeff Young a66360525a Broaden "Style footprint fields" to cover graphics as well.
Also cleans up the layout of the symbol & fp properties dialogs.

Also fixes the background colour of the link textEdit controls on Mac.

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15152
2023-07-09 12:45:55 +01:00
Mike Williams cb01ac53fa Schematic: allowing swapping sheet pins on same sheet
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15122
2023-07-08 20:26:26 -04:00
Jeff Young 25445d9fe0 Make sure all items managed by their parent get correct handling in SCH_COMMIT.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15129
2023-07-08 20:40:30 +01:00
Jeff Young d48e7f159c Re-install tool view items after clearing the view.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15149
2023-07-08 20:40:30 +01:00
jean-pierre charras 9ee21e4eeb simulator: do not show a message saying a command directive has changed
when there is no old command directive.
2023-07-08 20:30:57 +02:00
Jeff Young 12ed015174 Fix selection highlighting of heirarchical labels and sheet pins. 2023-07-08 18:50:04 +01:00
Jeff Young 5bca002567 Swap non-temp and non-edit flags for SCH_ITEMs.
This is required to keep selected and brightened state across undo.

It's also probably required for things like IS_SHOWN_AS_BITMAP and
possibly ENTERED.  FWIW, most BOARD_ITEMs do a straight swap, including
the temp and edit flags.  But that seems like a risky change....

Also removes SyncView() call from Undo/Redo as that does a MODEL_RELOAD
which clears the selection.
2023-07-08 18:37:47 +01:00
Jeff Young c8e8b71198 TestDanglingEnds needs to test sheet pins as well.
Also fixes a bug where zooming doesn't get a redraw until mouse moves.

Also fixes a couple of bugs where dangling markers on SCH_SHEET_PINs
and SCH_HIERLABELs weren't getting drawn.

Also simplifies drawing algorithm by removing aesthetic offset (which
wasn't implemented when pin is drawn as part of selection VIEW_GROUP).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15129
2023-07-08 12:55:45 +01:00
jean-pierre charras 70ffd971e3 Fix a bug found by Coverity. 2023-07-08 12:51:21 +02:00
Jeff Young 30c2049977 Handle inference of V7 symbol lib DC voltage/current sources.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15127
2023-07-07 16:25:05 +01:00
Jeff Young 534a3efce1 Add a couple of TODOs for SCH_COMMIT. 2023-07-07 15:40:15 +01:00
Jeff Young 922f7128a9 Move item updating and view refresh to SCH_COMMIT::Push().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15132
2023-07-07 15:40:01 +01:00
Jeff Young bde9c2cbc5 ADDED FFT analyses.
CHANGED abandon the unpredictable behaviour of the Simulation Command
dialog.  You now separately add simulation tabs (which have invariant
command types once created), and the dialog edits the current tab.

Also a bunch of bug fixes to make multiple simulation plots actually
work.
2023-07-07 12:33:50 +01:00
Jeff Young d5d2800b03 Sort out terminology issues between vectors and plots. 2023-07-07 12:33:50 +01:00
Jeff Young 443a5dc3bb Syntax help for SPICE functions. 2023-07-07 12:33:49 +01:00
jean-pierre charras 27072e52f7 Fix a compil and Coverity warnings 2023-07-07 10:28:01 +02:00
Ian McInerney 0fd2efa283 Give unfold bus a default parameter for hotkey invocation
Fixes KICAD-2JN
2023-07-06 23:07:24 +01:00
jean-pierre charras bc8cc826cc Eeschema, PlotInteractiveLayer(): do not print useless info in a PDF plot.
It makes this info more easily readable.
- Remove duplicate properties/fields
- Do not plot empty properties/fields
2023-07-05 11:08:25 +02:00
Jeff Young e494017b54 Fix merge error. 2023-07-04 18:53:15 +01:00
Fabien Corona 886a7c2c04 ADDED: S-parameters simulation 2023-07-04 16:01:12 +00:00
Jeff Young d563d66b86 ADDED Fourier analyses of .tran data. 2023-07-04 16:54:38 +01:00
Jeff Young 492ef62053 ADDED support to save contributions from all noise generators.
You must first check the checkbox in the Simulation Command dialog,
after which the signals will appear in the User Defined Signals
autocomplete lists.
2023-07-04 11:05:10 +01:00
Alex Shvartzkop 37772ac29e Altium schematic: import net label justification. 2023-07-04 10:27:46 +03:00
Jeff Young 7d3fa8fb4e Plotting for noise simulations.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2369
2023-07-03 23:12:28 +01:00
Jeff Young 80340c607c ADDED noise simulation GUI. 2023-07-03 16:26:20 +01:00
Marek Roszko b5e420c33c Fix EDA_TEXT creation that worked due to implicit cast
A leftover from the units object rework and I forgot to double back. The DEFAULT_SIZE_TEXT is set inside the constructor now
2023-07-03 11:23:30 -04:00
Ian McInerney 247fda80ef Give schematic editor's placeImage action a default parameter 2023-07-03 11:38:51 +01:00
jean-pierre charras c00c0cf581 SCH_PLOTTER: fix an issue after plotting a hierarchy (at least 2 sheets)
SCH_EDIT_FRAME::SetCurrentSheet( xxx ) was used to switch to a sheet, but
SCH_EDIT_FRAME::SetCurrentSheet() has side effects to the current VIEW
(clear some data used to show the sheet on screen) and does not fully
restore the "old" screen
SCHEMATIC::SetCurrentSheet( xxx ) is now used to switch to a sheet
2023-07-03 10:33:05 +02:00
Alex Shvartzkop 36901bda62 Eeschema: don't plot hiererchical sheet fill when color is transparent. 2023-07-03 02:15:05 +03:00
Alex Shvartzkop 86458ae582 Eeschema printing: fix bg fill when paper orientation or size differs. 2023-07-03 02:15:05 +03:00
Alex Shvartzkop b242779f3b Put background color behind transparent bitmaps in eeschema printing.
Most virtual printers don't support alpha blending via AlphaBlend (MSW)
properly, nor masks.
2023-07-03 02:15:05 +03:00
Alex Shvartzkop 55b31030c0 Perf: don't search for niluuid items when moving cursor in eeschema.
Reduces CPU usage by 60% in some cases.
2023-07-03 02:15:05 +03:00
jean-pierre charras f5d7edaa73 PANEL_SYM_EDITING_OPTIONS: Fix a focus event issue (perhaps platform specific) 2023-07-02 19:46:56 +02:00
Jeff Young ec9b2919ba Allow user-entered repeat pin spacing, but force to grid multiples.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14207
2023-07-02 17:23:01 +01:00
Jeff Young 03fd9c2086 Fix refresh bug after a symbol reload from the file watcher.
Also moves EE_POINT_EDITOR to SCH_COMMIT.  (There was another refresh
bug in RollbackSymbolFromUndo() -- whose only caller was the
EE_POINT_EDITOR's old undo code).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14274
2023-07-02 10:37:50 +01:00
Jeff Young 4cbf512461 Support synchronous move in symbol editor.
Also removes duplicate-during-move.  It's not really compatibile with
a passed-in SCH_COMMIT, and it was never clear it was worth the code.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14274
2023-07-02 10:37:50 +01:00
Jon Evans 632e94ef81 Add a few more schematic properties 2023-07-01 22:24:25 -04:00
Jeff Young efac777f28 Don't DisplayCurrentSheet() if we're already on it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14305
2023-07-01 21:57:40 +01:00
jean-pierre charras f3a0c2b658 netlist_exporter_allegro: fix a compil warning, clearly created by a bug in code.
I am not sure the first author wanted to do, but at least the strange
and broken code (clearly due to a too zealous copy/paste) is fixed.
2023-06-30 20:08:13 +02:00
Jeff Young 773e1a1ab6 Actions with a COMMIT must be run synchronously.
Note that "immediate" doesn't mean quite the same thing: while it will
enter the tool immediately, it won't necessarily finish the tool during
the call if the tool has an event loop.  So for something like Rotate
"immediate" and "synchronous" have the same behaviour, but for something
like Move they do not.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15085
2023-06-30 18:57:37 +01:00
Jon Evans 59495971ee Properties: fixes to color swatches 2023-06-29 22:53:06 -04:00
Ian McInerney bb4fb9088f Gracefully handle no symbols found in change symbols dialog
Fixes KICAD-2BJ
2023-06-29 23:21:15 +01:00
Seth Hillbrand 7779a01d48 SIM_VALUE stores significants in 64-bit
stol isn't neccesarily 64-bit though, so we use stoll and catch the
overflow if we have bad input data

Fixes KICAD-2EF
2023-06-29 09:50:27 -07:00
jean-pierre charras 3ef757e3b9 EEschema: hide the splash screen before reading a file, to avoid obfuscate
a info dialog, if any.
Fixes #15076
https://gitlab.com/kicad/code/kicad/-/issues/15076
2023-06-29 12:34:04 +02:00
Jon Evans 3487124a4a Properties: Improve color picker UX 2023-06-28 23:54:27 -04:00
Jon Evans 200316d869 Remove duplicate fields block from netlist exporter
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15055
2023-06-28 20:38:10 -04:00
Ian McInerney c3674e6858 Fix incorrect parameter passing in symbol editor drawing
The text box used a different enum than the shapes, so this leads to a
possibility of clashing. The new action framework flagged this problem,
so modify the tool to handle the shape types properly.

Fixes KICAD-2CJ
2023-06-29 00:17:12 +01:00
Youbao 4cb993d872 ADDED: Cadence Allegro PCB Designer netlist exporter 2023-06-28 22:47:30 +00:00
Roberto Fernandez Bautista 6d3f512e15 Ensure symbols in subsheets are added to multi-unit map before re-annotating
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14918
2023-06-28 23:30:10 +02:00
Fabien Corona 8abb701727 IBIS: model type should not be case sensitive
Fixes #15068
2023-06-28 22:49:41 +02:00
Jeff Young 2278f5dbca Don't try to be smart about enabling the Clear Annotation button.
(At a minimum it would need to also handle when the scope changes, but
it's not clear we're adding anything by enabling/disabling it to start
with.)
2023-06-28 14:56:50 +01:00
Ian McInerney 2a940a5f70 Add COMMIT to TOOL_EVENTs instead of passing as a parameter 2023-06-27 00:57:59 +01:00
Ian McInerney 2fb6f19a84 Separate immediate and delayed action dispatch
Using a boolean argument just leads to a lot of trailing booleans in the
function calls and is not user friendly. Instead, introduce PostAction()
to send an action that runs after the coroutine (equivalent to passing
false or the default argument), and leave RunAction as the immediate
execution function.
2023-06-27 00:57:59 +01:00
Jeff Young aa8dbc03a2 Error reporting for missing ltspice symbol (.asy) files. 2023-06-26 21:59:57 +01:00
Jeff Young 29d2265c01 Clean up dead code. 2023-06-26 20:51:58 +01:00
Jeff Young 4f52c69724 Better path handling for importing LTspice files. 2023-06-26 20:51:16 +01:00
Jeff Young ed6487da1e Disallow sheet pins from changing sides when edited by point editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15057
2023-06-25 19:55:13 +01:00
Jeff Young 40fcfe891d Move pinnumber above pins if pinnames aren't shown.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14998
2023-06-25 16:01:35 +01:00
Jeff Young 3a301e50ae Clear all edit flags when pushing SCH_COMMIT. 2023-06-25 16:01:35 +01:00
Jeff Young e7ee6e1f26 Modified flags are handled by SCH_COMMIT. 2023-06-25 16:01:35 +01:00
Jeff Young 9854acd9e6 Don't set IS_CHANGED on symbol when modifying LIB_PINs for painting. 2023-06-25 16:01:35 +01:00
Ian McInerney 118b815824 Get proper LINE_MODE type from tool event.
Properly fix https://gitlab.com/kicad/code/kicad/-/issues/15053
2023-06-25 13:43:32 +01:00
Ian McInerney b00361d136 Revert "Don't use TOOL_EVENT parameters for line modes."
This reverts commit 84a63f7daa.
2023-06-25 13:37:58 +01:00
Jeff Young 84a63f7daa Don't use TOOL_EVENT parameters for line modes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15053
2023-06-25 11:10:07 +01:00
Jeff Young 493828cc6b Eradicate a bunch of calls to dyn_cast.
Also deletes PAD::GetParent() which fails to look for parent footprint
through groups.
2023-06-25 11:10:07 +01:00
Jeff Young 300a60e88e Eradicate a bunch of calls to dyn_cast. 2023-06-25 11:10:05 +01:00
Jon Evans d4b7144448 Properties: expose symbol attributes
Flip polarity of exclude-from-BOM and -board for symbols
to match that of footprints and match the GUI display.
2023-06-24 22:03:06 -04:00
Jon Evans f0d8edae1e Move sch properties panel to using default AUI pane info struct 2023-06-24 20:09:07 -04:00
Jon Evans bf2e9f8261 Properties for SCH_LINE
Also rename an incongruous setter
2023-06-24 20:08:42 -04:00
Jeff Young 1c1849ec1a Clear IS_MOVING (as well as IS_NEW) in SCH_COMMIT::Push().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15051
2023-06-24 17:15:43 +01:00
jean-pierre charras 1094cc5331 Fix issues related to the splash screen when no config file found:
- do not show it before the application is actually started.
- hide the splash screen before displaying dialogs.
Fixes #15047
https://gitlab.com/kicad/code/kicad/-/issues/15047
2023-06-24 18:09:43 +02:00
Alex Shvartzkop bce643feae Don't draw LIB_PIN and SCH_LINE on OP layers when OP is empty.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15041
2023-06-24 16:01:58 +03:00
Jeff Young 4764606a9d Sheet pins are owned by their parents, so the parent must go in the SCH_COMMIT.
Also collapses a bunch of duplicated code.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15044
2023-06-24 12:35:48 +01:00
jean-pierre charras 830b67ead7 Eeschema: SaveSettings() : save visibility of Properties Panel in config. 2023-06-24 08:44:34 +02:00
Jeff Young a901247cbd Rebuilding connectivity must be done after changes are committed.
It also needs to be done after undo and redo.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15028
2023-06-23 22:10:17 +01:00
Jeff Young 237cc7eee1 Move TestDanglingEnds() to SCH_COMMIT.
Also fixes a bug where Convert Symbol wasn't undoable.

Also cleans up some SetModified() call no longer needed with SCH_COMMIT.

Also fixes bug where revert of a modification didn't update the screen's
RTree.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15030
2023-06-23 19:59:46 +01:00
jean-pierre charras db8201717d SCH_FIELD::GetCanonicalName() : the name must be the not translated name,
previously, it returned the translated string, by definition not the
canonical name
2023-06-23 17:48:19 +02:00
Jeff Young aa6d9ad69a Clear IS_NEW flags on commit.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15037
2023-06-23 15:30:09 +01:00
Jeff Young 1c13f5a0db Fix selection shadown drawing for global labels.
(The border should get shadowed, and the shape should get filled if
m_Selection.fill_shapes is set.)
2023-06-23 15:30:09 +01:00
Jon Evans 7804c2177c Do not force focus on dataview in RC dialogs
On GTK, this causes the first item to be selected, firing the
selection handler and causing unwanted side effects.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11925
2023-06-23 08:09:53 -04:00
jean-pierre charras 1698fb6608 Refinement of commit 355575e4 (drawing shadow texts of RULER_ITEM and pin names)
Also handle non Kicad fonts (that do not use shadow texts)
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-06-23 10:32:23 +02:00
Jon Evans 3a0f8214fa ADDED: Properties panel for schematic editor
Initial infrastructure work; follow-ons will add more
properties for schematic items.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6351
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14105
2023-06-22 22:32:24 -04:00
Jon Evans 39a5929f33 Database libraries performance improvements
Rework caching system and optimize queries
2023-06-22 18:49:37 -04:00
Erik Agsjö bc0da92703 Fixes after merge request feedback 2023-06-22 16:20:05 +00:00
Erik Agsjö 2651d7ff5b Fixes crash in wire property dialog
Fixes crash when changes are applied with the style combo in the
indeterminate state.
2023-06-22 16:20:05 +00:00
Jeff Young f892194be4 Don't reset page unless we have to.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15033
2023-06-22 16:56:52 +01:00
jean-pierre charras 355575e477 Fix some (minor) issues when drawing shadow texts of RULER_ITEM and pin names.
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-06-22 13:28:43 +02:00
Jeff Young 7138e8a62e Don't double-create pins when migrating old models. 2023-06-21 16:34:35 +01:00
Mike Williams 043ed0b148 Schematic: fix up more field ID parsing to fix QA 2023-06-21 10:51:28 -04:00
Ian McInerney 19f5c16708 Ensure const-ness matches across draw wire event parameters 2023-06-21 14:06:25 +01:00
Ian McInerney a2bd7192c0 Add default empty symbol to place symbols/power actions 2023-06-21 13:42:21 +01:00
Mike Williams 5b4ddaba89 Schematic: fix field parsing when some mandatory fields are missing 2023-06-20 22:05:03 -04:00
Ian McInerney 480223f67c More RunAction specialization 2023-06-20 21:52:50 +01:00
Ian McInerney b04e54dbea Switch TOOL_EVENT and TOOL_ACTION to have a std::any parameter
Using std::any from C++17 allows for proper type handling in the
parameter field, removing the need for casting to void* and then casting
the void* to the desired type.
2023-06-20 21:52:50 +01:00
Mike Williams 1d26b454f4 SCH -> PCB Fields: bump file versions 2023-06-20 18:34:52 +00:00
Mike Williams a24c55affe PCB Fields: fix up python, API
Remove SetFields from both symbol and footprint, it doesn't handle
mandatory fields and is unlikely to ever be safe.
2023-06-20 18:34:52 +00:00
Mike Williams 85f889bc19 Fields: Description now mandatory
Propagate from symbols to footprints, footprints keep a library
description, too. (GetLibDescription())
2023-06-20 18:34:52 +00:00
Mike Williams 7d84fa2a9d Validators: drop unused is m_isLibEditor 2023-06-20 18:34:52 +00:00
Mike Williams ddafa2e75d Common: move SCH_FIELD_VALIDATORS to FIELD_VALIDATORS
Fields are now common across PCB/SCH
2023-06-20 18:34:52 +00:00
Mike Williams 941d9c957d Netlist: export fields in its own section 2023-06-20 18:34:52 +00:00
jean-pierre charras a9fff82664 spice_library_parser: catch an exception thrown when a spice model cannot be built.
Fixes #15012
https://gitlab.com/kicad/code/kicad/-/issues/15012
2023-06-20 10:26:42 +02:00
Jeff Young b1cdcca9e6 Use hypertext link for Edit Ingored Tests in both ERC and DRC.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15010
2023-06-19 23:53:42 +01:00
Jeff Young 5b12b5d031 Cleanup. 2023-06-19 23:03:01 +01:00
Jeff Young 0b58fdb910 Use KIUI to specify the simulation plot axis fonts.
Also fixes a bug in generating the x-axis for the first trace.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14997
2023-06-19 22:53:08 +01:00
Jeff Young 30336b2fe3 Unify go-back-one-step processing for drawing tools (and router).
Also warps mouse on all go-back-one-step operations for better feedback.

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9985
2023-06-19 17:14:32 +01:00
Jeff Young e9046076a6 Fine-tune SCH_COMMIT handling of child objects.
While a SCH_SHEET does indeed have a SCH_SHEET parent, it's not one of
the children that gets added as a CHT_MODIFY of its parent.

Also fixes a bug where the newly drawn sheet gets removed from the
preview before running the dialog.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14976
2023-06-18 16:52:11 +01:00
Jeff Young 9199d7a781 Update simulation results as the sim runs.
Also adds a time axis which grows by 2X at a time rather than to the
size of the current data.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11255
2023-06-18 16:52:11 +01:00
jean-pierre charras 9447c3d455 symbol editor: fix issue after loading a symbol from a library.
Selected items become invisible.
(similar to the issue fixed by commit b622e3a3f7)
Fixes #14151
https://gitlab.com/kicad/code/kicad/issues/14151
2023-06-18 17:17:16 +02:00
Jon Evans fc69939190 ADDED: GUI feedback when grid setting is changed by hotkey
Can be extended to other cyclical hotkey settings

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-06-17 23:18:50 -04:00