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
Jeff Young
d03041b565
Cleanup.
2019-07-02 21:36:42 +01:00
Seth Hillbrand
9460f207f5
Fix misc build warnings
...
This removes unused static function in page layout editor, unused
variable in pcb_painter and restors the gcc unitialized fix for
pcbnew's drawing_tool.
2019-07-02 10:32:49 -07: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
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
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
89d1d3d299
Real-time highlighting for PlEditor delete tool.
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
b8d2fef079
pl_editor: fix a crash when cancelling the "add bitmap dialog" by escape key.
2019-06-20 13:05:23 +02: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
Jeff Young
581b5257e1
One more try getting <ESC>/PopTool behaviour right.
2019-06-18 22:34:31 +01:00
Jeff Young
dcbd897a95
Push/pop tools even when selected from the toolbar.
2019-06-18 20:24:15 +01:00
Jeff Young
7cfe19d9fd
Cleanup.
2019-06-17 22:15:20 +01:00
Jeff Young
4eab89d9ef
Fix OSX button order issue in Unsaved Changes dialog.
...
Also changes the presentation of the string when the checkbox appears
so that the "Changes will be lost" warning isn't hidden by the turndown.
This last part may require conditional compilation as it's undocumented.
Lastly, regularizes the Unsaved Changes strings between the apps.
2019-06-17 17:01:57 +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
0f4bdbd184
Tighten down the POINT_EDITORs a bit more.
2019-06-16 01:33:39 +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
jean-pierre charras
12a4a38507
pl_editor:make the option "show formatted texts" working.
2019-06-15 19:54:05 +02:00
jean-pierre charras
96935e0a7e
Pl_editor rework: refinements in Design inspector.
2019-06-15 09:58:23 +02:00
jean-pierre charras
6dc8e96a34
pl_editor rework: add a design inspector (similar to what was existing previously, but as a dialog)
...
Wip.
2019-06-14 20:48:50 +02: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
jean-pierre charras
54b22b1851
pl_editor: fix missing view full rebuild after importing a .kicad_wks file.
2019-06-13 15:53:42 +02:00
jean-pierre charras
c47f97e02f
pl_editor: fix a very minor wxWidgets alert.
2019-06-13 11:01:14 +02:00
jean-pierre charras
cbe8c5a934
pl_editor: minor cosmetic fixes for a better readability of a few texts.
2019-06-12 15:05:19 +02: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
6623ab91a8
Fix issue with picker tool activation.
2019-06-11 00:25:38 +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
jean-pierre charras
dfbe02c8c2
pl_editor: show the page limits and the coord reference corner position.
2019-06-07 12:42:28 +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
jean-pierre charras
56e3e988ff
Pl_editor: fix missing hotkeys
2019-06-04 14:38:35 +02:00
jean-pierre charras
c977895412
Pl_editor: avoid flickering of the Properties Frame when moving an item.
2019-06-04 10:55:14 +02:00
Jeff Young
1bf04d1722
More ACTIONs work.
2019-06-04 00:51:16 +01:00
Jeff Young
9f1e2e34b7
Move some dupicated tools to common tools.
2019-06-03 21:08:30 +01:00
jean-pierre charras
a5f670b69d
Pl_editor: fix a incorrect include:
...
The included file was a .cpp file instead of the corresponding .h file
2019-06-03 18:29:50 +02:00
jean-pierre charras
7e1407f205
Pl_editor: fix incorrect view update after editing a item (the view was not refreshed, at least on Windows)
2019-06-03 17:39:04 +02:00
Jeff Young
33773bad4d
Yet more command conversions to ACTIONs.
2019-06-02 21:10:56 +01: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
Jeff Young
7f1ed30ff5
Move DeMorgan handling to ACTIONs.
2019-06-01 23:03:24 +01:00
Jeff Young
74e10791ff
Fix some Mac-specific issues with the Preferences... menu item.
2019-06-01 16:29:12 +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
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
jean-pierre charras
68002d2eec
Minor fixes in page layout editor
2019-05-31 12:06:29 +02: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
Jeff Young
a27e4246e0
Move some more menu commands to ACTIONs.
2019-05-29 00:26:29 +01:00
Jeff Young
c0909611d3
Remove a bunch more legacy editing code.
2019-05-29 00:26:29 +01:00
Jeff Young
718ad77891
Fix a bug introduced when UseGalCanvas() no longer switches.
...
We still need to setup the viewport the first time.
Also removes some more legacy editing code.
2019-05-27 18:47:20 +01:00
Jeff Young
db90e97d0b
fixup! Implement undo for Page Settings in PlEditor, Eeschema and PCBNew.
2019-05-27 14:12:20 +01:00
Jeff Young
2502bce987
Move quit back to wxIDs. wxWidgets like to muck around with the location on OSX.
2019-05-27 11:58:55 +01:00
Jeff Young
21c216556b
Cut/copy/paste for PlEditor.
2019-05-27 11:58:55 +01:00
Jeff Young
6936effaa7
Implement undo for Page Settings in PlEditor, Eeschema and PCBNew.
...
Fixes: lp:1820059
* https://bugs.launchpad.net/kicad/+bug/1820059
2019-05-27 11:58:55 +01:00
Jeff Young
248089c934
Get rid of PageLayout globals so drawing the preview doesn't mess up the document.
2019-05-27 11:55:58 +01:00
Jeff Young
bdd44ce88c
Use consistent PageLayout data structure names.
2019-05-27 11:55:58 +01:00
jean-pierre charras
568d4e2b19
Avoid including id.h in a lot of files that do not use it.
2019-05-26 08:14:25 +02:00
jean-pierre charras
0979aadae8
Fix a minor compil warning.
2019-05-25 10:05:57 +02:00
Jeff Young
8518c373d1
Move PLEditor to common actions for file ops.
2019-05-25 01:34:44 +01:00
Jeff Young
a1b3e5d9bb
Move PLEditor title updating to somewhere it will get called.
...
Also cleans up some uncalled stuff.
2019-05-24 21:23:26 +01:00
Jeff Young
a73f3fe36d
Use a bigger hammer when changing plEditor display mode.
2019-05-24 21:23:26 +01:00
Jeff Young
899c8ccc8d
Highlight currently active inspector Apply button.
2019-05-24 19:49:10 +01:00
Jeff Young
71f188f3de
Hook up import-page-layout and change-background-color actions.
2019-05-24 19:49:10 +01:00
Jeff Young
2901fee9a0
Improve property panel <> selection synchronization.
2019-05-24 19:49:09 +01:00
Jeff Young
85f984ccd9
Add point-editor activation for immediate-mode drawing.
2019-05-24 19:49:09 +01:00
Jeff Young
09424db68f
Restore selection around undo/redo.
2019-05-24 19:49:09 +01:00
Jeff Young
431eae0492
Implement undo for PageLayout drawing tools.
2019-05-24 19:49:09 +01:00
Jeff Young
323bb0f8e1
Moving PageLayout editor to GAL canvas and modern toolset.
2019-05-24 19:49:09 +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
Jeff Young
7d9a0b06e0
Push help menu down into EDA_BASE_FRAME.
2019-05-18 13:14:08 +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
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
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
b526461a8e
Fix colliding hotkeys issue.
...
All grid commands need to be shared now as they're implemented
by a common tool.
2019-05-05 17:12:59 +01:00
Michael Kavanagh
a427d0c0e7
PL editor: fix delete hotkey behaviour
...
Also fix assert related to zoom to selection menubar item (missing wxITEM_CHECK).
Fixes: lp:1819419
* https://bugs.launchpad.net/kicad/+bug/1819419
2019-04-25 18:51:08 +02: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
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
Wayne Stambaugh
37edf0e9a6
Remove superfluous build library dependencies.
...
It looks like someone's paste keys got stuck and added repeated sets of
link libraries in multiple places.
2019-03-29 09:01:56 -04:00
Seth Hillbrand
f96d16eba3
Restore LINK_MAP linker options
...
Removing invalid TO_LINKER missed a few segments where it was used.
This fixes the ability to enable link maps
2019-03-16 20:37:14 -07:00
Seth Hillbrand
b836f3cefa
Page Layout: Do not double-move frames
...
When block selecting and dragging in Page Layout editor, multiple items
with the same parent may be selected. We do not want to move them twice
or the block will show with misaligned elements when placed.
2019-02-25 14:15:34 -08:00
John Beard
e6a6266f3d
Build: libpolygon provides its own includes
...
Libpolygon can provide its own includes via target_include_dirs PUBLIC.
This means any linking targets do not need to specifiy them manually.
As common requires polygon, the polygon dep is also now no longer
required downstream of libcommon, as it's transisitvely implied
by libcommon's target_link_libraries.
This resolves a circular dependency previously detected and also
simplifies CMakeLists.
2019-02-04 19:29:31 -08:00
John Beard
bb2ae8e13b
Bitmaps: move bitmap defs to bitmaps library
...
The bitmap definitions (BITMAP_DEF and so on) do not
have any dependencies on other libs, including WX. This
means the bitmaps library can be isolated from the other
dependencies.
Common now depends on bitmaps, and libraries that depend
on common can pick it up from the common target_link_libraries,
as it is PUBLIC. This means a lot of targets no longer
need manual bitmap linkage.
This avoids a circular dependency that was previously reported
by static analysis.
Avoiding pulling in WX and other headers into the include
tree of each bitmap .cpp is a huge speed up (around 10x) in
compilation, and the generated static library is also 10x
smaller (20MB vs 200MB)
Add common as a link library to pnsrouter,connectivity.
THese library do still use common code (including bitmaps,
via base_screen.h) and this allows them to pick up the libcommon
includes correctly.
2019-02-04 19:29:31 -08:00
Seth Hillbrand
1e5ba6f1b1
Replace DIM() macro
...
The standard DIM() macro was not typesafe as it happily deferred errors
to runtime that can be caught at compile time. Replacing it with a
generic C++11 constexpr allows for typecasting, comparison and compile
time error checking.
2019-01-06 08:43:12 -08:00