Ian McInerney
dc08c48f33
Try to fix linking after constexpr change
...
Somehow, GCC 10 and 11 were unable to locate the prebuild colors when
they were constexpr in gal, so give them on the link line again.
2023-04-06 15:20:16 +01:00
Ian McInerney
311d5d5e26
Remove unused container header
2023-04-06 15:01:18 +01:00
Ian McInerney
ea62b145ff
Introduce core interface library
...
This library is meant to move non-EDA items (language extensions,
library extensions, etc.) into the lowest-level of our dependency chain.
This library should never depend on anyother non-thirdparty code in the
kicad codebase.
2023-04-06 15:01:18 +01:00
jean-pierre charras
4d05bd62da
drc_test_provider_library_parity: fix false positive.
...
After last changes in PCB_SHAPES, there were issues when comparing coordinates
of shapes.
Use now a footprint not flipped, not rotated and at position 0,0 for comparisons.
Fixes #14496
https://gitlab.com/kicad/code/kicad/issues/14496
2023-04-05 18:25:19 +02:00
Tomasz Wlostowski
1283c4713f
router: rework ITEM ownership model.
...
- prerequisite for holes as first class objects code
- introduced the OWNABLE_ITEM interface that defines the owning container (NODE/other ITEM/ITEM_SET)
- simplified the ITEM_SET interface
- constified a lot of APIs (ownership/JOINT management) as a side effect
Rebased and cleaned up by Jeff Young <jeff@rokeby.ie> 5 April 2023
- some STL cover types removed
2023-04-05 11:21:31 +01:00
Tomasz Wlostowski
eed05191a9
router: pass collision query options in a structure
...
Selectively cherry-picked by Jeff Young <jeff@rokeby.ie> 4 April 2023
- Jon's user-clearance-epsilon algo kept intact
- Jeff's castellated-pad code kept intact
2023-04-05 11:21:31 +01:00
Jeff Young
a9b2234f4e
Use a softer Reset for grid settings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14458
2023-04-04 17:05:21 +01:00
Jeff Young
13e79af8a0
Eagle template footprints don't actually belong to board.
...
Set their parent to nullptr before deleting (as the board may have
already been deleted).
Likely fix for Sentry KICAD-79.
2023-04-04 14:18:49 +01:00
Jeff Young
bd60f38569
Possible protection from acessing deleted window data.
...
(Long shot for Sentry KICAD-MM.)
2023-04-03 23:44:40 +01:00
Jeff Young
a4e8fa96d4
Nullptr safety.
...
(This is a long shot for Sentry KICAD-MV, but you never know....)
2023-04-03 23:44:40 +01:00
Jeff Young
9b4627e782
Don't pass a FRAME-based UNITS_PROVIDER to a modeless dialog.
...
(The dialog may outlive said frame.)
Should fix Sentry KICAD-3A.
2023-04-03 17:18:33 +01:00
Jeff Young
7a24672120
Improve naming. No functional changes.
2023-04-03 14:32:23 +01:00
Jeff Young
d9b0577ddd
Fix pad flipping.
2023-04-03 14:32:23 +01:00
Jeff Young
7286555529
Fix some issues editing pads via Pad Properties dialog.
...
The offsets and orientations were being incorrectly handled.
2023-04-03 13:17:52 +01:00
Jeff Young
fd07f50c44
Report collisions of items with nets as SHORTING, not CLEARANCE.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14312
2023-04-02 21:07:52 +01:00
Jeff Young
77639a540b
Add messages for clearance reports on footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13874
2023-04-02 19:12:19 +01:00
Jeff Young
28028c941e
Retire Local/Draw coords distinction from PAD (the last object to have it).
2023-04-02 18:02:41 +01:00
Jeff Young
7252c7471c
Use enums for column ids.
...
(The nickname, in particular, is no longer column 1.)
Fixes https://gitlab.com/kicad/code/kicad/issues/14291
2023-04-02 15:10:06 +01:00
Jeff Young
b78e0a55b1
Naming conventions. (No functional changes.)
2023-04-02 11:48:23 +01:00
jean-pierre charras
054de5687c
Pcbnew: fix crash when trying to delete a PCB_TEXT.
2023-04-02 12:15:18 +02:00
jean-pierre charras
31354a2d91
PCB_TEXT::TransformTextToPolySet(): fix some issues:
...
- incorrect rotation for texts with option "Keep Upright"
- missing code for knockout texts.
Fixes #14473
https://gitlab.com/kicad/code/kicad/issues/14473
2023-04-02 09:54:53 +02:00
jean-pierre charras
52315e4f02
specctra_export: fix unit conv PCB iu -> DSN
2023-04-01 17:28:50 +02:00
Jeff Young
bf9a42d7e1
Naming conventions and nullptr usage. No functional changes.
2023-04-01 15:41:59 +01:00
Jeff Young
4fbb85aa4f
Naming conventions.
2023-04-01 15:40:50 +01:00
Jeff Young
a8faa0e615
Add hole clearance to moutning hole keepouts for SPECCTRA.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14439
2023-04-01 15:40:43 +01:00
Jeff Young
04cdca837e
Remove GUI dialogs from PCB plugin.
2023-04-01 11:37:34 +01:00
Jeff Young
b80a9014ff
Fix gcc warning.
2023-03-31 23:53:11 +01:00
Jeff Young
bbd6c80507
Collapse FP_* down into their PCB_* equivalents.
2023-03-31 22:57:46 +01:00
Seth Hillbrand
7695d510d6
Prevent PCB Editor from opening multiple board_setup
...
ShowBoardSetup can be called multiple times from multiple locations,
resulting in duplicate board setup dialog boxes. This is confusing and
should be prevented. We use the established patter from the symbol
picker to ensure that only one copy of the dialog is ever opened at a
time
2023-03-30 15:34:23 -07:00
jean-pierre charras
061e423b1f
Pcbnew: fix incorrect position of cached text shapes when moving a footprint.
...
when moving a footprint, the position of texts living in FP_TEXT_BOX was
not updated when the text shape was cached (non Kicad fonts).
Fixes #14452
https://gitlab.com/kicad/code/kicad/issues/14452
2023-03-30 17:25:25 +02:00
Roberto Fernandez Bautista
d5bc223ff2
CADSTAR PCB Importer: Ignore construction layers on outer surfaces
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14443
2023-03-29 23:46:22 +02:00
Roberto Fernandez Bautista
aaeb8ca739
CADSTAR PCB importer: Fix loading of rounded rectangle pads
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14445
2023-03-29 20:53:14 +02:00
Roberto Fernandez Bautista
89441d807d
CADSTAR PCB importer: Fix incorrect position of overridden pads
2023-03-29 20:53:14 +02:00
Wayne Stambaugh
28776f5745
Text attributes object improvements.
...
* Add compare method to COLOR4D object.
* Add unit test to validate COLOR4D comparison method.
* Add missing color test in text attribute comparison method.
* Add unit test for text attribute object.
* Remove unnecessary headers from text attribute header.
* Move text attribute code into separate source file.
2023-03-29 12:53:45 -04:00
jean-pierre charras
683a327200
Footprint editor: always export the currently loaded footprint.
...
Previously, it was not always the edited footprint, but a footprint
selected from the library tree.
It was especially annoying when the footprint was loaded from the board editor:
The footprint was not the loaded footprint, but its copy from library.
2023-03-29 18:47:39 +02:00
jean-pierre charras
0bd83d3096
Footprint viewer: ensure the footprint is updated after new library selection
...
Previously, if the first fp of the new lib has the same name as the old
displayed fp, the old fp was not replace by the new fp.
2023-03-29 16:53:49 +02:00
Seth Hillbrand
f93fde15b7
Locked shadow needs to be in shadow color
...
Otherwise, text shadow is stroked by text color
2023-03-28 13:01:08 -07:00
Jeff Young
0f9a4ef7b7
Update local coords after changing footprint item properties.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14348
2023-03-27 16:44:00 +01:00
Jon Evans
3f42e6b702
Properties: Hide Net Class from GUI
...
It is confusing users who want to change the netclass of a net.
2023-03-26 19:46:00 -04:00
Jon Evans
65193487a6
Properties: Rename methods to better reflect their purposes
2023-03-26 19:43:16 -04:00
Jeff Young
a214ac0310
Better reporting of copper <--> keepout area clearances.
...
(Keepout areas can keep-out copper, but they don't have a clearance
to copper.)
Fixes https://gitlab.com/kicad/code/kicad/issues/14375
2023-03-26 20:57:59 +01:00
Jeff Young
9976b9ce8c
Only report on clearances where there was one defined.
...
If it's 0, it's just a straight-up collision.
2023-03-26 20:46:59 +01:00
Jeff Young
0266d03f79
Run SILK_CLEARANCE rules on mask layer when testing silk-to-mask clearance.
...
This allows custom rules to be authored without firing the auto-generated
rule from Board Setup > Silk Item Clearance (which should be only for silk-
to-silk clearances).
Fixes https://gitlab.com/kicad/code/kicad/issues/14417
2023-03-26 20:42:41 +01:00
Jeff Young
2443bc6e29
Update allow-solder-mask-bridges when updating footprint from library.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14422
2023-03-26 16:27:09 +01:00
Jeff Young
04f6f04bed
Test silk/mask collisions on the correct layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14417
2023-03-26 16:27:05 +01:00
Marek Roszko
604a7d69db
Move up a layer validity check to prevent crash
...
Fixes sentry crash KICAD-RF
2023-03-25 17:12:22 -04:00
Jeff Young
c5e66361db
Allow solder mask bridges between net-tie-group pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14412
2023-03-25 16:11:07 +00:00
Jeff Young
d6dd58fff9
Keep track of single-pad-islands so we can discount spokes to them.
2023-03-25 10:44:46 +00:00
Marek Roszko
eb90448247
Fix typo
2023-03-24 19:54:41 -04:00
Marek Roszko
8a8589b9db
Fix cli crash due to dialogs buried in the pcb parser...
...
Fixes sentry KICAD-Q2
2023-03-24 19:52:48 -04:00