Commit Graph

10442 Commits

Author SHA1 Message Date
Marek Roszko a4d8c021aa Remove rouge gdicmn include 2023-09-06 18:33:22 -04:00
Marek Roszko 4d77fd48ef Shove thread_pool to core 2023-09-06 17:50:12 -04:00
Seth Hillbrand 08ffb17489 Only allow parameters for the full lib part in Altium 2023-09-06 19:15:35 +00:00
Seth Hillbrand 25a60fac54 Altium fixes
- Designators and Parameters are shared by all display modes, so don't
  try to extract one, just place the elements on them all
2023-09-06 19:15:35 +00:00
Seth Hillbrand 468beb5a05 Handle font sizes in Altium libs 2023-09-06 19:15:35 +00:00
Seth Hillbrand 893ebdd016 Adding additional Altium features
- Allow pins to be hidden
- Force backgrounds that overlap items to be in the background
- Include footprint information from Altium libraries
- Handle ellipses more intelligently
- Altium hairline treated as 1mil line (not 100nm)
2023-09-06 19:15:35 +00:00
Seth Hillbrand 1555b207a8 Add PIN_NAME and PIN_NUM to the layer ordering
This ensures that pin names/numbers are shown above the graphics
2023-09-06 19:15:35 +00:00
Seth Hillbrand c7868f0832 Altium Plugin updates
Handle Altium multiple display modes (e.g. DeMorgan)
Handle Altium overbar format (o\v\e\r\b\a\r\)
Transform ellipses and elliptical arcs into approximate arcs
Add remaining unknown RECORD ids
2023-09-06 19:15:35 +00:00
Seth Hillbrand 3bd745ee15 Add support for Altium ellipses
Not really ellipses but instead, use two arcs to simulate
2023-09-06 19:15:35 +00:00
Seth Hillbrand 24d3df5416 ADDED: Altium SchLib Support 2023-09-06 19:15:35 +00:00
Seth Hillbrand f9b745f3d2 Allow multiple format image saving
- Keep original image data.  When loading JPEG, this avoid recompression
  that changes file data and decreases image quality
- Allow schematic and page layout editors to store non-PNG data as well
- Move page layout editor to store base64 instead of hex-coded data
2023-09-06 12:12:32 -07:00
Jeff Young c07e9c834f Validate new footprint / save as footprint info before exiting dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13923
2023-09-06 12:49:37 +01:00
Jeff Young 7a2a2e2df0 Remove error-prone SetReporter() API. 2023-09-06 11:37:50 +01:00
Alex Shvartzkop ee2f954bbe Revert "Set reporter in DIALOG_SIM_MODEL::TransferDataToWindow."
This reverts commit 26f398a4b1.
2023-09-06 08:02:01 +03:00
Marek Roszko 4fe7c7a902 Prevent crash trying to load missing spice lib 2023-09-05 21:13:29 -04:00
Jeff Young 634524dde5 Validate new symbol / save as symbol info before exiting dialog. 2023-09-05 22:07:58 +01:00
jean-pierre charras cbcaaa001c fix some Coverity and compil warnings. 2023-09-05 20:30:08 +02:00
Alex Shvartzkop a3df8f8a97 Better drawing precision for LIB_SHAPE arcs. 2023-09-05 14:07:46 +03:00
Alex Shvartzkop a5a93f808e Populate symbol library type choices from SCH_IO_MGR list. 2023-09-05 07:19:15 +03:00
Marek Roszko b566f994bb
Flip the RegisterSettings order to avoid legacy import crashes
(cherry picked from commit 32c2135047)
2023-09-05 03:23:07 +00:00
Marek Roszko a2522a2230 Don't call .Load() and cause settings to reload from disk
RegisterSettings can load the new settings json as added by not turning off the load now parameter
2023-09-04 22:42:00 -04:00
Jeff Young 9999ac5662 Generate NC-pin errors when connected to other items.
Also removes the NC row in the pin map as it hasn't been used since
6.0 (see #1826).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15558
2023-09-04 17:27:39 +01:00
Jeff Young d593257fbd Honour override-individual-item-colors setting for filled shapes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15572
2023-09-04 14:26:39 +01:00
Jeff Young fe0fb92441 Reduce visual clutter in GAL display options. 2023-09-04 13:06:46 +01:00
Jeff Young c2057ba1bc Don't use Clone() for duplicating. It returns the same UUID.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14162
2023-09-03 19:06:20 +01:00
Jeff Young f39bc64212 Show grey background in pin table for pins with no alternates defined.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14030
2023-09-03 15:34:18 +01:00
Jeff Young a72df46200 Show grey background in pin table for pins with no alternates defined.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14030
2023-09-03 15:34:18 +01:00
Marek Roszko fb8d52f19e kicad-cli: Remove -O for plot and add --pages to specify list of pages instead
--pages 1 is equivalent to -O

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15402
2023-09-03 09:18:11 -04:00
Wayne Stambaugh f8cb239f40 Fix symbol library save issue.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15561
2023-09-03 09:11:06 -04:00
Jeff Young 61bcf46ffe Don't show preview for lib-item loaded on to canvas. 2023-09-03 12:07:09 +01:00
Jeff Young e6b0a6abca ADDED: lib tree previews.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2418
2023-09-02 23:30:22 +01:00
Alex Shvartzkop 5bb89b300f SVG lib symbol import: fix AddLine. 2023-09-02 19:17:27 +03:00
Jeff Young f6e238dc3f Add items to repeat_items after paste (or duplicate).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15556
2023-09-02 11:56:52 +01:00
Jeff Young 68c839b214 Stop trying to zero-out offset of custom-shaped pads.
It causes *way* to many issues.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15555
2023-09-01 18:48:46 +01:00
Jeff Young f3f57f77d9 Use STD_BITMAP_BUTTON for change symbols dialog. 2023-09-01 18:48:46 +01:00
Marek Roszko f357e79f77 Add --define-var / -D to the cli opts for some commands
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15437
2023-08-31 21:46:37 -04:00
Marek Roszko b542539546 Add --drawing-sheet arg for various cli commands for overriding the project sheet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15438
2023-08-31 19:53:23 -04:00
Jeff Young 377ffb00b0 Re-run autoplacement after symbol replacement (when appropriate).
Also prevents an internal wxWidgets assert by clearing grid
selection before deleting rows.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15541
2023-08-31 23:28:59 +01:00
Seth Hillbrand c2fd2f42eb Update TestDanglingEnds to O(n) speed
The elements don't care which they connect to, so don't search for
points on the page, just collect them all and then test them all

Adjusts f3dd5b73
2023-08-31 15:31:48 +00:00
Jeff Young cb003d8ab4 Don't count pins of both De Morgan variants when matching to footprint pads.
(And remove un unused variable from grid settings dialog.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15550
2023-08-31 11:36:39 +01:00
Marek Roszko 87513b4a04 Change the sentry dsn to be build time defined
We ultimately don't want people running personal builds to turn on sentry and start sending us crash logs we can't decipher
2023-08-30 22:17:38 -04:00
Alex Shvartzkop e128896ba6 Schematic plugins refactoring, fixes for PCB plugins.
- Move PLUGIN_FILE_DESC to common.
- SCH_PLUGIN: rename Load -> LoadSchematicFile, Save -> SaveSchematicFile.
- Use PLUGIN_FILE_DESC and CanRead* in schematic plugins.
- Return none/unknown types from Find/GuessPluginType functions.
- Iterate over file types for file wildcards.
- Clean-up header checking in IO plugins.
- Use PCB plugin list in IO_MGR::GuessPluginTypeFromLibPath.
2023-08-31 05:08:03 +03:00
Alex Shvartzkop 7428f3d452 Fix LTspice in ShowType / EnumFromStr. 2023-08-31 04:59:37 +03:00
Mike Williams b8a61719c3 Grids: make overrides use existing grids (choice box) 2023-08-30 13:33:04 -04:00
Mike Williams b1a388ca69 Grids: Support X and Y for all grids, add optional names 2023-08-30 11:22:19 -04:00
Jeff Young 7a8d903412 ADDED: align elements to grid for Symbol Editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15524
2023-08-30 15:45:31 +01:00
Jeff Young d74e9ba040 Support SHORT_NET_NAME(pin_number) and friends on symbols.
While it's of debatable use in the schematic, some users want to
author them there so that they're then copied onto the board.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15544
2023-08-30 11:43:35 +01:00
Jeff Young ace394aab9 Minor cleanup. 2023-08-30 11:09:11 +01:00
Jeff Young 1eaadf7c7f Clean up pin text plotting code and update print code to match.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15501
2023-08-30 10:56:04 +01:00
Jeff Young 30a6d33177 Better fix for primary param in value field with other params in params field.
(Replaces 2c8178829982c6e15e443b5a7868b8c953d5126f.)
2023-08-30 00:53:01 +01:00
Jeff Young 86f96d544b {slash}-to-/ comparison special-cases need to run both ways.
(The library may be legacy format, or the document may be.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15540
2023-08-29 18:29:49 +01:00
Jeff Young e0b2202e77 Improve naming for alternate pin fuction assignments. 2023-08-29 18:07:27 +01:00
Jeff Young 9fae110031 Make sure copied SCH_PINs get their LIB_PIN pointers set.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15536
2023-08-29 12:29:41 +01:00
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