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
c600b758b3
Fix a few more actions missing from the hotkey list.
...
Fixes: lp:1828673
* https://bugs.launchpad.net/kicad/+bug/1828673
2019-07-06 21:10:16 +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
Seth Hillbrand
7297208119
Handle all non-length units
...
Statusbar length updates need to handle default with wxASSERT if there
is not a specific, handled unit.
2019-06-29 09:46:25 -07: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
da645c5d16
Don't select items on inactive layers in high-contrast mode.
...
Fixes: lp:1833870
* https://bugs.launchpad.net/kicad/+bug/1833870
2019-06-26 01:13:51 +01:00
Jeff Young
f9702aab87
Immediate actions for PlEditor, PcbNew, etc.
2019-06-25 11:34:28 +01:00
Jeff Young
f088d4d762
Add env-var setting to CommonSettingsChanged().
...
Fixes: lp:1804925
* https://bugs.launchpad.net/kicad/+bug/1804925
2019-06-25 11:34:28 +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
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
jean-pierre charras
66d2060942
Partial fix for missing language selection menu.
...
The fix is partial because in the list of languages the menuitem corresponding to the selected language is not checked.
2019-06-16 20:35:57 +02: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
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
8f84c3ec4f
Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal.
2019-06-13 19:58:37 +01:00
Steven A. Falco
1edeba7fb4
Show the current grid setting.
2019-06-13 14:34:39 -04:00
Jeff Young
ce1f35a1be
Cleanup some left-over vestiages of the legacy canvas architecture.
2019-06-13 15:51:32 +01:00
Seppe Stas
455ee4c08c
Set KiCad version in MacOS apps
...
Uses CMake's configure_file function [1] to automaticaly set the
CFBundleShortVersionString [2] value in every app's Info.plist file.
Also updates the CFBundleLongVersionString and CFBundleVersion with the
extended KiCad Version
[1]: https://cmake.org/cmake/help/latest/command/configure_file.html
[2]: https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring
2019-06-12 04:40:03 -07:00
Jeff Young
7726b039b2
Re-jigger standard submenus so they both link AND work.
2019-06-11 18:03:16 +01:00
Jeff Young
b0e8443383
Sync-ing of menu has been done in CONDITIONAL_MENU for some time now.
2019-06-10 23:46:01 +01:00
Jeff Young
a568e70b99
Follow naming conventions.
2019-06-10 23:46:01 +01:00
Jeff Young
5e49517781
Move hotkeys to ACTION architecture.
2019-06-10 23:46:00 +01:00
Jeff Young
6025256e07
Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out.
2019-06-10 23:46:00 +01:00
Jeff Young
765606012f
Convert separate-compilation of selection.cpp to polymorphism.
2019-06-10 23:46:00 +01:00
John Beard
7ebda0247f
Common: Remove legacy_gal library, fold into common
...
Return the EDA_DRAW_FRAME class back to common, whence it came (before it was
duplicated into legacy_wx and legacy_gal). Now there is only one
implementation (the GAL one), it doesn't need to be in a separate library.
This simplifies the dependencies for common lib users.
2019-06-10 18:56:57 +01:00
Seth Hillbrand
4a52062a54
GAL: Make high-contrast meld into background
...
This mixes the de-emphasized layers into the background color rather
than merely a black color. This also keeps some of the original layer
color.
Fixes: lp:1831316
* https://bugs.launchpad.net/kicad/+bug/1831316
2019-06-09 08:16:58 -07:00
jean-pierre charras
63eb552e0a
Fix issue in cairo_gal when drawing a 360 deg arc (in fact a circle).
...
It was due to a angle normalization between -360 and 360 degrees.
So, in arcs, if the start angle and end angle diff is n*360 deg,
this normalization gives start angle = end angle.
The fix forces end angle = start angle+360deg in this case.
Fixes: lp:1832096
https://bugs.launchpad.net/kicad/+bug/1832096
2019-06-09 11:06:00 +02:00
Jeff Young
2d40425e4d
Move footprint & symbol tree context menus to tool infrastructure.
...
Fixes: lp:1831692
* https://bugs.launchpad.net/kicad/+bug/1831692
2019-06-05 20:16:48 +01:00
Jeff Young
1ea001d497
Go back to event-loop zooming for new frames.
...
The immediate mode appears to have made things worse not better.
2019-06-04 13:56:54 +01:00
Jeff Young
1bf04d1722
More ACTIONs work.
2019-06-04 00:51:16 +01:00
Jeff Young
3912c7407f
Move global commands to ACTIONs.
...
Also fixes a crash bug opening Edit Tracks and Vias dialog.
2019-06-03 21:08:30 +01:00
Jeff Young
9f1e2e34b7
Move some dupicated tools to common tools.
2019-06-03 21:08:30 +01:00
Jeff Young
33773bad4d
Yet more command conversions to ACTIONs.
2019-06-02 21:10:56 +01:00
jean-pierre charras
60d2dc2e90
Fix broken menuitem IDs in gerbview.
...
the broken ids prevent menuitems of some file histories to work.
2019-06-02 20:59:13 +02:00
Jeff Young
45a9544726
Instantate a default menu from no selection when menu is first built.
...
This might resolve some of the GTK menu anomalies.
2019-06-02 12:58:08 +01:00
jean-pierre charras
15e6787596
Gerbview: Add missing file histories to the Files menu.
2019-06-02 09:31:06 +02:00
Jeff Young
74e10791ff
Fix some Mac-specific issues with the Preferences... menu item.
2019-06-01 16:29:12 +01:00
Jeff Young
f67df4bf11
Collapse ARRAY_CREATOR into single class now that legacy instance is gone.
...
Also removes AllowLegacyCanvas ADVANCED_CONFIG option.
2019-06-01 16:29:12 +01:00
Jon Evans
d47cac12c3
Fix GerbView zoom-to-fit
2019-05-31 20:59:53 -04:00
Jeff Young
7553cc2651
Clean up some dangling legacy odds and ends.
2019-06-01 01:17:46 +01:00
Jeff Young
c2662b0e11
Retire EDA_DRAW_PANEL and legacy_wx/EDA_DRAW_FRAME.
2019-05-31 21:55:30 +01:00
Jeff Young
d6e9bdf07b
Convert remaining legacy drawing code to print code.
2019-05-31 21:54:22 +01:00
Jeff Young
03bab2f4a9
Remove some more legacy drawing stuff.
2019-05-31 21:54:22 +01:00
Jeff Young
d2daab808c
Remove some legacy cursor handling stuff.
2019-05-31 21:54:22 +01:00
Jeff Young
edc8438ef0
Start the process of removing the legacy draw panel.
2019-05-31 21:54:21 +01:00
Seth Hillbrand
eb0fc7bae2
Re-connect switch canvas on startup
2019-05-29 15:29:36 -07:00
Jeff Young
1e9da7f57b
Remove CurItem() architecture and legacy routers and drawing code.
2019-05-29 00:26:30 +01:00
Jeff Young
9d29e94cb5
Remove some more legacy code.
2019-05-29 00:26:29 +01:00
Jeff Young
0260b32125
Push resetLocalCoords down into COMMON_TOOLS.
...
Fixes: lp:1830693
* https://bugs.launchpad.net/kicad/+bug/1830693
2019-05-29 00:26:29 +01:00