Jeff Young
3b63d70d01
Centralize NPTH has-annulus processing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13437
2023-04-08 15:06:49 +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
28028c941e
Retire Local/Draw coords distinction from PAD (the last object to have it).
2023-04-02 18:02:41 +01:00
Jeff Young
bbd6c80507
Collapse FP_* down into their PCB_* equivalents.
2023-03-31 22:57:46 +01:00
Seth Hillbrand
da61d31f44
Remove superfluous Simplify() call
2023-02-22 16:24:26 -08:00
Jon Evans
cad607ae84
Hide parent property in footprint editor
2023-02-17 20:40:09 -05:00
Jon Evans
f7d59f2e89
Enable properties panel in footprint editor
2023-02-17 20:35:56 -05:00
Marek Roszko
f409837d26
Fix a stray ternary hidden under #if
2023-02-12 16:46:34 -05:00
Jon Evans
0b3928d38f
Properties: add some validators for PAD
2023-02-11 15:50:51 -05:00
Alex
b71fa91bc4
Don't write outside of overrides array on pad zone_layer_connections.
...
Use std::array to catch future errors in Debug.
Fixes https://gitlab.com/kicad/code/kicad/issues/13803
2023-02-08 01:32:52 +03:00
Jeff Young
f2f54fe926
Improve zone-layer-connections terminology and comments.
...
This makes it clearer that the overrides are not inverses of each
other -- one overrides the flashing state and the other overrides
the connection state (to other zones, not to everything).
Also fixes a bug where we were failing to check the force-no-connect
for pads.
2023-02-05 17:39:42 +00:00
Jeff Young
00e2bbac5a
Special-case net-ties for solder mask bridging.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13646
2023-01-24 11:33:08 +00:00
Jon Evans
c530bdb5a1
Rename GetSelectMenuText to GetItemDescription
...
This descriptive text is used for many more things than
just the select menu these days.
2023-01-11 22:27:44 -05:00
Jeff Young
e509fa0fc9
Don't depend on a pad being connected to a non-zone when filling zones.
...
If the pad hasn't already been owned by another zone, and the zone we're
currently filling can connect to it, then we want to try to flash it even
if it's not connected to anything else.
Fixes https://gitlab.com/kicad/code/kicad/issues/13415
2023-01-07 19:34:32 +00:00
Jon Evans
5eb3f5d3e7
Use correct translation macro for group names
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13277
2022-12-26 20:11:20 -05:00
Jeff Young
5dce8323e8
KIGFX::REPAINT is not enough if the item isn't in the view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11656
Fixes https://gitlab.com/kicad/code/kicad/issues/13217
2022-12-24 17:18:22 +00:00
Jon Evans
67df342255
Properties: mask irrelevant NPTH properties
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13087
2022-12-08 18:00:44 -05:00
Jon Evans
73b3f28c25
Properties: mask layer property for items that can't set it
2022-12-01 22:22:29 -05:00
Jon Evans
81ab8a0499
Properties: Move orientation to basic
2022-11-29 18:56:15 -05:00
Jeff Young
eb19e32b40
Performance optimization for pad drawing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12999
2022-11-28 13:20:12 +00:00
Jon Evans
b2b3f5752f
Properties: Add grouping and sorting by creation order
2022-11-27 22:40:23 -05:00
Jon Evans
74a2e4cad9
Properties: Add support for zone connection style
2022-11-25 18:44:02 -05:00
Jon Evans
308576b78d
Properties: Use parent footprint references instead of UUIDs
...
Also remove redundant Net Name property (Net is used)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12334
2022-11-24 22:40:45 -05:00
Jeff Young
03ba14c6d3
Tighten lifecycle management of parent group pointers.
...
Also adds some debugging to try to catch dangling pointers.
Also adds a cache for group bounding boxes (which will be expensive
to calculate for large groups).
Fixes https://gitlab.com/kicad/code/kicad/issues/12875
2022-11-11 17:27:28 +00:00
Jeff Young
d16b23d16e
Name shortening and line-break reduction.
2022-10-21 18:41:39 +01:00
Jeff Young
585fac19c6
Copy connected-only and keep-top-bottom properties.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12691
2022-10-21 00:05:11 +01:00
Jeff Young
437d2c4589
Overhaul of remove-unconnected's zone filling and drawing strategies.
...
1) The highest priority zone that a via/pad collides with "owns" its
connectivity state. Once set, lower priority zones cannot change it --
and in fact, if they would have connected to it are forced not to.
2) The connectivity state goes with the zone fill state, and therefore
must be saved in the file.
3) Display of remove-unconnected's pads is no longer done in GetViewLOD()
(which isn't called for selected items), and is instead done in PCB_PAINTER.
This allows us to draw the full pad in outline mode when a via/pad is
selected which would otherwise only show the hole.
4) Note that in some cases this will still generate DRC errors -- in
particular when a via nearly collides with a higher priority zone it
won't get "owned" by that zone and may therefore have insufficient
clearance if said zone concludes it's unconnected and a subsequent
(lower priority) zone connects to it (causing it to now become flashed).
Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-10-18 13:05:42 +01:00
Alex
58b03b0a1c
Small optimizations.
2022-09-22 17:22:04 +00:00
Jeff Young
64a6fc0fd4
Push UNITS_PROVIDER down into a low-level mixin.
...
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Jeff Young
45d6b4a9fc
Readability improvements.
2022-09-19 11:18:20 +01:00
Marek Roszko
3d5913c825
Remove convert_to_biu.h, merge contents to base_units.h
2022-09-16 21:09:28 -04:00
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
Jeff Young
16b4f96405
Centralize no-connect- and free-pad processing.
...
Also makes the track-net-names less squirrelly around the viewport
edges.
2022-09-06 13:59:52 +01:00
Jeff Young
b4492e0bd2
More EDA_RECE yeetage.
2022-08-31 17:19:50 +01:00
Jeff Young
f17a865593
Move EDA_ITEM hitTest to BOX2I.
2022-08-31 17:18:45 +01:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
Jeff Young
2d68cdff94
Better reporting of hole-to-hole clearances and clearance resolutions.
2022-08-29 17:37:49 +01:00
Jeff Young
e0f6a6e475
Run hole-to-hole checks on Edge_Cuts layer.
...
Also makes the flashing logic inside PAD::GetEffectiveShape() easier
to understand.
Fixes https://gitlab.com/kicad/code/kicad/issues/12296
2022-08-29 17:37:49 +01:00
Maciej Suminski
af71d42307
Renamed PROPERTY_TYPE enum names to avoid a conflict on MSYS2
2022-08-22 21:32:32 -04:00
Maciej Suminski
95fd58b25a
Properties meta-data for pcbnew classes
2022-08-22 21:32:00 -04:00
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
2022-08-21 20:54:41 +01:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
Jeff Young
f41af10007
Clean up hole shapes for safety (smart pointer) and consistency.
2022-07-22 23:06:07 +01:00
Alex
aaf99eb0cc
Performance optimizations.
2022-07-11 21:25:12 +00:00
Seth Hillbrand
359d66bc81
Protect against invalid pads
...
Before dereferencing the front of the sequence, we have to ensure that
the pad exists on any layer. If not, just return the default (probably
F_Cu) for the element
2022-06-16 08:20:47 -07:00
Jeff Young
dfdedfa605
Fix some issue with NPTH pads with holes same size as pad.
2022-05-06 00:06:00 +01:00
Jeff Young
f0dab2e07b
Fix some layer handling issues.
2022-04-23 21:29:46 +01:00
Jeff Young
dbee441328
We've probably smoked out enough of the GetLayer() issues.
...
... and GetProperty() can query GetLayer() in user scripts.
2022-04-14 17:09:27 +01:00