Jeff Young
6fbbf981f0
Handle justification when hit-testing fields.
...
This steals the algo used in SCH_PAINTER to get the right coords
for the text.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15722
2023-10-03 14:36:13 +01:00
Mike Williams
49a8c9eb8d
Schematic: pin helpers, add wiring tool
2023-09-28 15:07:11 -04:00
Mike Williams
5f88c132c9
Schematic: add pin helpers menu (quickly breakout pins)
2023-09-28 11:44:52 -04:00
Seth Hillbrand
91450c22cc
Allow disambiguation menu configurability
...
Adds an advanced config flag to all testing different values for
different users.
Related to https://gitlab.com/kicad/code/kicad/-/issues/15128
2023-09-24 16:33:05 -07:00
jean-pierre charras
e152f97f35
Fix minor Coverity warnings. Small code cleaning in pcb_parser.cpp
2023-09-21 11:33:29 +02: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
jean-pierre charras
ecd8c7e2cc
Fix a compil issue (in sch_altium_plugin.cpp) and compil warnings.
2023-09-07 08:53:30 +02:00
Josue Huaroto
cef0f176d3
Add Unselect all in menu
2023-09-06 23:44:39 +00:00
Jeff Young
4325f4e038
ADDED: alternate pin functions in context menu.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12852
2023-08-28 12:51:41 +01:00
Mike Williams
6ae8968a5b
Symbol Fields Table: add selection controls
...
Allows cross-probing to other editors.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8188
2023-08-07 15:05:24 -04:00
Mike Williams
457e58d0d5
Schematic: select connections working for multiple selection
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11022
2023-08-03 11:27:29 -04:00
Jon Evans
35c372a072
Support expanding selection for schematic graphic lines
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12032
2023-08-01 21:22:35 -04:00
jean-pierre charras
5ea170baab
Symbol editor: fix crash when trying to "drag" an item.
...
Drag or move is an option of the schematic editor, and not in symbol editor.
So it cannot be tested in code for the symbol editor.
Fixes #15264
https://gitlab.com/kicad/code/kicad/-/issues/15264
2023-07-26 08:58:22 +02:00
Mike Williams
132a0ada73
Grid Overrides: support grids-per-type that override the current grid.
...
Schematic only at this point while we test and refine.
PCB support is a future addition.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14756
2023-07-25 10:17:57 -04:00
Jeff Young
5419055acb
We no longer need activate actions with RunSynchronousAction.
2023-07-16 14:43:29 +01:00
Jeff Young
eedf319ba4
Don't double-offset effective text shapes.
...
Also fixes several bugs with intersheet ref fields. (It's possible for
other fields to have an ID of 0.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15165
2023-07-10 19:32:00 +01:00
Alex Shvartzkop
55b31030c0
Perf: don't search for niluuid items when moving cursor in eeschema.
...
Reduces CPU usage by 60% in some cases.
2023-07-03 02:15:05 +03: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
300a60e88e
Eradicate a bunch of calls to dyn_cast.
2023-06-25 11:10:05 +01:00
Ian McInerney
19f5c16708
Ensure const-ness matches across draw wire event parameters
2023-06-21 14:06:25 +01:00
Ian McInerney
480223f67c
More RunAction specialization
2023-06-20 21:52:50 +01:00
Wayne Stambaugh
e9dc00cda3
Minor schematic net navigator improvements.
...
- Expand tree and highlight object selected with net highlight tool.
- Expand tree and highlight object that are currently highlighted with the
selection tool.
- Use more descriptive object text rather than menu entry text for tree
strings.
- Rebuild tree on unit changes.
2023-06-09 14:34:54 -04:00
Jeff Young
4ed267394a
Outline font performance improvements.
...
1) Don't fracture font glyphs when generating them; we're going
to fracture during triangulation anyway.
2) Don't check for self-intersection when deciding to fracture.
It costs nearly as much as the fracture does.
3) Cache drawing sheet text.
4) Use the current font when checking for cache validity.
5) Parallelize glyph triangulation.
6) Don't invalidate bounding box caches when offset by {0,0}
7) Use the glyph cache when generating text effective shape.
8) Short-circuit NormalizeJustification() if its center/center.
9) Don't triangulate for GuessSelectionCandidates()
10) Avoid sqrt whenever possible.
11) Pre-allocate bezier and SHAPE_LINE_CHAIN buffers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14303
2023-05-27 01:35:40 +01:00
Wayne Stambaugh
831a6d55fc
Fix potential stale pointer bug in schematic highlight connection code.
...
SCH_CONNECTION objects are temporary and can become stale any time the
connectivity is updated. Keeping them around to reference later is a
bad idea. Even if the object pointer is still valid in an SCH_ITEM in
the undo/redo buffers, comparing the pointer against another pointer as
a test to see if they are the same connection is not valid. Saving the
connection name is safe and ensures the connection is the same even if
the pointers differ.
2023-05-16 20:06:21 -04:00
Jeff Young
49655ae742
Defense in depth for "mouse stuck in canvas".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12653
2023-05-06 11:28:14 +01:00
Jeff Young
e1b39946fe
ADDED: show/hide controls for directive labels.
2023-04-28 00:32:49 +01:00
Jeff Young
66f48d56ae
Separate sheet reloads (MODEL_RELOAD) and schematic reloads (SUPERMODEL_RELOAD).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14523
2023-04-12 11:51:09 +01:00
Jeff Young
a9b2234f4e
Use a softer Reset for grid settings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14458
2023-04-04 17:05:21 +01:00
Jon Evans
053d20e13d
Fix selection overlay being wiped when changing sheets
2023-02-16 17:14:08 -05:00
Jon Evans
0f18a36f8f
Fix handling of selection overlay in schematic editor
...
We weren't actually using the overlay group at all
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11142
2023-02-15 21:16:58 -05:00
James Jackson
661eed7fed
Eeschema: ensure wire / bus auto-start respects bus labels
...
Fixes #13506 and further ensures correct behaviour for heirarchical labels and sheet pins
2023-01-15 19:25:28 +00:00
Jeff Young
c3ca1ce014
Tune the hit-test extra-slop for lines (and apply it to arcs too).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13429
2023-01-07 23:06:51 +00:00
Mike Williams
068b714908
Schematic: merge dual import sheet pin actions
...
I believe I have managed to keep the slightly distinct functionality of
both implementations: the action will now use the selected sheet or find
one under the cursor if it's there.
It will also keep placing pins while they exist, which was inconsistent
in the behavior of the single click version before (other single click
commands keep placing until you cancel, e.g. no-connects )
Also, it will automatically end the tool when it runs out of sheet pins.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13296
2022-12-29 09:36:29 -05:00
Mike Williams
9b782fa827
Schematic: don't deselect line ends when right clicking off-selection
2022-12-22 14:16:38 -05:00
Mike Williams
8b7d0d71fb
Schematic: show update/change symbols for multiple symbol selection
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13231
2022-12-22 14:00:51 -05:00
Mike Williams
389f0655cd
Schematic: re-enable old break wire functionality, add slice
...
Also fix break/slice wires for multiple wires. The shortcut and code
always allowed it, the context menu just didn't appear.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13163
2022-12-19 15:55:59 -05:00
Mike Williams
243727428a
Selection: non-greedy box selection of wires ends only when dangling
...
See discussion:
https://gitlab.com/kicad/code/kicad/-/issues/13022#note_1205902448
2022-12-12 15:04:33 -05:00
Mike Williams
5ce0fe5998
Selection: drop non-greedy full line selection from middle
...
It's too inconsistent to have greedy and non-greedy mode, and also have
tweaks to the non-greedy mode that make it greedier.
2022-12-12 14:45:06 -05:00
Mike Williams
f4fb70e04c
Schematic: re-allow partial selection of line ends
...
Also fix some XOR selecting issues.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13022
2022-12-10 13:17:42 -05:00
Mike Williams
0e75bf02fa
Selection: refactor modifier checking
2022-12-08 14:12:12 -05:00
Mike Williams
4b02e5efb4
Schematic: allowing ctrl/shift-clicking point editor points
2022-12-08 14:12:12 -05:00
Mike Williams
8f646fa9fb
Schematic: fix XOR unselecting one end of fully selected line
2022-12-01 15:00:06 -05:00
Jeff Young
651b3f1349
SCH_FIELDs are in parent's coord system.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12979
2022-11-23 13:22:50 +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
Jeff Young
b84066610e
Use drag origin instead of current mouse pos for drag checking.
2022-11-19 21:01:45 +00: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
1825905011
Replace more-than-half-line algorithm with greedy/stingy check.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10860
2022-10-10 20:23:48 +01:00
Jeff Young
cb20a39693
Always select whole lines with greedy selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10869
2022-10-10 20:17:15 +01:00
jean-pierre charras
fd4cd17f4f
fix a compil warning
2022-09-20 18:55:20 +02:00
Jeff Young
30a4d3d2de
Coverity fixes.
2022-09-20 00:19:15 +01:00