Jeff Young
d7a3c35f56
Repair over-zealous application of grid origin dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15537
2023-08-29 12:21:21 +01:00
Jeff Young
6f1a41f810
Repair over-zealous grid change.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15526
2023-08-29 12:16:06 +01:00
Jeff Young
c3d6fecccc
Update pin plotting to match pin painting.
...
(In particular, we moved the number to the top when the name is
not shown, but forgot to update the plotter.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15501
2023-08-29 11:17:35 +01:00
Seth Hillbrand
b43f037a91
Better handle many (MANY) duplicate refs
...
In large designs with thousands of duplicate elements (e.g. power
symbols), we need to be smart about vector management. Removing all but
the first few items should be batched and not element at a time
Ref: KSC-885
2023-08-28 17:05:09 -07:00
Jeff Young
f6a901f84a
Attempt to fix ctrl-enter from parameter grid on MSW.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15244
2023-08-29 00:09:18 +01:00
Seth Hillbrand
9636321c09
Simplify logic when setting field vector
...
Previous logic could get stuck in infinite loop if removing element from
the middle of the vector
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15498
2023-08-28 15:26:19 -07:00
Roberto Fernandez Bautista
18e6fa6a53
Fix nullptr exception in cadstar sch plugin
...
Fixes KICAD-30E
2023-08-28 20:49:42 +02:00
Roberto Fernandez Bautista
ae05bf723e
Symbol Library Table: Convert CADSTAR and other non-current Symbol Libraries
...
Anything other than database libraries and kicad s-expr libraries should be converted
2023-08-28 20:49:42 +02:00
Jeff Young
2c81788299
HasAutofill should not preclude a primary parameter in the value field
2023-08-28 17:44:45 +01:00
Jeff Young
f12c3bb6ff
Align sheetpins to grid even when parent sheet is already on grid.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15050
2023-08-28 16:35:04 +01:00
Wayne Stambaugh
e4feb8826b
Coverity issue fixes.
2023-08-28 09:29:56 -04:00
jean-pierre charras
f4bf3bf611
Do not use the deprecated wxWidgets wxPATH_NORM_ALL flag.
...
Replaced by our equivalent FN_NORMALIZE_FLAGS flag.
Fix also a typo in a string.
2023-08-28 14:37:15 +02:00
Jeff Young
10ed1d1a7f
Save ERC settings (including exclusions) when saving file.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15274
2023-08-28 13:27:57 +01:00
Jeff Young
4325f4e038
ADDED: alternate pin functions in context menu.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12852
2023-08-28 12:51:41 +01:00
Roberto Fernandez Bautista
0e1baa6fef
CADSTAR Parts Libraries: Correctly handle relative paths to .csa file
2023-08-27 20:52:46 +02:00
Roberto Fernandez Bautista
7037076360
Symbol Library Table: Show CADSTAR Parts Libraries in file selector
...
Even if same extension, it is good to display it as a way of showing what
we support
2023-08-27 20:52:45 +02:00
Jeff Young
b5dc9ddbe0
Don't store address of temp object.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15517
2023-08-27 19:12:36 +01:00
Jeff Young
a470cab7b2
Include description for page settings command.
2023-08-27 19:03:17 +01:00
jean-pierre charras
15f5a14217
Fix minor compil warnings
2023-08-27 11:11:08 +02:00
Jeff Young
7f14b70ac3
Formatting.
2023-08-26 22:43:00 +01:00
Jeff Young
2d630a3c75
Remove useless assert.
2023-08-26 22:43:00 +01:00
Jeff Young
949458bbe1
Don't presume all cached glyphs are outline glyphs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15508
2023-08-26 16:12:28 +01:00
Jeff Young
468da441e5
Allow junctions to connect to labels.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15496
2023-08-26 16:00:13 +01:00
Jeff Young
4fefd95e0c
Move grid definitions to Prefs and grid origin to a separate dlg.
...
Grid origin is document-wide, while grid definitions are app-wide.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2262
2023-08-26 13:32:24 +01:00
jean-pierre charras
b3aa8a0c49
Fix a few (minor) compil warnings.
2023-08-26 09:40:09 +02:00
Alex Shvartzkop
f071dd1406
Fix a search pane crash when a row isn't in the hit list.
...
Fixes KICAD-Q7
Fixes KICAD-1A6
2023-08-25 23:24:32 +03:00
Wayne Stambaugh
1db9febcfe
Remove duplicate references from change symbol dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15480
2023-08-25 14:08:21 -04:00
Alex Shvartzkop
26f398a4b1
Set reporter in DIALOG_SIM_MODEL::TransferDataToWindow.
...
It could've been set to point to local variable "reporter" in loadLibrary.
Fixes KICAD-15C
2023-08-25 20:59:56 +03:00
Alex Shvartzkop
cb3c63b2b1
Fix arc rendering in schematic / symbol editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
2023-08-25 15:42:50 +03:00
Josue Huaroto
b224af0d1f
Add SCH_TEXT_T and SCH_FIELD_T to Scaled Selection
2023-08-24 16:54:01 +00:00
Mike Williams
d00a6b4987
Dialogs: add some margins back for GTK
2023-08-24 12:38:54 -04:00
Jeff Young
0f81dd3b5e
Give Grid Settings a more standard KiCad look and feel.
...
Also simplifies the dialog by removing the user grid (now that you
can add as many user grids as you want).
This does mean that you can no longer have an asymmetric grid, but
it gets too complex if we allow everything for everyone.
2023-08-24 16:41:08 +01:00
Mike Williams
d9c2e0ab54
PCB: start of grid overrides
...
Only works for moves.
2023-08-24 10:29:09 -04:00
Mike Williams
0f781f328e
GRID_HELPER: push code to parent class
...
Prep'ing for PCB grid overrides
2023-08-24 10:29:09 -04:00
Wayne Stambaugh
0f621f9af9
Fix multiple inheritance deletion bug in symbol library manager.
2023-08-24 07:59:32 -04:00
Wayne Stambaugh
1026596964
Allow symbols to be derived from other derived symbols.
...
[CHANGED] Symbols can now be derived from other derived symbols removing
the requirement to derive from root symbols.
2023-08-24 07:59:32 -04:00
Jeff Young
a97ba79883
Give Symbol Fields Table GUI a KiCad look & feel.
2023-08-24 11:21:19 +01:00
Jeff Young
d1765c3855
Work-around non-functional row-major radio button groups on Mac.
2023-08-24 11:21:19 +01:00
Jeff Young
e3b8de9a78
Work-around non-functional row-major radio button groups on Mac.
2023-08-24 11:21:19 +01:00
Jon Evans
e118d2fca0
DbLib: Map multiple footprints to footprint filter list
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13587
2023-08-23 19:16:49 -04:00
Seth Hillbrand
db8e15ce88
Require wxWidgets 3.2
...
Removes old defines and work arounds for earlier wx versions and adds a
CMake requirement to use at least 3.2 (or the minimum matching wxPython
version)
2023-08-23 22:02:56 +00:00
Mike Williams
66ed9cfe57
Schematic Editor: apply grid overrides to more tools
2023-08-23 11:31:27 -04:00
Mike Williams
a44dd4d88f
Symbol Editor: support grid overrides
2023-08-23 10:12:21 -04:00
Alex Shvartzkop
10e2e4a12d
Another try at fixing arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15469
2023-08-22 16:10:58 +03:00
Mike Williams
f770500bb4
Grids: make user editable
2023-08-21 15:48:25 -04:00
Jeff Young
498b68b8a3
Honour aAllowExtraText flag in LIB_FIELD::GetShownText().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15470
2023-08-21 19:30:20 +01:00
Mike Williams
4e763cd9f2
Schematic: ortho line drag bend lines should respect grid overrides
2023-08-21 10:42:44 -04:00
Mike Williams
8b79ab708a
Grid Anchors: don't anchor from graphic lines when moving connectables
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13672
2023-08-21 10:42:44 -04:00
Mike Williams
3d0dc2fc1b
Symbol Fields Table: better selection event control
...
wxGrid changes the selection every time it gets a grid change event so
we need to selectively suppress these.
2023-08-21 08:56:38 -04:00
Mike Williams
a9c4534a38
Schematic/Fields Table: handle sheet changes
2023-08-20 16:13:47 -04:00
Marek Roszko
93fa3a17aa
Remove plotter.h from one file
2023-08-19 19:01:29 -04:00
Josue Huaroto
08a01bb667
Show warning dialog message when is not possible to create the BOM file.
2023-08-19 21:05:16 +00:00
Jeff Young
6c5ec288a5
Don't unload project out from under someone else.
...
(Can only currently happen if you import settings from the current
project, but will happen in even more cases once we do MDI.)
Possibly Sentry KICAD-169.
2023-08-18 22:20:09 +01:00
Jeff Young
57d3aef4cd
Correct false comments (no functional changes).
2023-08-18 22:20:09 +01:00
Alex Shvartzkop
5131dae568
Graphics import improvements/fixes:
...
- add support for color
- support non-uniform scale
- add GetImageBBox()
- fix SVG GetImageWidth/Height not being in mm
- fix import offset not being in mm
- add graphics importer for LIB_SYMBOL
2023-08-18 22:52:49 +03:00
Jeff Young
85240d590b
Remove relative current measurements.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15429
2023-08-18 13:40:52 +01:00
jean-pierre charras
a7e74bf4bc
Fix a few minor compil and Coverity warnings.
2023-08-17 20:31:40 +02:00
Jeff Young
684344c45c
GUI-created measurements of AC gain signals should be gain, not abs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15429
2023-08-17 17:42:17 +01:00
Jeff Young
981089bbd3
Show correct description and units for AC/SP measurements.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15429
2023-08-17 13:32:46 +01:00
jean-pierre charras
53b2fda184
Fix some minor compil and Coverity warnings.
2023-08-17 10:06:17 +02:00
Jeff Young
da031792af
Add current signals to AC analyses.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15427
2023-08-16 17:24:59 +01:00
Alex Shvartzkop
76e0d5981d
Import system refactor for PCB plugins.
2023-08-15 05:26:12 +03:00
Jeff Young
ef321e5fcd
Un-brighten found text when making a new selection.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15092
2023-08-14 20:38:17 +01:00
Mike Williams
e1d5089c74
Symbol Fields Table: handle recursive sheet add/delete/update
2023-08-14 14:19:26 -04:00
Mike Williams
11b469f16a
Hierarchy: fix missing page numbers / sheet instances
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15413
2023-08-14 14:19:26 -04:00
Mike Williams
dc103b88d1
Symbol Fields Table: make non-modal
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2141
2023-08-14 14:19:26 -04:00
Mike Williams
1c52a60270
Symbol Fields Table: API cleanups for non-modal window
2023-08-14 14:19:26 -04:00
Mike Williams
63690d4a0b
Symbol Fields Table: fix broken delete
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15405
2023-08-14 08:42:03 -04:00
Mike Williams
29796fff9e
SCH_REFERENCE_LIST: delete unused code
2023-08-14 08:42:03 -04:00
Marek Roszko
5d001d4858
ADDED: ERC over cli....mostly
2023-08-13 20:31:19 -04:00
Marek Roszko
f341fde938
Move RecordERCExclusions and ResolveERCExclusions out of the schematic frame
2023-08-13 19:50:05 -04:00
Marek Roszko
50a4a8639e
Move ERC test flow to ERC_TESTER::RunTests
2023-08-13 19:44:10 -04:00
Marek Roszko
87d36dbfd8
Fix up erc json a little
2023-08-13 19:19:20 -04:00
Marek Roszko
061d18cbb0
Support json reports as option in erc/drc dialogs
2023-08-13 19:19:19 -04:00
Marek Roszko
e842a788db
Split ERC report to its own class like drc
2023-08-13 19:19:19 -04:00
jean-pierre charras
52697c9962
Eeschema, search_handlers: fix a typo and a missing type name for Directive labels
2023-08-13 11:30:32 +02:00
jean-pierre charras
f0d18adfb2
simulator, TUNER_SLIDER: fix incorrect wxWindow parent.
...
The TUNER_SLIDER were displayed in the wrong wxWindow.
2023-08-12 08:28:01 +02:00
Jon Evans
f70b9920cb
Fix some warnings
2023-08-10 22:01:55 -04:00
Alex Shvartzkop
9b2ac10002
LTspice spelling.
2023-08-10 00:31:21 +03:00
Mike Williams
1bc0ceb5a5
Undo/Redo: notify listeners of change events when undo/redoing
2023-08-09 14:32:06 -04:00
Mike Williams
6b2a5f643a
Undo/Redo: remove unused NOP type
2023-08-09 14:32:06 -04:00
Mike Williams
2a80b1c32b
Undo/Redo: remove unused EXCHANGE_T type
2023-08-09 14:32:06 -04:00
Mike Williams
20fe14c91f
SCH_REFERENCE_LIST: add some iterator support
2023-08-09 14:32:06 -04:00
Mike Williams
ab1dccd6b3
Symbols: remove dead code
2023-08-09 14:32:06 -04:00
Jeff Young
da86593625
ADDED: Implement sorting for search panes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12614
2023-08-09 18:31:33 +01:00
Jeff Young
a6bceb8182
Don't set modified when loading workbook.
...
Also keep a shadow variable of the legend position so we can notice
when the mpWindow's OnMouseMove() handler changes it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15363
2023-08-09 12:09:29 +01:00
Jeff Young
1b080ed02f
Get rid of SIM_NOTEBOOK. It's completely unnecessary.
2023-08-09 12:09:29 +01:00
Mike Williams
bdecdce1b4
Exclude from Sim: move from field to attribute
2023-08-08 12:36:36 -04:00
Jeff Young
88cb1ed8b5
Show row selections in bus alias and members grids.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15374
2023-08-08 15:59:16 +01:00
Ian McInerney
1dd92b1bb1
Assign focus to the notebook in the ERC/DRC window after running
...
After running the ERC/DRC, the window would not get focus returned to it
on GTK naturally unless the user pressed the arrow key. This prevented
the ESC key from closing the window after the run was complete and
nothing else was clicked/pressed.
Instead of pulling focus to the dataview with the errors in it (which
would cause problems in GTK, such as moving the viewport to the first
marker (https://gitlab.com/kicad/code/kicad/-/issues/11925 ), give focus
to the notebook container instead. This will not select the marker, but
still allow the ESC to propagate into the dialog immediately.
2023-08-08 14:02:54 +01:00
Mike Williams
111d73067d
Symbol Fields Table: don't deref non-existant ref
2023-08-08 08:17:43 -04:00
Ian McInerney
a3a701a95e
Move preferences to an action instead of a wx event
2023-08-08 00:51:22 +01:00
Ian McInerney
c41d78f2d3
Remove incorrect bitmap from action
2023-08-08 00:17:58 +01:00
Ian McInerney
c7d2f3f380
Move eeschema actions to new constructor
2023-08-08 00:12:31 +01:00
Jeff Young
7b71e55ab9
Don't allow updates to shown_text outside of cacheShownText().
...
But also don't use cacheShownText() in c'tors, as it will not call
the subclass's version.
2023-08-07 23:22:09 +01:00
Alex Shvartzkop
fc869502f4
Fix symbol properties dialog height when symbol has many pins.
2023-08-08 00:00:52 +03:00
Jeff Young
c30bdf9ba8
Implement second-level cache for escaped netnames.
...
While it's a bit of an encapsulation leak (see comment in
CONNECTION_SUBGRAPH::driverName()), it more than doubles undo/redo
performance in documents with *lots* of nets.
2023-08-07 21:44:04 +01:00
Jeff Young
e48a96ecaf
Don't call driverName() unless we have a cache miss.
...
(That is, in fact, the whole purpose of this cache.)
2023-08-07 21:44:03 +01:00
Mike Williams
fe32492252
Symbol Fields Table: scope control for limited view of symbols
2023-08-07 15:05:24 -04:00
Mike Williams
6ae8968a5b
Symbol Fields Table: add selection controls
...
Allows cross-probing to other editors.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8188
2023-08-07 15:05:24 -04:00
Jeff Young
a7dc720271
Batch undo for Convert To...
...
Also repairs drawing of dangling symbols for global labels.
2023-08-07 18:38:48 +01:00
Alex Shvartzkop
713d4fc593
Don't crash when symbol editor frame can't load.
2023-08-07 17:20:11 +03:00
Mike Williams
30eae5d896
Fields: preserve field order across sch<->pcb
2023-08-07 09:29:13 -04:00
Mike Williams
25de3e6b33
Fields: synchronize empty fields between sch<->pcb
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15341
2023-08-07 09:29:13 -04:00
Alex Shvartzkop
717ee350c8
Support >180 deg arcs in schematic.
2023-08-07 14:18:38 +03:00
Jeff Young
ddbefe13cd
Improve default margins.
2023-08-06 20:57:42 +01:00
Jeff Young
5e112ca78e
ADDED: parameterize font metrics and allow customization of overbar height.
2023-08-06 20:57:41 +01:00
Jon Evans
4c4bbdc8f3
Stricter API for LIB_TABLE
...
Prevent nickname map or row parent getting out of sync
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15315
2023-08-06 00:56:51 -04:00
Jeff Young
c981c3668a
Better handling of dangling markers during bus unfold.
2023-08-05 19:30:13 +01:00
Jeff Young
6cef504d2d
Don't consider newly-added labels when looking for terminal items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15313
2023-08-05 18:50:29 +01:00
Josue Huaroto
cfa49b5250
Move units labels from ticks to axis label.
2023-08-04 22:41:50 +00:00
Jeff Young
d3329a0781
Only re-build the members grid when we have to.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15320
2023-08-04 23:39:47 +01:00
Seth Hillbrand
248404a0d1
Better fix for #15217
...
Rather than rely on a quirk, we avoid the modified structure
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
2023-08-04 13:58:35 -07:00
jean-pierre charras
8762859c6d
Fix a display issue in wxStyledTextCtrl widgets in dialogs (Windows specific).
...
It happens when a text is using some esoteric unicode chars.
Fixes #15314
https://gitlab.com/kicad/code/kicad/-/issues/15314
2023-08-03 18:35:49 +02:00
Mike Williams
457e58d0d5
Schematic: select connections working for multiple selection
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11022
2023-08-03 11:27:29 -04:00
Mike Williams
22c609fb7b
Schematic: handle aligning unaligned sheet pins in aligned sheet
...
Also fix a rounding bug.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15050
2023-08-03 11:11:34 -04:00
Mike Williams
5b335f1c4e
Schematic: junctions need to be added to the view before cleanup
...
Otherwise they aren't considered for breaking segments.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15146
2023-08-03 10:05:19 -04:00
Mike Williams
a0d559e884
Backannotation: skip fields that are individually controlled
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15337
2023-08-03 09:09:28 -04:00
Mike Williams
c61da43ee2
Coverity: fix copy paste pointless cast
2023-08-03 08:27:12 -04:00
jean-pierre charras
8649a3e340
Eeschema: fix position of shadow shape of graphic texts in a footprint.
...
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-08-03 13:55:48 +02:00
Seth Hillbrand
0f44876205
Thou shalt not modify the container over which you interate
...
Lest the memory gremlins are loosed upon the world.
Always use an intermediate container when collecting items to remove.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15281
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15195
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15321
2023-08-02 15:59:56 -07:00
Jeff Young
686dfba77a
ADDED autocomplete for value field in Symbol Properties dialog.
2023-08-02 20:45:52 +01:00
Mike Williams
3428bd8e83
Symbol Fields Table: convert to SCH_COMMIT
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11899
2023-08-02 12:51:33 -04:00
Jeff Young
8ac49d0bab
General cleanup, coding standards, removal of dead code, etc.
2023-08-02 16:56:56 +01:00
Jeff Young
f897b4bac1
Remove cover routines for std::vector.
...
They just make it harder to see if we're following std::vector's
contract.
2023-08-02 16:56:56 +01:00
Jeff Young
502b91ba6f
Capitalize type names.
2023-08-02 16:56:56 +01:00
Jeff Young
f332dba095
Try harder to prevent duplicate axis labels.
2023-08-02 16:56:56 +01:00
Jeff Young
485b768da7
Fix issue with stripping non-trailing '9's from tick labels.
2023-08-02 16:56:56 +01:00
Jeff Young
094a80ce31
Stop adding a new return to a sim command every time we read it.
...
Also stop moving the legend down 40 pixels every time it's read.
2023-08-02 16:56:56 +01:00
Jeff Young
fcc770cad6
Fix bugs in .meas cmd syntax for AC small-signal analyses.
2023-08-02 16:56:56 +01:00
Jeff Young
e8ae3533d1
Set format on all matching signals.
2023-08-02 16:56:56 +01:00
Jon Evans
35c372a072
Support expanding selection for schematic graphic lines
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12032
2023-08-01 21:22:35 -04:00
Mike Williams
37fdcce0a0
Fields Editor Table: add checkboxes for fields representing attributes
...
DNP, Exclude from ..., etc.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15300
2023-08-01 14:33:30 -04:00
Mike Williams
8fb316f995
Symbols: add ${EXCLUDE_FROM_SIM} variable to match the other attributes
2023-08-01 14:33:30 -04:00
Mike Williams
df04171234
Fields Editor Table: apply correct column attr to new fields
2023-08-01 14:33:30 -04:00
Mike Williams
39297adc61
Fields Table Editor: remove old assumptions about Qty being last col
2023-08-01 14:33:30 -04:00
Mike Williams
25e391719e
Fields Table: convert special strings like Quantity to named variables
...
Before, we did not actually prevent users from adding a field also named
Quantity to their symbols. This of course does not play nicely with the
assumptions that Quantity is a special column in the fields editor.
By making it a named variable, the user can safely add it to a symbol
and it will not be editable, and will also work in the fields table
editor as expected.
2023-08-01 10:55:32 -04:00
jean-pierre charras
3a82374719
sim/sim_model: fix an annoying issue when adding new fields: their ID was
...
set in undefined, that create an issue (the canonical name was returned as
"Field-1", breaking the schematic file).
Now, new field IDs are not set to -1, and the saved file uses the field name
(if exist) when saving fields with undefined ID.
2023-08-01 13:37:53 +02:00
jean-pierre charras
1b0dea069b
Symbol editor: minor fix do not allow the lib tree to be docked on bottom or top
...
of the editor frame: it cannot be displayed.
2023-07-31 18:30:13 +02:00
Mike Williams
b34309fdba
Schematic: display symbol's user-defined description in message panel
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15298
2023-07-31 11:22:09 -04:00
Mike Williams
744452d092
Sch/PCB: allow back-updating schematic fields from PCB
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15285
2023-07-31 10:38:43 -04:00
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
Jeff Young
b1d5da3da3
Allow ngspice to run in the background.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14085
2023-06-17 23:54:33 +01:00
Jeff Young
e3eb0abc5f
Recompute intersheet refs while printing.
...
Also fixes a bug where the schematic offset wasn't being added to
intersheet refs when printing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14978
2023-06-17 18:12:13 +01:00
Mike Williams
f9d4b75726
Symbol Fields Table: performance optimizations
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14972
2023-06-17 12:56:00 -04:00
Jeff Young
cf4f0723f8
Select first unassigned symbol when running CvPCB.
...
Also cleans up some dead code, and makes more use of sharing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9938
2023-06-17 12:44:59 +01:00
Jeff Young
ef6866757e
Treat undo as backspace and/or escape when drawing. Ignore redo.
...
Undo == backspace when drawing a polygon or chained lines. Otherwise
it's an escape.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14961
2023-06-16 22:08:21 +01:00
Alex Shvartzkop
d3be62f644
Adapt panels to PAGED_DIALOG sizing algorithm.
...
Also some cosmetic fixes (GTK).
2023-06-16 19:12:37 +03:00
Alex Shvartzkop
caf0bb6baa
Cosmetic fixes in schematic formatting panel (GTK)
2023-06-16 19:12:37 +03:00
Alex Shvartzkop
f5da58e17d
PAGED_DIALOG: allow setting initial size in ctor.
2023-06-16 18:53:00 +03:00
Jeff Young
b44c547aa6
Don't let selection VIEW_GROUP get lost from VIEW.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14969
2023-06-16 16:03:37 +01:00
Jeff Young
8259091ca1
Fix typo in new SCH_COMMIT architecture for shape drawing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14976
2023-06-16 15:50:51 +01:00
Jeff Young
75e78f9088
Move bitmap2cmp and pcb_calculator to tool framework.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1939
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7561
2023-06-16 15:37:58 +01:00
Ian McInerney
4761815f36
Fix reversed arguments in ltspice importer
2023-06-15 23:01:39 +01:00
Ian McInerney
b73cc7db4a
Fix a few accidental copies in loop iterators
2023-06-15 22:57:05 +01:00
Jeff Young
150e2b8a19
Separate BITMAP2CMP_PANEL from BITMAP2CMP_FRAME.
...
This is primarily to allow wxFormBuilder to create the panel without
the dangerous hack of passing a wxWindow ID into KIWAY_PLAYER's ctor.
2023-06-15 17:39:10 +01:00
Jeff Young
abc0c19d64
Separate SIMULATOR_PANEL from SIMULATOR_FRAME.
...
This is primarily to allow wxFormBuilder to create the panel without
the dangerous hack of passing a wxWindow ID into KIWAY_PLAYER's ctor.
2023-06-15 17:39:10 +01:00
Jeff Young
5c4ca9f092
Renaming to support potential future usage of SIMULATOR_PANEL as a panel within SIMULATOR_FRAME.
2023-06-15 17:39:10 +01:00
Wayne Stambaugh
fc1d540036
Fix a Coverity issue in the net navigator code.
2023-06-15 08:00:08 -04:00
Ian McInerney
1f5719ef3a
Pass proper parent to symbol viewer frame when changing symbols
...
Fixes sentry KICAD-1Z9
Fixes sentry KICAD-22J
2023-06-14 21:25:06 +01:00
Wayne Stambaugh
4ccbbde54a
Net navigator bug fixes and improvements.
...
Note: This changes the net highlight tool behavior. When clicking on an
already highlighted net, the net highlighting is no longer toggled
off. This prevents the net navigator panel from being cleared.
2023-06-14 09:57:55 -04:00
Jeff Young
46564055f4
More protection around an exceedingly dangerous hack.
...
The API is needed for wxFormBuilder, and I couldn't figure out any
way around it, but we can at least reduce the risk of someone calling
it accidentally (again).
2023-06-14 12:52:49 +01:00
Kuba Sunderland-Ober
e852d04043
Ensure the bitmap exported to the clipboard is valid.
...
Fixes #14808
https://gitlab.com/kicad/code/kicad/-/issues/14808
2023-06-13 20:47:06 +00:00
Wayne Stambaugh
5a7f95e8da
Allow for library symbols to derived from derived symbols.
...
This change allows for infinite inheritance depth so internally there is
no limit to deriving library symbols from other derived symbols. Please
note that the Flatten() method now recurses until a symbol with no parent
is found. The user interface is not hooked up at this time.
2023-06-13 15:52:42 -04:00
Jeff Young
20d2568f0c
Move where we fire EDA_EVT_SCHEMATIC_CHANGED again.
...
The location in HARD_REDRAW got called everytime we change schematic
pages, which is not what we want.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14945
2023-06-13 16:36:05 +01:00
Jeff Young
4f39cb0789
Fix SCH_COMMIT handling in TwoClickPlace.
2023-06-13 13:21:11 +01:00
Marek Roszko
a87fada9e5
Minor tweaks to support wx3.3
2023-06-12 20:52:47 -04:00
Ian McInerney
d96580c651
Properly handle improper symbols when pasting in symbol editor
...
Before, an improper symbol (one without the starting toekn) weren't
detected and reported to the user properly and would instead assert. Now
properly detect these and pass the error up the stack to the tool.
(Sentry issue KICAD-21J).
2023-06-12 23:14:56 +01:00
Jeff Young
28075e6efe
Don't crash on empty selection in search list.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14931
2023-06-12 23:07:27 +01:00
Jeff Young
782c73300b
Move drawing sheet datastructures to EDA_IU_SCALE.
...
Or mostly, at least. Plotters still define their own mils-to-iu scale.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14934
2023-06-12 22:34:25 +01:00
Seth Hillbrand
62f24aca1e
Fix Connectivity Asserts in new COMMIT structure
...
The connection graph should only be updated within the commit structure
because this is the only time the connectivity should be changed. We
want any connectivity changes to be included in the commit as well, so
this should be stored prior to the undo/redo list mods
2023-06-12 13:35:06 -07:00
Jeff Young
286716a1ff
Retire AddItemToCommitAndScreen()
...
It duplicates a bunch of stuff in SCH_COMMIT and isn't really
compatible with it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14933
2023-06-12 19:34:23 +01:00
jean-pierre charras
a29f261d31
dialog_sim_model: ensure the Model panel is always correctly built.
...
Fixes #14904
https://gitlab.com/kicad/code/kicad/-/issues/14904
2023-06-12 16:41:21 +02:00
Jeff Young
451b9e20a1
Tighten up layer handling for LIB_SYMBOL.
...
We have to draw the parent symbol on the union of all layers that
its children might reside on, but we only want to draw each child
on its layers.
And we need to make sure LAYER_PRIVATE_NOTES gets into the layers
order list.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13943
2023-06-12 15:38:56 +01:00
Jeff Young
a3f62cc8de
Don't presume a sheet-path while reading files.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14920
2023-06-12 13:42:15 +01:00
Jeff Young
b7f0aae006
Nullptr safety for UI Conditions.
...
We don't really control when these are called, so best not to assume
we've finished initialization of the frame/screen/document/whatever.
Possible fix for KICAD-KY.
2023-06-12 12:38:50 +01:00
Jeff Young
6502787c7a
Formatting.
...
It's annoying to keep searching for "LIB_FIELD*" and come up empty....
2023-06-12 10:48:39 +01:00
CraftedNightmare
aa667bea0f
eeschema: Fix Search pane not remembering docking sizes and positions
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14120 for eeschema
Fixes that Show Search Panel Checkbox can get out of sync when restarting
eeschema while the search pane is active
2023-06-11 20:23:24 +00:00
Jeff Young
96073402ce
Don't accidentally add NULL ptrs to the LibSymbols cache.
...
Operator[] will add a blank element if it isn't found in the map.
Probably Sentry KICAD-23Y.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14927
2023-06-11 15:50:24 +01:00
Roberto Fernandez Bautista
3d1b96d6ca
Cleanup jobs handlers (+Fix build)
2023-06-11 00:12:53 +02:00
Jeff Young
61493b8489
Return all results with an empty search pane filter.
...
Also moves the EDA_EVT_SCHEMATIC_CHANGED event so it fires after the
schematic has been loaded.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14871
2023-06-10 23:05:57 +01:00
Roberto Fernandez Bautista
3f758711fd
Use external REPORTER for EESCHEMA_JOBS_HANDLER / PCB_JOBS_HANDLER
2023-06-10 23:35:32 +02:00
Jeff Young
180c820678
More changes for SCH_COMMIT independence from frames.
...
Also fixes some bugs in Symbol Editor SCH_COMMIT::Revert().
2023-06-10 20:53:44 +01:00
Wayne Stambaugh
a46657d802
Remove net navigator debugging code.
2023-06-10 14:04:02 -04:00
Jeff Young
5aa51bc967
Allow SCH_COMMIT to operate without a frame.
...
We'll want this at some point (presumably) for plugins.
2023-06-10 18:35:59 +01:00
Jeff Young
f66b9f75a3
Allow EDA_COMBINED_MATCHER use in KiCad find architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12532
2023-06-10 14:50:06 +01:00
Jeff Young
53be16f409
Stop confusing Covertiy.
2023-06-10 13:36:17 +01:00
Jeff Young
8f1b9119bf
Upgrade some symbol editor stuff to SCHEMATIC_COMMIT.
...
Also renames SCHEMATIC_COMMIT to SCH_COMMIT since it's not schematic-specifc.
2023-06-09 22:41:47 +01:00
Jeff Young
e698156975
Upgrade many editing actions to SCHEMATIC_COMMIT.
2023-06-09 22:41:47 +01:00
Jeff Young
73b653c276
Upgrade more dialogs to SCHEMATIC_COMMIT.
2023-06-09 22:41:47 +01:00
Jeff Young
dcfd426333
Upgrade some dialogs to SCHEMATIC_COMMIT.
2023-06-09 22:41:47 +01:00
Wayne Stambaugh
e9dc00cda3
Minor schematic net navigator improvements.
...
- Expand tree and highlight object selected with net highlight tool.
- Expand tree and highlight object that are currently highlighted with the
selection tool.
- Use more descriptive object text rather than menu entry text for tree
strings.
- Rebuild tree on unit changes.
2023-06-09 14:34:54 -04:00
jean-pierre charras
639da0eb5a
Fix a wxWidgets alert when deleting the last entry in a lib table.
2023-06-09 08:09:22 +02:00
Jeff Young
90c14ecdf7
Upgrade a couple of schematic actions to SCHEMATIC_COMMIT.
2023-06-07 15:30:56 +01:00
Jeff Young
d5b5a3eaf4
Add action info to Undo/Redo menus.
...
Note that this only works where a BOARD_COMMIT or SCHEMATIC_COMMIT is used.
(BOARD_COMMIT is used almost universally in PCBNew, but SCHEMATIC_COMMIT
has very little adoption in EEschema so far.)
2023-06-07 14:37:34 +01:00
Jeff Young
30cbfc794f
Cross-probing from Pin Table to Symbol Editor canvas.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8301
2023-06-07 14:37:34 +01:00
Seth Hillbrand
c33d1ab244
Don't dirty the item connectivity prematurely
...
Item connectivity changes once the elements are commited, not during the
process of moving.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14884
2023-06-05 09:12:20 -07:00
Mike Williams
6e2bea8128
Symbol Fields Table: fix grid tricks show/hide column corruption
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14874
2023-06-05 08:27:26 -04:00
Mike Williams
fb7925806c
Symbol Fields: allow hiding reference column
2023-06-05 08:27:26 -04:00
Alex
26c25c5475
Move bitmap setup to ctor in eeschema annotation options.
2023-06-05 15:03:03 +03:00
Jeff Young
f3d3ade1dc
Increased mutex safety.
...
Don't even query the size() without having at least a shared_lock.
*May* prevent KICAD-4S, but seems unlikely.
2023-06-05 11:01:10 +01:00
Jeff Young
1528f4700c
Treat canvas item as current when tree view contains no selection.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12702
2023-06-04 20:52:12 +01:00
Mike Williams
039f23eba8
Symbol Fields Table: check against data model col for grouping
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14870
2023-06-04 14:42:55 -04:00
Mike Williams
bb6555ff36
Symbol Fields Table: remember export filename
...
https://gitlab.com/kicad/code/kicad/-/issues/14872
2023-06-04 13:45:07 -04:00
jean-pierre charras
9e6c56525a
EEschema, DIALOG_SYMBOL_FIELDS_TABLE: minor cosmetic fix
...
Fixes #14868
https://gitlab.com/kicad/code/kicad/-/issues/14868
2023-06-04 17:24:07 +02:00
jean-pierre charras
92018f0066
Fix minor compil warnings
2023-06-04 16:24:28 +02:00
Jeff Young
95d104ab65
Implement UI condition for search panel visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14826
2023-06-04 15:13:39 +01:00
Jeff Young
2ffeca9f36
Formatting (no functional changes)
2023-06-04 15:13:39 +01:00
Jeff Young
5875f89531
Centralize text size clamping.
...
Also introduces alg::clamp to improve readability of
std::max( min, std::max( value, max ) )
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14876
2023-06-03 20:29:51 +01:00
Wayne Stambaugh
bdee545841
Coverity warning fixes.
2023-06-03 07:28:17 -04:00
Seth Hillbrand
5756a7a0af
Prevent makeup events from contaminating the system
2023-06-02 16:04:08 -07:00
Seth Hillbrand
4bc0822733
Connectivity: Correct alias-based bus resolution
...
Aliases in bus resolution were being resolved without a path, making
them effectively global nets. This applies the corrected path to the
bus members and adds a QA to catch this error
2023-06-02 14:25:51 -07:00
Mike Williams
04532a61f4
Symbol Fields Dialog: don't change sheets on load
...
Late bind the range selection event so we don't lose our selection as a
result of loading data into the table, then jumping to the selected
value.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14186
2023-06-02 08:22:10 -04:00
Mike Williams
0eb45a7f27
Schematic: symbol fields dialog: restore size, not min size
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14861
2023-06-01 18:02:57 -04:00
Wayne Stambaugh
d854e2bfe8
Schematic net navigator improvements.
...
Arrange connectivity items by sheet. Complex nets which span many
sheets make finding objects difficult. It also provides a higher
level of sheet view granularity.
2023-06-01 12:49:51 -04:00
Jeff Young
2300b0d2a3
Don't dim SCH_FIELDs when selecting them.
...
(They were only getting drawn on top of the selection shadow when
drawn by their parent symbol because LIB_FIELD was correctly
setting the view layers but SCH_FIELD was not.)
2023-06-01 15:07:29 +01:00
Marek Roszko
c2d56eefb9
Fix blank symbol svg export file names
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14857
2023-05-31 20:56:20 -04:00
Seth Hillbrand
14f6e32c74
ADDED: Change watcher for libraries
...
When editing or viewing library symbols, the files are watched for
underlying changes. If any occur, the user is either prompted to reload
(if reloading would overwrite their current edits) or the file is
silently updated to the current version on disk.
This also sets a custom assertion handler to avoid unneeded crashes when
recieving invalid SAMBA packets and turns off assertions entirely when
running in release (non-debug) mode
2023-05-31 13:46:00 -07:00
Seth Hillbrand
5370fdc718
Fix override lock behavior
...
We don't need to lock in import because we are creating a new file. We
should, however, show the locking user/machine when opening in schematic
editor and take over the lock if they want to proceed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9347
2023-05-31 13:43:58 -07:00
Wayne Stambaugh
f950354f99
Fix connectivity assertion in schematic editor.
...
https://gitlab.com/kicad/code/kicad/-/issues/14835
2023-05-31 13:29:47 -04:00
Jeff Young
cfb45be71e
Improved tooltips for all-unit-interchangeable and De Morgan.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14583
2023-05-31 17:54:19 +01:00
Jeff Young
d3edad3c92
Formatting.
2023-05-31 17:26:54 +01:00
Jeff Young
421d6b2ef8
Retire LIB_ID_VALIDATOR as it prevents usage of text variables.
...
(We perform more complete checks in ERC anyway.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14764
2023-05-31 17:26:54 +01:00
Jeff Young
47bba3cbeb
Correct logic errors in pin bounding box calculation.
...
The name and number are both centred, and either one can be long
enough to be the determining factor for either side of the bounding
box.
2023-05-31 12:51:56 +01:00
Jeff Young
d827bb8a1f
Leave back/forward/up nav buttons enabled so the action doesn't change.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14783
2023-05-31 11:13:35 +01:00
jean-pierre charras
6b845b9054
Fix compil warnings and a wxWidgets alert.
2023-05-30 09:00:46 +02:00
Mike Williams
7f250870fe
schematic: fix crash in search pane when hit list is empty
...
std::all_of also returns true for an empty set
2023-05-29 09:50:09 -04:00
Jeff Young
a4f16423c8
Push reference and value special cases down into LIB_FIELD::compare().
...
Use COMPARE_FLAGS::EQUALITY and COMPARE_FLAGS::ERC when doing
library diffs.
Also fixes a few more cases where we weren't checking for -1 when
doing a fieldID < MANDATORY_FIELDS.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14830
2023-05-29 12:40:20 +01:00
Roberto Fernandez Bautista
8493cc4c89
CADSTAR SCH LIB: Add plugin options + improve symbol caching
2023-05-28 23:56:42 +02:00
Roberto Fernandez Bautista
688a61df63
Add options editor to symbol library table + cleanup unused options
2023-05-28 23:56:42 +02:00
Roberto Fernandez Bautista
a119bd604d
Refactor: Move DIALOG_PLUGIN_OPTIONS to common and use enum for event ID
2023-05-28 23:56:41 +02:00
Jeff Young
d526362d31
No sheet path has to be interpreted as the current sheet.
...
There's currently waaaay too much stuff that depends on it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14834
2023-05-28 20:46:50 +01:00
Jeff Young
8820df2187
Fix missing "else".
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14831
2023-05-28 19:49:19 +01:00
Jeff Young
b8986709bf
Every time I search for SCH_TEXT* it doesn't work....
2023-05-27 21:25:36 +01:00
Jeff Young
81d7428fd2
Don't call OnPageSettingsChanges on Undo/Redo.
...
It's incredibly expensive (multiple seconds on a document with
lots of text in an outline font).
2023-05-27 20:35:05 +01:00
Jeff Young
f35a88ce0b
Cache LIB_PIN text extents for performance.
...
Also fixes a bug where we didn't triangulate at all when the char
count didn't warrant the likely overhead of spinning up a
thread_pool.
And fix another bug where EDA_TEXT::GetRenderCache() wasn't using
the given font.
Also reverts using the cache for drawing-sheet text. The text
items are created from scratch from the data items each time
they're drawn, so there's never an existing cache to make use of.
Instead, we now check that the item is in the view, using a very
approximate bounding box generator (because even generating a
real bounding box shows up large in profiles).
And, lastly, fixes a bug where EndPos was never considered in
DS_DATA_ITEM::IsInsidePage().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14822
2023-05-27 16:32:11 +01:00
jean-pierre charras
f2f014a27c
Symbol editor: ensure a new derived symbol has the correct DeMorgan option displayed.
...
Derived symbols use the same graphics as their parent, so ensure the parent is
used to enable/disable the DeMorgan option and tool in toolbar
Fixes #13739
https://gitlab.com/kicad/code/kicad/-/issues/13739
2023-05-27 10:13:43 +02:00
Jeff Young
4ed267394a
Outline font performance improvements.
...
1) Don't fracture font glyphs when generating them; we're going
to fracture during triangulation anyway.
2) Don't check for self-intersection when deciding to fracture.
It costs nearly as much as the fracture does.
3) Cache drawing sheet text.
4) Use the current font when checking for cache validity.
5) Parallelize glyph triangulation.
6) Don't invalidate bounding box caches when offset by {0,0}
7) Use the glyph cache when generating text effective shape.
8) Short-circuit NormalizeJustification() if its center/center.
9) Don't triangulate for GuessSelectionCandidates()
10) Avoid sqrt whenever possible.
11) Pre-allocate bezier and SHAPE_LINE_CHAIN buffers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14303
2023-05-27 01:35:40 +01:00
Jeff Young
6e127829f8
Cleanup formating and includes.
2023-05-26 18:44:33 +01:00
jean-pierre charras
68464a1993
Simulator: add missing ngspice models.
...
Fixes #14813
https://gitlab.com/kicad/code/kicad/-/issues/14813
2023-05-26 14:46:51 +02:00
Jeff Young
5114d3b8c3
Don't use GetValueFieldText from within text var resolution.
...
(It resets the recursion checker.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14815
2023-05-25 14:34:20 +01:00
Steve Bollinger
28b37ad020
Someone accidentally exchanged the x and y coordinates when flipping
...
components horizontally and vertically in
SCH_DRAWING_TOOLS::SingleClickPlace()
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14725
2023-05-25 12:11:48 +00:00
Jeff Young
1518ddde74
Push much of text var autocomplete down into SCINTILLA_TRICKS.
...
Shared code == fewer bugs. Well, in theory anyway....
2023-05-25 10:24:50 +01:00
Jeff Young
14f004d2a5
Hook up text variable auto-complete for PCBNew.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14777
2023-05-25 10:24:50 +01:00
Jeff Young
5a9ed66cfd
Go back to using QuasiModal for TextBox Properties.
...
Also removes auto-closing of blocking dialogs when inserting
symbols from the Symbol Editor or Chooser, preventing the bug
that QuasiModel was removed for earlier.
Also fixes a non-initialized parent pointer when the TextBox
Properties dialog was called from DrawShape().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14777
2023-05-25 10:24:50 +01:00
Seth Hillbrand
48ecd742eb
Maintain file permissions when renaming
...
Temporary and autosave files do not neccessarily have the correct
permissions set to replace existing project files. This updates the
permissions to match the existing values where possible
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13574
2023-05-24 17:09:38 -07:00
Seth Hillbrand
122be418bb
Upgrade file locking
...
wxSingleInstanceChecker is meant for running programs, not file locking.
This implements an RAII class for file locking that stores the lock
files next to the file being locked, allowing it to be easily found and
removed. Also includes the ability to override the lock, with
information about the original owner
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14734
2023-05-24 13:51:54 -07:00
jean-pierre charras
03e846d8ea
Eeschema: fix block mirroring of fields attached to labels (all types)
...
Fix incorrect orientation of the graphic shape of SCH_DIRECTIVE_LABEL items
after mirroring the item.
Similar to commit 898d88cc
, but for block mirroring.
Fixes #14758
https://gitlab.com/kicad/code/kicad/-/issues/14758
2023-05-23 09:42:24 +02:00
Jeff Young
03486443c7
Fix more SPICE case-insensitivity bugs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14793
2023-05-22 11:46:28 +01:00
Mark Visser
0d235ac64b
fix bug whereby spice params with capital letters no longer cause an error and data loss
...
Spice parameters were converted to lower-case before comparison. This is incorrect, as it
is legal and common for spice parameters to contain capital letters (e.g. potentiometers
typically use Rt and SET as their parameters).
Spice parameters are not case sensitive, so the correct behaviour is to instead do a
case-insensitive comparison on the parameter name.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14793
2023-05-21 17:50:35 -04:00
jean-pierre charras
c08f482ed4
Eeschema, panel color settings: minor fix: ensure color swatches are show/hidden
...
according to the option Override Colors state.
2023-05-21 14:16:11 +02:00