Jon Evans
11586863cf
Fix broken hit test for arcs in via placer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17844
(cherry picked from commit aaf3142e9a
)
Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-05-18 17:12:34 +00:00
Jeff Young
0b44ba61d8
Improve consistency in free-via ambiguity tests.
...
Also removes a magic number.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17671
(cherry picked from commit 58ddffe3dd
)
2024-05-03 22:15:05 +01:00
Jeff Young
a39b9b8890
Support legacy Length Tuning Settings workflow.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17748
(cherry picked from commit 978ef352d0
)
2024-04-28 21:54:16 +01:00
Jeff Young
1a7152d3eb
Warp after context menu only if actively drawing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11080
2024-02-22 23:36:59 +00:00
Alex Shvartzkop
f1caa262a6
Separate actions for single track and differential pair length tuning.
2024-02-08 14:58:28 +00:00
Jeff Young
ade987c101
Fix logic errors in undo while drawing rectangles.
...
Draw 2 rectangles. Start drawing a third, but don't
complete. Hit Ctrl-Z instead. Boom.
2024-01-27 21:18:50 +00:00
Jeff Young
57315dd625
Make sure group children get added to board.
...
Also fixes a bug where you could import on to an invisible
layer (we now auto-show the layer if you do that).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16642
2024-01-18 14:02:43 +00:00
Jeff Young
9fb06f95a0
Fix msys2 build.
2023-12-16 16:17:24 +00:00
Jeff Young
ea3c87f243
Move group/ungroup to COMMIT infrastructure.
2023-12-16 14:17:25 +00:00
Jeff Young
b13590f4c0
Use preview items instead of highlightNets & status popup
...
The router preview item can be specific to the part that is being
tuned, rather than the whole net. It's also less visually noisy as
it doesn't dim/undim the rest of the board.
Using kigfx preview items for the status keeps us from having a bunch
of focus issues with the status popup window.
2023-12-02 16:15:43 +00:00
Jeff Young
df83e24eb7
Cleanup.
...
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
jean-pierre charras
ed9dd55fde
DRAWING_TOOL::PlaceImportedGraphics() do not add twice items when adding to new group.
2023-11-16 12:53:00 +01:00
jean-pierre charras
a663dd7ec4
Pcbnew, import graphics: fixes and enhancements:
...
- fix regression: allow grouping or not imported items
- store more settings in Pcbnew settings: all options are now stored.
- default tolerance to connect items is now 0.01 mm. 1 mm is a too big value,
and can create serious artifacts in imported outlines.
2023-11-15 20:26:05 +01:00
Jeff Young
fc0017fc95
Normalize rects higher up.
...
We don't want to normalize footprint children to their board-relative
coordinates.
2023-10-29 11:45:16 +00:00
Jeff Young
791aa64950
Functionally it's a "reference image".
...
The implementation happens to be a "bitmap".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15932
2023-10-24 15:44:21 +01:00
Jeff Young
f18ce8c6de
Fix layer handling for create similar zone.
2023-10-20 22:20:30 +01:00
Jeff Young
67f0f6e3b9
Rename class to match current terminology.
2023-10-19 01:31:13 +01:00
Jeff Young
b089630b4c
Simplify Import Graphics.
...
Removed no-longer-required differentiation between importing
footprint vs board objects.
Renamed files to match the dialog.
Made Position At and Set Layer optional checkboxes.
Removed Group Items checkbox. (In the unlikely event that you don't
want a group, do an UnGroup after importing.)
Flattened out labelled-sizers in the dialog.
Removed importers blacklist, which hasn't been active for at least 4
years.
Fixed undo/redo bug that caused items to be no-longer-grouped after
a redo.
2023-10-19 01:31:13 +01:00
Jeff Young
89011e888c
More modern look & feel for tuning status popup.
...
(Also includes min and max info, and move string processing out
of router.)
2023-10-17 13:30:58 +01:00
Alex Shvartzkop
be1008cbd8
ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog.
2023-10-17 10:29:43 +03:00
Wayne Stambaugh
b5eee9dd7e
Coverity warning fixes.
2023-10-16 17:04:14 -04:00
Jeff Young
2450250ae7
Use "tuning pattern" in the GUI.
2023-10-15 17:59:11 +01:00
Jeff Young
1b676985f6
Retire length tuning tool in favour of first-class meanders.
2023-10-12 17:54:34 +01:00
Jeff Young
1ca477aeee
Unroll from PICKER_TOOL so we can handle amplitude/spacing events.
...
Also fixes a bug where we didn't clear the router on an <ESC>.
2023-10-12 17:54:34 +01:00
Jeff Young
a57c9967f3
Draw meander borders while placing.
2023-10-12 17:54:34 +01:00
Jeff Young
d916e650f1
Tuning status popup for point editor.
2023-10-10 11:55:57 +01:00
Jeff Young
642938455e
Add status popup for meander placer.
2023-10-09 22:32:32 +01:00
Alex Shvartzkop
f4f8523c59
Rename pcbnew DIALOG_IMPORT_GFX -> DIALOG_IMPORT_GFX_PCB
2023-10-09 07:04:50 +03:00
Alex Shvartzkop
a4832dd3c8
ADDED: Interactive meander objects for length tuning.
2023-10-08 02:41:17 +00:00
Jeff Young
31c488bc23
NETINFO_ITEMs are owned by BOARD.
...
Lifecylce management must go through BOARD_COMMIT (or at least
the frame's undo/redo lists).
2023-10-04 21:01:33 +01:00
Zhuang Jiezhi
618c2be380
Pcbnew: Adding net pop-up menu for placing via
...
ADDED: Add feature showing a pop-up menu of possible nets when it's ambiguous in Pcbnew
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15003
2023-09-26 19:42:55 +00:00
Jeff Young
aef0f44b8e
Smarten up double-click handing in PCBNew drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15700
2023-09-24 18:49:41 +01:00
Marek Roszko
22b733209d
Fail GAL on its header leaking audit
...
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Marek Roszko
67b031adab
Painter base class should just live in gal instead of being in denial
2023-09-06 20:23:19 -04:00
Jeff Young
3f26b29aa2
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
2023-08-27 10:53:03 +01:00
Mike Williams
2b78c20a62
PCB: add grid overrides to graphics/router/etc.
2023-08-24 13:58:22 -04:00
jean-pierre charras
a16ab0aae1
Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
...
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344
about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
Jeff Young
1218f61d0a
Implement undo/redo for footprint children.
...
Our special-cases to handle the fact that we didn't do this had far
outgrown the code necessary to actually handle it.
2023-07-15 17:37:31 +01:00
Jeff Young
cf8294b5c2
Remove a bunch of blind (and a few redundant) static_casts.
2023-07-13 14:14:45 +01:00
Ian McInerney
2fb6f19a84
Separate immediate and delayed action dispatch
...
Using a boolean argument just leads to a lot of trailing booleans in the
function calls and is not user friendly. Instead, introduce PostAction()
to send an action that runs after the coroutine (equivalent to passing
false or the default argument), and leave RunAction as the immediate
execution function.
2023-06-27 00:57:59 +01:00
Jeff Young
493828cc6b
Eradicate a bunch of calls to dyn_cast.
...
Also deletes PAD::GetParent() which fails to look for parent footprint
through groups.
2023-06-25 11:10:07 +01:00
Ian McInerney
f14feafc6b
Convert selection vector to EDA_ITEMS for base tool call
...
The base tool expects a generic EDA_ITEMS, but the existing vector
doesn't easily cast, so add a temporary one.
2023-06-20 21:52:50 +01:00
Ian McInerney
0a3b6c2d23
Fix call to properties when editing newly placed dimension
...
The edit is intended to be on the newly placed dimension, but the actual
properties tool doesn't take an item, so it was always looking up the
item to edit using the current selection/cursor position. Make this more
robust by just calling the edit properties directly on the item.
2023-06-20 21:52:50 +01:00
Ian McInerney
480223f67c
More RunAction specialization
2023-06-20 21:52:50 +01:00
Mike Williams
6d93950dcc
PCB: abolish TEXT_TYPE::TEXT_is_*
...
PCB_TEXT is now always what was formerly TEXT_is_DIVERS and PCB_FIELDs
now what mandatory field type they are already.
2023-06-20 18:34:52 +00:00
Mike Williams
37837dc392
PCB: introduce PCB_FIELD_T
2023-06-20 18:34:52 +00:00
Jeff Young
30336b2fe3
Unify go-back-one-step processing for drawing tools (and router).
...
Also warps mouse on all go-back-one-step operations for better feedback.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9985
2023-06-19 17:14:32 +01:00
Jeff Young
ef6866757e
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
2023-06-16 22:08:21 +01:00
Jeff Young
9ed2458f00
Reset session drawing props after Board Setup.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14932
2023-06-13 11:06:10 +01:00
Jeff Young
14f004d2a5
Hook up text variable auto-complete for PCBNew.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14777
2023-05-25 10:24:50 +01:00