302 Commits

Author SHA1 Message Date
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
Jon Evans
1ccd387c8d Exit a group when selecting a component outside it
We had this filter in place when doing mouse selection, but not when
the selection comes from another tool event.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13398
2023-01-05 20:32:52 -05:00
qu1ck
7dfa100ff0 Correctly refresh the board after action plugin run and maintain
selection
2023-01-05 14:05:15 -08:00
Jeff Young
cbe5340d37 Allow pads in multi-select mode when nothing else would be selected.
Fixes https://gitlab.com/kicad/code/kicad/issues/13371
2023-01-05 17:02:50 +00:00
Greg Davill
3b55f9e326 PCB Editor: Inform tools when selecting/unselecting net
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13308
2022-12-29 13:46:20 +00:00
Mike Williams
411efe6f3d PCB Editor: Allow mouse drag of group-of-groups
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13076
2022-12-28 15:23:52 -05:00
Jeff Young
5327ea5823 Respect selectabiltiy when adding wholy-selected groups.
Fixes https://gitlab.com/kicad/code/kicad/issues/13092
2022-12-15 17:57:58 +00:00
Jeff Young
9d13e419c2 Reduce compiler warnings. 2022-12-13 00:47:19 +00:00
Mike Williams
0e75bf02fa Selection: refactor modifier checking 2022-12-08 14:12:12 -05:00
Jeff Young
abd818a426 Update msgpanel after entering or exiting group.
Fixes https://gitlab.com/kicad/code/kicad/issues/13031
2022-11-29 21:33:04 +00:00
Jeff Young
226529235c Mostly const safety, but also performance opt. by avoiding shared_ptr overhead. 2022-11-22 12:21:30 +00:00
Seth Hillbrand
3b31955d98 Get hit test in group members
Fixes https://gitlab.com/kicad/code/kicad/issues/12957
2022-11-21 09:28:49 -08:00
Jeff Young
c1510f07d8 Fix some issues with group bounding boxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12958
2022-11-20 23:57:36 +00:00
Alex
12a55f20d3 Fix a mistake in grip margin.
Fixes https://gitlab.com/kicad/code/kicad/issues/12952
2022-11-21 00:25:19 +05:00
Alex
38fd1c9985 pcbnew: Improve performance when something is selected. 2022-11-19 01:53:30 +05:00
Jeff Young
9d8fdd8d53 Fire selection events from SelectAll().
Fixes https://gitlab.com/kicad/code/kicad/issues/12896
2022-11-13 22:59:21 +00:00
Jeff Young
4066850f37 Use event point to determine if we're still in draggable item. 2022-11-09 13:09:01 +00:00
jean-pierre charras
cb3d215b6a Fix compil and Coverity warnings. 2022-11-08 11:53:13 +01:00
Jeff Young
be8bbcaac3 Send Selected event even if the result is an empty selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/12849
2022-11-07 19:47:51 +00:00
Jeff Young
b5f62da5d9 Respect synthetic layer visibility when selecting footprint texts.
Fixes https://gitlab.com/kicad/code/kicad/issues/12850
2022-11-07 19:26:14 +00:00
Seth Hillbrand
8bc9d456c3 Fix area selection calculation
area was a double value for comparison of large numbers.  But the
promotion from int happened after the multiplication (and overflow) for
large images

Fixes https://gitlab.com/kicad/code/kicad/issues/12821
2022-11-03 11:46:40 -07:00
Jeff Young
403cc50e7c Don't exit group when the cancel went to another tool.
Also fixes a bug where the group border didn't get updated immediately
on enter/exit.

Fixes https://gitlab.com/kicad/code/kicad/issues/12669
2022-10-18 17:53:06 +01:00
Alex
22917860ef Move Enter Group for easier access. 2022-10-07 03:03:33 +03:00
Jeff Young
436d75e7f9 Try to reconcile SELECTION and BRIGHTENED use of overlay.
For some reason the overlay doesn't get redrawn during the PCBNew
selection disambiguation menu, so we need to not hide BRIGHTENED
items.

Fixes https://gitlab.com/kicad/code/kicad/issues/12547
2022-10-04 17:01:56 +01:00
Jeff Young
524a43f95e Don't select footprints on the wrong side if not visible.
Fixes https://gitlab.com/kicad/code/kicad/issues/12483
2022-10-04 13:22:06 +01:00
Jeff Young
6a6ef9b1f4 Bring adding-to-group and hiding in sync. 2022-09-30 16:45:00 +01:00
Mike Williams
700edb95e3 PCB Actions: Grab Unconnected
Grabs the nearest unconnected item for each selected footprint/pad.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1986
2022-09-26 16:17:41 -04:00
Mike Williams
f4a3062684 PCB: Select Unconnected
Selects the all unconnected items for each selected routable item.
2022-09-26 16:17:41 -04:00
Mike Williams
ca0c9f12e0 PCB Editor: Unroute Footprint
Also works on selected pads.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1955
2022-09-19 10:37:10 -04:00
Jeff Young
1566bd8b14 Make sure a collector has a guide before handing it to a client filter.
Fixes https://gitlab.com/kicad/code/kicad/issues/12460
2022-09-18 18:14:47 +01:00
Marek Roszko
a8613ee80f Combine Iu2Millimeter & remove PcbMm2iu 2022-09-16 21:09:26 -04:00
Jeff Young
2d3b8d6393 Fix logic around Select All inside an entered group.
Fixes https://gitlab.com/kicad/code/kicad/issues/12411
2022-09-14 12:24:51 +01:00
Alex
d67c81a657 When deselecting items, pick only selected ones.
Fixes https://gitlab.com/kicad/code/kicad/issues/10292
2022-09-06 19:44:29 +00:00
Jeff Young
efae2bbb4c Better feedback for netclass assignment patterns. 2022-09-03 21:33:56 +01:00
Jeff Young
c30a557810 ADDED netclass assignment from PCB canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/5975
2022-09-03 19:29:59 +01:00
Jeff Young
9188838e50 RIP EDA_RECT. 2022-08-31 23:57:24 +01:00
Jeff Young
b4492e0bd2 More EDA_RECE yeetage. 2022-08-31 17:19:50 +01:00
Jeff Young
ebe9617e77 More EDA_RECT expungification, and an attempt to fix the python test. 2022-08-31 17:19:48 +01:00
Jeff Young
5679b9dbdc Remove a few EDA_RECT instances. 2022-08-31 01:22:49 +01:00
Jeff Young
0c8787cbb9 Some more wxPoint/EDA_RECT yeeting. 2022-08-31 00:44:33 +01:00
Seth Hillbrand
06786c34d7 Blacklist hashes for 2d integer elements
The hash table for integer hashes is extremely limited and places most
elements in the same buckets.  This leads to a linear search time for
structures built on this.

This blocks hashes, directing the coder to utilize std::set or std::map
structures instead of hash tables for implementing integer-based
lookups.
2022-08-26 08:43:37 -07:00
Jeff Young
1e68c353f1 Account for groups in undo of Position Relative To.
Also fixes a bug were pads weren't correctly being found for anchoring
the selection before the Position Relative To.

Fixes https://gitlab.com/kicad/code/kicad/issues/11793
2022-08-22 22:33:38 +01:00
Alex
3a76d42630 Cross-probing/selection for multiple items (PCB -> SCH)
Fixes https://gitlab.com/kicad/code/kicad/issues/10469
2022-08-22 19:33:39 +00:00
Jeff Young
aa2ad3b44c Move KICAD_T[] to std::initializer_list<KICAD_T>. 2022-08-20 10:28:11 +01:00
jean-pierre charras
a60053c800 selectAllItemsOnSheet(): fix a typo that prevent selection of items in root sheet. 2022-08-19 11:12:16 +02:00
jean-pierre charras
e0fbe2542f Fix a few compil and Coverity warnings. 2022-08-19 10:53:29 +02:00
Jeff Young
d6cd55e133 ADDED esc-removes-net-highlight preference to PCBEditor.
Fixes https://gitlab.com/kicad/code/kicad/issues/8760
2022-08-09 08:46:12 +01:00
Jeff Young
96f01d33c8 Performance improvements.
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference

Fixes https://gitlab.com/kicad/code/kicad/issues/12130
2022-08-03 11:59:42 +01:00
Marek Roszko
a8505d9c76 SEARCH_RESULT -> INSPECT_RESULT
To fix the name squatting it's doing for future functionality
2022-07-29 20:01:10 -04:00
Jeff Young
1bad72f14f Remove bad static_cast.
(m_settings isn't a PCBNEW_SETTINGS in non-PCB_EDIT_FRAMEs)
2022-07-24 23:41:41 +01:00