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
Wayne Stambaugh
3c4f8c1bf7
Fix frame name capitalization in all about dialogs.
...
This is a stop gap fix. It should be possible to use the wxFrame title
string for this but some of the frame windows have appropriated the title
string for configuration file naming purposes which is less than ideal.
Fixes lp:1825977
https://bugs.launchpad.net/kicad/+bug/1825977
2019-05-13 15:40:44 -04: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
9cc3d6764f
fixup! Fix some legacy set-to-idle statements.
2019-05-10 23:25:54 +01:00
Jeff Young
5e08be7018
Fix some legacy set-to-idle statements.
2019-05-10 23:24:02 +01:00
Jeff Young
792c4328aa
Cleanup.
2019-05-10 21:40:08 +01:00
Jeff Young
0c2ba94b16
More sharing between SchEdit and LibEdit.
2019-05-10 20:22:26 +01:00
Jeff Young
c1539ae014
Naming changes to reflect sharing between SchEdit and LibEdit.
2019-05-10 19:56:20 +01:00
Jeff Young
ea0941cab3
Implement modern tools for LibEdit.
2019-05-10 16:11:57 +01:00
Jeff Young
40f41133b3
Move Circle, Arc, Rectangle and PolyLine tools to modern toolset.
2019-05-10 16:11:57 +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
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
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
8e75824d29
Use selection tool for locateItem.
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
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
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
Michael Kavanagh
2a09664ebc
Clean up import and export menus
...
Fixes: lp:1822907
* https://bugs.launchpad.net/kicad/+bug/1822907
2019-05-02 12:25:59 -04:00
Jeff Young
a461eae8b9
Fix 100s of usages of GetFlags() which conflated != 0 with being edited.
...
While this was true long ago, many flags have been added since which
have nothing to do with editing (HIGHLIGHTED, BEGIN_ONPAD, etc.)
2019-04-22 09:58:06 +01:00
jean-pierre charras
6e8dd598c0
Minor fixes in translatable strings. Fix also a minor compil warning.
2019-04-22 09:34:28 +02:00
Jeff Young
2bcf38d2b6
Add try/catch block around writing a new library.
...
Fixes: lp:1825203
* https://bugs.launchpad.net/kicad/+bug/1825203
2019-04-18 22:00:32 +01:00
Jeff Young
0772b54845
Move eeschema zoom-selection to modern toolset.
...
Fixes: lp:1825164
* https://bugs.launchpad.net/kicad/+bug/1825164
2019-04-17 21:49:50 +01:00
Jeff Young
c88fd514a0
Implement drawing tools in modern toolset.
...
Fixes: lp:1825192
* https://bugs.launchpad.net/kicad/+bug/1825192
2019-04-17 21:49:50 +01:00
Jeff Young
ecfa05e2ca
Allow adding symbols/footprints from editors and browsers.
...
This was always possible from modal browsers and from the footprint
editor, but it's now also possible from non-modal browsers and the
symbol editor.
Fixes: lp:920380
* https://bugs.launchpad.net/kicad/+bug/920380
2019-04-16 16:20:51 +01:00
Jeff Young
94a948fdd1
Move grid selection for both Eeschema and Pcbnew to COMMON_TOOLS.
2019-04-13 18:43:35 +01:00
Jeff Young
3c11b89e4c
Hook up refresh buttons to library tree synchronisation.
...
Fixes: lp:1820057
* https://bugs.launchpad.net/kicad/+bug/1820057
2019-04-11 19:45:10 +01:00
Jeff Young
77f15eeeaf
Support synchronous messaging over KIWAY EXPRESS.
...
This allows us to make the various netlist and pcb update routines
more atomic and less reliant on carefully sequenced asynchronous
messages.
This is also a prelude to adding support for footprint testing
without a netlist.
2019-04-08 13:26:09 +01:00
Jeff Young
b6c0aeb608
Move cut/copy/paste part (in libedit tree) to real clipboard.
...
Fixes: lp:1821547
* https://bugs.launchpad.net/kicad/+bug/1821547
2019-04-08 11:21:58 +01:00
Jeff Young
2aad4a5e57
Remove dead code from removal of eeschema legacy canvas.
2019-04-05 15:54:31 +01:00
Michael Kavanagh
b0674b8802
Add Ctrl+, hotkey to preferences dialog
...
Also change interactive router settings from Ctrl+, to Ctrl+Shift+,
2019-04-02 12:57:27 -04:00
Michael Kavanagh
fe6bc411dd
Fix 'hokey' -> 'hotkey' typo
2019-04-02 12:57:26 -04:00
Seth Hillbrand
9bfce26ce7
Move env var substitution into GetAssociatedDocument
...
We always want the documents to have their variables replaced when
opening the associated file.
Fixes: lp:1819309
* https://bugs.launchpad.net/kicad/+bug/1819309
2019-03-10 08:39:36 -07:00
Seth Hillbrand
db31b7902a
libedit: Resolve path substitutions
...
Fixes: lp:1818220
* https://bugs.launchpad.net/kicad/+bug/1818220
2019-03-02 08:00:54 -08:00
Frank Severinsen
71a62bb782
Change pin on grid test in symbol editor.
...
The pin on grid test always used a fixed grid spacing of 25 mils. The
change uses the current grid setting for the on grid test. Grid sizes
below 25 mils are clamped to 25 mils to prevent issues when connecting
wires to pins in the schematic editor.
Fixes lp:1817896
https://bugs.launchpad.net/kicad/+bug/1817896
2019-02-28 09:46:57 -05:00
Jeff Young
22229fbba4
Re-parent items being copied from the clipboard.
...
Their original parent might have been freed by now if they came
from a different symbol.
Fixes: lp:1815525
* https://bugs.launchpad.net/kicad/+bug/1815525
2019-02-27 19:09:45 +00:00
Jeff Young
f494a24404
Resync lib_tree after editing aliases.
...
This also fixes an unrelated bug where the current part highlighting
would get lost after a rename.
Fixes: lp:1817639
* https://bugs.launchpad.net/kicad/+bug/1817639
2019-02-27 18:13:49 +00:00
jean-pierre charras
8ad15b1d66
Symbol editor: fix issues related to axis not shown.
...
In Symbol editor, axis are always shown. However after switching the backend, axis were no longer drawn.
In Cairo engine, fix a bug preventing axis to be shown.
2019-02-24 12:56:17 +01:00
Seth Hillbrand
ef60e523a1
libedit: Fix missing canvas selection
...
Analogous to fp editor, libedit needs the ability to switch between
fallback and accelerated while running.
2019-02-18 18:26:03 -08:00
Seth Hillbrand
a246d905fb
libedit: Add appropriate view menu subitems
...
This synchronizes the view menu options in libedit with the options in
eeschema.
Fixes: lp:1815789
* https://bugs.launchpad.net/kicad/+bug/1815789
2019-02-13 10:27:23 -08:00
Seth Hillbrand
3524bed75a
libtree: Remember pane width
...
Stores the library pane width in settings to keep user preferences
2019-02-12 10:06:36 -08:00
jean-pierre charras
869bdc2b3c
Eeschema: regression fix: re-enable hold down control+shift to disable grid snapping when moving the mouse.
...
Fixes: lp:1815487
https://bugs.launchpad.net/kicad/+bug/1815487
2019-02-12 13:12:06 +01:00
John Beard
d06f0de1eb
Libedit: transfer current screen settings on part load
...
When loading a part in libedit, also transfer certain screen
settings to the incoming SCH_SCREEN, from the current
SCH_SCREEN.
Currently, the grid settings are transferred, but this could
also do other settings if needed.
Also remove some duplicate commentary and mention why the
grid is set in a SCH_SCREEN even though the BASE_SCREEN ctor
sets the same default.
Fixes: lp:1815108
* https://bugs.launchpad.net/kicad/+bug/1815108
2019-02-08 22:56:05 +00:00
jean-pierre charras
5edf3503ca
Symbol Editor: Switching from a multi unit symbol to a single unit symbol do not reset the unit selection.
...
Thus creating issue if the unit selection is not the first unit.
Fixes: lp:1814441
https://bugs.launchpad.net/kicad/+bug/1814441
2019-02-03 15:29:41 +01:00
Jeff Young
ca0164aa07
Unify library browser terminology.
...
Fixes: lp:1813882
* https://bugs.launchpad.net/kicad/+bug/1813882
2019-01-30 19:52:15 +00:00
Jeff Young
81a0ab4d7e
Don't return wxID_OK from a cancel.
...
Also fixes the Save icon not getting enabled/disabled.
Fixes: lp:1810116
* https://bugs.launchpad.net/kicad/+bug/1810116
2019-01-10 17:41:33 +00:00
jean-pierre charras
db7dba96ad
Fix a few Coverity warnings.
...
Mainly not initialized members, and replace not tested dynamic_cast by static_cast.
2019-01-04 09:49:21 +01:00
Jeff Young
4c184f07a6
Clean up undo when cancelling block operation.
...
Fixes: lp:1809444
* https://bugs.launchpad.net/kicad/+bug/1809444
2018-12-21 22:45:57 +00:00
Jeff Young
40dac0ecbb
Default sizes for edit frames in case prefs get deleted.
...
Fixes: lp:1807676
* https://bugs.launchpad.net/kicad/+bug/1807676
2018-12-10 12:23:16 +00:00
Seth Hillbrand
ed506dd05e
eeschema: Prevent excess link updates
...
Refreshing the symbols for each paint is excessive to catch the change
from library loads. Instead we catch them on the KIWAY MAIL update
2018-12-06 13:46:52 -08:00
D4p0up
e94752a6cf
Added help string to select buttons.
...
Also moved highlight text string to help_common_strings.h
Fixes: lp:1497737
* https://bugs.launchpad.net/kicad/+bug/1497737
2018-12-05 20:13:03 -08:00
Maciej Suminski
ca5751fc46
Symbol Editor: update the view after relocating the anchor
2018-12-04 09:42:26 +01:00
Jeff Young
023a445e9f
Make sure original part record always has the write library nickname.
...
Fixes: lp:1804293
* https://bugs.launchpad.net/kicad/+bug/1804293
2018-11-21 19:51:04 +00:00
Jeff Young
f934ce653f
A bit of safety to prevent dereferencing NULL.
2018-11-21 19:51:04 +00:00
Jeff Young
d6ac303a8c
Don't dereference NULL when checking current part.
2018-11-20 20:21:29 +00:00
Jeff Young
a958b23a11
Remove assert which fires incorrectly when emptying screen.
2018-11-20 20:21:29 +00:00
Jeff Young
9145d6a0a3
Put library name in confirmation dialog when reverting library.
2018-11-20 20:21:29 +00:00
jean-pierre charras
ab3ff61faa
Eeschema: adjust the working/drawing area size on the page size.
...
This makes using Scrollbars more easy to use, especially for "small" page sizes like A or B.
Note also the working/drawing area size is bigger than the page size (3 times)
2018-11-20 15:11:22 +01:00
Maciej Suminski
de1a8abd3e
Fix a crash after accepting changes from Pin Table dialog
...
Pin Table dialog replaces LIB_ITEMs, while one of them may still
be pointed to as the current library item. Certain wxUpdateUIEvent
will try to dereference the pointer, leading to a crash.
2018-11-16 14:13:28 +01:00
Jeff Young
d65bb73d4e
Finish up remaining block operation inconsistencies.
...
In particular, don't move block back to start when duplicating,
and don't move crosshair back to start when doing a cut, copy, or
paste.
Also fixes undo for libEdit block duplicate.
Fixes: lp:1740138
* https://bugs.launchpad.net/kicad/+bug/1740138
2018-11-14 23:45:32 +00:00
Wayne Stambaugh
f1f4473d8b
Footprint editor: add save view to PNG file.
...
Factor out save current canvas view to image file code from symbol editor
code so it can be used anywhere.
Add ability to save to any image format supported by wxBitmapType. See
https://docs.wxwidgets.org/3.0/gdicmn_8h.html#a90a1eb6d85b5044a99b706fd979f27f5 .
Currently only PNG output is implemented.
Please note that there is a minor bug that appears to be due to the
scroll bars which causes unfilled areas on the right and bottom edges
of the image. This always existed in the save symbol editor view
image but it was not as noticeable because by default the background
color is white. It is very noticeable in the footprint editor with
a black background.
The usual smattering of coding policy and comment fixes.
Fixes lp:1802127
https://bugs.launchpad.net/kicad/+bug/1802127
2018-11-09 08:32:36 -05:00
Jeff Young
6860320b1b
Init LibEdit with unit & conversion when opening from schematic.
2018-11-08 21:27:15 +00:00
Jeff Young
3de04e184b
Convert pasted objects to current unit and DeMorgan variant.
...
Fixes: lp:1797183
* https://bugs.launchpad.net/kicad/+bug/1797183
2018-11-08 21:27:15 +00:00
Jeff Young
589e1f6a96
MSW and GTK need a separate dialog for opening/saving directories.
...
Fixes: lp:1801528
* https://bugs.launchpad.net/kicad/+bug/1801528
2018-11-04 12:35:01 +00:00
Jeff Young
68b07d1aff
Add show/hide search tree to modedit, and fix it in libedit.
...
Fixes: lp:1801531
* https://bugs.launchpad.net/kicad/+bug/1801531
2018-11-04 12:35:01 +00:00
Jeff Young
69952a7b9f
Improve updating of symbol and footprint trees.
...
In particular, update highlighting when changing footprints.
2018-11-02 19:55:30 +00:00
jean-pierre charras
5e44686711
Eeschema, symbol editor: re-enable PNG export and fix a minor issue in SVG export (was in B&W mode instead of color).
...
Add a comment in plotter.h to avoid other errors when selecting plotting mode B&W or color
Fixes: lp:1801058
https://bugs.launchpad.net/kicad/+bug/1801058
2018-11-02 09:24:55 +01:00
Jeff Young
364be90dc5
Fix translation issues with copy/paste block.
...
Also fix issues with paste not working at all from the context
menu in LibEdit.
Fixes: lp:1800513
* https://bugs.launchpad.net/kicad/+bug/1800513
2018-10-30 11:33:49 +00:00
Jeff Young
7d02c11880
Handle don't-always-display-cursor setting correctly.
...
Fixes: lp:1798448
* https://bugs.launchpad.net/kicad/+bug/1798448
2018-10-24 13:36:48 +01:00
Jeff Young
96e65c7f23
Hide existing object when displaying moving preview.
...
Fixes: lp:1799478
* https://bugs.launchpad.net/kicad/+bug/1799478
2018-10-23 20:54:42 +01:00
jean-pierre charras
ce496ff993
libedit: refresh display after deleting graphic item.
2018-10-23 15:11:32 +02:00
jean-pierre charras
7bba7a884a
Libedit: refresh display after creating/moving a graphic item
2018-10-22 13:41:38 +02:00
Jeff Young
f17c18bcce
Remove AdvanceDepth() hacks in favour of proper layers.
...
Also removes the bounding-box cache since the last big merge
should have sorted out the Update(GEOMETRY) calls.
Fixes: lp:1797271
* https://bugs.launchpad.net/kicad/+bug/1797271
Fixes: lp:1797268
* https://bugs.launchpad.net/kicad/+bug/1797268
Fixes: lp:1797075
* https://bugs.launchpad.net/kicad/+bug/1797075
2018-10-21 15:55:56 +01:00
Jeff Young
8a54b1b3b7
Add view refresh calls for edit operations.
...
Note that the bug referenced in the "fixes" section is only one
of many addressed by this commit.
Fixes: lp:1798449
* https://bugs.launchpad.net/kicad/+bug/1798449
2018-10-18 12:12:48 +01:00
Jeff Young
c22a247dbc
Fix undo issue primarily with libedit.
...
Fixes: lp:1797900
* https://bugs.launchpad.net/kicad/+bug/1797900
2018-10-17 13:10:36 +01:00
Jeff Young
254e9f4a7e
Implement HardRedraw for eeschema and libedit.
2018-10-17 12:14:09 +01:00
Jeff Young
84c14c2971
Fix updating of the schematic symbols after a library save.
2018-10-16 17:07:59 +01:00
jean-pierre charras
9df7626e31
Fix issue: Symbol library editor: Moving pins jumps to origin
...
Also: remove outdated lines in code.
Fixes: lp:1797266
https://bugs.launchpad.net/kicad/+bug/1797266
2018-10-13 12:09:49 +02:00
Seth Hillbrand
bfa7f16b44
Wrap printfs in DBG defines
...
This places the remaining printf statements behind DBG() macros to
suppress their output on release builds. We should remove these prior
to 5.1
2018-10-11 13:32:20 -07:00
jean-pierre charras
9b027628ef
Symbol editor: Fix usability issues of mirror and rotation commands
...
Fix also mirrorX and mirrorY command to have the same behavior as the schematic editor
Fixes: lp:1797090
https://bugs.launchpad.net/kicad/+bug/1797090
2018-10-10 16:42:58 +02:00
Jeff Young
9f9251c11d
Minor code cleanup.
2018-10-09 11:08:56 +01:00
jean-pierre charras
e55763947e
Set the reight grid visibility at start. Display axis in libedit and viewlib.
2018-10-09 11:08:56 +01:00
Jeff Young
6f0c6f946c
Fixup some more cursor issues.
2018-10-09 11:08:56 +01:00
Jeff Young
4161bb6756
Overhaul block logic to support rotate/mirror on the fly.
...
The old code delayed duplicating till the end which means the
rotate/mirror would affect the original, and then be duplicated
leaving the original incorrectly rotated/mirrored.
2018-10-09 11:08:55 +01:00
Jeff Young
3c82ad3220
Finish up the block rotate/mirror fixes.
...
Block rotate and mirror now work like they do in Pcbnew (that is
they're treated as part of the block move/duplicate/whatever
rather than finishing it).
Fixes: lp:1780794
* https://bugs.launchpad.net/kicad/+bug/1780794
2018-10-09 11:08:55 +01:00
Jeff Young
bbe1d996fd
Fix initialization order issue when switching symbols in LibEdit.
2018-10-09 11:08:55 +01:00
Jeff Young
269e8159d4
Grid settings for LibEdit.
2018-10-09 11:08:55 +01:00
Jeff Young
9e9db3afe5
Start an empty document with a reasonable grid size.
2018-10-09 11:08:55 +01:00
Jeff Young
d7178c7833
Implement GAL refresh for a bunch of operations.
2018-10-09 11:08:55 +01:00
Jeff Young
1c52824913
Rewrite unit/convert handling so it also works for LibEdit.
2018-10-09 11:08:55 +01:00
Jeff Young
c3479154ca
Fix draw order issues in eeschema and libedit.
...
Eeschema (where only the parent component is in the view) uses
draw order.
LibEdit (where the individual items are in the view) uses the
viewPriority setting.
2018-10-09 11:08:55 +01:00
Tomasz Wlostowski
48d36f854e
eeschema-gal: fix cursor shape switching
2018-10-09 11:08:55 +01:00
Tomasz Wlostowski
90c7c60471
eeschema-gal: initial GALified version. Lots of stuff still to do!
2018-10-09 11:08:52 +01:00
Tomasz Wlostowski
14fed877c8
eeschema-gal: factor out libedit controller code into separate directory
2018-10-09 11:08:52 +01:00
Tomasz Wlostowski
c024fce625
eeschema-gal: moved libedit to a separate directory
2018-10-09 11:08:52 +01:00