John Beard
e1f6230e8c
Do not statically construct wxTimer
...
If you construct wxTimer statically, it will be constructed
before WX init, which means you might get assertions about
missing m_impl's within the timer class.
The solution is to construct the wxTimer at run time. In this
case, static within the function will be constructed only after
the function is called (and actually the scope only needed to be
this function anyway).
2019-05-23 11:28:11 +01:00
Jeff Young
0047f88f82
Mark unfold bus menu as clean so it doesn't get generated a second time.
...
Fixes: lp:1829878
* https://bugs.launchpad.net/kicad/+bug/1829878
2019-05-23 00:27:53 +01:00
Jeff Young
1636405b66
Set a reference point for all selection sizes.
...
Fixes: lp:1829833
* https://bugs.launchpad.net/kicad/+bug/1829833
2019-05-23 00:27:53 +01:00
Tomasz Włostowski
ecb81426a4
eemodern: fixed use-after-free in SCH_DRAWING_TOOLS::DrawSheet().
2019-05-23 00:28:58 +02:00
Jeff Young
323ecada8d
Generate refresh preview events when objects are moving.
...
Fixes: lp:1829683
* https://bugs.launchpad.net/kicad/+bug/1829683
2019-05-22 21:48:04 +01:00
Jeff Young
fbffb9ae1e
Don't put KICAD_T arrays on stack and expect them to be there when you need them.
...
Fixes: lp:1829748
* https://bugs.launchpad.net/kicad/+bug/1829748
2019-05-22 21:48:04 +01:00
Jeff Young
67f7571f04
Don't call VIEW::Redraw() from within the tool.
...
Fixes: lp:1828824
* https://bugs.launchpad.net/kicad/+bug/1828824
2019-05-22 21:48:04 +01:00
Jeff Young
67cc2aac2e
Rework Eeschema find/replace for modern toolset.
...
Fixes: lp:1827274
* https://bugs.launchpad.net/kicad/+bug/1827274
Fixes: lp:1827240
* https://bugs.launchpad.net/kicad/+bug/1827240
2019-05-22 21:48:04 +01:00
Tomasz Włostowski
2b38b23a5e
eemodern: fixed use-after-free crash in LIB_EDIT_TOOL::DoDelete()
2019-05-22 21:35:03 +02:00
jean-pierre charras
f18807ea0f
Eeschema: Ensure axis are always drawn in libedit and viewlib
...
Fixes: lp:1822408
https://bugs.launchpad.net/kicad/+bug/1822408
2019-05-22 10:04:34 +02:00
Seth Hillbrand
e1373d70ae
libedit: Ensure proper dereference in shared tools
...
Fixes: lp:1829826
* https://bugs.launchpad.net/kicad/+bug/1829826
2019-05-21 19:43:15 -07:00
Tomasz Włostowski
bc52f0a03b
eemodern: clean printf debug gibberish, implement inline drag, move & cursor warp/reference point options
2019-05-20 21:04:46 +02:00
Tomasz Włostowski
af30eca3cb
eemodern: hover selection should autoclear after invoking properties dialog
2019-05-20 21:04:46 +02:00
Tomasz Włostowski
aff3243f3b
eeschema: fix use-after-free crash in GetScreen()/GetCurrentSheet()
2019-05-20 21:04:46 +02:00
Tomasz Włostowski
034669bf30
eemodern: implement drag-related settings in the Preferences window
2019-05-20 21:04:46 +02:00
Tomasz Włostowski
5ea46e8b78
eemodern: initial attempt at inline drag/move actions
2019-05-20 21:04:46 +02:00
Jeff Young
813de6a1f3
Implement brightening for Eeschema Find/Replace.
2019-05-18 14:28:22 +01:00
Jeff Young
21a7621ddb
Fix issues with multiple M or G commands in a row.
2019-05-18 14:11:19 +01:00
Jeff Young
952108dd43
Implement SCH_SHEET_PIN selection, rotation and mirroring.
...
Fixes: lp:1829521
* https://bugs.launchpad.net/kicad/+bug/1829521
2019-05-18 00:23:12 +01:00
Jeff Young
5f851a4bad
Add AutoplaceFields to symbol tool context menu.
2019-05-18 00:21:49 +01:00
Jeff Young
7c25001622
Implement immediate actions for adding and importing sheet pins.
...
Fixes: lp:1829314
* https://bugs.launchpad.net/kicad/+bug/1829314
2019-05-18 00:21:49 +01:00
Jeff Young
6b3fe33d6f
Improve selection logic for sloppy selections.
2019-05-17 00:48:39 +01:00
Jeff Young
5dd71b5563
Disable pin table and part properties when there's no part.
...
Fixes: lp:1828962
* https://bugs.launchpad.net/kicad/+bug/1828962
2019-05-16 23:53:33 +01:00
Jeff Young
68224e0fcd
Don't double-add pins to parent part when pasting.
...
Also adds undo to paste operations in LibEdit.
Fixes: lp:1829355
* https://bugs.launchpad.net/kicad/+bug/1829355
2019-05-16 23:53:11 +01:00
Jeff Young
0dd1584394
Add import-sheet-pin error message and move messages to status popups.
...
Fixes: lp:1829314
* https://bugs.launchpad.net/kicad/+bug/1829314
2019-05-16 23:11:22 +01:00
Jeff Young
6630a7227d
Constrain SHEET_PIN movement, and keep them attached when resizing SHEET.
...
Fixes: lp:1829314
* https://bugs.launchpad.net/kicad/+bug/1829314
2019-05-16 22:36:19 +01:00
Jeff Young
fbb807f3bb
Move some more menu & toolbar items to modern toolset.
2019-05-16 19:57:06 +01:00
Jeff Young
eba892009d
Improve hit-test logic by gradually increasing threshold.
...
Fixes: lp:1828222
* https://bugs.launchpad.net/kicad/+bug/1828222
2019-05-16 19:57:05 +01:00
Jeff Young
69afa27a5f
Implement ACTION_TOOLBAR and update some of the menus to ACTION_MENU.
...
This gives us better separation of MVC in line with the design of
the modern toolset. It also reduces a whole bunch of duplicated
data.
2019-05-15 17:50:52 +01:00
Jeff Young
f9e4ee1fc9
CONTEXT_MENU -> ACTION_MENU. (Now used for menu-bar menus too.)
2019-05-15 17:50:52 +01:00
Jeff Young
e850592587
Cleanup.
2019-05-15 17:50:52 +01:00
Jeff Young
ef5c69167a
Start moving some LibEdit and SchEdit menubar menus to actions.
...
Also includes a bunch of bug fixes that got intermingled.
Fixes: lp:1828826
* https://bugs.launchpad.net/kicad/+bug/1828826
Fixes: lp:1828826
* https://bugs.launchpad.net/kicad/+bug/1828826
Fixes: lp:1828793
* https://bugs.launchpad.net/kicad/+bug/1828793
2019-05-13 21:44:29 +01:00
Jeff Young
d290154dd3
Fix rectangle resizing in LibEdit.
...
Fixes: lp:1828791
* https://bugs.launchpad.net/kicad/+bug/1828791
2019-05-13 21:44:29 +01:00
Jeff Young
924a5e68f0
Fix missing superclass call.
2019-05-12 18:20:41 +01:00
Jeff Young
25209516a6
Adjust net highlighting after edits.
...
Fixes: lp:1800291
* https://bugs.launchpad.net/kicad/+bug/1800291
2019-05-12 18:20:41 +01:00
Jeff Young
f602ccd814
Insert EE_TOOL_BASE under SchEdit and LibEdit tools, and fix errant rename scope which clobbered PCBNew's PICKER_TOOL.
2019-05-12 13:47:08 +01:00
Jeff Young
5c39521149
Move Symbol Properties and Pin Table to actions.
...
Fixes: lp:1804273
* https://bugs.launchpad.net/kicad/+bug/1804273
2019-05-11 15:38:49 +01:00
Jeff Young
7995b5cc3c
Restore selection on abort and undo/redo.
...
Also includes a related bug fix to not create an undo record for
the initial schematic cleanup.
Fixes: lp:1825975
* https://bugs.launchpad.net/kicad/+bug/1825975
2019-05-11 15:38:49 +01:00
Jeff Young
76a915d472
Fix highlighting when initiated via ctrl-click.
...
Fixes: lp:1796755
* https://bugs.launchpad.net/kicad/+bug/1796755
2019-05-11 15:38:49 +01:00
jean-pierre charras
0a308c4584
Fix minor compil warnings
2019-05-11 11:12:39 +02:00
Jeff Young
792c4328aa
Cleanup.
2019-05-10 21:40:08 +01:00
Jeff Young
a9f663d5ef
Soften hit-testing in SchEdit and LibEdit a bit.
...
Old threshold was 0; new is 5 pixels.
2019-05-10 20:46:28 +01:00
Jeff Young
0c2ba94b16
More sharing between SchEdit and LibEdit.
2019-05-10 20:22:26 +01:00
Jeff Young
86d1592777
Fix bug with re-enting selection main loop.
2019-05-10 19:56:20 +01:00
Jeff Young
c1539ae014
Naming changes to reflect sharing between SchEdit and LibEdit.
2019-05-10 19:56:20 +01:00
Jeff Young
f3c95ad83c
Clean up the RepeatItem architecture and finish deleting the UndoItem facility.
2019-05-10 19:56:20 +01:00
Jeff Young
7da2631b27
Check item before concluding that ConvertText has run.
...
Otherwise we set item from nullptr back to the selection, and then
we think we're dragging again which causes all kinds of grief.
Fixes: lp:1828067
* https://bugs.launchpad.net/kicad/+bug/1828067
2019-05-10 16:11:57 +01:00
Jeff Young
f6e07f575a
Rename for clarity.
...
SetOffset() didn't set anything; it performed an action.
Move() suggests a delta, when it in fact does a SetPosition().
2019-05-10 16:11:57 +01:00
Jeff Young
ea0941cab3
Implement modern tools for LibEdit.
2019-05-10 16:11:57 +01:00
Jeff Young
40f41133b3
Move Circle, Arc, Rectangle and PolyLine tools to modern toolset.
2019-05-10 16:11:57 +01:00
Seth Hillbrand
589a37bfe8
eeschema: Don't segfault on empty drawlist
2019-05-09 15:11:36 -07:00
Seth Hillbrand
0e5f5d37d1
eeschema: Fix sign error in comparison
2019-05-09 14:10:53 -07:00
Seth Hillbrand
2f782ac7a4
eeschema: Prevent double-commit on duplicate/copy
...
When activating the move from a drag extension, we need to add
additional components to the commit. This breaks for duplicate/copy
when we have already added the correct components
2019-05-09 13:46:35 -07:00
jean-pierre charras
c716d66e53
Fix typo
2019-05-08 14:28:31 +02:00
Jeff Young
a40367ce17
Add a wire between direct-connect items when only is being dragged.
...
Fixes: lp:1798968
* https://bugs.launchpad.net/kicad/+bug/1798968
2019-05-07 20:39:46 +01:00
Jeff Young
469231ae15
Move Pin, Symbol Text and Symbol Anchor to modern toolset.
2019-05-07 20:39:46 +01:00
Jeff Young
cf046e0548
Anchor a selected wire at the edge of a drag which is connected to a non-drag item.
...
Fixes: lp:1827846
* https://bugs.launchpad.net/kicad/+bug/1827846
2019-05-07 12:04:19 +01:00
Jeff Young
f40408187e
A couple of temp hacks for LibEdit <esc> processing while in transition.
...
Fixes: lp:1828004
* https://bugs.launchpad.net/kicad/+bug/1828004
2019-05-07 12:04:19 +01:00
Jeff Young
2097411550
Refresh RequestSelection selection if all items were filtered out.
...
If you have, for instance a pin selected and do a cmd-E we'll filter
out the pin and then do nothing. We should instead treat it as a
hover selection if everything got filtered.
2019-05-07 12:04:19 +01:00
Jeff Young
f1a38a6d41
Respond to <esc> from selection tool.
...
Fixes: lp:1827917
* https://bugs.launchpad.net/kicad/+bug/1827917
2019-05-06 21:56:19 +01:00
Jeff Young
cd2bd23c37
Fix a bunch of issues with hotkeys, IDs and event processing.
...
Fixes: lp:1827894
* https://bugs.launchpad.net/kicad/+bug/1827894
2019-05-06 21:42:00 +01:00
Jeff Young
e5151ed639
Use parent's transform when moving SCH_FIELDs.
...
Fixes: lp:1827873
* https://bugs.launchpad.net/kicad/+bug/1827873
2019-05-06 21:41:44 +01:00
Jeff Young
a76bcc204f
Use parent's transform when moving SCH_FIELDs.
...
Fixes: lp:1827873
* https://bugs.launchpad.net/kicad/+bug/1827873
2019-05-06 16:59:23 +01:00
Jeff Young
b97d65e791
Fix crash bug when deleting sheet pin and disappearing bug when moving them.
...
Fixes: lp:1827890
* https://bugs.launchpad.net/kicad/+bug/1827890
2019-05-06 16:31:02 +01:00
Jeff Young
d12eee9c98
Process new sheets after drawing.
2019-05-06 15:31:23 +01:00
Jeff Young
207900e4f9
Move libedit message panel updating to the Inspection Tool.
2019-05-06 15:31:23 +01:00
Jeff Young
a12d769074
Code clarification and commenting.
...
Also renames toolbar files to reduce confusion with the modern toolset
tool files.
2019-05-06 15:31:23 +01:00
Jeff Young
f87d371b8b
Move to shared COLLECTORS for sch and lib.
2019-05-06 15:31:23 +01:00
Jeff Young
49231ac08f
Fix missing event processing for Leave Sheet button in toolbar.
2019-05-06 03:30:51 +01:00
Jeff Young
b7e67073ef
Fix bugs in bus unfold logic.
...
The worst of which left you in the bus unfold popup menu event loop
if you cancelled the menu by clicking outside it.
2019-05-05 19:48:11 +01:00
Jeff Young
0b2e1d00ea
Don't allow motion between two clicks of a dblclick to spoil forceHV.
2019-05-05 18:38:49 +01:00
Jeff Young
d881f4b21f
When unfolding a bus from the selection tool, stay in that tool.
2019-05-05 18:36:18 +01:00
Jeff Young
c4fac81dbb
Transition from bus to wire tool when unfolding bus.
2019-05-05 17:14:30 +01:00
Jeff Young
a42a4b0b52
Implement immediate bus unfold and add bus unfold to selection context menu.
2019-05-05 17:14:30 +01:00
Jeff Young
fd546da640
Homogenize hit testing and selection return types.
...
Prep work for sharing SCH_SELECTION_TOOL with LibEdit.
2019-05-05 17:14:30 +01:00
Jeff Young
2d28ab7dd2
More cleanup.
2019-05-05 17:14:30 +01:00
Jeff Young
32765ebffd
Do some refactoring in prep for sharing some sch tools with libedit.
2019-05-05 17:14:30 +01:00
Jeff Young
ed0e6af66d
Move to direct tool registration.
...
It was confusing that the primary frames registered their tools
differently than the other frames. In addition, since the other
frames also added their own tools, foo_actions::RegisterAllTools()
didn't really register all tool but rather those used by the
principal frame (PCB_EDIT_FRAME, SCH_EDIT_FRAME, etc.)
2019-05-05 17:14:30 +01:00
Jeff Young
dd9c426922
Cleanup a TODO.
2019-05-05 17:14:30 +01:00
Jeff Young
b5fd7b9842
Move Leave Sheet to the top of the context menu.
2019-05-05 17:14:30 +01:00
Jeff Young
7e3ad4585a
Fix issues with dragging, moving and rotating wires.
2019-05-05 17:14:30 +01:00
Jeff Young
2edb09e583
Double click action should enter sheet.
2019-05-05 17:14:30 +01:00
Jeff Young
4ccfa17ff9
Fix bugs in sheet duplicate & copy/paste.
...
Don't edit sheet during AddToScreenAndUndoList() call. If it's
cancelled and we delete the item, callers will still own pointers
to the freed memory. Do it in New and Paste instead.
2019-05-05 17:14:30 +01:00
Jeff Young
a825cdfa5a
Fix new image drawing issue.
2019-05-05 17:14:30 +01:00
Jeff Young
bcdc3ad90a
Set IS_NEW flag on new images. And a bunch of cleanup of dead code.
2019-05-05 17:14:30 +01:00
Jeff Young
21b315f2af
Finish removing GetCurItem() from eeschema.
2019-05-05 17:14:30 +01:00
Jeff Young
6e695aac25
Move bus unfold and symbol unit selection to modern toolkit.
2019-05-05 17:14:30 +01:00
Jeff Young
f4b92e6acf
Refactor as SCH_DRAWING_TOOL was getting too big.
2019-05-05 17:14:30 +01:00
Jeff Young
2774af928a
Remove extra Show Datasheet menu item.
2019-05-05 17:14:30 +01:00
Jeff Young
20b63174dc
Support wire & bus drawing from selection tool.
2019-05-05 17:14:30 +01:00
Jeff Young
f95f202f81
Restore Jon's change which I accidentally nuked.
2019-05-05 17:14:30 +01:00
Jeff Young
4ca0f4da10
Fixes to the context menu logic around wire/bus drawing.
2019-05-05 17:14:30 +01:00
Jeff Young
7273748c57
Context menu cleanup for eeschema modern toolset.
2019-05-05 17:14:30 +01:00
Jeff Young
90a663facd
Implement sheet cleanup in modern toolset.
2019-05-05 17:14:30 +01:00
Jeff Young
1e5334f5d4
Implement DeMorgan conversions in modern toolset.
2019-05-05 17:14:30 +01:00
Jeff Young
29f1787af2
Logic improvements and fixes for wire segment selection states.
2019-05-05 17:14:30 +01:00
Jeff Young
c09817e08c
Context menus for labels.
2019-05-05 17:14:30 +01:00
Jeff Young
0ea156042b
Fix over-zealous wire-grabbing for drag.
2019-05-05 17:14:30 +01:00
Jeff Young
a61bbea4bd
Fix issue with selection being inadvertantly cleared via ClearFlags().
...
Also fixes an undo bug when pick-component-rotate-place-undo.
2019-05-05 17:14:30 +01:00
Jeff Young
58ba573038
Handle cascading selections in placement.
...
See https://forum.kicad.info/t/call-for-testers-eemodern/16663/32
2019-05-05 17:14:29 +01:00