Commit Graph

11232 Commits

Author SHA1 Message Date
jean-pierre charras f7721f385a Symbol editor: add option (view menu+toolbar) to show/hide invisible pins and fields
Fixes #8020
https://gitlab.com/kicad/code/kicad/-/issues/8020
2024-02-25 16:09:50 +01:00
Ethan Chien be81bce637 Add Feature: synchronize hierarchical labels and sheet pins 2024-02-25 14:23:59 +00:00
Jon Evans d939004bbd Fix use-after-free in Altium importer
If the library already contains a symbol with the same name,
SaveSymbol will replace the existing symbol,
which will invalidate a cached pointer.
2024-02-25 08:47:07 -05:00
Jeff Young 99948de45a Support pin count and footprint filters in symbol editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17105
2024-02-25 13:14:31 +00:00
Jeff Young dba2fdb6d3 Don't import invalid polygons.
If we *do* get a 2-point polygon in SVG, import it as a segment.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17091
2024-02-25 12:28:19 +00:00
Jeff Young caa83ec9bd Fix missing unit initialization.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17076
2024-02-24 22:34:41 +00:00
Jeff Young 9a02712c4f Update VDMOS models to ngspice-41 (and later) defaults.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17073
2024-02-24 20:05:51 +00:00
Jeff Young f77de66f4e Generalize ERCItem inspections.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10539
2024-02-24 20:05:51 +00:00
Jeff Young e7abeb3c38 Cleanup. 2024-02-24 20:05:51 +00:00
Jeff Young fa0ead98d8 Split out table editing and table cell editing. 2024-02-24 20:05:51 +00:00
Jeff Young 3282e4bb66 Formatting. 2024-02-24 20:05:51 +00:00
Jeff Young 782af3a918 Clear text before replacing in ImportSettingsFrom. 2024-02-24 20:05:51 +00:00
Jeff Young e760317af6 ADDED: Implement footprint link checking in ERC.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16842
2024-02-24 20:05:51 +00:00
Jeff Young d7e4a8cebd ADDED: ERC/DRC exclusion comments.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16020
2024-02-24 20:05:51 +00:00
Jeff Young c8d2a9340b ADDED: ExpandAll/CollapseAll for hierarchy pane. 2024-02-24 20:05:51 +00:00
Jeff Young 4eefbc7815 ADDED: textbox and tablecell margins.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10672

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6806
2024-02-24 20:05:51 +00:00
Jeff Young e445249720 ADDED: PCB tables. 2024-02-24 20:05:51 +00:00
Jeff Young 91df43c97a ADDED: schematic tables.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6806
2024-02-24 20:05:50 +00:00
Jeff Young 4a9df1e18e ADDED: actions for left-, center-, and right-justifying text items.
(For both PCBNew and EESchema.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12375
2024-02-24 20:05:50 +00:00
Alex Shvartzkop 6347cb043e Add bottom panel to have correct background in fp/sym chooser frames.
See https://gitlab.com/kicad/code/kicad/-/issues/15810

(cherry picked from commit 97ff48b426)
2024-02-24 18:20:16 +03:00
Alex Shvartzkop 5578b2c954 Hide unused message panel in footprint/symbol chooser frames.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15810
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15889

(cherry picked from commit badc4e7411)
2024-02-24 18:20:16 +03:00
Yon Uriarte b7b64d959f Performance UpdateDanglingState
Avoid O(N^2) by spatial sorting, don't run checks if the bounding boxes
don't overlap.
A second copy is ordered by type to help classes that only want to check
a few types having to walk the whole list.
2024-02-23 19:21:44 +00:00
Yon Uriarte f3c2083018 Performance SCH_EDIT_FRAME::SchematicCleanUp
Avoid O(N^2) comparisonis by spatial presorting. If bounding boxes don't
overlap there's no need to run expensive checks.
2024-02-23 19:21:44 +00:00
Andrej Krpic 006f93773c Fix collecting of signals for S-Parameters analysis 2024-02-23 18:34:21 +00:00
Alex Shvartzkop cb25c8620e Performance optimizations for database libraries.
(cherry picked from commit e68df8e1d1)
2024-02-23 20:29:18 +03:00
Alex Shvartzkop e5896374e3 Normalize SCH_PIN BBox to fix assert.
(cherry picked from commit 3e26e7b646)
2024-02-23 20:29:18 +03:00
Alex Shvartzkop 72354ac033 Eeschema: select graphical shapes based on effective shapes.
(cherry picked from commit a13e4e7d9f)
2024-02-23 20:29:18 +03:00
Jeff Young 12c21abdff Don't use EQUALITY flag when doing a symbol diff with library.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16944

(cherry picked from commit adae4de438)
2024-02-23 16:53:36 +01:00
Jeff Young 4a561b04bc Code cleanup and compiler warnings.
(cherry picked from commit 51848a0b43)
2024-02-23 16:53:35 +01:00
Jeff Young 98cd040952 Set up default netclass wire & bus widths.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17024

(cherry picked from commit 2d7f4faf72)
2024-02-23 16:53:35 +01:00
Jeff Young 2c49ba4252 Formatting.
(cherry picked from commit c75bb5d01a)
2024-02-23 16:53:35 +01:00
Jeff Young 19dedccd98 Improve layout of schematic colors preview.
Also, set pin name/number sizes.  Don't use defaults (which
will get plucked out of the Symbol Editor's settings).

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

(cherry picked from commit df8f043c16)
2024-02-23 16:53:35 +01:00
Jeff Young 17a37a55f0 When updating RefDes only update the prefix.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16991

(cherry picked from commit b6036f368e)
2024-02-23 16:53:34 +01:00
Jeff Young 2cd9fbab9d Check known m_Desc field before m_Fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16971

(cherry picked from commit 25291d6e3a)
2024-02-23 16:53:34 +01:00
Jeff Young ca3cd706e5 Show friendly name in toolbar button tooltips.
(Don't require the same text to be put into the tooltip.
It's error-prone and also disallows us from having a separate
tooltip for toolbar buttons.)

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

(cherry picked from commit f4a085575a)
2024-02-23 16:53:33 +01:00
Jeff Young 800bbd8841 Delete empty Netclass fields only if there are others.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16997

(cherry picked from commit a34b242f4e)
2024-02-23 16:53:33 +01:00
Jeff Young 57dcf285c5 Various string issues held over from 8.0 string freeze.
(cherry picked from commit a610542a19)
2024-02-23 16:53:31 +01:00
Jeff Young 23c2104ffa Improve alignment tooltips.
(cherry picked from commit 2ab492474e)
2024-02-23 16:53:31 +01:00
Jeff Young f161a1eaac Ignore duplicate/repeat when drawing an existing item.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16885

(cherry picked from commit 3caede3799)
2024-02-23 16:53:30 +01:00
Jeff Young 9ff66d0e71 Don't capture references to local variables for CallAfter.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16934

(cherry picked from commit 9d40374baf)
2024-02-23 16:53:30 +01:00
Roberto Fernandez Bautista d464d7995b Thread safety: replace ++m_modHash by IncrementModifyHash() 2024-02-23 14:59:10 +00:00
Roberto Fernandez Bautista 991ddfe6be Add cache to SCH_IO_DATABASE to improve loading performance
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17031
2024-02-23 14:59:10 +00:00
Roberto Fernandez Bautista 07ab18a1e6 Legacy libraries: De-duplicate field names on load
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16902
2024-02-23 14:57:57 +00:00
Roberto Fernandez Bautista 420413969e Altium: Don't create duplicate fields 2024-02-23 14:57:57 +00:00
Roberto Fernandez Bautista 1a6e6a06eb Altium: Don't load library parameters with an owner for now
In Altium many objects can have parameters (including pins). For now
we will drop library parameters belonging to any sub-components of a
symbol.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17048
2024-02-23 14:57:57 +00:00
Wayne Stambaugh 27911d9b5a Fix crash when changing sheet file name that contains a highlighted net.
Performing a full connectivity rebuild after changing a sheet file name
ensures that there are no stale connectivity object pointers laying around.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17011
2024-02-17 08:50:22 -05:00
Ian McInerney 206a631135 Ensure stream is valid before checking for Eagle XML tag
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16989
Fixes KICAD-7QQ
2024-02-16 11:14:10 +00:00
Marek Roszko f894a41dc2 LIB_SYMBOL::IsMulti() seems to be wrong, use the iterate conditional as the multi-unit check instead
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16932
2024-02-16 00:18:05 -05:00
Marek Roszko 9e08e6e4f1 USe setactive in cli in the LoadSchematic helper too 2024-02-16 00:08:10 -05:00
Jon Evans 7b0bb59b37 Remove hard-coded versioned env vars in most places 2024-02-15 15:31:08 +00:00
Seth Hillbrand 0775d1364a Add bezier icon
Fixes https://gitlab.com/kicad/code/kicad/issues/16830
2024-02-14 02:01:01 +01:00
Marek Roszko f73d45b0cf Add $schema prop to drc/erc 2024-02-13 19:08:55 -05:00
Mike Williams c92728715d Schematic: import schematic sheet content, allow move and undo
Otherwise, the schematic is just plopped on the screen, causing
connections and junctions to be missing that should be present.
2024-02-13 12:18:46 -05:00
Jeff Young 12c8f5b14d Update compatibility mode and save flags in ngspice.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16955
2024-02-13 14:50:15 +00:00
Marek Roszko 2afe4db945 Add some missing newlines in cli output without changing strings 2024-02-11 21:12:21 -05:00
Marek Roszko 6a37f99e94 Fix crash if we exit lib table setup
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16917
2024-02-11 21:05:23 -05:00
Marek Roszko d694bb5960 Use file name rather than path for erc/drc json and text reports 2024-02-11 20:16:22 -05:00
Alex b5982f7319 EasyEDA import: force close some line chains. 2024-02-11 23:52:56 +03:00
Alex bf9d085c15 EasyEDA schematic import: fix nan center for elliptic arcs. 2024-02-11 23:52:56 +03:00
Jon Evans 22669bcc4d Unselect saved image when reverting a commit if modified item is unselected
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16938
2024-02-11 11:55:02 -05:00
Jon Evans ec2cd99405 Guard actions that change project against running in non-standalone mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16942
2024-02-11 09:36:17 -05:00
Jon Evans ef0204a44b Remove debug output 2024-02-11 09:04:10 -05:00
Jon Evans 4eba781013 Try harder to remove stale pins from connectivity
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16846
2024-02-10 23:26:37 -05:00
Graham Keeth 24cf0c0c62 use new align-to-grid icon 2024-02-11 01:30:47 +00:00
Wayne Stambaugh e302261067 More issue #16846 invalid pointer checks.
This has now pushed the issue down to a broken RTree issue.  Skipping the
asserts in debug builds will still crash but now it's pushed down to the
RTree.
2024-02-10 15:41:10 -05:00
Wayne Stambaugh b409aee28a Force schematic symbol pin update when reverting a commit.
Apparently somewhere in our schematic code base we are allowing pins
to be added to symbols without correct setting the parent symbol object.
This causes all kinds of issues when the pin's parent object need to be
accessed.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16846
2024-02-10 08:49:41 -05:00
Wayne Stambaugh ae9175927b Fix broken schematic pin selection caused by commit 1ac5666164. 2024-02-10 08:26:52 -05:00
Alex Shvartzkop ff17a22e31 Internationalize Image Properties dialogs. 2024-02-10 08:34:19 +03:00
Marek Roszko d3ca82b0b5 Fix another build error 2024-02-09 20:18:13 -05:00
Seth Hillbrand cd548e392a Add document type icons
Update Macos script to use doctype icons for icns builds

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14754
2024-02-09 15:55:57 -08:00
Seth Hillbrand f303996f9c Add new icons for tools
Align elements to grid
Cleanup graphics
Cleanup tracks/vias
Drag

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16205
2024-02-09 15:55:57 -08:00
Wayne Stambaugh 04ccf7e885 Explicitly create wxStrings for assignment to make MSVC builds happy. 2024-02-09 17:37:36 -05:00
Wayne Stambaugh 9e9ee96181 Explicitly create wxString for return value. 2024-02-09 17:11:49 -05:00
Jeff Young dc48af3e5c EDA_ITEM::SwapData() must not swap the parent pointer.
The image's parent pointer might have gone out of scope.
2024-02-09 20:10:12 +00:00
Wayne Stambaugh 302038fbfd Do not assume schematic child objects have a valid parent. 2024-02-09 13:16:07 -05:00
Wayne Stambaugh 1ac5666164 Do not de-reference null library pin object pointers in SCH_PIN object. 2024-02-09 11:07:04 -05:00
Wayne Stambaugh 3d690da305 Fix schematic editor crash when dragging symbols.
Do not set view items or update connectivity until after commit changes
are updated in the SCH_SREEN.  Updating the screen can force LIB_SYMBOL
changes which and lead to stale LIB_PIN object pointers stored in SCH_PIN
objects.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16846
2024-02-09 10:38:29 -05:00
Jeff Young aef6b2a66e nullptr safety and a bit of wxT'ing. 2024-02-09 13:56:01 +00:00
Jon Evans 334b414826 Make sure SCH_PIN->LIB_PIN pointers get cleared 2024-02-09 08:09:19 -05:00
Jeff Young 3c45145401 Set move flags at beginning of move.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16891
2024-02-09 10:19:39 +00:00
Jon Evans ca6b40ef1c Make sure to create power axis when restoring state
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16912
2024-02-08 17:48:12 -05:00
Jeff Young f8b8bc78bd Make m_originalColWidths impervious to init-order issues. 2024-02-08 15:09:07 +00:00
Jeff Young b4c361f5cc Order matters in PEGTL grammar.
(Because a flagParam will also match "param", but not the
other way around.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16900
2024-02-08 14:54:54 +00:00
Mike Williams 1a91bb369c SCH<->PCB: fix pin cross probing
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16910
2024-02-08 09:02:03 -05:00
Jeff Young 8efd90e6e8 Allow reading of 0 text sizes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16902
2024-02-07 16:46:42 +00:00
Jeff Young bce372c8a3 Don't clear the undo/redo list when we're just trimming it.
We only allow a certain number of commands on the lists
and trim them when they overflow.  PCB_BASE_EDIT_FRAME and
PL_EDITOR_FRAME implemented this correctly; SCH_EDIT_FRAME
and SYMBOL_EDIT_FRAME did not.
2024-02-07 14:52:10 +00:00
Alex e55a803572 Altium schematic import: do not overwrite sheet name. 2024-02-07 05:06:49 +03:00
Alex a32d5174a1 Altium schematic import: clear harness port list after parsing Additional.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16894
2024-02-07 05:06:49 +03:00
Alex Shvartzkop 65c0a0a629 ConvertImageToPolygons: fix images with no alpha.
Fixes KICAD-714
2024-02-06 21:38:00 +03:00
Marek Roszko 08b02f2a1a Add junction color property 2024-02-05 19:12:09 -05:00
Marek Roszko 899ed59f7b Add missing pin numbers/names properties 2024-02-05 19:08:56 -05:00
Alex Shvartzkop 0778a7d46d Fix Windows build. 2024-02-06 00:38:21 +03:00
Alex Shvartzkop be1bbda8ce Altium: Fix bug when symbol uses multiple display modes on one sheet. 2024-02-05 22:36:30 +03:00
Alex Shvartzkop d8c72e845c Altium schematic: support component's DISPLAYMODE being a string. 2024-02-05 22:36:25 +03:00
Jeff Young 82e353deb7 Notify property inspector after sheet properties dialog. 2024-02-05 19:10:22 +00:00
Jeff Young 1ff36f23b8 Clean up stale TODOs. 2024-02-05 15:49:57 +00:00
Jeff Young da46a96623 Update a few strings based on new string freeze policy. 2024-02-05 15:49:57 +00:00
Mike Williams 6a9914bf89 Lib Symbol Properties: make exclude from BOM string same as symbol props
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16876
2024-02-05 09:02:46 -05:00
Andre Iwers a0c39715df HTTP LIB - Fine tuning 2024-02-05 12:11:01 +00:00
Marek Roszko c39e7b2225 Tweaks in eeschema for hidpi 2024-02-05 01:03:52 -05:00
Wayne Stambaugh 92c2ddf77a Do not parent dialogs to non top level windows in panels or widgets. 2024-02-03 10:40:28 -05:00
Emile Cormier b58f318d3f Add volume to IBIS cache path
Fixes #16655
2024-02-03 09:35:36 +00:00
Jeff Young 7cc663ad77 Schematic parity checking for CLI DRC. 2024-02-02 23:05:37 +00:00
Wayne Stambaugh 2b1bf369f2 Do not parent file or directory dialogs to panels.
Parenting dialogs to child windows of top level windows is most likely
not defined behavior.  It's also likely that this behavior varies across
platforms so it' best not to risk doing it.  wxWidgets does not check if
the dialog parent is actually a top level window.  There may be other
places we are doing this with our message dialogs so we should do an
audit.
2024-02-02 09:20:36 -05:00
ecorm ff3288dab6 Add quotes around paths when KIBIS generates waveforms via ngspice
Fixes #16655
2024-02-01 17:20:16 +00:00
jean-pierre charras e8f51b61a6 EEschema, net navigator: save settings when closing Eeschema.
Fixes #16845
https://gitlab.com/kicad/code/kicad/-/issues/16845
2024-02-01 12:53:33 +01:00
Ma Han 7c6ee16b22 removed the dots for several strings in the settings dialog
https://gitlab.com/kicad/code/kicad/-/issues/16651
2024-02-01 08:52:57 +00:00
Seth Hillbrand 7664c345e2 Revert "Schematic performance enhancements"
This reverts commit df654ac12f.
2024-02-01 09:00:13 +01:00
Yon Uriarte df654ac12f Schematic performance enhancements 2024-02-01 02:28:09 +00:00
Wayne Stambaugh 466c707e91 Check for invalid library pin object pointer. 2024-01-31 12:17:11 -05:00
Roberto Fernandez Bautista 079478f989 EDA_ANGLE: use constexpr for constant angles
Remove all statics in the class and instead use constexpr to
ensure correct ordering
2024-01-31 19:17:46 +03:00
Alex Shvartzkop 6ff3b0eb95 Altium schematic: remove border from symlib ellipse inner polygon. 2024-01-31 19:08:36 +03:00
Alex Shvartzkop 7f29ac39d8 Altium schematic: case-insensitive search for subsheet files.
Also fixes open polylines on sheet.
Also prevents adding polylines with less than 2 points.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16829
2024-01-31 17:57:10 +03:00
jean-pierre charras d012a5cbe0 Eeschema menubar, view menu: group Show/Hide Net Navigator with other Show/hide menus 2024-01-31 12:40:21 +01:00
Alex Shvartzkop 1e5b68cb87 Altium schematic: add polygon inside filled ellipse. 2024-01-31 09:34:36 +03:00
Alex 6225ef69b6 Altium schematic import: fix power ports.
Use different symbol names for different port port styles.
Also fixes curved shapes construction.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16823
2024-01-31 08:22:27 +03:00
Alex c64b74918f Altium schematic import: put Template items on sheet.
So we can use variable resolution.
2024-01-31 07:00:02 +03:00
Alex 9ed735ef5d Fixes for Altium/CircuitStudio schematic import
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16825
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16824

Adds support for Templates.
Also fixes symbols on schematic with multiple display modes.
2024-01-31 02:07:06 +03:00
jean-pierre charras a3e6e08d92 Spice Simulator : update simulation after tuning cursor moved by arrow keys.
Fixes #16808
https://gitlab.com/kicad/code/kicad/-/issues/16808
2024-01-30 15:57:46 +01:00
Jeff Young 94cb00392e Repair connectivity if bus aliases changed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16503
2024-01-30 14:16:55 +00:00
Jeff Young b77709bb4d Formatting. 2024-01-30 14:03:38 +00:00
Jeff Young ee5e2e56c0 Naming conventions; no functional changes. 2024-01-29 16:00:06 +00:00
Jeff Young 00aed2aa3e Don't attempt to test for recursion on unsaved file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16722
2024-01-28 15:37:08 +00:00
Wayne Stambaugh 92308698ba Coding policy fixes. 2024-01-28 09:26:46 -05:00
Wayne Stambaugh 2f0337974b Update schematic connectivity when redoing changes.
Apparently we forgot to handle schematic connectivity changes when redoing
undone changes.  The same connectivity update logic that was added to the
commit object is now used in SCH_EDIT_FRAME::PutDataInPreviousState().

Please note the granularity of connectivity rebuilds on schematic object
property changes is at the object level which is overly aggressive.  This
means that connectivity rebuilds will happen when connectivity changes
that have nothing to do with and objects connectivity are changed.  Until
objects can handle their own connectivity state, this will have to suffice.
2024-01-27 12:02:53 -05:00
Jeff Young c0cbaa4c53 Finish earlier commit that somehow escaped my notice.
(String is existing.)
2024-01-27 15:55:05 +00:00
Jeff Young d2f0acae6b Expose pin visibility to property manager.
Also re-orders properties in Pin Properties dialog order.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16785
2024-01-27 15:52:59 +00:00
jean-pierre charras ad1a929404 Do not mark an empty string as translatable
It is not accepted by our tools
2024-01-27 09:06:03 +01:00
Jeff Young ceb8beb8c4 Move ChangeBodyStyle and CleanupSheetPins to SCH_COMMIT.
Also fixes a bug where showDeMorganAlternate didn't work
at all.
2024-01-26 22:29:51 +00:00
Jeff Young fb8f05fb34 Correctly report body style in symbol checker.
Also fixes a bug where off-grid pin locations were truncated.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16770
2024-01-26 18:11:23 +00:00
Jeff Young cc9f8f5b83 Fix a straggler from rename. 2024-01-26 18:01:22 +00:00
Seth Hillbrand bcad0761a4 Fix compile error 2024-01-26 08:35:11 -08:00
Jeff Young ae735d3eb4 Renaming: replace convert with body-style.
No functional changes.
2024-01-26 16:21:03 +00:00
Wayne Stambaugh 8975f26c26 Coding policy fixes. 2024-01-26 08:59:14 -05:00
Jon Evans c39bec4c08 SCH_FIELD.Visible can be unmasked
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16760
2024-01-26 08:54:04 -05:00
Jeff Young e99f758447 Revert b8a2b3b2bf. 2024-01-26 12:33:21 +00:00
jean-pierre charras 12357cfba6 symbol checker: do not forget to display error messages about pins not on grid.
Fixes #16759
https://gitlab.com/kicad/code/kicad/-/issues/16759
2024-01-26 10:19:58 +01:00
jean-pierre charras 74e02d7701 Eeschema, open CvPcb: ensure the netlist sent to CvPcb is up to date.
Fixes #16762
https://gitlab.com/kicad/code/kicad/-/issues/16762
2024-01-26 09:24:38 +01:00
Seth Hillbrand ec82a1b4e2 Fix duplicate pin check string
MessageTextFromValue returns text not floating point

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16758
2024-01-25 18:02:05 -08:00
Marek Roszko c2989132ac DeselectRow as we delete rows to avoid asserts 2024-01-25 20:37:00 -05:00
Seth Hillbrand bba0a8d038 Protect schematic undo list actions
The undo/redo lists can have non-SCH_ITEM elements such as worksheet
items.  When re-doing connectivity, we only need the schematic items, so
we pass on these

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16752
2024-01-25 16:47:14 -08:00
Jeff Young b8a2b3b2bf Take a stab at fixing #16752. 2024-01-25 23:46:35 +00:00
Wayne Stambaugh 4d6bbc8caa Fix symbol annotation when pasting nested hierarchical sheets. 2024-01-25 16:39:21 -05:00
jean-pierre charras 2e760483b0 HIERARCHY_PANE: Update tree labels when editing a sheet name or number
Fixes #16650
https://gitlab.com/kicad/code/kicad/-/issues/16650
2024-01-25 18:22:41 +01:00
Jeff Young a2b204572d Don't assert when a sim returns no results.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16749
2024-01-25 15:40:12 +00:00
Jeff Young 70bca8bc4e Provide popups for inductor references.
Also fixes a long-standing bug deleting the last field of
a symbol in the Symbol Editor.
2024-01-25 15:30:25 +00:00
Jeff Young 340d1b7fad Guard against nullptr access. 2024-01-25 15:30:25 +00:00
Marek Roszko c816280c6d Move the current selection before deleting the row to avoid asserts
Fixes sentry KICAD-63D
2024-01-24 22:57:36 -05:00
Marek Roszko b8bbbcf410 Fix assert in SYMBOL_VIEWER_FRAME::onSelectNextSymbol due to bad current selection check
Fixes sentry KICAD-6KE
2024-01-24 20:15:23 -05:00
Jon Evans 5d7eac7677 Allow for empty LIB_PART in certain symbol functions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16731
2024-01-24 12:18:10 -05:00
Jeff Young b8b4ea1a45 Comments. 2024-01-24 16:24:19 +00:00
Ian McInerney d04b21c6d6 Ensure parameter typeinfo matches the actual object's typeinfo
AppleClang seems to generate different typeinfo for forward declarations
of classes than the actual class object, so the any_cast for the pointer
parameter fails due to the types not matching (even when they look the
same when printed in the error).

Instead, we must always ensure we use the actual object when defining
the parameter type when placing the object into the event.
2024-01-24 16:14:32 +00:00
Jeff Young 6407576cb9 Convert between refs and KIIDs in Symbol Properties. 2024-01-24 11:02:56 +00:00
Martin Berglund ddc2092dac Eeschema: Autoplace fields offset correction
No longer count fields without 'Allow automatic placement'
toward the Autoplace offset.

Fixes https://gitlab.com/kicad/code/kicad/issues/16588
2024-01-24 00:24:16 +00:00
afkiwers c7475a16c8 implemented better caching for categories and parts overview to reduce processing time 2024-01-23 22:32:05 +00:00
Wayne Stambaugh d96ebf5745 Remove paste sheet instance path debugging output. 2024-01-23 16:04:08 -05:00
jean-pierre charras 8d2784b822 Eeschema, hierarchy navigator: right click on an item must select the corresponding
sheet, not the currently opened sheet.
Fixes #16670
https://gitlab.com/kicad/code/kicad/-/issues/16670
2024-01-23 18:13:03 +01:00
Jeff Young e549d7c0c6 Formatting and clearer variable names.
(No functional changes.)
2024-01-23 16:02:30 +00:00
Jeff Young a263b6d343 Mutual inductance statements have no model. 2024-01-23 15:14:09 +00:00
Jeff Young 1bd8da41a7 Mutual Inductor isn't an inductor.
It's a statement about two other inductors.
2024-01-23 15:07:29 +00:00
Jeff Young a836a66170 Update labels when editing field names.
This is yet another path for getting duplciate fields
when changing the case of an existing field name.
2024-01-23 14:58:56 +00:00
Jeff Young 9935a022cd Fix typo in OnRenameField() that can cause OOB access.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16625
2024-01-23 14:02:13 +00:00
Jeff Young 179ab1011f Don't use canonical name for user fields with an id of -1.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16715
2024-01-23 13:42:17 +00:00
Jeff Young 8b56b3d999 Formatting. 2024-01-23 13:42:17 +00:00
Wayne Stambaugh b3a36bd783 Fix overly aggressive sheet instance pruning. 2024-01-23 07:44:45 -05:00
Wayne Stambaugh 4cf22e428c Fix broken pasted sheet page numbering.
This change no longer sorts pasted sheets by page number.  This was done
because pasted sheets may not be numbered.  When sheets are not numbered
they are sorted by UUID path which results in some unexpected results.
Since the pasted sheet code uses recursion, pages will be numbered in the
order they are added.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16580
2024-01-22 16:55:43 -05:00
Roberto Fernandez Bautista 43a3ed2522 Don't hardcode symbol library stub when converting library
Also, make sure options column is set back to blank

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16706
2024-01-22 22:52:40 +01:00
Jeff Young 85f0dd279c Push fileFilter callback function down a level.
(The GRID_CELL_PATH_EDITOR is shared by the whole column.)

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

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13959
2024-01-22 18:27:31 +00:00
Marek Roszko f63c7806fd More bitmap bundle comboboxes 2024-01-21 22:55:13 -05:00
Marek Roszko 059b043935 Try and walk from a real component pin rather than power symbol that will fail our later check 2024-01-21 21:12:14 -05:00
Marek Roszko caf463bbd2 Pass KiBitmapBundle instead of KiBitmap to the pin property comboboxes
Related https://gitlab.com/kicad/code/kicad/-/issues/16698
2024-01-21 20:47:46 -05:00
Marek Roszko fb8dc75108 Fix broken conditional check while walking global power connected items
Per the if statement and logic, we want to walk into looking up connections if we are a pin on a chip.
IsGlobalPower is a test for it's in a power symbol, so we want it false not true.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16699
2024-01-21 19:54:09 -05:00
Marek Roszko 1981997ee2 Dump the ERC report as part of the erc failure 2024-01-21 16:10:43 -05:00
Graham Keeth e58615952c Fix delimeter -> delimiter typo in translated strings
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16673
2024-01-21 13:44:43 -05:00
Wayne Stambaugh 2cfb7a5310 Incremental schematic connectivity fixes. 2024-01-21 16:53:05 +00:00
Jeff Young 5c4313587b Attempt to fix hierarchy tree selection issue.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16670
2024-01-20 19:25:18 +00:00
Seth Hillbrand 7687f240a2 Prevent footprint editing in power symbols
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16663
2024-01-19 12:52:03 -08:00
Jeff Young ac4f9dc97a Initialize shared sheet instance page no's in drawing tool.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16580
2024-01-19 18:45:46 +00:00
Jeff Young 4d80da8238 Separate symbol angle and mirroring in prop manager. 2024-01-19 13:40:56 +00:00
Jon Evans f80094e7c5 Warn the search pane that pointers are going invalid
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16612
2024-01-18 17:50:50 -05:00
Jeff Young 6361995412 Beef up property manager access to SCH_SYMBOL.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16640
2024-01-18 16:17:46 +00:00
Jeff Young 61876533df Clean up formatting. 2024-01-18 16:17:46 +00:00
Marek Roszko 7b24167398 FromDIP symbol and footprint editor aui panes 2024-01-17 23:08:38 -05:00
Marek Roszko f5db4d6864 Remove the invalid default dock directions for search panel
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16636
2024-01-17 22:26:04 -05:00
Marek Roszko 1c6d7a5fa5 Sprinkle FromDIP in SCH_EDIT_FRAME aui setup 2024-01-17 22:05:54 -05:00
Andre Iwers 4d1a016429 HTTP Libraries: Improved cache performance 2024-01-18 02:33:16 +00:00
Seth Hillbrand ba6979a274 Fix pin check to allow for globals
Don't short-circuit adding global labels to the pins vector or we won't
search all subnets
2024-01-16 16:35:47 -08:00
Seth Hillbrand 8fea4812f3 Don't count power flags as sinks/sources
Just because we have a power flag on a net does not mean that there are
more than 1 pin

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13469
2024-01-16 15:24:32 -08:00
Marek Roszko b4bfdf95d3 Explicitly add 48, 128, 256 to icon bundles for each app 2024-01-16 17:21:44 -05:00
Marek Roszko 76e8ed2506 Fix sch_field and pcb_target not returning evaluated similarity correctly 2024-01-16 15:43:49 -05:00
Alex Shvartzkop 3bbf45dccb EasyEDA Pro: resolve device attribute variables in schematic. 2024-01-16 23:40:00 +03:00
Alex Shvartzkop 42255f10c3 EasyEDA Pro: fix default netport orientations.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16620
2024-01-16 22:47:15 +03:00
Alex Shvartzkop 4f6c25895e Rename UNKNOWN in enums to prevent shadowing. 2024-01-16 19:14:57 +03:00
jean-pierre charras 07fa42644d SCH_PAINTER: fix a few minor issues related to Cairo print engine
- shows correctly hidden power pins unconnected circle
- do not print dangling indicators
- do not print highlight shadows.
Fixes #16615
https://gitlab.com/kicad/code/kicad/-/issues/16615
2024-01-16 16:30:55 +01:00
Alex Shvartzkop f99505e190 Fix arc editing bugs when endpoints match.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16532
2024-01-16 16:17:45 +03:00
Alex Shvartzkop 5bd620d8f9 Support Bezier curve editing in eeschema. 2024-01-16 14:11:25 +03:00
Alex Shvartzkop 57bc443f0b Fix HPGL color mode being set. 2024-01-15 22:35:35 +03:00
Alex Shvartzkop 01e88d33aa Fix Bezier reading in schematic as well. 2024-01-15 22:35:35 +03:00
Alex Shvartzkop ad7258721b Initialize SCH_SHEET members earlier.
m_borderWidth is used for autoplacing fields.
Fixes sheet filename being in extreme locations in some cases.
2024-01-15 22:35:35 +03:00
Wayne Stambaugh d3f40dde3f Fix assertion when pasting schematic sheets.
Pasted sheets do not have assigned SCH_SCREEN objects until after they
are loaded.

Do not recalculate connectivity unless the SCH_COMMIT object actually has
connectable schematic object changes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16579
2024-01-15 12:15:30 -05:00
Alex Shvartzkop 4fac43d696 Fix variable substitutions in library tables.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16601
2024-01-15 09:53:08 +03:00
Alex Shvartzkop b7460f29b4 Altium schematic: fix properties parsing in old formats.
Leading "|" can be missing before "RECORD=28" in old formats.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16513
2024-01-14 13:12:47 +03:00
Seth Hillbrand 4e3d2a148d Fix typo 2024-01-12 14:51:32 -08:00
jean-pierre charras c18bfe0c61 DIALOG_DRC & DIALOG_ERC: re-enable button "Run ERC" and "Run DRC" after running tests.
Fixes #16583
https://gitlab.com/kicad/code/kicad/-/issues/16583
2024-01-12 15:38:25 +01:00
Seth Hillbrand 2aab24ef29 Prevent multiple reloads when saving
Avoid potential issues with Mac libedit crashes (hopefully)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14865
2024-01-11 19:01:31 -08:00
Wayne Stambaugh 0df8d5c2d6 Do not assert when pruning orphaned sheet and/or symbol instances.
Running the schematic editor in the stand alone mode can result in an
empty project name.  Rather than assert when the project name is empty,
just don't run the pruning algorithm.  The pruning will just have to
happen on the next load of the schematic when it has a proper project
name.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16577
2024-01-11 15:47:21 -05:00
Mike Williams 382fe3de09 Symbol Fields Table: fix regroup button using schematic values
Should use the datastore where possible since users are using this to
regroup before applying the data.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16574
2024-01-11 12:01:12 -05:00
Jeff Young 4b1fc9c129 Update AM and SFFM source parameters to ngspice-43.
Note: there's no migration strategy because they didn't
work at all prior to ngspice-43.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16529
2024-01-10 20:27:52 +00:00
Jeff Young 94a7d1647f Fix typo.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16542
2024-01-10 18:32:47 +00:00
Jeff Young 9038f80543 Switch button focus to Close after running ERC or DRC.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16541
2024-01-10 17:36:31 +00:00
Ian McInerney e7746d3bc8 Fix spelling mistakes 2024-01-10 16:17:07 +00:00
Wayne Stambaugh 4f3fb5c23f Second attempt at fixing ERC dialog reference update issue.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16519
2024-01-09 13:14:13 -05:00
Wayne Stambaugh 92c58f2564 Fix sheet path dependent ERC dialog selection issues.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16519
2024-01-08 11:16:55 -05:00
Jeff Young 120937b6b0 Honour forced transparency for strokes and fills.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16542
2024-01-07 17:40:50 +00:00
Jeff Young 392242b9a4 Make sure OK button has focus when re-displaying ERC window.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16541
2024-01-07 17:23:45 +00:00
jean-pierre charras c5bb939cc9 LIB_TEXTBOX: fix incorrect line style in plot function for LINE_STYLE::DEFAULT.
LINE_STYLE::DEFAULT is fixed as SOLID in all plot functions, but not for this item.
Fixes #16543
https://gitlab.com/kicad/code/kicad/-/issues/16543
2024-01-07 16:14:15 +01:00
Jeff Young 84d161a4b7 Don't use referential values as defaults. 2024-01-06 22:01:23 +00:00
Jeff Young 7c5eaed69e Un-comment and repair TRRANDOM sources.
Also adds new parameters to AM sources for ngspice-43.

Also fixes a bug in the spice parameter parser (which would
puke on any parameter name starting with one of the flag
parameter strings).

Also fixes a bug where the skipped source parameters would
get set to "0" instead of their default values.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16393
2024-01-06 20:34:36 +00:00
Wayne Stambaugh 50cad558cf Do not update tree to selected sheet in schematic hierarchy navigator.
This was causing unwanted tree expansions when descending a sheet hierarchy
in editor.

Also fixed an issue with the tree highlighting when changing sheets in the
schematic editor.
2024-01-06 12:25:39 -05:00
Jeff Young bbdefa05eb Un-comment and repair AM and SFFM sources.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16529
2024-01-06 14:49:05 +00:00
Wayne Stambaugh a310c0a05a Do not expand the entire schematic hierarchy navigator tree by default.
The new behavior is to only expand to the first child of the root sheet
level.  On very complex hierarchies, this makes the navigator far more
useful.

Do not update schematic hierarchy navigator on every edit.  Now only
sheet changes will trigger a rebuild of the tree.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16371
2024-01-06 07:56:16 -05:00
Jeff Young f5aa2ea8cf Fix copy/pasta in arc plotting.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16531
2024-01-05 16:42:57 +00:00
Fabian Pflug a1f796ffa0 Respect exclude from bom in all python files
Two scripts were missing the excludeBOM=True selector.
2024-01-05 16:11:20 +00:00
Wayne Stambaugh f07d797ab3 Don't show ERCs for every sheet path when using shared schematics.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16434
2024-01-04 13:53:16 -05:00
Wayne Stambaugh 38562db023 Coding policy fixes. 2024-01-04 13:30:02 -05:00
Jeff Young e438fc2569 Remove dead code. (Coverity)
Also fixes a (small) memory leak.
2024-01-04 15:57:30 +00:00
Jeff Young ffa3b27a4e Fix uninitialized variable. (Coverity) 2024-01-04 14:58:59 +00:00
Mike Williams 2a04e6ac63 Schematic: don't allow setting footprint for power symbols
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16505
2024-01-03 08:52:08 -05:00
Ian McInerney d0a3c04835 Handle rotating individual no connects
Fixes KICAD-4A9
2024-01-02 22:03:10 +00:00
Jeff Young ab34ce295f SCH_LINE_WIRE_BUS_TOOL must use GRID_GRAPHICS for lines.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16492
2024-01-02 17:31:08 +00:00
Jeff Young 2a0486845d Restore legacy spin-style processing for text items.
Post-V5 we only use it on labels, but earlier versions also
used it for text.

Also process spinStyle for CADSTAR imports.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16488
2023-12-31 17:22:58 +00:00
Alex Shvartzkop aa6fd88082 Default graphical line style in v6 and older was Dashed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16479
2023-12-31 19:28:55 +05:00
Jon Evans ea0673e7a0 Do not merge buses of distinct types
Previously, this code would merge a vector bus
with a group bus containing the vector as a member.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16439
2023-12-30 10:54:24 -05:00
Jeff Young 2e9f0679fc Fix i18n mixup.
Tab names and column names are translated on the fly, but
that means they need _HKI macros to make sure they get into
the translation database.
2023-12-30 11:24:35 +00:00
Jeff Young 4551880e40 Fix a typo and some i18n issues.
(Also flags some i18n issues for 9.0.)
2023-12-29 17:12:10 +00:00
Ian McInerney 4eaa0242ca Collapse schematic/symbol graphics import to single action
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16463
2023-12-29 02:57:21 +00:00
Ian McInerney f2702b223c Introduce base IO_MGR class and unify RELEASER objects
The IO_RELEASER is a thin-wrapper around a std::unique_ptr, but done
this way to allow easier addition of a custom deleter in the future if
something needs to call back into the IO_MGR.
2023-12-29 00:37:38 +00:00
Wayne Stambaugh 04d15026c5 Rename SCH_SYMBOL::GetInstanceReferences() to GetInstances(). 2023-12-28 18:25:56 -05:00
Jeff Young cdb99de862 Use HasSymbol() instead of a null logger. 2023-12-28 21:52:26 +00:00
Jon Evans c9d31c4429 Add explicit copy ctor for SCH_CONNECTION 2023-12-28 15:30:25 -05:00
Jeff Young e59612d56c Add realloc locking calls for ngspice42.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15941
2023-12-28 19:36:18 +00:00
Wayne Stambaugh 482aff3f0b Prune orphaned schematic sheet instances.
Pasting from the clipboard when copying from another project can leave
sheet instance information that is not valid for the current project.
This change prunes all sheet instance information that is not relevant
to the current project.  It also prunes invalid paths created by pasting
sheets from different paths in the same project.
2023-12-28 12:19:19 -05:00
Jeff Young a452213546 Reduce menu nesting for attribute setters/clearers.
Also fixes some issues with menus being owned by the wrong
tool.

Also removes "no xxx selected" warnings in submenus which
aren't show unless xxx is selected to start with.

Also fixes some un-translated strings (which happily
already exist elsewhere in the UI)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16454
2023-12-28 14:19:13 +00:00
Jan Wichmann bddadd1f42 eeschema:
CHANGED: Simplifying the context menu and moving all removed items to main menu.
2023-12-28 13:58:05 +00:00
Marek Roszko 9a890cdba9 Kick the wildcards and file exts into a static class, export it from kicommon 2023-12-27 21:10:01 -05:00
Ian McInerney 4a67761d29 Push library reading check to IO_BASE 2023-12-27 16:44:45 +00:00
Ian McInerney f8688a922d Unify IO library descriptors 2023-12-27 16:34:59 +00:00
Jeff Young 49d6439ae0 Formatting. 2023-12-27 13:52:02 +00:00
Ian McInerney 743e9d669a Push library management into IO_BASE 2023-12-27 01:21:53 +00:00
Ian McInerney cad91312aa Introduce main base class for all IO loaders 2023-12-26 23:27:11 +00:00