Seth Hillbrand
d82e8ee41a
Map nets in pasted data
...
Add missing nets to the existing board and use any existing nets of the
same name.
Adds option to clear all nets in Paste Special
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17626
2024-04-01 16:56:44 -07:00
Jeff Young
43edc2eaf8
Don't start immediate mode when there's no event position.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17332
2024-03-31 12:59:52 +01:00
JamesJ
79a3dd71e4
Only delete grouped / generated BOARD_ITEMS from the root item
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17527
This is required as during an undo / redo operation, rebuilding
the previous selection can result in a group / generator being
selected as well as all of their contained items. This prunes
the contained items to remove the possibility of a double-delete.
2024-03-30 14:20:06 +00:00
Jeff Young
f9c5e48c57
Add missing PCB_TABLE_T, and a comment.
2024-03-28 14:31:31 +00:00
Jon Evans
7b6afd290a
Remove non-const access to board-owned items
...
(with a few things const-casted for now)
2024-03-26 18:36:23 -04:00
Jon Evans
af18e06ea4
Remove the "insert chevron" function of the via placer
...
This behavior is generally undesirable and was only needed
because of past limitations. Now we only split a track
when the user places a via directly on top of it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16456
2024-03-23 14:28:21 +00:00
wh201906
806daecf85
Add toggleHV45Mode item to the measure tool's context menu
...
The behavior of the measure tool is influenced by the
horizontal/vertical/45-degree mode, but the context menu of the measure
tool lacks an option to toggle this mode. In contrast, the drawing
tools are also affected by this mode, and their context menu has the
item to toggle this mode.
2024-03-23 21:24:13 +08:00
Jon Evans
f00f47df13
wxWidgets 3.3 compatibility: explicit wxString conversion
2024-03-20 22:02:41 -04:00
JamesJ
a763d613e5
Move Net Inspector dialog to a widget panel in pcbnew
...
Introduces some updates to the inspector, and a number of bug fixes:
- Correctly handles changes in board stackup
- Correctly handles unit change events
- Correctly handles language change events
- All layout / panel settings are stored to the project settings
- Retains ability to create net report
- Simple filter searches on net name and net class name (stored in settings)
- Allows hide / show of columns (stored in settings)
- Grouping by netclass (stored in settings)
- Optional filtering by net name (stored in settings)
- Optional filtering by net class (stored in settings)
- Custom grouping by net name match
2024-03-19 01:02:01 +00:00
Jeff Young
44c14b1935
Fix layer swapping for multi-layer items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17371
2024-03-17 12:14:21 +00:00
Jon Evans
ece8521e68
Add some safety to layer swapping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17371
2024-03-12 19:32:40 -04:00
Jeff Young
25e181db5c
Don't allow selection of footprint text in board editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17271
2024-03-12 21:30:12 +00:00
Seth Hillbrand
0f57d76ecd
Clean and standardize cross-probing action
...
Between schematic and pcb editors, we want the following actions:
- Single click on ERC/DRC item should show the item in the ERC/DRC
window. But if the window is not visible, it should only update the
status bar
- Double click on ERC/DRC item should show and raid the ERC/DRC window
as well as select the line item
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17383
2024-03-11 17:50:44 -07:00
Seth Hillbrand
3cc1617f5a
Fix slow selection time when calculating clearance
...
The clearance between two zones could be rather slow. This was in part
to trying to do triangle-triangle collisions between zones when we only
need outline collision and in part to the shape_line_chain collision
routine. The shape_line_chain collisions don't need to recreate
segments on each iteration and should instead create them once and using
this to check all collisions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17327
2024-03-11 16:32:24 -07:00
Jeff Young
5ccd11d426
Run disambiguation if there are multiple preferred items.
...
This didn't really come up before tables, but any cell selection
will also include its parent table.
2024-03-11 17:46:09 +00:00
Jeff Young
ccfefc3971
Table support for footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17333
2024-03-11 17:46:09 +00:00
Jeff Young
fbc433deaa
Make sure to initialize cell start location.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17379
2024-03-10 21:49:54 +00:00
Jeff Young
9602151d6c
Fix typo in SelectRows().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17378
2024-03-10 21:06:43 +00:00
Jeff Young
1bf24da385
Schematic editor Table Properties and commenting for QuasiModal usage.
2024-03-10 12:18:50 +00:00
Jeff Young
f341ab9b00
Bug fixes for flipping tables.
...
Also adds support for tabbing between table cells in the
table editor dialog.
Also adds support for calling the table editor dialog from
edit properties on a table selection.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17337
2024-03-09 22:18:19 +00:00
Jeff Young
63b06095e6
Table selections for PCBNew.
2024-03-09 22:18:19 +00:00
Seth Hillbrand
686a62cbe6
Temporary fix to disable zone-zone clearance display
...
When selecting two objects, we display the measured clearance between
them. This can be problematic with large zones as they have thousands
of triangles.
This is a temporary fix for 8.0.1 to disable the check until we have a
performant version
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17327
2024-03-08 10:31:59 -08:00
Jeff Young
20efeef5ae
Apply anti-walk algorithm only to textboxes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16481
2024-03-06 13:51:27 +00:00
Yon Uriarte
4e8e14ae3a
Responsive: Avoid excessive repaints when toggling a netclass' rastnest visibility.
...
Toggling netclasses visibility toggles the member nets' visibility one by one. Defer redrawing until all toggling is done.
Fixes https://gitlab.com/kicad/code/kicad/issues/17115
2024-03-05 14:32:12 +00:00
jean-pierre charras
4a945172db
Pcbnew: do not select a PCB_REFERENCE_IMAGE if the LAYER_DRAW_BITMAPS is not visible.
...
LAYER_DRAW_BITMAPS layer controls transparency and visibility of images on the board.
Fixes #16282
https://gitlab.com/kicad/code/kicad/-/issues/16282
2024-03-04 11:46:45 +01:00
Alex Shvartzkop
85b1978408
Use 64-bit type to represent microseconds.
...
int and long are 32-bit on Windows, causing overflows.
2024-03-03 21:40:26 +03:00
Seth Hillbrand
0129191ec0
Limit where the intersection of two lines can be
...
This avoids generating lines where we are unable to select them because
they get too close to the border
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16959
2024-03-01 15:57:24 -08:00
Seth Hillbrand
d3334ed9f0
Do not re-number aperture pads
...
Aperture pads do not have numbers, so reserving space for them will
cause the actual numbered pads to become out of order
2024-03-01 13:04:19 -08:00
aris-kimi
24529e5242
ADDED: library tree context menu option to open sym/fp library files from the defined text editor.
...
Short description:
Works for Symbol and Footprint Editor behind an advanced config option.
For Symbol Editor it is shown for a single item selection (library or symbol).
For Footprint Editor it is shown for a footprint selection.
(fp editor allows a single tree item selection only).
Option stays hidden if current frame has been modified.
Also small fix(?) for similar action to the project manager.
(Call for the Execution has moved inside the file loop.)
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15736
2024-02-29 19:01:59 +00:00
Seth Hillbrand
6a8d2a7eb3
Store group id rather than group
...
We only need the group storage id for lookup. Storing the KIID instead
of a copy of the group avoids unneeded overhead
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17175
(cherry picked from commit 7d1adff071
)
2024-02-28 13:27:38 -08:00
Jon Evans
2f6c9d1f3a
ADDED: Selection filter for schematic editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14988
2024-02-25 17:44:10 -05:00
Jeff Young
f77de66f4e
Generalize ERCItem inspections.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10539
2024-02-24 20:05:51 +00:00
Jeff Young
fa0ead98d8
Split out table editing and table cell editing.
2024-02-24 20:05:51 +00:00
Jeff Young
833ec402a0
Generalize DRCItem inspections.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10539
2024-02-24 20:05:51 +00:00
Jeff Young
e445249720
ADDED: PCB tables.
2024-02-24 20:05:51 +00:00
Jeff Young
ee3be0802c
Move PCBNew overrides to nullable properties.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5562
2024-02-24 20:05:51 +00:00
Jeff Young
4a9df1e18e
ADDED: actions for left-, center-, and right-justifying text items.
...
(For both PCBNew and EESchema.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12375
2024-02-24 20:05:50 +00:00
Ethan Chien
d72491a4a5
ADDED: zone manager
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9636
2024-02-24 15:10:50 +00:00
Jeff Young
ca3cd706e5
Show friendly name in toolbar button tooltips.
...
(Don't require the same text to be put into the tooltip.
It's error-prone and also disallows us from having a separate
tooltip for toolbar buttons.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17009
(cherry picked from commit f4a085575a
)
2024-02-23 16:53:33 +01:00
Jeff Young
3938c35f17
Repair copy/paste of footprint fields.
...
Some of the code got lost in the move to PCB_FIELDs.
(cherry picked from commit a9c4a17c38
)
2024-02-23 16:53:33 +01:00
Jeff Young
e7f18e7eab
Warp after context menu only if actively drawing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11080
(cherry picked from commit 1a7152d3eb
)
2024-02-23 16:53:32 +01:00
Jeff Young
e68cd04d48
Don't modify reference point if already moving.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16524
(cherry picked from commit 08da9a4494
)
2024-02-23 16:53:32 +01:00
Jeff Young
23c2104ffa
Improve alignment tooltips.
...
(cherry picked from commit 2ab492474e
)
2024-02-23 16:53:31 +01:00
Jeff Young
276171b85e
Handle holes in shapes when creating bounding hulls.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16347
(cherry picked from commit 0ead8a14a1
)
2024-02-23 16:53:30 +01:00
Alex Shvartzkop
6ceea747b2
Swap to capitalized strings (translated).
2024-02-22 11:54:52 +03:00
Alex Shvartzkop
59a0635b09
Disable local ratsnest when moving generators (tuning patterns).
...
They're not moving like normal objects, leaving ghost ratsnest.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
ed712faf41
Disallow duplicating tuning patterns alone.
2024-02-20 03:20:08 +00:00
Mike Williams
3cd61a2d39
PCB: appending boards should not select existing generators
2024-02-13 10:15:30 -05:00
Jeff Young
0cf433b28e
CONVERT_TOOL::CreateLines() doesn't use SKIP_STRUCT flag.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16930
2024-02-12 23:59:33 +00:00
Jon Evans
e9be95741b
Deconflict hotkey for Route from Other End
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16415
2024-02-11 10:58:38 -05:00
Seth Hillbrand
f303996f9c
Add new icons for tools
...
Align elements to grid
Cleanup graphics
Cleanup tracks/vias
Drag
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16206
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16205
2024-02-09 15:55:57 -08:00
Seth Hillbrand
cabbab9a5f
Move pcbnew drag to move specific icon
2024-02-09 15:55:57 -08:00
Alex Shvartzkop
fcdd34f58b
Reserve strings for Tune Length
2024-02-10 02:44:05 +03:00
Jeff Young
4905c37712
Streamline explodePad undo.
...
Also fixes a bug where new shapes were added to the view
twice.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16888
2024-02-09 10:08:37 +00:00
Jon Evans
037f349585
Make expand connection work on generated tracks
2024-02-08 19:28:28 -05:00
Alex Shvartzkop
f1caa262a6
Separate actions for single track and differential pair length tuning.
2024-02-08 14:58:28 +00:00
Jeff Young
d30361b425
Increase artificial via preference further.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16880
2024-02-05 19:20:33 +00:00
Jeff Young
da46a96623
Update a few strings based on new string freeze policy.
2024-02-05 15:49:57 +00:00
Ian McInerney
7ea1568802
Fix selection tool behavior in footprint viewer
...
The footprint viewer isn't an edit frame, so we need to access the
settings through the base frame type instead. Also, double click makes
no sense in the footprint viewer, and just leads to weird results
sometimes.
Fixes Sentry KICAD-7A2
2024-02-05 14:50:17 +00:00
Jeff Young
0370db43ae
A footprint does it's own child hit testing.
...
We only need to add it for groups.
2024-02-04 23:16:43 +00:00
Jeff Young
cab351d249
Don't do a sided-test on a footprint which has no side.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15284
2024-02-04 15:18:23 +00:00
Jeff Young
0890ac57dd
Improve clarity of default zone settings.
2024-02-03 13:22:16 +00:00
Jeff Young
19560f0281
Fix pad edit mode undo.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16835
2024-01-31 15:45:58 +00:00
Jeff Young
00aed2aa3e
Don't attempt to test for recursion on unsaved file.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16722
2024-01-28 15:37:08 +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
f7752ce0a1
Cleanup dead code.
2024-01-27 17:45:48 +00:00
jean-pierre charras
89f8c5d918
PCB_SELECTION_TOOL::selectPoint() Remove items disabled by the selection filter
...
before using any other filter. This avoid to select an item from the candidate
list that cannot be selected and eliminate another candidate.
Fixes #16755
https://gitlab.com/kicad/code/kicad/-/issues/16755
2024-01-26 19:13:50 +01:00
Jeff Young
053a0aade7
Formatting & commenting.
2024-01-26 14:05:04 +00:00
Jeff Young
cc058a7927
Exit pad edit mode before closing footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16766
2024-01-26 13:49:17 +00:00
Ian McInerney
d04b21c6d6
Ensure parameter typeinfo matches the actual object's typeinfo
...
AppleClang seems to generate different typeinfo for forward declarations
of classes than the actual class object, so the any_cast for the pointer
parameter fails due to the types not matching (even when they look the
same when printed in the error).
Instead, we must always ensure we use the actual object when defining
the parameter type when placing the object into the event.
2024-01-24 16:14:32 +00:00
Jeff Young
d47a000564
Make sure group items get added to commit.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16705
2024-01-22 23:34:34 +00:00
Jeff Young
d6b39c672e
Footprint editor items always get added to footprint.
...
Also fixes an unrelated crash when assuming the current
editor is the board editor.
2024-01-21 22:51:36 +00:00
Jeff Young
37c185f437
Remove overly-complex snapping layer for moving objects.
...
We now have a hotkey to select Active Layer vs All Layers,
which gives the user more control.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16683
2024-01-20 22:04:56 +00:00
jean-pierre charras
7c3f8cbb79
3D viewer: do not load the current board twice when creating the 3D viewer frame.
2024-01-19 18:42:24 +01:00
Jeff Young
c3e3f3bcb8
Possible fix for move individually.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16087
2024-01-19 15:13:41 +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
Alex
3eb3fc9d1e
Fix PCB arc edit point order.
2024-01-18 13:51:32 +03:00
Jeff Young
97cb15dd47
Make sub menus conditional on them having child items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16631
2024-01-18 00:21:15 +00:00
Jeff Young
455fae45d8
Support point editing of inverted rectangles.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16595
2024-01-17 15:27:48 +00:00
Jeff Young
df48ebfbe7
Restore preferential selection treatment for silk items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16607
2024-01-17 14:02:43 +00:00
Jeff Young
ace4ef7b16
Implement stingy selection mode for tuning patterns.
2024-01-17 00:34:22 +00:00
Jeff Young
322ad1af45
Implement copy/paste for generators.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16613
2024-01-16 23:38:50 +00:00
levanlap2502
faeec25557
Fix fillet lines, when line angle is 0 or 180
...
Check angle of line before creating Fillet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15966
2024-01-16 13:30:21 -08:00
jean-pierre charras
76bd892f93
Fix not working Duplicate command in FP editor
...
Fixes #16594
https://gitlab.com/kicad/code/kicad/-/issues/16594
2024-01-16 16:30:55 +01:00
Alex Shvartzkop
f99505e190
Fix arc editing bugs when endpoints match.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16532
2024-01-16 16:17:45 +03:00
jean-pierre charras
0ac23f9099
FP editor: ensure a newly created pad PTH has a hole.
...
When a new pad type PTH is created from a SMD pad master , previously its
hole had a null size because the master pad had a null size.
Also allows a HEATSINK pad to be added to a SMD footprint.
2024-01-11 16:27:05 +01:00
Jeff Young
cd83dfa831
Stage/add/delete group members when adding/deleting group.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16540
2024-01-07 13:39:13 +00:00
Jeff Young
5aae8e2fd0
Code cleanup.
2024-01-04 16:13:42 +00:00
Jeff Young
0b526cca15
Delete tracks when deleting tuning pattern as part of sel.
2024-01-02 18:00:25 +00:00
Ian McInerney
53e16558a5
Refresh appearance panel when appending board
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16226
2023-12-31 17:08:09 +00:00
jean-pierre charras
b94c941217
Pcbnew, Fp Editor, pad_tool::PlacePad() avoid recreate from scratch a pad
...
when the previous is not used.
If a new pad is generated, when moving it by arrow creates a new pad for
each move by the current code.
This is not annoying unless the pad number is edited during move.
So, the pad number is now reinitialized only after the current pad is used,
not during the current move.
Fixes #16409
https://gitlab.com/kicad/code/kicad/-/issues/16409
2023-12-30 20:15:31 +01:00
Ian McInerney
f2702b223c
Introduce base IO_MGR class and unify RELEASER objects
...
The IO_RELEASER is a thin-wrapper around a std::unique_ptr, but done
this way to allow easier addition of a custom deleter in the future if
something needs to call back into the IO_MGR.
2023-12-29 00:37:38 +00:00
Marek Roszko
9a890cdba9
Kick the wildcards and file exts into a static class, export it from kicommon
2023-12-27 21:10:01 -05:00
Ian McInerney
d7fe668d79
Push PCB_IOs to use the base progress reporter instead of per-function
2023-12-27 17:06:23 +00:00
Jeff Young
6a5adc7646
Record nested footprints for collision checking.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16410
2023-12-24 19:40:21 +00:00
Ian McInerney
e6632bb983
Rename PCB IO classes/files
2023-12-24 01:22:21 +00:00
Ian McInerney
d8b47d18d3
Initial rename of file plugin infrastructure components to IO
2023-12-24 01:22:21 +00:00
Jeff Young
3f73bbcc4f
Don't run keepUpright when not rotating.
...
For that matter, don't do anything at all for a rotation
of 0 (or a move vector of {0,0}).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16402
2023-12-22 21:22:36 +00:00
Jeff Young
1f627a3a75
Fix two unrelated bugs in ungroup.
...
1) Don't double-remove the members from the group.
2) Don't auto-recurse BOARD_COMMIT::Stage for non-modify
changes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16419
2023-12-21 22:47:23 +00:00
Jon Evans
b1695add9e
Fix warnings
2023-12-19 22:38:34 -05:00