Jeff Young
fb52124426
Fix several issue with bus entry connectivity.
...
When dragging a bus the entry is connected to the bus so the wire
connected to the entry (if any) needs to stretch.
While an entry can connect in the middle of bus, it cannot connect
in the middle of a wire.
Fixes: lp:1849973
* https://bugs.launchpad.net/kicad/+bug/1849973
2019-11-18 11:36:30 +00:00
Ian McInerney
1df7b718d9
eeschema: Allow labels to rotate on bus unfold
2019-11-15 20:43:56 +00:00
Seth Hillbrand
42f5c944b3
libedit: When pasting keep original multi-unit
...
Copy/Paste should keep the original items' designation for all units and
conversion type. If it was specified in the original copy, we should
keep the same specification when pasting (but update for the current
frame)
2019-11-12 16:11:08 -08:00
Jeff Young
9d288968e7
Be more explicit about extent of schematic cleanups.
...
The new connectivity algorithm had a tendency to cleanup
globally, but that could insert undo records from other sheets
into the current screen's undo stack. Needless to say, this
was a recipie for segfaults.
Fixes: lp:1846247
* https://bugs.launchpad.net/kicad/+bug/1846247
2019-11-10 23:25:54 +00:00
Seth Hillbrand
81ce588a00
eeschema: Set sheet unit number when setting unit
...
The auto increment needs to ensure the unit number is updated in two
places. Hierarchy and draw list.
Fixes: lp:1851431
* https://bugs.launchpad.net/kicad/+bug/1851431
2019-11-05 14:04:01 -08:00
Jeff Young
984c64677e
Hook up rotate & flip to bus entries when drawing them.
...
Also adds support for the bus entry shape hotkeys while drawing.
Fixes: lp:1849967
* https://bugs.launchpad.net/kicad/+bug/1849967
2019-11-05 17:22:51 +00:00
Seth Hillbrand
bbf355a12f
eeschema: Fix an issue with duplicate timestamps
...
Duplicating into a non-clone still doesn't get a new timestamp, so we
need to explicitly set it.
2019-10-29 16:48:19 -07:00
Seth Hillbrand
868ff5bb2c
Right click gets a new object if the mouse has moved
...
Right click is a pointing operation combined with a request for the
context menu. We need to highlight the user's intended object when they
have moved their mouse to a new element instead of showing the context
menu for the selected object.
However, in cases where the selection is difficult to make, it is
sometimes helpful to select the item first, then right-click. In these
cases, we keep the selection where the mouse remains inside the selected
object's bounding box.
2019-10-29 16:11:06 -07:00
Seth Hillbrand
7b2d6ab40e
eeschema: Allow mult-part placement option
...
When placing a new component in the schematic, this allows the user to
iterate through all units in the selected component without re-opening
the choose part dialog. It also allows the optional addition of
multiple copies of the same component to be placed in the schematic.
Fixes: lp:1806217
* https://bugs.launchpad.net/kicad/+bug/1806217
2019-10-29 12:20:14 -07:00
Seth Hillbrand
e533ea4ae6
eeschema: Keep selection with only components
...
Adding a field to a selection changes the bounding box and count for
rotation. This can cause odd offsets when the field is rotated against
the selection center rather than the bounding box as well as with the
component.
Fixes: lp:1849078
* https://bugs.launchpad.net/kicad/+bug/1849078
2019-10-28 10:50:26 -07:00
Seth Hillbrand
080275b4ee
Cleanup wire merge code
2019-10-18 20:15:29 -07:00
Seth Hillbrand
92011d91d2
eeschema: Testing for static/dynamic cast failure
2019-10-18 15:29:26 -07:00
Seth Hillbrand
363281dd4d
eeschema: add junction when needed for broken wire
...
The break wire command will break all wires at a point. If there are
multiple crossing wires, we need to check to see if a junction might be
required to reflect the new connection.
Fixes: lp:1848450
* https://bugs.launchpad.net/kicad/+bug/1848450
2019-10-17 12:22:57 -07:00
Jeff Young
d9336e9f97
Reset autoplace flag when a field is moved with respect to its component.
...
Fixes: lp:1843929
* https://bugs.launchpad.net/kicad/+bug/1843929
2019-10-01 15:31:52 +01:00
Seth Hillbrand
f2bf9fa534
eeschema: Prevent crash on move/drag re-entry
...
Restarting a move/drag operation breaks the stack by starting the tool
without popping it on exit.
TODO: implement RAII for these stack push/pop
2019-09-11 17:01:16 -07:00
Jeff Young
1a375a1e71
Better handling of SPICE current probe statements.
2019-09-10 11:07:47 +01:00
Jeff Young
f21e24cd17
Fix pin rotatation and SPICE current probe statement for 2-pin symbols
...
Fixes: lp:1843159
* https://bugs.launchpad.net/kicad/+bug/1843159
2019-09-08 22:54:49 +01:00
Jeff Young
44a1cf9f1b
Implement quiet-mode for selection clearing.
...
Also adds comments for exising quiet-mode calls.
Fixes: lp:1843177
* https://bugs.launchpad.net/kicad/+bug/1843177
2019-09-08 19:45:35 +01:00
Jeff Young
0ff20c18a3
More direct selection handling.
...
Fixes: lp:1842750
* https://bugs.launchpad.net/kicad/+bug/1842750
2019-09-07 20:52:17 +01:00
Jeff Young
3996a490a1
Re-allocating a std::vector invalidates its iterators.
...
When we add enough SHEET_PINs that the vector has to grow, it
re-allocates the vector causing our for-loop to get its knickers
tied in a knot.
Fixes: lp:1842394
* https://bugs.launchpad.net/kicad/+bug/1842394
2019-09-04 11:50:56 +01:00
Jeff Young
8bbbc66e46
Another attempt to fix the crash-on-selection bug.
...
Fixes: lp:1842394
* https://bugs.launchpad.net/kicad/+bug/1842394
2019-09-03 22:29:05 +01:00
Jeff Young
54a85cfaa2
Not everything in a VIEW_GROUP is an EDA_ITEM.
...
Fixes: lp:1842394
* https://bugs.launchpad.net/kicad/+bug/1842394
2019-09-03 17:24:50 +01:00
Jeff Young
efbc802f4d
Fix sheet rotation issues.
...
1) When sheet pins are on 3 or more sides there's no point in switching
the orientation to vertical.
2) Careful that we don't cause the sheet to walk when rotating and the
sheet-name or file-name is longer than the side it's on.
Fixes: lp:1841714
* https://bugs.launchpad.net/kicad/+bug/1841714
2019-09-02 22:36:55 +01:00
Jeff Young
fc50ddda64
Implement Paste Special for eeschema.
...
Also changes the normal paste behaviour to only clear annotations
when a collision is found.
Fixes: lp:1837002
* https://bugs.launchpad.net/kicad/+bug/1837002
2019-09-02 19:24:29 +01:00
Jeff Young
5e353e8967
Fix another case of selection getting out of sync with dragged items.
...
Use a big hammer this time.
Fixes: lp:1839780
* https://bugs.launchpad.net/kicad/+bug/1839780
2019-08-31 20:23:06 +01:00
Jeff Young
33625dbd9d
Add support for cut/paste of unsaved sheet content.
...
Fixes: lp:1841801
* https://bugs.launchpad.net/kicad/+bug/1841801
2019-08-30 21:56:57 +01:00
Jeff Young
71c7bf3274
Avoid ghosting items in original location when pasting.
2019-08-29 23:56:16 +01:00
Jeff Young
02a7a79e0d
Use resolved path when trying to load sheet content.
...
Also, if it can't be loaded then at least initialize it so that we
don't crash later (trying to access a NULL screen).
Fixes: lp:1841801
* https://bugs.launchpad.net/kicad/+bug/1841801
2019-08-29 23:56:16 +01:00
Jeff Young
bc450853ae
More robust solution for adding dragged items to selection.
...
Fixes: lp:1839780
* https://bugs.launchpad.net/kicad/+bug/1839780
2019-08-29 23:56:16 +01:00
Seth Hillbrand
83b2332f1f
eeschema: Check for proper type before dereference
...
When bundling a selection, we need to ensure that we have correct types
before attempting to dereference.
Fixes: lp:1841919
* https://bugs.launchpad.net/kicad/+bug/1841919
2019-08-29 08:47:26 -07:00
Seth Hillbrand
0d3f6a4930
eeschema: Remove Save All
...
Saving individual parts of a schematic can break the schematic. This
moves the schematic save option to save all sheets rather than just the
current sheet.
Fixes: lp:1840383
* https://bugs.launchpad.net/kicad/+bug/1840383
2019-08-27 20:21:02 -07:00
Jeff Young
5348f88a8f
Add sheet pins to candidate list by hand (as they're not in the view).
...
Fixes: lp:1841555
* https://bugs.launchpad.net/kicad/+bug/1841555
2019-08-27 21:08:36 +01:00
Jeff Young
a5a237ac32
Improve readability of flag checking.
2019-08-27 19:23:07 +01:00
Jeff Young
49a0907c55
Force deletion of junctions which were selected.
...
Fixes: lp:1841456
* https://bugs.launchpad.net/kicad/+bug/1841456
2019-08-27 19:23:07 +01:00
Jeff Young
b109aba663
Add a file browser to the Sheet Properties dialog.
...
Fixes: lp:1840459
* https://bugs.launchpad.net/kicad/+bug/1840459
2019-08-26 00:45:34 +01:00
Jeff Young
23fd4b64dd
Remove curly braces from netname escaping context.
...
They're now used for bus definition control characters.
Also fixes the sheet pin edit dialog to correctly escape/unescape
netnames.
Fixes: lp:1840834
* https://bugs.launchpad.net/kicad/+bug/1840834
2019-08-22 10:53:39 +01:00
Jeff Young
cc93d82025
Don't drop selection until unfold net has been chosen.
...
Fixes: lp:1831466
* https://bugs.launchpad.net/kicad/+bug/1831466
2019-08-21 15:35:02 +01:00
Jeff Young
a25368cc6b
Improve spelling.
...
The groundwork here is thanks to kunda1.
Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Seth Hillbrand
3135b63976
Eeschema: Update pins on paste
...
We use the pin cache to mark the pin locations for future operations.
This needs to be updated after paste.
Fixes: lp:1840286
* https://bugs.launchpad.net/kicad/+bug/1840286
2019-08-16 09:32:35 -07:00
Ian McInerney
49dd5d838c
libedit: Fix inverted Y axis on move command
...
Also clean up some code formatting issues
2019-08-15 20:13:18 +01:00
Jeff Young
29af26565d
Fix re-entrancy issue in LibEdit move tool.
2019-08-15 15:51:27 +01:00
Jeff Young
8ba7d4570c
Move warp-mouse-on-move setting from Eeschema settings to common settings.
...
It's also used by the Symbol Editor, and will likely be used by
Pcbnew and friends in the future.
2019-08-15 12:53:04 +01:00
Jeff Young
206b40621e
Fix bugs in Eeschema paste.
...
1) don't ASSERT; use exceptions (which can be caught) instead.
2) clean up LIB_LOGGER so it's only used during sync
3) fix typos in wxLogMessage() calls so they produce output.
4) throw on unrecognized token in loadContent().
5) if clipboard can't be pasted as content then paste as text.
Fixes: lp:1840172
* https://bugs.launchpad.net/kicad/+bug/1840172
2019-08-15 10:00:23 +01:00
Jeff Young
b4c8657904
Fix non-visible-part or conversion items from getting selected.
...
Also renames lib_draw_item to lib_item to match the class.
Fixes: lp:1840170
* https://bugs.launchpad.net/kicad/+bug/1840170
2019-08-15 10:00:23 +01:00
Jeff Young
3cdf88f2c6
CERN copyrights for work packages.
2019-08-14 09:35:15 +01:00
Jeff Young
e855b244ae
Highlight whole net for simulation voltage probe.
2019-08-12 22:21:09 +01:00
Michael Kavanagh
b414cbfada
Cleanup doDelete ACTIONs
2019-08-12 13:49:55 -04:00
Michael Kavanagh
79b2ff7551
Refactor deleteTool ACTION removing duplicates
2019-08-12 13:49:55 -04:00
Jeff Young
039bd92ea5
Make LibEdit respect the Move-warps-cursor setting.
2019-08-10 11:58:05 +01:00
Jeff Young
c5fb8518d2
Redraw pins when placing when they are modified.
...
Fixes: lp:1839363
* https://bugs.launchpad.net/kicad/+bug/1839363
2019-08-08 14:09:42 +01:00
Jeff Young
9fe7bfb596
Check for focus loss from dialog before doing cut/copy/paste in edit frame.
...
Fixes: lp:1838708
* https://bugs.launchpad.net/kicad/+bug/1838708
2019-08-08 13:51:23 +01:00
Jeff Young
a96158e26b
Add current probe to SPICE simulation.
...
Fixes: lp:1740321
* https://bugs.launchpad.net/kicad/+bug/1740321
2019-08-05 16:48:18 -06:00
Jeff Young
23d824de66
Simulator improvements.
...
1) Add highlighting to simProbe and simTune tools.
2) Probe tool should accept wires and pins, not wires and components.
3) Give simulator window a flat look to match rest of Kicad.
4) Collapse whitespace out of simulator window.
5) Add some error messages.
6) Add some whitespace to simulation setting dialog.
2019-08-05 16:48:18 -06:00
Ian McInerney
ce7833b982
Warp display when selecting schematic items
...
When selecting items where the reference point is off-screen, GTK
would default the cursor to jump to the bottom of the screen.
Fixes: lp:1838843
* https://bugs.launchpad.net/kicad/+bug/1838843
2019-08-03 19:17:53 -06:00
Jeff Young
c624ee9cff
Re-parent new objects on duplicate.
...
Fixes: lp:1838269
* https://bugs.launchpad.net/kicad/+bug/1838269
2019-08-01 21:40:18 -06:00
Jeff Young
03a33b6b56
Selection fixes for multi-part lib items.
...
1) Don't select pins from other units/conversions
2) Don't delete pins from other units/conversions
Fixes: lp:1838511
* https://bugs.launchpad.net/kicad/+bug/1838511
2019-07-31 22:34:24 -06:00
Jeff Young
c03535343c
Don't apply GTK fix to OSX: it produces somewhat random crashes.
...
Fixes: lp:1837225
* https://bugs.launchpad.net/kicad/+bug/1837225
2019-07-28 11:28:42 -06:00
Jeff Young
70270f5bd1
Fix accidental commit of debugging change.
2019-07-27 23:33:34 -06:00
Jeff Young
0a0eb35ee8
Update comments with latest test results.
2019-07-27 23:27:21 -06:00
Jeff Young
2af41e87f9
Don't add first found object to selection until Find (or return) is hit.
...
Fixes: lp:1838021
* https://bugs.launchpad.net/kicad/+bug/1838021
2019-07-27 00:20:52 -06:00
Jeff Young
21b90de829
Another attempt to work around Apple's [NSAlert runModal] bug.
...
Fixes: lp:1837225
* https://bugs.launchpad.net/kicad/+bug/1837225
2019-07-26 16:47:17 -06:00
Jeff Young
77334628c4
Change default tool behaviour to skip unhandled events.
...
The problem is that wxEVT_CHAR_HOOK doesn’t do the key translation
properly. wxEVT_CHAR does, but we only get to that if we skip the
event at the end of the tool’s event processing loop, which most tools
don’t do. (Selection tools, point editors, pickers, and a couple of
others do skip, which is probably why this didn’t get reported earlier.)
I played around with a couple of ways to fix wxEVT_CHAR_HOOK. Most of
them don’t work, and the few egregious hacks I tried weren't cross-
platform.
So I’m changing it so that most tools now skip at the end of their
event loops. I left out a couple that I felt were high risk (length
tuning, for instance). But there’s still enough risk that I’m 100%
sure it will break something, I just haven’t a clue what.
Fixes: lp:1836903
* https://bugs.launchpad.net/kicad/+bug/1836903
2019-07-26 12:21:24 -06:00
Jeff Young
815602d1af
Fix missing AF_ACTIVATE flags on some tools.
...
Fixes: lp:1813659
* https://bugs.launchpad.net/kicad/+bug/1813659
2019-07-26 12:21:24 -06:00
jean-pierre charras
6b031d9b9e
Symbol editor: fix an issue when editing LIB_RECTANGLE graphic items.
...
The point editor expects rectangles with a height and width > 0.
Previously, this constraint did not exist,
so some LIB_RECTANGLE graphic items can create issues when trying to move a corner.
Now, the LIB_RECTANGLE graphic item is normalized before trying to move a corner.
2019-07-26 10:40:40 +02:00
Jeff Young
b858fa38c4
Fix crash bugs in picker tools.
2019-07-21 19:06:06 -06:00
jean-pierre charras
de4854d112
Eeschema - restrict buses and wires to H and V orientation was taken in account only when activating the Create Bus or Wire tool.
...
Now taken in account during creation.
Fixes: lp:1837308
https://bugs.launchpad.net/kicad/+bug/1837308
2019-07-21 10:02:43 +02:00
Jeff Young
4d4adf0753
A possible hack to work around the apple runModal bug.
...
Fixes: lp:1837225
* https://bugs.launchpad.net/kicad/+bug/1837225
2019-07-20 17:31:56 -06:00
Jeff Young
0821f1ac11
Move crosshairs to found item; remove find highlighting when find dialog closed.
...
Fixes: lp:1837069
* https://bugs.launchpad.net/kicad/+bug/1837069
2019-07-19 18:41:11 -06:00
Jeff Young
0b08e4dcd2
Deactivate other tools when running one based on a PICKER.
...
In particular, if the last one was a PICKER tool, then we're going
to assert on "click-handler-already-set".
Fixes: lp:1836673
* https://bugs.launchpad.net/kicad/+bug/1836673
2019-07-19 15:29:10 -06:00
jean-pierre charras
e32a50b34d
Simulator: fix a crash when using the "Probe" or "Tune" tool, when clicking on an item is schematic editor.
2019-07-19 10:12:54 +02:00
Seth Hillbrand
5324b65fb0
eeschema: Don't trust the pointer
...
We are not guaranteed a selection. Keep pointers to the front items
guarded. This can happen after repeating a new item, e.g.
2019-07-17 18:21:36 -07:00
Jeff Young
3de00eef5f
Cleanup.
2019-07-17 21:45:43 +01:00
Jeff Young
d67c2d13c7
Fix re-entrancy problem in cross-probing.
...
Fixes: lp:1836940
* https://bugs.launchpad.net/kicad/+bug/1836940
Fixes: lp:1836937
* https://bugs.launchpad.net/kicad/+bug/1836937
2019-07-17 21:35:28 +01:00
Jeff Young
a61673a144
Fix compile error for those who have to use the somewhat feeble gcc.
2019-07-16 15:11:50 +01:00
Jeff Young
7d10b29592
Cleanup unused includes.
2019-07-16 01:15:33 +01:00
Jeff Young
3069fd5974
Exit point editor after an <esc> while dragging.
...
Fixes: lp:1836652
* https://bugs.launchpad.net/kicad/+bug/1836652
2019-07-16 01:09:49 +01:00
Jeff Young
e816a0c29d
Push Eeschema & PLEditor PICKER_TOOLs down into common.
...
Also implements a more robust push/pop tool strategy for pickers.
2019-07-16 00:44:01 +01:00
Jeff Young
58ca5b71a9
A more robust fix for 36f1d023f0
.
...
This one also handles when the events get out-of-order due to them
starting out in the Simulation window and not getting dispatched until
the mouse goes over the Schematic window.
Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907
Fixes: lp:1836544
* https://bugs.launchpad.net/kicad/+bug/1836544
2019-07-15 14:15:24 +01:00
Jeff Young
34894acb89
Don't try to copy a null item.
...
Fixes: lp:1836126
* https://bugs.launchpad.net/kicad/+bug/1836126
2019-07-11 18:23:32 +01:00
Jeff Young
029b624e96
When adding new wires due to directly-connected items, don't try and de-select them after an undo. The won't be around anymore.
...
Fixes: lp:1836218
* https://bugs.launchpad.net/kicad/+bug/1836218
2019-07-11 17:36:32 +01:00
Jeff Young
cd1a1a67fb
Add seleciton/brightening/highlighting to images.
2019-07-10 01:14:28 +01:00
Jeff Young
30ec895c96
Cleanup event processing stuff to keep better track of "handled".
...
See: https://lists.launchpad.net/kicad-developers/msg41471.html .
2019-07-09 21:59:46 +01:00
Jeff Young
483dc24e87
Homogenize selection tools around our HIG.
...
In particular make addative and exclusive-or selections work the
same way.
Also give Highlight Net a hotkey now that it can't use ctrl-click
anymore.
2019-07-09 21:59:46 +01:00
Jeff Young
36f1d023f0
Make sure Push/PopTool() go in the right order.
...
Because the pickers are called with an Activate()/Wait() pair, any
usurping tool gets in between the picker handling the cancel (due
to activation) and the picker client doing a PopTool(). The new
tool is therefore pushed before the old tool is popped.
Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907
2019-07-09 15:03:23 +01:00
Jeff Young
46f47adebe
Update symbols after assigning different LIB_IDs.
...
Fixes: lp:1835612
* https://bugs.launchpad.net/kicad/+bug/1835612
2019-07-09 12:38:41 +01:00
Jeff Young
3a8f32c380
Convert ShowEEschema to an ACTION so it can get a hotkey assignment.
...
Fixes: lp:1686010
* https://bugs.launchpad.net/kicad/+bug/1686010
2019-07-09 00:43:41 +01:00
Jeff Young
d3d0bdbe17
Go back to rotating selection around center.
...
Fixes: lp:https://bugs.launchpad.net/kicad/+bug/1833371
* https://bugs.launchpad.net/kicad/+bug/https://bugs.launchpad.net/kicad/+bug/1833371
2019-07-09 00:14:32 +01:00
Jeff Young
772dff7a01
Removed post-page-settings ZoomFitToScreen() calls.
...
Fixes: lp:1834608
* https://bugs.launchpad.net/kicad/+bug/1834608
2019-07-08 00:06:28 +01:00
Jeff Young
a9c66e15ea
Common-ize EE_ACTIONS::refreshPreview and use it after cursor actions.
...
Fixes: lp:1818667
* https://bugs.launchpad.net/kicad/+bug/1818667
2019-07-05 14:45:15 +01:00
jean-pierre charras
fffb0d340f
Eeschema: fix not deletable bitmap issue (missing SCH_BITMAP in deletable list).
...
Also display bitmap info in message panel.
Fixes: lp:1835125
https://bugs.launchpad.net/kicad/+bug/1835125
2019-07-05 10:25:23 +02:00
Maciej Suminski
c715a22e1c
Symbol Editor: clear IS_NEW flag after placing a pin
...
IS_NEW flag needs to be cleared after a pin is placed, otherwise further
move operations will keep adding the pin to the edited symbol.
2019-07-03 13:32:47 +02:00
Jeff Young
d03041b565
Cleanup.
2019-07-02 21:36:42 +01:00
Jeff Young
9effd24f3a
Allow move tool to run on top of other tools.
...
Fixes: lp:1784480
* https://bugs.launchpad.net/kicad/+bug/1784480
2019-07-01 22:15:25 +01:00
Jeff Young
ad26ece8d4
Add Global Edit Text and Graphics Properties to Eeschema.
...
Fixes: lp:1801150
* https://bugs.launchpad.net/kicad/+bug/1801150
2019-07-01 22:15:25 +01:00
jean-pierre charras
5ed8ba5bf3
Libedit: fix a bug in edit graphic item properties:
...
When changing the common to units and/or common to convert options, the item properties were not updated.
2019-07-01 12:36:46 +02:00
Jeff Young
d88bddad7e
Respect m_DrawSpecificUnit and m_DrawSpecificConvert when pasting.
...
Fixes: lp:1834719
* https://bugs.launchpad.net/kicad/+bug/1834719
2019-06-29 22:20:40 +01:00
Jeff Young
09b07cd387
Minor adjustments to arc editing algorithms.
...
1) Don't snap center since it will be re-computed (most likely
off-grid) anyway.
2) Don't flip shape during initial drawing.
2019-06-29 20:03:08 +01:00
Jeff Young
232e21cb37
Restore selection properly after an undo.
2019-06-29 20:03:08 +01:00
Jeff Young
a498d7e9c5
Try out a new arc-editing paradigm for LibEdit.
...
This is based on the notion that in Kicad the start and end-points
are far more important (as they usually connect to other segments)
than the center is.
2019-06-29 16:10:58 +01:00
Jeff Young
2ed3bf47bb
Improve hittesting for Eeschema and LibEdit delete tools.
2019-06-28 22:18:30 +01:00
Jeff Young
a72b5416c3
Show preview object for Eeschema junction, noconnect and bus entry tools.
2019-06-28 22:18:30 +01:00
Jeff Young
981072598b
Overhaul cursor code for new tool/action framework.
...
Includes the addition of an onSetCursor() handler which must be called
from both the GAL canvas AND the GAL backend (at least on OSX) to prevent
cursor flickering between (for instance) pencil and arrow.
Also includes new architecture for point editors which allows them to
coordiate cursors with the editing tools (so we can switch to an arrow
when over a point).
2019-06-27 22:37:11 +01:00
Jeff Young
2f23aa9556
Implement a more robust tool stacking architecture.
...
We were running into various corner conditions where a tool's event
loop would exit while the tool was still active, or the tool would
get popped while we were still in the event loop. (A lot of these
had to do with the POINT_EDITOR's, but not all of them.)
The new architecture:
1) tools always do a Push()/Pop()
2) everyone is responsible for their own pops; no more stack-clearing
on a cancel
3) CancelInteractive events go to all tools to facilitate (2)
2019-06-27 17:01:31 +01:00
Jeff Young
7208ef481f
Don't confuse a pasted pin with being synchronized.
...
It's only at the same location because it was copied from there.
Fixes: lp:1834377
* https://bugs.launchpad.net/kicad/+bug/1834377
2019-06-27 00:24:42 +01:00
Jeff Young
5e40de9357
Clear IS_NEW flag after placing pin so the tool knows we're no longer drawing.
...
Fixes: lp:1834376
* https://bugs.launchpad.net/kicad/+bug/1834376
2019-06-27 00:02:13 +01:00
Jeff Young
7292ce6a8b
Improve eeschema selection disambiguation logic.
2019-06-26 21:54:03 +01:00
Jeff Young
c77d214c5f
Clear annotation of pasted sheets only when they already exist in the current hierarchy.
...
Fixes: lp:1833205
* https://bugs.launchpad.net/kicad/+bug/1833205
2019-06-26 21:54:03 +01:00
Jeff Young
89d1d3d299
Real-time highlighting for PlEditor delete tool.
2019-06-25 21:10:21 +01:00
Jeff Young
4eaba20cd3
Real-time highlighting for Pcbnew and ModEdit delete tools.
2019-06-25 21:10:21 +01:00
Jeff Young
f9702aab87
Immediate actions for PlEditor, PcbNew, etc.
2019-06-25 11:34:28 +01:00
jean-pierre charras
70ff2e14a5
Eeschema: avoid crashes when the tool highlight or delete is activated and clicking in a empty schematic.
...
Was a nullptr not tested.
2019-06-25 08:31:22 +02:00
Seth Hillbrand
39c2745f55
eeschema: Allow spaces in label names for multilabeling
...
This adds the functionality to add multiple labels to your schematic at
once by using spaces in the original label name.
Fixes: lp:1095113
* https://bugs.launchpad.net/kicad/+bug/1095113
2019-06-20 16:21:49 -07:00
Jeff Young
485d436860
Clear ctx-menu before rebuilding; don't veto ctx-menu mousewarp for non-ctx-menu dialog.
...
Fixes: lp:1833312
* https://bugs.launchpad.net/kicad/+bug/1833312
2019-06-19 21:17:56 +01:00
Jeff Young
4054d7ddf7
Don't try an intertwine deletion and junction fixup.
...
Fixes: lp:1833224
* https://bugs.launchpad.net/kicad/+bug/1833224
2019-06-19 19:30:38 +01:00
Jeff Young
730b89af6d
Another round of changes for immediate actions.
2019-06-19 18:35:17 +01:00
Jeff Young
3a0256aade
Add handle-based editing for eeschema bitmaps.
...
Also cleans out a bunch of duplicated functionality from the image
editor dialog.
Fixes: lp:1828722
* https://bugs.launchpad.net/kicad/+bug/1828722
2019-06-19 18:35:17 +01:00
Seth Hillbrand
e16bf40e60
eeschema: Insert junctions when repeating
...
This is the v6 analog to 697234dd5
Fixes: lp:1832253
* https://bugs.launchpad.net/kicad/+bug/1832253
2019-06-18 20:12:08 -07:00
Jeff Young
b8dfc1f26a
Fix import sheet pin.
...
Fixes: lp:1829314
* https://bugs.launchpad.net/kicad/+bug/1829314
2019-06-18 22:44:22 +01:00
Jeff Young
581b5257e1
One more try getting <ESC>/PopTool behaviour right.
2019-06-18 22:34:31 +01:00
Jeff Young
b0c1c1ad2b
Select both ends of wires in block select.
...
Fixes: lp:1830717
* https://bugs.launchpad.net/kicad/+bug/1830717
2019-06-18 20:24:15 +01:00
Jeff Young
dcbd897a95
Push/pop tools even when selected from the toolbar.
2019-06-18 20:24:15 +01:00
Jeff Young
7dd247f1dc
Make better use of TOOL_EVENT parameters.
2019-06-18 20:24:15 +01:00
Jeff Young
9e464f9f5b
Implement rollover highlighting for Eeschema delete tool.
2019-06-17 22:15:20 +01:00
Jeff Young
7cfe19d9fd
Cleanup.
2019-06-17 22:15:20 +01:00
Jeff Young
1f35ec5521
Beware of copying events and losing the m_passEvent flag.
...
Fixes: lp:1833031
* https://bugs.launchpad.net/kicad/+bug/1833031
2019-06-17 14:44:39 +01:00
Jeff Young
5d7739a662
Handle '&'s in menu labels.
...
Fixes: lp:1832904
* https://bugs.launchpad.net/kicad/+bug/1832904
2019-06-17 10:45:23 +01:00
Jeff Young
e6d5110ccf
Implement I18N for ACTIONs.
...
It's a bit of a hack because they're statically initialized and
so we can't make use of the _() macro. We do still want it in the
code, however, because the string harvesting is based off of it.
Fixes: lp:1833000
* https://bugs.launchpad.net/kicad/+bug/1833000
2019-06-17 10:45:23 +01:00
Wayne Stambaugh
418bd28347
Fix build error.
2019-06-16 18:31:10 -04:00
Jeff Young
dd3617cfda
Fix compile issue.
2019-06-16 22:46:35 +01:00
Jeff Young
de67f3f1e9
Move a few more things to ACTIONs.
2019-06-16 19:53:30 +01:00
Jeff Young
909aeba3d9
Transition some more stuff from the MVC view to the controller.
2019-06-16 19:53:30 +01:00
Jeff Young
c7bfa9857e
Use more reflective naming of what the tool does.
2019-06-16 19:52:07 +01:00
Jeff Young
e4fbd003e0
Make m_passEvent event-specific rather than global.
...
If a tool called something like clearSelection while processing a
MOUSE_CLICK, the SELECTION_TOOL will pass the clearSelection
COMMAND_EVENT because it handles it as a transition, not as an
event. Because m_passEvent is effectively global, the tool manager
would then interpret that as passing the MOUSE_CLICK and we'd end
up processing the click by multiple tools.
2019-06-16 12:06:49 +01:00
jean-pierre charras
6a8e69f9c9
Fix a compil warning.
2019-06-16 09:12:32 +02:00
Jeff Young
0f4bdbd184
Tighten down the POINT_EDITORs a bit more.
2019-06-16 01:33:39 +01:00
Jeff Young
18ebced8f4
Code hygiene.
2019-06-15 20:43:52 +01:00
Jeff Young
19aba615c2
Remove selection condition from conditional menu separators.
...
We don't allow duplicate separators anyway so all they really do
is complicate the code.
2019-06-15 20:43:51 +01:00
Jeff Young
5610261dce
Immediate-action hotkeys (and context menu actions) for eeschema.
2019-06-15 20:43:51 +01:00
Jeff Young
83ee51370c
Cancel interactive editing when switching sheets.
...
Fixes: lp:1819278
* https://bugs.launchpad.net/kicad/+bug/1819278
2019-06-14 16:54:46 +01:00
Maciej Suminski
7d69a917b9
Fixed a crash in EE_SELECTION_TOOL::SelectPoint()
...
The for loop is continued after an item removal, so the removed item
is not accessed anymore.
2019-06-14 13:00:39 +02:00
Jeff Young
8cc1e2b5e7
Fix breakage in wire moving/dragging/etc.
...
Fixes: lp:1832750
* https://bugs.launchpad.net/kicad/+bug/1832750
2019-06-13 19:58:37 +01:00
Jeff Young
8f84c3ec4f
Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal.
2019-06-13 19:58:37 +01:00
Jeff Young
ce1f35a1be
Cleanup some left-over vestiages of the legacy canvas architecture.
2019-06-13 15:51:32 +01:00
Jeff Young
4043a15482
When pasting a sheet link to existing copy if it already appears in the hierarchy.
...
Fixes: lp:1830633
* https://bugs.launchpad.net/kicad/+bug/1830633
2019-06-13 15:51:32 +01:00
Jeff Young
c0e1f7a17a
Add dragging of wire ends, corners and junctions.
...
Fixes: lp:1830007
* https://bugs.launchpad.net/kicad/+bug/1830007
2019-06-11 21:20:19 +01:00
Jeff Young
b1b7408cf2
Accidentally checked in some debugging stuff.
2019-06-11 18:53:36 +01:00
Jeff Young
7726b039b2
Re-jigger standard submenus so they both link AND work.
2019-06-11 18:03:16 +01:00
Jeff Young
05652d4787
Rework the preparation for eeschema's move-tool.
...
There are a whole bunch of cases which all have to work:
regular move
move followed by drag
drag followed by move
move followed by duplicate
duplicate
paste
and all both with and without Warp Mouse on Move checked.
2019-06-11 18:03:16 +01:00
Jeff Young
e4d16abcbd
Fix overly-generic flag test when synchronizing pins.
...
Fixes: lp:1832170
* https://bugs.launchpad.net/kicad/+bug/1832170
2019-06-11 09:29:30 +01:00
Jeff Young
09a3c5b280
Update pasted items' parent pointers.
...
Fixes crashes when trying to manipulate the item after the paste,
and weird redraw behaviour with pins.
Fixes: lp:1832178
* https://bugs.launchpad.net/kicad/+bug/1832178
2019-06-11 09:22:56 +01:00