Alex
d343d87b73
Speed-up EE_SELECTION_TOOL::RequestSelection.
2022-07-18 18:51:52 +00:00
Seth Hillbrand
93fb00d815
Protect the Kiway dereference
...
Also find a few more places where we are reaching into a new frame to
perform actions that need to have dialogs closed.
Running actions should also wait for the next cycle rather than being
immediately executed when we are calling into a new frame. This allow
for the cleanup actions onClose() to happen prior to the next action
starting
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
2022-07-14 11:37:45 -07:00
Mike Williams
d44e34d513
Images: Add full properties editor
...
Converts dialog_image_editor to panel_image_editor. Embeds this panel in
a new properties dialog for the schematic and PCB editors that allows
editing position, layer, locked status, etc. like other items.
2022-07-14 11:23:23 +00:00
Mike Williams
1f4079802c
Schematic: drop undefined/unused function
2022-07-14 11:23:23 +00:00
Seth Hillbrand
b5bf1da251
Keep track of blocking windows
...
Allows the calling KiWAY player to send messages to the blocking window
before signaling a separate call
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
Fixes https://gitlab.com/kicad/code/kicad/issues/11772
2022-07-13 19:25:24 -07:00
Seth Hillbrand
0dab566270
Fix name escaping in symbol editor
...
When renaming a symbol, be sure to handle name escaping in all of the
various places that we do renaming (!)
Fixes https://gitlab.com/kicad/code/kicad/issues/11939
2022-07-12 12:06:30 -07:00
Jeff Young
d24e6c3408
Auto-annotate (and then don't re-annotate) power symbols.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11942
2022-07-11 21:46:01 -06:00
Jeff Young
57acce9e55
Share more code between selection tools.
2022-07-11 19:04:08 -06:00
Mike Williams
e454595348
Eeschema: Changing pin length adjusts offset according to orientation
...
ADDED: When pin length is changed now, the pin position is adjusted
according to its orientation such that the connection point for wires
moves instead of the other side of the stem base. For pins coming out of
component boxes, etc. this keeps them attached to the box while the
length is changed.
2022-07-11 13:58:06 -04:00
Jeff Young
4685dc49cc
Show more than 9 items in disambiguation menu.
...
(But only the first 9 get hotkeys.)
Fixes https://gitlab.com/kicad/code/kicad/issues/11966
2022-07-10 20:11:22 -06:00
Jeff Young
b759d860c0
Don't disambiguate if the user is dragging a multiple selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10108
2022-07-10 19:45:56 -06:00
Jeff Young
e122dc38bd
Add context menu item for clearing net highlighting.
...
In selection tools, drawing tools, router tool, line_wire_bus tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/11920
2022-07-10 17:15:20 -06:00
Jeff Young
00fc225306
Give <esc>-with-no-selection-clears-net-highlight a test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8760
2022-07-09 11:56:16 -06:00
Jeff Young
70aec5d576
Don't drag both ends after Break Wire.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11915
2022-07-08 23:03:41 -06:00
jean-pierre charras
7b28804f67
Fix a minor compil and Coverity warning
2022-07-06 13:54:17 +02:00
Miklos Marton
d30af7c164
eeschema: Add automatic rotate feature for placing global and
...
hierarchial labels
2022-07-05 17:02:45 +00:00
Seth Hillbrand
cde30d3dba
Clarify cross-probing options
...
Previous the cross-probing options were mixed between sending and
receiving cross-probe events. This clarifies so that all of the pcbnew
cross-probe options deal with whether the cross-probe is seen in pcbnew
and all of the eeschema options deal with seeing the event in eeschema.
Also updates the wording in the options panels to be the same where
possible and adds tooltips
Fixes https://gitlab.com/kicad/code/kicad/issues/11454
2022-07-01 16:47:09 -07:00
Mike Williams
66b3b48e93
Library Editor: Fix missing automatic annotation
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11818
2022-06-29 14:17:21 +00:00
Jeff Young
34e706bcbc
Border colours and line styles for symbol editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11810
2022-06-16 14:52:38 +01:00
jean-pierre charras
1140fd0fb0
Eeschema, context menus: move edit value, ref and footprint to a submenu.
...
remove also Select All menuitem from the move context menu.
2022-06-13 11:35:17 +02:00
Jeff Young
29900cad34
Add create-wire logic to labels.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11768
2022-06-10 22:38:01 +01:00
jean-pierre charras
e0f0bb2edd
Eeschema: Fix issues when converting a label/text to another label text type.
...
- make convert to/from SCH_DIRECTIVE_LABEL working.
- Autoplace fields of new labels
Fixes #11779
https://gitlab.com/kicad/code/kicad/issues/11779
2022-06-10 14:13:22 +02:00
Jeff Young
bce1fd337b
Second tool hotkey accepts action (ie: acts as click).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11729
2022-06-09 16:54:04 +01:00
jean-pierre charras
35bde4710c
Eeschema, context menu selection: move convert to ... menuitems to a submenu.
...
Add also missing icons in a few menuitems.
Fixes #11776
https://gitlab.com/kicad/code/kicad/issues/11776
2022-06-09 16:46:21 +02:00
Jeff Young
c55a0e4561
Separate last-created-params for textboxes from shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11755
2022-06-08 15:25:13 +01:00
jean-pierre charras
185016b84b
Eeschema, Hierarchy navigator: add tool to Hide/show the panel.
...
Add also a close button to the pane.
2022-06-07 11:11:10 +02:00
jean-pierre charras
9f38fa43cd
Fix some minor compil and Coverity warnings.
2022-06-05 11:44:49 +02:00
Jeff Young
718bb461d2
Textbox defaults for libedit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11739
2022-06-04 21:25:37 +01:00
Roberto Fernandez Bautista
78e465bbd8
Fix crash in sch_navigate_tool when history was empty
2022-06-03 23:07:12 +02:00
Jeff Young
ce79a16ed8
Use default schematic text size for textboxes.
...
Also adds support for remembering stroke info, fill info, and
spin style for sch text boxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/11739
2022-06-03 21:48:12 +01:00
Mike Williams
8d51b6b6d3
Schematic: Add icons for Any/90/45 angle modes
...
Also add a dark mode icon for existing 45hv icon.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11332
2022-06-03 15:04:52 +00:00
Mike Williams
857990a883
Hierarchy: turn into a left side pane
...
Drop auto-closing option as well.
2022-06-02 21:56:17 +00:00
Jeff Young
abba1b04bd
Add "Enter Sheet" to Sheet tool (context menu & double-click).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11531
2022-05-30 14:08:26 +01:00
Jeff Young
d5d8d36d86
Implement expanding Select Connection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8579
2022-05-29 22:51:33 +01:00
Mike Williams
f2cf934083
Schematic: Annotation Tweaks
...
Fix newly placed symbols to be annotated and not show a ? until
placement.
2022-05-27 15:54:00 +00:00
Mike Williams
efa23a5cbe
Schematic: better automatic/recursive annotate
2022-05-27 15:54:00 +00:00
Mike Williams
7f3e5e9b79
Schematic: add recursive annotation control
2022-05-27 15:54:00 +00:00
Mike Williams
85516a4691
Schematic: add automatic annotation toggle
2022-05-27 15:54:00 +00:00
Mike Williams
dabd42bbc4
Schematic: Automatic Symbol Annotation
2022-05-27 15:54:00 +00:00
Miklós Márton
487c8f8e39
symbol editor: Improve pin duplication
...
When duplicating pins in the symbol editor the duplicated pins will have
unique pin numbers assigned if the duplication target had the pin number
specified
2022-05-25 00:02:16 +00:00
Roberto Fernandez Bautista
ea29c66608
Fix formatting
2022-05-22 07:14:24 +00:00
Chetan Shinde
4e5febdb19
Fixes the import pin issue, that the they are shown in two different way https://gitlab.com/kicad/code/kicad/-/issues/11391
2022-05-22 04:42:22 +00:00
Jeff Young
8e94c307d2
Provide default case for mirroring single objects.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11649
2022-05-21 22:50:55 +01:00
Jeff Young
23fb4c7433
Uniformly use a single facility for location-less prime events.
...
Also implements a uniform mechanism for avoiding auto-scroll after
a prime event or dialog which results in a mouse position at the
edge of the canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/11057
2022-05-16 23:43:00 +01:00
Jeff Young
f2fc78f380
Don't copy modifiers to prime events.
...
The modifiers go with the hotkey, not with the action.
Fixes https://gitlab.com/kicad/code/kicad/issues/11618
2022-05-16 13:51:40 +01:00
Jeff Young
79a0ce9137
Unset forced cursor before leaving two-click place.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11607
2022-05-14 22:38:54 +01:00
jean-pierre charras
45b167dff5
Some fixes related to translated/not translated mandatory field names. DIALOG_SYMBOL_FIELDS_TABLE: add new fields to symbols only if the field is not empty.
2022-05-13 11:45:38 +02:00
Marek Roszko
f85251ef75
Fix eda_doc not looking for schematic locally
...
It looks like this was overlooked by Jeff in 2020 not realizing eda_doc isn't built under eeschema but common in cc9ac37a0e
2022-05-10 21:28:48 -04:00
jean-pierre charras
4bd349d922
Update some demos
2022-05-09 19:06:14 +02:00
Miklós Márton
7e20c0ed9c
eeschema: removed unused code
...
Fixes #11533
2022-05-06 17:17:55 +00:00
jean-pierre charras
32077673e8
Symbol editor crash: Fix use of a null pointer.
...
LIB_TEXT::Clone() did not copy a member set to nullptr.
Fixes #11569
https://gitlab.com/kicad/code/kicad/issues/11569
2022-05-06 12:51:26 +02:00
Jeff Young
1751c8e1cf
Save selection *before* clearing it. Saving after doesn't do much good.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11242
2022-05-06 00:06:00 +01:00
Simon Richter
bd7447cff3
Fix variable name
...
This is the top left position, not the top right.
2022-05-05 10:27:19 +00:00
Jeff Young
babfb29c54
Formatting cleanup.
2022-05-03 13:39:14 +01:00
Jeff Young
67f352717e
Fix dodgy type-cast and init line-widths to "inherit".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11535
2022-05-03 13:39:14 +01:00
jean-pierre charras
3f470359a2
Eeschema, backannotate: fix minor issues in displayed messages.
...
Fixes #11530
https://gitlab.com/kicad/code/kicad/issues/11530
2022-05-03 09:20:46 +02:00
Jeff Young
f6f316bd8c
Promote field selection to field-owner for Autoplace.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11529
2022-05-02 20:11:21 +01:00
jean-pierre charras
ece15b6472
Fix a compil warning (shadowed var).
2022-05-02 15:25:55 +02:00
jean-pierre charras
40c75c74fa
EEschema/Cvpcb: make assign footprints from CvPcb undoable.
...
Fixes #11508
https://gitlab.com/kicad/code/kicad/issues/11508
2022-05-02 12:49:14 +02:00
Jeff Young
772bdc4bbf
Turn off auto-dialog for text objects when immediateActions == false.
2022-05-02 11:25:40 +01:00
Jeff Young
de0bb26c4c
Init global label's intersheet ref's visibility from schematic settings.
2022-05-02 09:42:38 +01:00
Miklós Márton
7ebdb4853c
Do not open label edit dialog when adding label to an already named wire
2022-05-02 08:42:15 +00:00
Jeff Young
8a97a46e6b
Release file before re-loading it for Revert.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11481
2022-04-26 22:28:35 +01:00
Jeff Young
e0f2a5f07c
Update findnext to handle new instance data architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11424
2022-04-26 20:21:15 +01:00
Seth Hillbrand
25474b347c
Fix frustration with mirroring autoplaced fields
...
When the user asks to mirror a symbol is is frequently to get the
reference/value on the other side of the symbol for placement purposes.
Autoplacing the fields here keeps the text where they were initially
which can be frustating to work around.
This commit treats the mirror command as a user request to change where
the fields are
2022-04-25 12:50:45 -07:00
Jeff Young
f5d612eaed
Switch <insert> replacement on OSX to <f1>.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11413
2022-04-25 10:01:33 +01:00
Jeff Young
90bfe2d94b
Remove Save Copy As from fp editor, and rename to Save a Copy elsewhere.
...
It's still used by Eeschema and PCBNew when not in stand-alone mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/9185
2022-04-24 19:46:57 +01:00
jean-pierre charras
3bc34590c7
Eeschema: fix missing call to UpdateMessagePanel() due to commit e09147db
.
...
EE_INSPECTION_TOOL::UpdateMessagePanel was called by EVENTS::SelectedEvent
But This event after commit calls E_INSPECTION_TOOL::CrossProbe(),
and no longer UpdateMessagePanel.
So CrossProbe() now calls UpdateMessagePanel.
Fixes #11447
https://gitlab.com/kicad/code/kicad/issues/11447
2022-04-24 18:40:10 +02:00
Jeff Young
c6f83b6dec
ADDED Duplicate Footprint, Rename Symbol and Rename Footprint.
2022-04-22 22:06:51 +01:00
Mike Williams
b42365190e
Schematic/PCB: deleting fields sets them to invisible
2022-04-21 16:20:23 +00:00
Mike Williams
653baf270c
Schematic: drag created / changed segments need junction checks
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10844
2022-04-18 17:24:02 +00:00
Simon Richter
801c5deb87
Fix minimum size calculation for new hierarchical sheets
...
These constants are given in mil, but are used in a context of internal
units.
2022-04-18 15:01:59 +00:00
Jeff Young
71c2cb3180
ADDED revert for pcbnew and eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6802
2022-04-17 20:02:58 +01:00
jean-pierre charras
38c54ffa8f
Eeschema, Symbol Library Browser: fix crash when left clicking on the canvas.
2022-04-17 09:54:19 +02:00
Jeff Young
e09147db30
Cross-probing for ERC dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11411
2022-04-17 00:33:56 +01:00
Seth Hillbrand
250a246761
Clear flags after we're done with them
...
The CANDIDATE flag is a temporary element that should not be maintained
outside of the routine in which is it temporarily set
Fixes https://gitlab.com/kicad/code/kicad/issues/11361
2022-04-16 15:45:17 -07:00
jean-pierre charras
65f7d9f97a
EEschema: move symbol checker code in symbol_checker.cpp.
...
- Add some tests for Power symbols.
- Fix incorrect print format in some messages.
2022-04-16 18:56:06 +02:00
Jeff Young
6ef6e37edb
Disable using default instance data when writing to clipboard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11379
2022-04-14 17:09:27 +01:00
Jeff Young
034b57d9c0
When reannotating keep existing prefix in most cases.
...
(Execption is reannotating entire schematic, in which case we reset
all of them.)
Fixes https://gitlab.com/kicad/code/kicad/issues/11379
2022-04-13 23:38:45 +01:00
Jeff Young
306dfef7e5
Fix typo.
2022-04-12 19:18:15 +01:00
Jeff Young
576f3dc2fd
Keep pins aligned to grid when possible.
...
This uses the first pin as the anchor point in a mulitple-item
selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/11151
2022-04-12 18:14:21 +01:00
Jeff Young
546b3bfbc0
Select wire ends in select all.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10958
2022-04-11 19:36:54 +01:00
Jeff Young
74a578047c
Make sure to add any now-necessary junctions after a rotate.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11242
2022-04-11 12:02:20 +01:00
Jeff Young
c17b90c8dc
Run pinning on sides as well as corners.
...
Also fixes a bug in LIB_SHAPE's Normalize() which wasn't handling the
upside-down coordinate system.
Fixes https://gitlab.com/kicad/code/kicad/issues/11339
2022-04-07 11:51:58 +01:00
Jeff Young
356d565d48
Normalize rectangular shapes before feeding to point editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11339
2022-04-06 18:18:29 +01:00
jean-pierre charras
be6379a8f6
Fix minor Coverity and compil warnings.
2022-04-01 20:43:21 +02:00
jean-pierre charras
5d9668938b
SYMBOL_EDITOR_CONTROL::DuplicateSymbol(): fix incorrect validation test.
...
DuplicateSymbol() is called both to duplicate and paste. Only duplicate
needs a test to know if a symbol is selected.
Fixes #11053
https://gitlab.com/kicad/code/kicad/issues/11053
2022-04-01 10:42:20 +02:00
Jeff Young
7c21a0bdd4
Dirty text render caches in point editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11284
2022-03-30 16:32:23 +01:00
Jeff Young
8dc680adbb
Implement align-to-grid for sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11201
2022-03-29 19:31:02 +01:00
Jeff Young
4ee6f9e138
Make sure setting the cursor gets put into the right tool context.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10141
2022-03-28 21:54:24 +01:00
Mike Williams
2a726a882f
Schematic: new feature, force 45 degree lines
...
* New modes to force 45 deg angle at beginning or end of line
* Backspace will undo most recent segment added
* / will toggle posture of 90 and 45 degree lines
* Added alg::signbit for convenience
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10869
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9175
2022-03-28 16:07:23 -04:00
Mike Williams
e51ab86225
Schematic Drag: fixes and improvements
...
Fixes:
* Various special cases around junctions on pins and dragging.
* Some rotations of endpoints resulting in a 45 degree rotate.
* Some cases where it was possible to get a line with neither
endpoint selected, and also substractive unselecting only one of two
selected endpoints unselecting both.
* Use line midpoint for sorting. Start and endpoints aren't
consistent in the order they appear on the X or Y axis. So,
we need to use the midpoint for our position for consistent
sorting when dragging groups of parallel lines where some
have the start and end reversed.
Other:
* Rename TEMP_SELECTED TO SELECTED_BY_DRAG. This is the actual meaning
of the flag, and should reduce confusion as
to when it should be used.
* Move usage of TEMP_SELECTED as an algorithmic mark to CANDIDATE
instead.
* Fix mistaken clearing of START_POINT and ENDPOINT.
* Move endpoint setting and clearing out of narrowSelection, and into
selectPoint and selectMultiple.
* Don't show dangling end warnings on new lines
2022-03-28 16:02:48 -04:00
Jeff Young
343b2681d4
Midpoints for eeschema rectangles and text boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10362
2022-03-28 11:16:39 +01:00
jean-pierre charras
38bd612c01
sch_sexpr_parser.cpp: allows reading a polyline descr with more than 2 points
...
In symbols, a polyline descr is already a true polyline / polygon descr.
In schematic, a polyline descr was restricted to only 2 points (a line).
A true polyline / polygon descr is now allowed in schematic that support already
polygons.
For compatibility reason, a 2 points polygon (SCH_SHAPE) is converted to a SCH_LINE.
2022-03-27 10:31:21 +02:00
Jeff Young
a54457386c
Enable immediate mode for pin tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10156
2022-03-26 21:07:10 +00:00
Jeff Young
0652c7b429
More visible Synchronized Pins Mode informatics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10340
2022-03-26 15:16:08 +00:00
Jeff Young
1c158a4ea4
Use a standard HTML reporter for Symbol Checker.
2022-03-26 14:22:31 +00:00
Wayne Stambaugh
7da7864f5e
Fix some Coverity issues.
2022-03-25 15:51:05 -04:00
jean-pierre charras
21144481d2
PLOTTER: do not clamp coordinates to an arbitrary value.
...
Previously, coordinates were clamped to +- 60 inches. It makes no sense to
clamp them at plotter level: max cooed depends on the editor (schematic/board...)
Rename MAX_PAGE_SIZE_MILS to MAX_PAGE_SIZE_EESCHEMA_MILS and use it only for Eeschema.
Fixes #11196
https://gitlab.com/kicad/code/kicad/issues/11196
2022-03-22 10:32:36 +01:00
Jeff Young
4f62960334
Update message panel from PCB point editor and SCH drawing tools.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11186
2022-03-21 10:32:36 +00:00
Jeff Young
63b5ad7df1
Fix some issues with global-label fields' bounding boxes.
2022-03-19 19:37:01 +00:00
jean-pierre charras
77c52ad5df
Fix a compil warning (shadowed var).
2022-03-17 20:13:17 +01:00
Jeff Young
400cff994d
Update value & footprint from clipboard whether keeping annotation or not.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11116
2022-03-17 18:19:13 +00:00
Jeff Young
05bca282f7
Re-entrancy blocker for line/wire/bus tool.
...
Also clear infobar messages after a cancelInteractive.
Fixes https://gitlab.com/kicad/code/kicad/issues/11155
2022-03-17 15:27:33 +00:00
Jeff Young
e68e2e973e
Separate Line Properties dialog from Bus/Wire, and handle Junctions in Bus/Wire.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9979
2022-03-16 14:56:32 +00:00
Jeff Young
ec44dfa60f
Unescape value fields when pasting from legacy schematics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11124
2022-03-13 22:17:44 +00:00
Jeff Young
1f745b000d
Special-case synthetic click after tool selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11057
2022-03-07 20:30:50 +00:00
Jeff Young
39fa4e2065
Include textbox in movable objects.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11058
2022-03-07 10:33:59 +00:00
jean-pierre charras
dbfdd3fb56
Fix some Coverity warnings.
2022-03-06 09:48:33 +01:00
Seth Hillbrand
7ecc70a79d
Duplicate from selected or current
...
When double-clicking to open a symbol, it is no longer selected in the
tree. We need to use the `GetTargetLibId()` to pick the correct symbol
(first selected, then current) when using the duplicate command
Fixes https://gitlab.com/kicad/code/kicad/issues/11034
(cherry picked from commit 802d20c409
)
2022-03-03 16:04:22 -08:00
Seth Hillbrand
548936bb22
Fix broken unit select context menu
...
The fix for https://gitlab.com/kicad/code/kicad/issues/10529 kicked the
subsequent IDs for unit selection off the maximum ID value for popup
menus. This increases the maximum popup number (integers are free)
(cherry picked from commit 79b6991d7b
)
2022-03-02 16:33:28 -08:00
Mike Williams
5503afc09a
Schematic: disallow center rotation, allow both endpoint rotations
...
Center rotation will often misalign lines to the grid, which is bad
until fix off grid items on the schematic.
We can rotate a connection end into a new connection or to become
collinear with an existing line, so we need to check for this at the end
of rotation.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10565
(cherry picked from commit 7d4cb91f39
)
2022-02-28 08:50:12 -08:00
Jeff Young
c4d2ac570f
Don't allow break commands (or labelling cmds) on multiple wire selections.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10934
2022-02-27 23:15:07 +00:00
Seth Hillbrand
535ea800c0
Honor modifier keys in diambiguation
...
Needs to be reset for the new action before selecting elements at a
point.
Fixes https://gitlab.com/kicad/code/kicad/issues/9712
(cherry picked from commit a30ad0b54a
)
2022-02-25 16:16:15 -08:00
Seth Hillbrand
faa3829ad4
Add MRU to image placement tools
2022-02-25 13:18:43 -08:00
Jeff Young
6d8507d44f
Formatting.
2022-02-25 17:36:35 +00:00
Mike Williams
e35c3f2b99
Schematic: handle switching h/v mode better while drawing lines
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10859
2022-02-21 17:03:43 +00:00
Jeff Young
a2772b3363
Don't crash on highight net during drag.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10866
2022-02-21 13:30:15 +00:00
Jeff Young
b0d7c82e64
Disable grid when ctrl/cmd key is down.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9995
2022-02-20 16:50:30 +00:00
Mike Williams
d0749c4e9a
Schematic: more drag undo fixes
...
Drag was not clearing IS_CHANGED status of items that were moved by the
drag, but weren't selected or created by it.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10845
2022-02-20 11:49:18 +00:00
Seth Hillbrand
d1a4daefbb
wxPoint->VECTOR2I correction for master
2022-02-19 19:14:41 -08:00
Seth Hillbrand
24ac516135
Trim wires based on how many pins they intersect
...
If a wire intersects more than 2 pins from the same symbol, we don't
trim connections. If the wire intersects exactly two pins from a single
symbol, we remove the wire between the pins.
We avoided doing this before because we didn't have a good metric for
trimming vs. not. But the per-symbol calculation feels like the least
surprising option.
Fixes https://gitlab.com/kicad/code/kicad/issues/10909
Fixes https://gitlab.com/kicad/code/kicad/issues/1857
(cherry picked from commit 75a4036e45
)
2022-02-19 16:54:45 -08:00
Jeff Young
510dc28a5c
Resolve text variables before attempting to open datasheet.
2022-02-19 14:59:50 +00:00
Mike Williams
567168fffc
Schematic: make grabbing whole lines more intuitive
...
Selecting end and midpoint will select whole line. Some changes for
orthogonal dragging made this worse than in 6.0.
Improves, but does not fully resolve:
https://gitlab.com/kicad/code/kicad/-/issues/10860
2022-02-16 19:15:55 +00:00
Mike Williams
97797c44b9
Schematic: added drag wires undo/redo fix
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10845
2022-02-15 19:31:17 +00:00
Seth Hillbrand
45a1a9a715
Replace awkward double cast with binary logic
...
The use of XOR with integers here is needed as MSVC doesn't implement
the use of std::signbit for integers and casting up to double just to
get the signbit feels wrong
2022-02-15 10:13:59 -08:00
Marek Roszko
3129f96686
Add awkward cast to double due to msvc conflict
...
https://github.com/microsoft/STL/issues/519
2022-02-14 21:43:11 -05:00
Mike Williams
9c59c4ee12
Schematic: orthogonal drag bends should depend on move direction
...
Prevents overlapping lines when possible.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10844
2022-02-14 22:52:34 +00:00
Jeff Young
4e5b30ad80
Rewrite autostart to not need connectivity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10579
2022-02-14 01:15:06 +00:00
Mike Williams
013d6d088f
Eeschema: fix pin starting wire bus bug
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10819
2022-02-13 15:02:09 +00:00
Jeff Young
33e57930bc
Implement undo for Eeschema find/replace.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10824
2022-02-11 22:09:22 +00:00
Mike Williams
21b59b4b6a
Eeschema: fix bus label drag adding a line
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10822
2022-02-11 21:30:50 +00:00
Mike Williams
a5e8575091
Eeschema: Implement orthogonal dragging
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1956
2022-02-10 18:38:40 +00:00
Mike Williams
7c91cd73e3
Eeschema: unconnected ends of wire entries should allow auto start wires
2022-02-07 23:31:24 +00:00
Jeff Young
cc69849719
Fix definition of nonFields to include textboxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10771
2022-02-06 19:43:25 +00:00
Jeff Young
8d3e1639d0
Update text variables when they change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10734
2022-02-04 12:52:46 +00:00
Seth Hillbrand
3badd53a96
Setup selection when repeating
...
We need the item to be currently selected when repeating the last symbol
insert. This ensures we have a valid selection before starting the move
tool and possibly getting odd system behavior from mouse positions
Fixes https://gitlab.com/kicad/code/kicad/issues/10619
(cherry picked from commit 7642a9db79
)
2022-02-03 17:09:59 -08:00
Jeff Young
f3cd36d1d7
Bring EEschema textboxes in line with PCBNew's.
...
Also adds Border checkboxes and fixes a bunch of bugs.
2022-01-31 21:46:40 +00:00
Seth Hillbrand
38706fdd95
Fully select a line for transformation
...
When not trying to select points, we need to ensure that the full
line is selected for transformation
Fixes https://gitlab.com/kicad/code/kicad/issues/10566
(cherry picked from commit 70d00689ca
)
2022-01-29 17:37:30 -08:00
Wayne Stambaugh
b36e31c49f
Factor out common and remove dead legacy symbol library code.
2022-01-29 14:13:00 -05:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
Mike Williams
ecb32b1fb0
Eeschema: hover start from wire end should copy wire properties
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10128
2022-01-27 17:17:45 +00:00
dsa-t
bc1ff6756f
Cross-probing/selection for multiple items (SCH->PCB)
2022-01-16 20:29:03 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
Seth Hillbrand
5a3d53d9e4
Catch default autowire case
...
Since we are dereferencing the optional, we need to ensure it exists in
all cases
Fixes https://gitlab.com/kicad/code/kicad/issues/10394
(cherry picked from commit 56d87a8613
)
2022-01-12 09:03:44 -08:00
Seth Hillbrand
04c46a8fd2
Correct return type in mapCoords
2022-01-07 09:08:40 -08:00
Seth Hillbrand
3d88f37949
Switch mapCoords to VECTOR2I
2022-01-07 08:37:37 -08:00
Seth Hillbrand
eb271ca7fb
Don't deduplicate schematic polygon points
2022-01-07 08:29:34 -08:00
Seth Hillbrand
4cdc9d3857
Don't deduplicate symbol polygons
...
SHAPE_LINE_CHAIN will, by default, remove duplicate points when
appending. We don't want to do this when constructing our polygons in
symbol editor, so we need to explicitly call the routine without
deduplication
Fixes https://gitlab.com/kicad/code/kicad/issues/10289
(cherry picked from commit 62f8603353
)
2022-01-07 08:25:49 -08:00
Seth Hillbrand
c9fc15b5eb
Clear edited point when exiting tool
...
When leaving the main point editor loop, we need to ensure that the edit
point is cleared as well. This is usually cleared by a ClearEvent call
but in case this is missed, we need to ensure that other tools are not
caught out
Fixes https://gitlab.com/kicad/code/kicad/issues/10288
(cherry picked from commit 9a2332dfcf
)
2022-01-07 08:25:49 -08:00
Seth Hillbrand
88a8ad2ca1
Keep symbol synced with edit tool
...
Undo/Redo can change the symbol referenced by the symbol drawing tool.
This updates the current symbol before important steps to keep the
system synced
Fixes https://gitlab.com/kicad/code/kicad/issues/10125
(cherry picked from commit b8a7a66a0a
)
2022-01-05 16:52:02 -08:00
Roberto Fernandez Bautista
2d3624a016
Rename ComparePageNumAndName -> ComparePageNum
2022-01-02 23:20:17 +00:00
Jeff Young
32dec0127e
Fix some issues with Eeschema's Shape Properties dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10140
2022-01-01 20:46:45 +00:00
Marek Roszko
34e90e5045
Silence MSVC warnings about type mismatch and unused var
2022-01-01 14:41:36 -05:00
Marek Roszko
c91d3e3cf9
Remove some more wxPoint
2022-01-01 14:12:20 -05:00
Marek Roszko
d1552c3fec
Some more wxPoint removal
2022-01-01 12:11:21 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Marek Roszko
347e03363a
Convert wxPoint/wxSize starting from EDA_RECT usages
2022-01-01 11:30:33 -05:00
Roberto Fernandez Bautista
701e256b3f
Correctly handle excluding an ERC marker in eeschema when right clicking
...
In addition, hide the option to exclude a marker if the selected marker
is already excluded.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10173
2021-12-30 17:14:36 +00:00
Jeff Young
86cb57f4a7
Cherry-pick TEXT_ATTRIBUTES and EDA_ANGLE from rockola/kicad-strokefont
2021-12-28 22:15:20 +00:00
Jeff Young
af13533b42
Add show/hide controls for ERC markers.
...
ADDED show/hide controls for ERC warnings, ERC errors and ERC exclusions.
Fixes https://gitlab.com/kicad/code/kicad/issues/7270
2021-12-24 17:38:50 +00:00
Jeff Young
889970a449
SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
...
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00
Jeff Young
9ee28ea8f5
Flatten out some more preferences.
2021-12-24 15:43:20 +00:00
Jeff Young
2bc86fa0a8
Shapes for schematic.
...
ADDED arc, circle and rectangle shapes for schematic. Shapes support
line styles and fill colors.
CHANGED sheet background color in Edit Text & Graphics Properties to
fill color (and it now affects shapes).
Pushed STROKE_PARAMS down into common and moved all shapes to using it
for stroke descriptions.
2021-12-23 20:36:07 +00:00
Jeff Young
ee5db73113
Use a bigger hammer to update adjacent segments.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9927
2021-12-23 16:54:03 +00:00
Jeff Young
885979ba75
Fix selection logic to handle LIB_ITEM as well as SCH_ITEM.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9954
2021-12-12 17:38:38 +00:00
Jeff Young
d1e6c216e1
And the modify bit wasn't getting set either.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9926
2021-12-11 01:09:13 +00:00
Jeff Young
15d1abeeef
Sigh. But addCorner() *does* need mapCoords().
...
And it's got an off-by-one error in it too. I don't think this
ever worked at all.
Fixes https://gitlab.com/kicad/code/kicad/issues/9926
2021-12-11 01:06:36 +00:00
Jeff Young
1f126c5619
Hittesting already handles inverse coordinate system.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9926
2021-12-11 00:32:24 +00:00
Jeff Young
8c5dd46861
Undo for SCH add/remove corner.
...
(PCB_POINT_EDITOR uses a BOARD_COMMIT and so already handles undo.)
Fixes https://gitlab.com/kicad/code/kicad/issues/9925
2021-12-10 23:08:16 +00:00
Jeff Young
0ad0627bb0
Overhaul drag-select logic to handle children better.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6662
2021-12-10 18:44:07 +00:00
Wayne Stambaugh
b7af66e3f9
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Always use full sheet paths when storing sheet instances. Partial sheet
paths cannot be full resolved resulting in lost page numbers when renaming
sheet file name.
Fixes #9782
2021-12-09 12:56:03 +00:00
dsa-t
9c619d8f4e
Allow some navigation tools when selecting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9565
2021-12-07 23:00:39 +00:00
Jeff Young
73b39e836d
Set modify bit when editing page layout.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9891
2021-12-06 23:08:33 +00:00
Wayne Stambaugh
a03e6e4926
Revert "Eeschema: fix broken page numbers when renaming a sheet file name."
...
This reverts commit a468a79948
.
2021-12-06 07:47:18 -05:00
Mikolaj Wielgus
10be483430
Make an exception for SCH_TEXT in SELECTION::GetCenter()
...
And undo the previous changes in SCH_TEXT::Rotate().
We continue hitting this with a wrench until it gets fixed or becomes
broken beyond any recognition.
2021-12-04 05:32:48 +01:00
dsa-t
cb482eb8eb
Symbol Fields Table: Highlight proper symbols even if they aren't annotated
2021-12-03 20:35:54 +00:00
Jeff Young
863699f2d1
Fix logic error in selection tool.
...
Any new selection made by clicking is not a hover selection.
Fixes https://gitlab.com/kicad/code/kicad/issues/9857
2021-12-02 16:56:47 +00:00
Mikolaj Wielgus
3960c2441b
Snap rotation center to half-grid, not grid
2021-12-01 17:53:42 +01:00
Seth Hillbrand
85ab4e5886
Don't deselect wires when aligning
...
This makes undo/redo look really strange as the other elements get
aligned but the wires do not (or rather their unconnected ends do not)
Fixes https://gitlab.com/kicad/code/kicad/issues/9275
2021-11-30 16:30:28 -08:00
Wayne Stambaugh
a468a79948
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Remove duplicate instance data saved in both root SCH_SCREEN and SCH_SHEET
objects that was causing them to be out of sync. All sheet instance data
is stored in the SCH_SHEET object itself and rebuilt on the fly so it is
always current.
Remove Get/SetPageNumber from SCH_SHEET_PATH object so it doesn't obfuscate
where the actual sheet page number information exists.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9782
2021-11-30 08:11:24 -05:00
dsa-t
5750e38102
Re-enable and fix Move+Autoplace Fields
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9766
2021-11-29 20:48:16 +00:00
Jeff Young
a224d8dd6c
Disable autoplace fields when dragging/moving.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9766
2021-11-28 19:18:08 +00:00
Mikolaj Wielgus
9bb370e6b4
SCH_SHEET_PIN: Rename GetEdge, SetEdge to GetSide, SetSide
2021-11-28 20:07:06 +01:00
Jeff Young
80d6b9e76d
Tighten up hittesting for symbols and other items.
...
Grid-based accuracy doesn't need to be any larger than 1/2 the
diagonal as we'll snap to one side or the other. And symbols don't
need as much slop as other items since there's plenty of "meat" on
them.
Fixes https://gitlab.com/kicad/code/kicad/issues/9805
2021-11-28 19:03:51 +00:00
Jeff Young
75d750a3cb
Copy lastResolved stuff when pasting.
...
This of course assumes the paste came from the same document. If not
then pasted items will get default lastResolved stuff.
2021-11-28 17:09:24 +00:00
Jeff Young
f23cd9c9e5
Clearer naming.
2021-11-28 17:09:24 +00:00
Mikolaj Wielgus
65af3a8568
Make sheet pin positions invariant to four rotations more often
2021-11-28 02:18:18 +01:00
Jeff Young
9f7db24871
Selection bug fixes for Symbol Editor.
...
1) Make sure the y-coord is correctly inverted before calling collision
routines.
2) Give LIB_SHAPE poly lines the same extra slop as SCH_LINEs.
Fixes https://gitlab.com/kicad/code/kicad/issues/9791
2021-11-27 15:17:05 +00:00
Jeff Young
87e71072b1
Default line width to 0 in symbol editor.
...
Also removes some atrophied settings for repeated non-pins in
symbol editor (which only ever repeats pins).
Fixes https://gitlab.com/kicad/code/kicad/issues/9776
2021-11-27 11:53:38 +00:00
Jeff Young
5863bc0937
Put Repair Schematic behind Advanced Config.
2021-11-25 12:56:46 +00:00
Jeff Young
5e6da9f964
Auto-start-wire tool requires an up-to-date connectivity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9628
2021-11-25 01:24:35 +00:00
Jeff Young
7fc04c3cf2
Fixes for realtime connectivity being off.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9628
2021-11-24 13:20:44 +00:00
Jeff Young
9e999f4de4
ADDED Repair Schematic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9749
2021-11-24 13:20:44 +00:00
Jeff Young
228edd4121
Don't generate duplicate IDs in line/wire/bus tool.
...
Also cleans up existing duplicate IDs when reading.
Fixes https://gitlab.com/kicad/code/kicad/issues/9749
2021-11-24 13:20:44 +00:00
Seth Hillbrand
2159acc9ce
Fix missing handler for multiple labels
...
This was intended to handle multiple labels but we missed the selection
condition.
Fixes https://gitlab.com/kicad/code/kicad/issues/9704
2021-11-20 14:37:18 -08:00
Jeff Young
7bda077f69
Disable EE_POINT_EDITOR for uneditable symbol graphics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9675
2021-11-18 15:38:46 +00:00
Jon Evans
ae24daa033
Do not include text when computing drag origin for a group
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9630
2021-11-14 11:54:04 -05:00
Wayne Stambaugh
53f5d616aa
Coverity issue fixes.
2021-11-13 11:38:31 -05:00
Seth Hillbrand
6e5a918377
Writeable -> Writable
2021-11-08 15:56:51 -08:00
Roberto Fernandez Bautista
04a30638f0
eeschema: Pasted items are moving as soon as they are pasted
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9539
2021-11-07 15:14:11 +00:00
Roberto Fernandez Bautista
b572781a8a
eeschema: Update anchor position of pasted items after initial move
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9534
2021-11-06 16:03:41 +00:00
Roberto Fernandez Bautista
d1bab3116d
eeschema: Warp to origin when moving - add missing text items
...
Schematic fields and text items were not being warped to origin when
moving.
2021-11-06 15:19:22 +00:00
Jeff Young
996a5b85a6
Overhaul IsJunctionNeeded logic to support all the different cases.
...
Several clients were using this with different needs. The API is
now more explicit (and there are more options under the hood).
Fixes https://gitlab.com/kicad/code/kicad/issues/9518
2021-11-04 12:57:16 +00:00
Jeff Young
40b4052ad4
Improve text hittesting in schematics.
...
Text has a fairly big bounding box to account for descenders, overbars,
etc., but it makes it feel too sloppy for hittesting. This change
allows selection disambiguation to look at the actual strokes of the
text when deciding what's "closest".
Fixes https://gitlab.com/kicad/code/kicad/issues/9506
2021-11-01 21:13:12 +00:00
Jeff Young
9f806d9304
Don't assume the grid size.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9013
2021-11-01 15:26:39 +00:00
Jeff Young
f345eacf13
Be more careful with undo, and don't re-merge a bus over a bus entry.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9475
2021-10-30 19:58:09 +01:00
Roberto Fernandez Bautista
c5cdda26ae
Fix crash in libedit when moving/editing pins in synchronised mode
...
Unit numbers start at 1, not 0. Our vector needs to be size + 1 if we want
to use the unit number as an index.
0 is reserved for "all units"
2021-10-30 18:14:23 +01:00
Jon Evans
d426abafd7
Handle empty shape in removeCornerCondition
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9495
2021-10-30 13:10:12 -04:00
Jeff Young
b967610e05
Remove confirmation for De Morgan (and spell his name right).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9483
2021-10-29 20:30:37 +01:00
Jeff Young
1fa9ad227a
Repair new junction logic for crossing wires.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9484
2021-10-29 19:09:02 +01:00
Seth Hillbrand
18318c73b5
Fix swapped parameters
2021-10-27 08:59:39 -07:00
Seth Hillbrand
dd99b2dc2f
Add action to edit symbol from Library
...
Analog of ea4e06124e
for symbol editor. Allows scripting to open
library symbol
2021-10-26 12:59:59 -07:00
jean-pierre charras
29756278e0
eeschema: fix crash when the simulator frame is open and the Tune tool is actived.
...
In some cases when the Tune tool is actived and a symbol is selected, if the tool
is deactivated from the right toolbar in Eeschema, Eeschema crashes.
2021-10-22 20:00:14 +02:00
Jeff Young
c5e5d8e0d4
Fix multi-sheet find/replace issues.
...
1) When replacing symbol fields, make sure we do it for all sheets
2) Honour "find on current sheet only"
Fixes https://gitlab.com/kicad/code/kicad/issues/9431
2021-10-20 18:28:57 +01:00
Jeff Young
b8d193485d
Respect selection reference point when set.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8520
2021-10-18 18:09:40 +01:00
Jeff Young
f9861b4a6c
Finish arc rework and push out to file formats.
2021-10-15 12:45:43 +01:00
Jeff Young
b52529521e
Replace individual LIB_* shapes with LIB_SHAPE (based on EDA_SHAPE).
...
Also moves to more capable FILL_T model that can be shared.
2021-10-15 12:45:43 +01:00
Mikolaj Wielgus
5f53019290
Substitute all wxHtmlWindow with HTML_WINDOW
...
Remove other places where <body> tag is used to override the default
black-on-white theme.
2021-10-12 07:07:15 +00:00
Seth Hillbrand
2c7da5e2bd
Handle deleting segment
...
Edited point needs to clear to allow us to use the click timer for
left-click after the drawing is deleted.
Fixes https://gitlab.com/kicad/code/kicad/issues/9320
2021-10-06 10:21:04 -07:00
Seth Hillbrand
bb5c58b3cf
Set default force cursor off in auto-lines
...
Leaving the forced position on results in the auto-line linking to a pin
for far longer than we intend if there are other hits in the area of the
cursor
Fixes https://gitlab.com/kicad/code/kicad/issues/9321
2021-10-05 20:28:05 -07:00
Seth Hillbrand
854472d550
Prevent automatic RTree recaching
...
Calling UpdateItem() may be performed by in a common loop, e.g. for(
SCH_ITEM* item : GetScreen()->Items() ) or similar. We cannot call
GetScreen()->Update( SCH_ITEM* ) in this routine as it will remove and
re-add the item to the RTree, invalidating iterators. If needed, the
items need to be cached to an external container before updating
Fixes https://gitlab.com/kicad/code/kicad/issues/9318
2021-10-05 20:13:15 -07:00
Seth Hillbrand
9a8d1246cc
We don't keep a CHANGELOG.TXT
...
Direct interested readers to AUTHORS.TXT instead.
2021-10-05 19:46:53 -07:00
Jeff Young
f606679164
Proper numeric sorting for intersheet refs.
...
Also expunges the horrifically named std::remove and std::remove_if
(neither of which remove anything).
2021-10-01 18:29:21 +01:00
Seth Hillbrand
dd1d36d40a
Fix segfault when check for editing points
...
The point editor is not always available when checking for points. We
need to handle the missing tool without crashing
2021-09-30 17:25:33 -07:00
Jeff Young
12b726ba2f
Prevent the point editor from fighting with other tools.
...
1) Don't start a long-click timer when the point editor is active.
2) Don't auto-start a wire when the point editor is active.
Fixes https://gitlab.com/kicad/code/kicad/issues/9270
2021-09-29 19:16:06 +01:00
Jeff Young
9cf9abbd66
Don't allow Text Properties dialog on intersheets references field.
2021-09-29 16:04:36 +01:00
Mike Williams
d90dc77e00
Selection: Don't drop small moves
...
If we do a real drag, the timer will be cancelled. If we don't, then
the user is still holding the mouse button down and would probably like
to see the menu. Otherwise it appears the action is dropped.
2021-09-27 16:44:32 +00:00
jean-pierre charras
d362cbc530
EEschema: change Save Copy As... to Save Current Sheet Copy As...
...
Save Copy As did not work with hierarchies (was not able to manage subsheets)
Fixes #9245
https://gitlab.com/kicad/code/kicad/issues/9245
2021-09-27 18:23:11 +02:00
Jeff Young
5f3c67bd2b
Fill in some missing GetMsgPanelItems and make some others consistent.
...
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jeff Young
42687f5d9d
Give selection preference to pins over wires.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9063
2021-09-23 23:59:20 +01:00
Jeff Young
9ea6b44ee8
Formatting.
2021-09-23 23:59:20 +01:00
Marek Roszko
064ab933dd
Always update the hierarchy navigator when setting the current sheet in the frame
...
Fix #9221
2021-09-23 18:14:44 -04:00
Seth Hillbrand
71602475eb
Allow rotate/mirror even when dragging
...
Keeps the lines connected but doesn't solve the crossed-wire mixups.
This allows common usage (mirroring labels/rotating segments) and leaves
prevention of the crossed wires to the user.
We can't really prevent crossed wires when rotating e.g. a part with
wires connected to 4 sides and users will not expect that. But we
should not disable useful features like mirroring multiple parallel
items to avoid a known impossible situation
Also provides an alternative solution to 345f506f0c
that allows us to
rotate groups without destroying connections on hover
Fixes https://gitlab.com/kicad/code/kicad/issues/8403
Fixes https://gitlab.com/kicad/code/kicad/issues/8523
2021-09-23 14:47:49 -07:00
Jeff Young
4b38bd1543
Favour junction dots to wires inside the dot.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9187
2021-09-23 22:13:56 +01:00
Jeff Young
552f053a55
Remove pins from symbol hit-testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8508
2021-09-23 22:07:51 +01:00
Seth Hillbrand
671aec5da6
In fallback selection, handle cancelled menu
...
doSelectionMenu returns false to indicate a cancelled menu. This needs
to be handled in selectPoint when directly accessing doSelectionMenu in
the same manner as SelectionMenu() events
Fixes https://gitlab.com/kicad/code/kicad/issues/9218
2021-09-23 11:48:29 -07:00
Seth Hillbrand
3b04b602d9
Don't walk text/labels when mirroring
...
We have a fixed bottom-align for the text and labels in eeschema.
Therefore, mirroring vertically needs to account for the text's offset
from the bounding box center.
Fixes https://gitlab.com/kicad/code/kicad/issues/9208
2021-09-22 09:24:16 -07:00
Jeff Young
ec2ac181a2
Further simplify selection logic.
...
The select-single-wire stuff is no longer needed, and the prefer-wire-ends
stuff needs to be distance-based.
Also improved wire hit-testing to include bubbles the size of the dangling
symbol at each end.
Fixes https://gitlab.com/kicad/code/kicad/issues/9187
2021-09-21 20:27:35 +01:00
Jeff Young
2ec1c215cd
Drop selection after hiding items.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8605
2021-09-21 17:02:34 +01:00
Seth Hillbrand
c67d560538
Remove unused and shadowed variables
2021-09-20 11:45:27 -07:00
Marek Roszko
e7814915db
Call UpdateHierarchyNavigator on find jump in schematic in case we cross pages
...
Fix #8971
2021-09-19 08:35:51 -04:00
Jeff Young
a5c4bace60
Improve (and simplify) wire and pin hit-testing.
...
1) Expand the accuracy to at least the grid spacing
2) Move pin-selects-symbol logic to Selectable()
3) Recode pick-closest algorithm to handle exactHits and inexactHits
separately
4) Remove pin target from bounding box in favour of expanding it to
at least as wide as the pin decoration (this prevents the accuracy
off the end of the pin from growing too large)
2021-09-19 11:34:43 +01:00
Jeff Young
a291cae2fd
Make sure intersheetRef bounding boxes get updated in RTree.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9177
2021-09-18 18:32:19 +01:00
Jeff Young
4b3490a2b9
Intercept rotate command when drawing wires.
...
If unfolding from bus rotate the label; otherwise beep.
Fixes https://gitlab.com/kicad/code/kicad/issues/9178
2021-09-17 22:01:17 +01:00
Jeff Young
5c07441e24
Remove Setup Dialog assignment of netclasses to buses.
...
Also removes the message bar display of assigned netclass for
buses and bus-to-bus entries.
Also fixes a bug where assigning a netclass via the canvas only
looked at the first level of bus members (and not any nested
members).
Also fixes a bug where the bus name validator tried to validate
a vector bus first -- which doesn't work as a vector bus may be
nested in a group bus.
Also fixes a bug where we were failing to check for illegal
chars in bus definitions which otherwise passed the bus parsers.
See additional comments in the bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9160
2021-09-17 22:01:17 +01:00
jean-pierre charras
ca33ec05df
Eeschema: fix incorrect rotation (CW versus CCW) of some items.
...
For some (not all) items and for blocks the rotation CCW was in fact a CW rot.
Fixes #9176
https://gitlab.com/kicad/code/kicad/issues/
2021-09-17 18:30:23 +02:00
Jeff Young
cc14dfe3ca
Make canvas netclass assignment mirror Setup Dialog assignment.
...
While it would make more sense to have them both use the old canvas
algorithm (of only assigning to the members), I'd be *very* hesitant
to change the Setup Dialog and underlying machinery this late in the
6.0 release.
Fixes https://gitlab.com/kicad/code/kicad/issues/9160
2021-09-17 14:40:12 +01:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Jeff Young
3aae3c6f65
Dark mode for a bunch of HTML dialogs.
...
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT
Fixes https://gitlab.com/kicad/code/kicad/issues/9157
Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
Seth Hillbrand
484eaa01b9
Try harder to avoid loop contention
...
We have two cases where we might be requesting a disambiguation menu.
In one case, we already have the event loop waiting and we need to run
the selectionMenu through the action system. In the other case, the
tool isn't on the stack and won't activate. Here we need to run
directly and we are assured of not crashing because the tool isn't
active.
Fixes https://gitlab.com/kicad/code/kicad/issues/9154
2021-09-13 10:17:04 -07:00
Jeff Young
fdfecf5932
Don't push view control settings to the previous active tool.
...
See further comments in bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9147
2021-09-13 13:28:05 +01:00
Jon Evans
558ba855a2
Copy default hotkey for Clear Highlight from pcbnew to eeschema
2021-09-12 17:38:02 -04:00
Jon Evans
ed342d0cc0
Do not clear highlighting on a cancel event
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9035
2021-09-12 17:35:44 -04:00
Seth Hillbrand
29c2f3b7d4
Prevent jumping into disambiguation if moved
...
Moving points should not be overrided by disambiguation menu, so we
track where the disambiguation event started and only trigger the menu
if the mouse hasn't moved a full unit in x/y
Fixes https://gitlab.com/kicad/code/kicad/issues/9132
2021-09-09 16:24:18 -07:00
Wayne Stambaugh
451f8eefc0
Eeschema: fix broken project symbol rescue bug.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9111
2021-09-09 10:21:09 -04:00
Seth Hillbrand
c8b2e69332
Check if selection is primary tool
...
Previously, we were checking if the selection tool was the top of the
stack but this ignored many other "secondary" tools that might be
running such as the point editor. These still allow the selection tool
to handle events such as clicks. This change allows the selection tool
to handle clicks when it is the primary tool on the stack rather than
the top
Fixes https://gitlab.com/kicad/code/kicad/issues/9110
2021-09-07 10:42:01 -07:00
Wayne Stambaugh
4ee0b28ffc
Coverity issue fixes.
...
Fix Coverity issues 338623, 338716, and 338717.
2021-09-07 13:38:56 -04:00
Seth Hillbrand
0f38a35531
Be sure to stop the timer when triggering d-click
...
Some mice apparently trigger double-click without triggering a click, so
stop the timer when we receive this event
Fixes https://gitlab.com/kicad/code/kicad/issues/9106
2021-09-06 12:27:31 -07:00
Seth Hillbrand
240c3b75c4
Move selection disambiguation to long-click
...
This standardizes selection tools in SELECTION_TOOL class to be able to
handle a long-click as asking for a non-heuristic disambiguation menu.
Fixes https://gitlab.com/kicad/code/kicad/issues/8490
2021-09-05 13:42:51 -07:00
Marek Roszko
74b8f14ec3
Don't find when the dialog isn't open or the search is blank (which resulted in full highlighting)
...
Fix #9056
2021-09-04 23:48:06 -04:00
Seth Hillbrand
b0ba8b01c4
Update RTree when rotating components
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9061
2021-08-31 16:36:38 -07:00
Seth Hillbrand
345f506f0c
Ignore STARTPOINT/ENDPOINT in multiple item rot
...
Rotating multiple items does not allow for individual end points to be
selected. This can happen when we narrowSelection by hovering on end
points.
2021-08-31 14:34:05 -07:00
Roberto Fernandez Bautista
3e32c2e5a7
eeschema: Make pasted text left aligned so that it is editable
...
Previously it was pasted as centre aligned, which is not supported in
the GUI.
2021-08-31 20:02:20 +01:00
Wayne Stambaugh
897269f33f
Eeschema: schematic object context menu improvements.
...
Don't show the clean up sheet pins context menu entry when the selected
sheet doesn't have any pins to clean up.
Remove sheet has no pins to clean up nag dialog now that the context menu
entry isn't shown unless there are pins to clean up.
2021-08-30 11:52:40 -04:00
Jeff Young
6c16846b21
Remove unused lambda.
2021-08-30 13:44:28 +01:00
Jeff Young
9da8f04cb4
Cleanup sheet pins doesn't make any sense when drawing sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9044
2021-08-30 13:11:37 +01:00
Seth Hillbrand
871bdbc952
Search sheets in hierarchy-order
...
Also fixes an issue where multiple sub-sheets were skipped in certain
cases
Fixes https://gitlab.com/kicad/code/kicad/issues/8972
2021-08-27 13:03:18 -07:00
Mike Williams
d18d993eac
Eeschema: find next key shouldn't launch find dialog
...
Adds some general cleanups of overridden find functions while I'm in there.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8967
2021-08-27 18:15:36 +00:00
Jon Evans
0463fc4c2b
Fix several bugs and refactor schematic saving
...
Having the logic split between three different paths was
a bit much, this should hopefully be a bit easier to
maintain. All save logic now goes through SaveProject;
individual file writing is now a private function.
Also change Save As to Save Copy As in project manager
mode, as we don't want to change projects from inside
the editor in project manager mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9015
2021-08-23 23:01:08 -04:00
Wayne Stambaugh
1d8fd22cd8
Symbol editor: fix message panel units when selecting from combo box.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8991
2021-08-20 15:45:57 -04:00
Seth Hillbrand
75e4fa9b75
Handle multiple annotation in search
...
New schematic format needs to search client screen paths instead of
maintaining multiple copies in a flat format.
2021-08-20 10:24:08 -07:00
Seth Hillbrand
729ba1e301
Ensure deterministic Find/Replace ordering
...
Sorts first by x and then by y when returning search order
Fixes https://gitlab.com/kicad/code/kicad/issues/8972
2021-08-20 08:42:06 -07:00
Jeff Young
fc4d748bdc
Fix bugs in sheets.
...
1) Default_line_width is in mils, not IU.
2) Plot sheet fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/8984
2021-08-17 13:21:52 +01:00
Jon Evans
766b67a8f1
Tune selection of wire endpoints near other objects
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8941
2021-08-12 22:04:24 -04:00
Jeff Young
6eb59b9d9e
Dialog naming conventions.
2021-08-06 20:54:26 +01:00
Jeff Young
95b87ba29a
Freshen microwave polygon dialog and remove a bunch of dead code.
2021-08-03 01:11:11 +01:00
Jeff Young
d40712d9d6
Formatting and message consistency.
2021-08-01 21:31:23 +01:00
Jeff Young
c716548b29
Enable autoplace whenever sel contains at least 1 field owner.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8886
2021-07-29 20:23:56 +01:00
Jeff Young
539d14ce94
Fix hang-over from legacy canvas where we only looked at sel head.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8886
2021-07-29 16:52:22 +01:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh
f233f4a0a9
Expunge EDA_FILE_SELECTOR.
...
EDA_FILE_SELECTOR was just an obfuscation of wxFileSelector().
2021-07-28 14:12:51 -04:00
Jeff Young
19de38bbae
Avoid Mac-standard Cmd+H as well.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 22:26:13 +01:00
Mike Williams
2c766bdb2b
Eeschema: fix assigning netclass to buses
...
Buses with at least one member can use assign netclass functionality to
set all members to that netclass.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8743
2021-07-27 20:48:25 +00:00
Jeff Young
dd5676f4bc
Implement a safer (RAII) tool re-entrancy guard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8873
2021-07-27 16:37:34 +01:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
8fd83cbb95
Pass wxPoint objects by reference instead of on the stack.
2021-07-26 15:35:33 -04:00
Mike Williams
13a03f77d3
Eeschema: Fix for delete key in wire tool
...
Delete key was not working for items selected with wire tool active.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8841
2021-07-25 15:17:49 -04:00
jean-pierre charras
1aadf45947
DIALOG_SHIM: fix not working initial size when creating a dialog.
...
The first time a DIALOG_SHIM was created, with a given size, this size
was not taken in account. This this is now forced.
(when recreated during a session, this is the last dialog size that is used)
2021-07-24 18:59:28 +02:00
jean-pierre charras
dbf17f83ed
Minor fixes (DIALOG_DISPLAY_HTML_TEXT_BASE: ensure min size is working).
2021-07-24 17:03:36 +02:00
jean-pierre charras
9820e89268
EE_INSPECTION_TOOL::CheckSymbol(): fix incorrect test about pins on grid.
...
(the minimal grid was 25 internal units instead of 25 mils)
Also the coordinates in messages are now printed in current user units.
2021-07-23 18:23:25 +02:00
jean-pierre charras
bff0307ac0
Edit pin number: fix a crash when a pin is common to all units (i.e. having a unit id = 0)
...
Fixes #8824
https://gitlab.com/kicad/code/kicad/issues/8824
2021-07-20 16:49:53 +02:00
Jeff Young
4317848cfe
Only title-caps "our" field names.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8803
2021-07-19 14:43:57 +01:00
Wayne Stambaugh
cb72da294a
More NULL expunging.
2021-07-16 16:13:41 -04:00
Jeff Young
0b4bb9378b
Use consistent terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8777
2021-07-12 11:59:07 +01:00
Jeff Young
46701c1195
Don't allow undo record to get pushed during an undo.
...
When doing a schematic cleanup, for instance, we were breaking wires
and pushing undo records on to the stack. Needless to say, this was
pretty unexpected for the rest of the undo framework and caused all
kinds of mayhem (including crashes in some cases).
Fixes https://gitlab.com/kicad/code/kicad/issues/8704
2021-07-08 19:43:15 +01:00
Mikolaj Wielgus
1c28ea0577
Do not create selection with simulator probe tool
2021-07-08 03:15:15 +00:00
Jeff Young
66eb2ddeb5
Remove auto when not needed for line length.
2021-07-07 20:05:50 +01:00