Seth Hillbrand
50c7aff3ff
Simplify KiROUND using std::llround/clamp
...
Removes the bespoke rounding in favor of std::llround and std::clamp
routines
2025-08-04 09:26:25 -07:00
Seth Hillbrand
e064a3481d
Add Rule Area selection filter in schematic editor
...
Allows rule areas to be ungrouped from the "Other Items" when selecting
2025-07-24 11:03:38 -07:00
Seth Hillbrand
16f82d1de5
Junctions are wires in schematic editor
...
Treat junctions like wires for the purposes of the selection filter.
Allows selecting them together with wires and avoids grouping with
"Other Items" which is confusing
2025-07-24 10:52:27 -07:00
Jeff Young
4137b9d31c
Don't overflow int rebuilding selection rect (KICAD-E4J).
2025-07-14 13:17:53 +01:00
Jeff Young
d3046e6aee
Don't steal unrelated timer events (potentially KICAD-XJN).
2025-07-13 16:30:03 +01:00
Jeff Young
f5f59e797d
Make sure event has position before querying it (KICAD-796).
2025-07-01 21:17:22 -06:00
Jeff Young
f5d2553161
static_cast safety.
2025-06-30 20:34:26 -06:00
Seth Hillbrand
bdf5cc5af8
Re-enable pin selection
...
Pins are no longer in the view separate from their sheet/symbol so we
need to extract the pins for our hit test
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20898
2025-06-05 14:11:12 -07:00
Jeff Young
f58fc0b952
Rewrite GROUP undo based on uuids.
...
This also removes the GROUP/UNGROUP-specific undo actions.
This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.
This also fixes some undo bugs when dividing wires etc.
This also fixes some bugs with new sch items not
being created within an entered group.
2025-05-21 14:24:59 +01:00
Mike Williams
2b5b3ffb8d
sch selection: fix non-greedy line selection
...
Make sure we selected at least one end before selecting.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20942
2025-05-21 08:54:37 -04:00
Seth Hillbrand
484c35c44f
When cycling next/prev selection, keep only single
...
We want to have only the current item in the selection rather than all
of them
(cherry picked from commit 62e11694927dda229c45ca0be8a135eb033d0717)
2025-05-16 09:27:38 -07:00
Mike Williams
2baeecbee8
groups/design blocks add convenience methods for placing/updating
2025-05-15 14:26:56 -04:00
Mike Williams
2e8367a40a
sch groups: don't allow drag selecting table cells in un-entered group
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20834
2025-05-05 10:35:47 -04:00
Wayne Stambaugh
93cac7d0a5
Fix broken select connection behavior.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19790
2025-05-01 17:02:21 -04:00
JamesJCode
d550e34cf6
Add SELECTION_CANDIDATE flag to EDA_ITEM flags
...
This is now used when marking selection candidates in the schematic
selection tool. This avoids using CANDIDATE, which can case issues
with connectivity updates if it is not cleared after use.
2025-04-29 18:33:59 +01:00
Roberto Fernandez Bautista
96d72bed6f
Fix variable shadow warning in sch_selection_tool.cpp
...
Also be consistent in naming for all `RunOnChildren` lambdas
2025-04-26 14:42:52 +02:00
Mike Williams
82043e374a
sch groups/lines: correctly handle view lifetime and drawing in group
2025-04-21 09:28:27 -04:00
JamesJCode
2ee66ccfac
Fix compiler warning
2025-04-15 20:40:56 +01:00
Mike Williams
cdac27b2bc
sch groups: implement rotate/mirror
2025-04-15 10:19:40 -04:00
Mike Williams
5eee8f1c5f
sch_view: update to handle items with children
2025-04-15 10:19:39 -04:00
Mike Williams
5db091fc79
sch groups: clear group membership on destruction, add tests
2025-04-15 10:14:38 -04:00
Mike Williams
05f3c47b4f
groups: make selection tool work with groups
2025-04-15 10:13:50 -04:00
Julien Serin
f381c6e846
Feat add table selection with shift+click
...
ADDED now user can use shift+click to select multiple cell in a table with two click
Fixes https://gitlab.com/kicad/code/kicad/issues/19878
2025-04-08 11:57:35 -07:00
Mike Williams
40058ebe80
actions: move all basic selection operations to common actions
2025-04-02 12:02:01 -04:00
Mike Williams
5fd294cad2
eda frame: hoist FocusItem calls up a layer
...
Prep for SCH_GROUPs
2025-04-01 14:34:20 -04:00
Jeff Young
7ba07a3bb0
Use action to change current sheet.
...
That way it gets into the navigation hierarchy,
the current zoom gets saved, etc.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20466
2025-03-27 17:56:53 +00:00
Mike Williams
c67924ccac
schematic: convert RunOnChildren to also take recursion mode argument
...
Prepping for SCH_GROUPS, making consistent with the PCB code.
2025-03-27 13:16:09 -04:00
Mike Williams
18010b1104
selection: sort box selection by rows and columns by default
...
Some tools can take a selection order and it is nice to provide a
sane human-oriented default sorting when box selecting.
2025-03-19 10:25:35 -04:00
Jeff Young
5996cffabc
EE -> SCH (no functional changes)
2025-03-13 13:15:47 +00:00
Jeff Young
c1539ae014
Naming changes to reflect sharing between SchEdit and LibEdit.
2019-05-10 19:56:20 +01:00
Jeff Young
ea0941cab3
Implement modern tools for LibEdit.
2019-05-10 16:11:57 +01:00
Seth Hillbrand
589a37bfe8
eeschema: Don't segfault on empty drawlist
2019-05-09 15:11:36 -07:00
Jeff Young
f40408187e
A couple of temp hacks for LibEdit <esc> processing while in transition.
...
Fixes: lp:1828004
* https://bugs.launchpad.net/kicad/+bug/1828004
2019-05-07 12:04:19 +01:00
Jeff Young
2097411550
Refresh RequestSelection selection if all items were filtered out.
...
If you have, for instance a pin selected and do a cmd-E we'll filter
out the pin and then do nothing. We should instead treat it as a
hover selection if everything got filtered.
2019-05-07 12:04:19 +01:00
Jeff Young
f1a38a6d41
Respond to <esc> from selection tool.
...
Fixes: lp:1827917
* https://bugs.launchpad.net/kicad/+bug/1827917
2019-05-06 21:56:19 +01:00
Jeff Young
207900e4f9
Move libedit message panel updating to the Inspection Tool.
2019-05-06 15:31:23 +01:00
Jeff Young
f87d371b8b
Move to shared COLLECTORS for sch and lib.
2019-05-06 15:31:23 +01:00
Jeff Young
a42a4b0b52
Implement immediate bus unfold and add bus unfold to selection context menu.
2019-05-05 17:14:30 +01:00
Jeff Young
fd546da640
Homogenize hit testing and selection return types.
...
Prep work for sharing SCH_SELECTION_TOOL with LibEdit.
2019-05-05 17:14:30 +01:00
Jeff Young
b5fd7b9842
Move Leave Sheet to the top of the context menu.
2019-05-05 17:14:30 +01:00
Jeff Young
7e3ad4585a
Fix issues with dragging, moving and rotating wires.
2019-05-05 17:14:30 +01:00
Jeff Young
2edb09e583
Double click action should enter sheet.
2019-05-05 17:14:30 +01:00
Jeff Young
bcdc3ad90a
Set IS_NEW flag on new images. And a bunch of cleanup of dead code.
2019-05-05 17:14:30 +01:00
Jeff Young
21b315f2af
Finish removing GetCurItem() from eeschema.
2019-05-05 17:14:30 +01:00
Jeff Young
6e695aac25
Move bus unfold and symbol unit selection to modern toolkit.
2019-05-05 17:14:30 +01:00
Jeff Young
f4b92e6acf
Refactor as SCH_DRAWING_TOOL was getting too big.
2019-05-05 17:14:30 +01:00
Jeff Young
20b63174dc
Support wire & bus drawing from selection tool.
2019-05-05 17:14:30 +01:00
Jeff Young
4ca0f4da10
Fixes to the context menu logic around wire/bus drawing.
2019-05-05 17:14:30 +01:00
Jeff Young
1e5334f5d4
Implement DeMorgan conversions in modern toolset.
2019-05-05 17:14:30 +01:00
Jeff Young
29f1787af2
Logic improvements and fixes for wire segment selection states.
2019-05-05 17:14:30 +01:00