jean-pierre charras
00bf2ca36f
Pcbnew: rename ZONE* m_SolderMask to m_SolderMaskBridges
...
(It is a container to build bridges on solder mask layers by DRC, not real zone)
Disable also this special zone selection by adding it in
PCB_SELECTION_TOOL::itemPassesFilter
Do not display the outlines of this very special zone used by DRC
to show layer mask bridges created by DRC to show these bridges.
From Master branch
Fixes #15847
https://gitlab.com/kicad/code/kicad/-/issues/15847
2023-10-13 17:15:37 +02:00
Jeff Young
239f8e0905
Pull fixes back from master.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15813
2023-10-04 19:25:28 +01:00
Jeff Young
fd98188ee4
Use netclass values when reaching netclass entry.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15774
(cherry picked from commit 904bdc3c66
)
2023-10-04 18:49:03 +01:00
Jeff Young
f1376396c2
Use original event position if it's available.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15623
(cherry picked from commit e962615407
)
2023-09-30 13:35:48 +01:00
Jeff Young
33da35db04
Fix typo in arguments list to EvalRules().
...
Also fixes a bug where we weren't clearing the previous tabs from
the notebook.
(cherry picked from commit 31e30a5f56
)
2023-09-30 13:16:39 +01:00
Seth Hillbrand
bd57957df7
Revise method of selecting footprints in contrast
...
When working in high contrast mode, we want to be able to select a
footprint with only elements in, e.g. silk and fab layers.
The previous design for footprint IsOnLayer had one behavior of every
other element and a different behavior for footprints. This leads to
multiple bugs as new features use the overloaded IsOnLayer expecting it
to report if the element exists on a layer or not.
For footprints, we need a different routine to determine whether or not
to select the footprint when clicking on it. IsOnLayer will report if
the footprint has any elements on a specific layer but we don't want to
use the bbox for a hittest because large footprints with through hole
pads will exist on every layer and have an enormous bbox. Instead, we
filter footprints based on the hittest of each element. This behaves in
a more logical fashion, allowing you to select a footprint by clicking
on a visible element of that footprint.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15284
(cherry picked from commit f3d65b5156
)
2023-09-29 12:09:11 -07:00
John Beard
c7a4ea97c3
Fix oval pad snapping
...
Previously the snap points computed for oval pads didn't get all the
points correct. This breaks out the "find snap points for ovals"
into a function, reworks the logic, adds some tests.
Also adds "extremum points" when the oval isn't exactly H/V.
(cherry picked from commit 78c8de9b08
)
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15594
2023-09-10 00:49:03 +01:00
John Beard
81ebb1030a
Add forward declarations in pcb_grid_helper.h
...
(cherry pick of part of commit 0f781f328e
)
2023-09-10 00:45:32 +01:00
Jeff Young
61ef88a0ac
Don't allow duplication of footprint items outside of footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15487
(cherry picked from commit 9bba8e5956
)
2023-09-03 22:44:17 +01:00
Jeff Young
ec53ed6a37
Don't start a router drag when already in an EDIT_TOOL drag or move.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15312
(cherry picked from commit 624203f2e1
)
2023-09-03 22:12:43 +01:00
Jeff Young
242413a334
Don't start a pack&move when already in an EDIT_TOOL drag or move.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15545
(cherry picked from commit a24a8aaca7
)
2023-09-03 22:12:24 +01:00
Jeff Young
6ca7c3a3a1
Fix merge errors.
2023-09-02 11:18:34 +01:00
Jeff Young
480a9ac77d
Implement undo/redo around Pad Edit Mode changes.
...
(cherry picked from commit 69a1b30b8a
)
2023-09-02 11:18:34 +01:00
Jeff Young
889689e31a
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
(cherry picked from commit 68c839b214
)
2023-09-02 11:18:34 +01:00
Jeff Young
d2d7e630bd
Allow for offset custom-shaped pads with no holes.
...
(cherry picked from commit 0d39cd5e63
)
2023-08-31 12:37:44 +01:00
Jeff Young
d11cd173dc
Fix previous fix for honouring pad offset.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15494
(cherry picked from commit e0cf49e73c
)
2023-08-31 12:37:44 +01:00
Jeff Young
12e0427038
Honour pad offset when creating custom pad anchors (and polygons).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15494
(cherry picked from commit 300014177f
)
2023-08-31 12:37:44 +01:00
Jeff Young
09490e1f46
Don't snap a footprint (or group) to its children.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15535
(cherry picked from commit d161602e92
)
2023-08-31 12:37:44 +01:00
Jeff Young
7d409b9404
Minor cleanup and removal of stale comments.
...
Also attempts to fix a focus-loss bug on GTK after zone dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13221
(cherry picked from commit 3f26b29aa2
)
2023-08-31 12:37:44 +01:00
Jeff Young
7673f220a9
Minor cleanup and removal of stale comments.
...
(cherry picked from commit c48084bbbf
)
2023-08-31 12:37:44 +01:00
Jeff Young
1ef90c898e
Don't allow selection of footprint dimensions.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15418
(cherry picked from commit 750b92b17f
)
2023-08-15 17:54:00 +01:00
jean-pierre charras
c4914a64bb
PCB_GRID_HELPER::BestSnapAnchor() fix overflow due to use of int.
...
GRID_HELPER::GetVisibleGrid() needs double, does not work with int (overflow).
Fixes #15389
https://gitlab.com/kicad/code/kicad/-/issues/15389
2023-08-11 18:04:27 +02:00
Jeff Young
17f02b2ff0
Disable positioning tools when a move is in progress.
...
Also fixes a typo in EDIT_TOOL::doMoveSelection().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15090
(cherry picked from commit 7ed5963b4f
)
2023-07-09 22:01:06 +01:00
Jeff Young
76f8b3df22
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
(cherry picked from commit ef6866757e
)
2023-07-09 21:08:51 +01:00
Jeff Young
c0445ed857
Reset session drawing props after Board Setup.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14932
(cherry picked from commit 9ed2458f00
)
2023-06-17 13:04:48 +01:00
jean-pierre charras
bdc9807dee
Pcbnew: fix crash when selecting a footprint due to a not initialized pointer
2023-06-13 11:37:12 +02:00
Jeff Young
5c1a089981
Re-create missing exclusion markers if DRC was cancelled.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14919
(cherry picked from commit 93789e75b9
)
2023-06-11 22:31:13 +01:00
Jeff Young
472879e95a
Check for proxy references and values in Selectable().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14911
(cherry picked from commit 111d0a2c14
)
2023-06-11 22:07:26 +01:00
Marek Roszko
d6fd5598ab
Use the correct printf format for the move individually status text
...
Fixes sentry KICAD-1ZT
(cherry picked from commit b41606ecf7
)
2023-06-05 13:55:52 +00:00
Jeff Young
c6e4f18d99
Hook up text variable auto-complete for PCBNew.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14777
(cherry picked from commit 14f004d2a5
)
2023-05-28 18:46:39 +01:00
Alex
3efdc963d8
Revert string change.
...
String changed in 9466624f9d
2023-05-12 21:26:16 +03:00
Jeff Young
ad612864ce
Update DRC exclusions model to match terminology.
...
DRC exclusions were originally written following the C++
pragma model (ie: allow this violation here). However, the
"exclusion" terminology we used in the GUI suggests a model
model where the exclusions go away when the violation no
longer exists.
Fixes https://gitlab.com/kicad/code/kicad/issues/14351
2023-04-15 12:10:23 +01:00
jean-pierre charras
9466624f9d
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.
From master branch
2023-03-29 20:30:25 +02:00
Jeff Young
97b273905a
Manual cherry-pick of a214ac0310
.
2023-03-26 21:06:24 +01:00
Jeff Young
ba4773e448
Orthogonal dimension are always cardinal, even when their start points are not.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13728
(cherry picked from commit bb2a0f825a
)
2023-03-20 21:32:06 +00:00
Jeff Young
121ea14fe4
Filter Selected Items... is inclusive, not exclusive.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14273
(cherry picked from commit 897984aa22
)
2023-03-19 21:31:08 +00:00
Jeff Young
befd836ab4
Clean up items which weren't pasted from clipboard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14335
(cherry picked from commit ad5d3d4eba
)
2023-03-18 23:38:09 +00:00
Alex
1c06f4cf06
Don't create 0-length tracks when placing via in the middle of a track.
...
(cherry picked from commit 8fe78101db
)
2023-03-16 02:49:54 +00:00
Jeff Young
249bcd9e1a
Update dimension units when opening PCBs in CLI.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14170
(cherry picked from commit a0adb59437
)
2023-03-14 11:56:33 +00:00
Jeff Young
74da0043b4
Move automatic dimension processing inside PCB_DIMENSION_BASE.
...
Also move dimension precision to an enum so it can get a proper dropdown
in the properties inspector.
(cherry picked from commit 461def2719
)
2023-03-12 21:04:09 +00:00
Jeff Young
c0ddca12df
Add Property Inspector support for dimension objects.
...
Includes changing the class hierarchy so that dimension objects inherit
from PCB_TEXT rather than containing a PCB_TEXT member variable.
(cherry picked from commit 23accffc6d
)
2023-03-12 21:03:58 +00:00
Seth Hillbrand
a5d85e3281
Bitmaps are not actually copper
...
We report bitmaps as being 'on' a copper layer because they are
associated with it but they are not actually physical parts so should
not be included in the DRC checks
Additionally, Bitmaps effective shape starts are the top left corner
rather than the center (unclear why that was there in the first place)
Fixes https://gitlab.com/kicad/code/kicad/issues/14065
(cherry picked from commit 1b8b216ac8
)
2023-03-06 16:20:44 -08:00
Jeff Young
7dbd920912
Don't allow footprint editor pad tools to run outside footprint editor.
...
(They can get called if a user re-assigns hotkeys to them.)
Fixes https://gitlab.com/kicad/code/kicad/issues/14166
2023-03-06 14:43:20 +00:00
Wayne Stambaugh
2c7f44f78d
Coverity fixes and code cleaning.
...
(cherry picked from commit 789bf6455a
)
2023-03-04 13:14:59 -05:00
Alex
7949c09183
Prevent ghost image after canceling bitmap placement.
...
(cherry picked from commit ecb28ddf1c
)
2023-02-17 01:49:47 +00:00
Jeff Young
6d22b8c6ed
Negative clearance means test won't run, not rule won't match.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13947
2023-02-16 18:10:26 +00:00
Jon Evans
b888714ed5
Don't discard temporary item being placed if placement is rejected
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13697
2023-02-11 08:40:33 -05:00
jean-pierre charras
538ee12188
Pcb editor: fix crash when trying to activate the "place anchor" tool.
...
"place anchor" tool exists only in the Fp editor. However, the hotkey
to activate this tool was also active in the board editor. Now disabled.
2023-02-09 16:29:33 +01:00
jean-pierre charras
fcefb5f86d
Re-allows selection of bitmaps not owned by a footprint.
...
It was broken by my commit f8051d95
Fixes #13747
https://gitlab.com/kicad/code/kicad/issues/13747
2023-02-02 18:09:37 +01:00
jean-pierre charras
f8051d954a
Better handling of PCB_BITMAP items in a footprint.
...
- Ensure they can be erased in the FP editor
- Ensure they cannot be selected in the PCB editor (they are not show)
Fixes #13714
https://gitlab.com/kicad/code/kicad/issues/
2023-01-31 11:16:38 +01:00