Maciej Suminski
f06690c8d3
Merged lp:~john-j-beard/kicad/moveexact.
2015-02-18 20:27:00 +01:00
Maciej Suminski
902d0e3f1f
Tools are processing const TOOL_EVENT& (Tool Framework).
2015-02-14 21:28:47 +01:00
John Beard
4f3672da4d
Add "move exact" and "duplicate" tools to pcbnew
2015-02-12 03:22:24 +00:00
Maciej Suminski
2647fdfd89
Fixed context submenus event handlers (GAL/Windows).
2015-01-25 19:11:02 +01:00
Maciej Suminski
18898fe807
tool: Added a generic parameter for RunAction().
2014-11-21 11:28:34 +01:00
jean-pierre charras
24f516f6ae
Fix many doxygen warnings (due to missing info, old comments, typo ...) when building the doxygen doc.
2014-11-02 17:25:04 +01:00
Maciej Suminski
b30e0dd869
Boost 1.56 compatibility fix.
2014-08-26 11:16:56 +02:00
Maciej Suminski
468e9e4ac9
Initalize fields in TOOL_EVENT constructors.
2014-08-08 14:34:44 +02:00
Maciej Suminski
b1837615aa
Added event queue to handle events at the end of the event processing cycle.
2014-07-09 16:25:50 +02:00
Maciej Suminski
c0a96141df
Added AF_NOTIFY flag for TOOL_ACTIONs.
2014-07-09 15:10:32 +02:00
Maciej Suminski
2b0e27f132
Introduced SELECTION_CONDITIONS to determine which menu entries should be visible in the SELECTION_TOOL context menu, depending on the selection.
2014-07-09 15:10:32 +02:00
Maciej Suminski
72c70148e8
Fixed a few memory leaks and Valgrind warnings.
2014-07-09 15:02:56 +02:00
Maciej Suminski
456eeaba10
Routines for handling clipboard with TOOL_MANAGER.
2014-07-09 14:01:07 +02:00
Maciej Suminski
94cc845b3f
Added AF_ACTIVATE flag for TOOL_ACTIONs.
...
Reworked the way of processing events in TOOL_MANAGER class.
Added GetCommandStr() for TOOL_EVENT class.
2014-07-09 13:50:27 +02:00
Maciej Suminski
f8f6fd41ad
Introduced a new type of action: TA_ACTIVATE to distinguish events activating tools from common tool actions.
2014-07-09 13:50:27 +02:00
Maciej Suminski
5f806cfa18
Minor fixes to the Tool Framework.
2014-07-09 13:50:27 +02:00
Maciej Suminski
f7ecc749f6
Restored std::map in TOOL_MANAGER.
2014-07-09 13:50:27 +02:00
Maciej Suminski
2ee890d74b
Minor changes.
2014-07-09 11:59:24 +02:00
Maciej Suminski
dfc052d537
Added an alternative way to reach tools in the Tool Framework.
2014-07-09 11:59:24 +02:00
Maciej Suminski
60b0a4e0be
Alternative approach to handling events and commands by TOOL_DISPATCHER.
...
Event handlers are (dis)connected depending on the active view.
TOOL_DISPATCHER inherits from wxEvtHandler, so now it receives events directly instead of being fed by external handlers.
2014-07-09 11:22:42 +02:00
Maciej Suminski
3fd26b6dd2
TOOL_ACTIONs are automagically registered by TOOL_MANAGER upon its construction.
2014-07-09 11:22:42 +02:00
Maciej Suminski
f5325f8d79
Removed a redundant pointer to EDA_EDIT_FRAME.
2014-07-09 11:22:42 +02:00
Maciej Suminski
f5de166a7e
Removed an unused parameter from TOOL_BASE::getModel<T>() method.
2014-06-06 14:59:25 +02:00
Maciej Suminski
b1a19b1225
Setting proper tool for submenus of CONTEXT_MENU class.
2014-05-31 16:04:10 +02:00
Maciej Suminski
dd1fcd0588
Fix for context menu hanging up in GAL.
2014-05-22 17:59:36 +02:00
Maciej Suminski
def53707d5
TOOL_MANAGER is no longer static. Reworked autoregistration of TOOL_ACTIONs.
2014-05-14 16:29:53 +02:00
Maciej Suminski
e2feefc08c
Fixed custom event handlers for CONTEXT_MENU.
...
Moved menuCopy to CONTEXT_MENU copy constructor.
2014-05-13 11:22:51 +02:00
Maciej Suminski
05ee03d6b0
Recursive copy constructor for CONTEXT_MENU.
2014-05-13 11:22:51 +02:00
Maciej Suminski
8bb5eaa434
Better way of adding CONTEXT_MENU entries.
2014-05-13 11:22:50 +02:00
Maciej Suminski
3f8d9da31f
Key events are handled by wxEVT_CHAR instead of wxEVT_KEY_[UP|DOWN]. Fixed issue of chars that require modifiers (e.g. ? is Shift+/ on US keyboard layout).
2014-04-09 17:33:22 +02:00
Maciej Suminski
50b202fe99
Hot keys specific to a tool have priority over global hot keys (TOOL_ACTION scope: AS_GLOBAL/AS_CONTEXT is finally handled properly).
2014-04-09 17:05:05 +02:00
Maciej Suminski
4c5afc46af
Added possibility of switching tools by the right toolbar buttons, without deactivating the current tool first (previously tools did not switch if there was one active).
2014-04-04 11:50:15 +02:00
Maciej Suminski
60e9546b62
PCB_EDIT_FRAME::SetHighContrastLayer() went public.
...
Refactored code that handled zooming events.
Added PCB_RENDER_SETTINGS::Get/SetSketchMode().
PCBNEW_CONTROL reacts to hot keys changing display modes (sketch via/tracks, high contrast).
2014-03-24 17:20:23 +01:00
Maciej Suminski
c7116e9d03
FIxed too late deletion of TOOLs.
2014-03-21 17:55:46 +01:00
Maciej Suminski
0694f2fa1c
TOOL_EVENTs autoregister themselves in ACTION_MANAGER.
...
ROUTER_TOOL events have temporarily changed their hotkeys assignment.
2014-03-21 10:40:50 +01:00
Maciej Suminski
c5c83bd271
Added TOOL_MANAGER & ACTION_MANAGER::RunAction( const TOOL_ACTION aAction ).
...
Selection clearing is invoked using TOOL_ACTION object rather than its name.
2014-02-28 15:46:05 +01:00
Maciej Suminski
e6598e9d41
Added VIEW::ToWorld( double ).
...
TOOL_EVENT message is supposed to contain string as parameter.
Added missing header for class_drawsegment.h (KiROUND).
Renamed SELECTION_TOOL::containsSelected() to SELECTION_TOOL::selectionContains().
2014-02-27 16:13:27 +01:00
Maciej Suminski
57c69b41db
Continous mode for drawing tools (i.e. they do not finish after adding a single object).
2014-02-19 13:51:32 +01:00
Maciej Suminski
363709e7a9
Added TOOL_INTERACTIVE::Activate().
...
Removed an unnecessary header from class_board_item.h.
2014-02-06 14:45:33 +01:00
Maciej Suminski
3e2e11fb42
Undo/redo buffer fixed once again..
2014-01-31 16:08:20 +01:00
Maciej Suminski
a73e386505
Added a new tool event: TA_UNDO_REDO, sent after undo/redo operation is issued.
2014-01-30 11:18:58 +01:00
Maciej Suminski
84c496e138
Upstream merge
2013-12-19 11:15:27 +01:00
Povilas Kanapickas
7f12513c7e
Remove some uses of using namespace std.
2013-12-13 10:27:30 -06:00
Maciej Suminski
d8acd1c718
Moved Init() & Reset() from TOOL_INTERACTIVE to TOOL_BASE.
...
Added REASON enum for Reset() function, so tools will know why a reset occured.
Fixed SELECTION_TOOL (it was bailing out, when a new board was loaded and some items were still selected).
Added removal of VIEW_ITEM groups after changing layers and removing items.
2013-12-09 10:42:38 +01:00
Maciej Suminski
c5a1df6216
ClearHotKey() function.
2013-12-05 14:48:44 +01:00
Maciej Suminski
ad3cb1f36a
Added TOOL_MANAGER::RunAction() function.
2013-12-03 15:41:41 +01:00
Maciej Suminski
bec2e9b178
Added some comments & asserts.
2013-12-03 15:17:43 +01:00
Maciej Suminski
4876dbea24
Storing the selected item position from a context menu.
2013-11-29 16:45:39 +01:00
Maciej Suminski
af976b2d36
Automatic unregistration of tool actions during ACTION_MANAGER destruction.
2013-11-28 15:24:19 +01:00
Maciej Suminski
c21ae6efca
Double click support for the Tool Framework.
2013-11-28 15:19:50 +01:00
Maciej Suminski
5249b1a6da
Renamed TOOL_MOUSE_BUTTONS constants to avoid name conflict with Windows MB_RIGHT constant.
2013-10-15 10:41:00 +02:00
Maciej Suminski
bc305859b2
Mainly case changes.
2013-10-14 20:40:36 +02:00
Maciej Suminski
0ac3e1fbf2
Namespace KiGfx->KIGFX.
...
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski
22045b61ea
Converted tabs to spaces. Removed trailing whitespaces.
2013-10-14 13:43:57 +02:00
Maciej Sumiński
6409f7f96b
wxWidgets 2.8 compatibility fix (removed wx/kbdstate.h)
2013-09-29 14:25:04 +02:00
Maciej Suminski
6b74b5771a
Even more code comments and reformatting.
2013-09-27 18:51:21 +02:00
Maciej Suminski
3f320e4d68
Some more comments and code formatting.
2013-09-27 16:23:43 +02:00
Maciej Suminski
6e0c7a938c
Added missing header
2013-09-27 14:29:07 +02:00
Maciej Suminski
5e3030ee89
Merge kicad-pns-mac
2013-09-27 12:06:59 +02:00
Maciej Suminski
87b3f2e499
Added Init() to TOOL_INTERACTIVE, allowing to set up things that are needed to be initialized only once.
...
TOOL_ACTIONs can be run from CONTEXT_MENU after adding them.
Move tool actions are available to be run from CONTEXT_MENU displayed after right mouse button click on selected items.
Added some asserts to check the code.
2013-09-26 18:38:58 +02:00
Maciej Suminski
61066fa608
Added functions for handling hotkeys, interface for adding TOOL_ACTIONs to CONTEXT_MENU.
...
Less objects are allocated dynamically.
CONTEXT_MENU is being run using its copy (it saves a hassle of following the lifetime of object).
2013-09-26 14:09:18 +02:00
Maciej Suminski
7b7a331645
Added some const modifiers.
2013-09-26 11:22:59 +02:00
Maciej Suminski
d1578e4e1a
Fixed cvpcb build.
2013-09-24 16:12:02 +02:00
Maciej Suminski
7837dfa3ac
Fixed build for Mac OS
2013-09-23 17:02:25 +02:00
Maciej Suminski
171857a7a8
FIxed TOOL_EVENT::Modifier() (now it returns value for current modifier, not only if there is one active or not).
2013-09-23 10:02:01 +02:00
Maciej Suminski
7db595da31
Added missing files
2013-09-20 18:21:01 +02:00
Maciej Suminski
2c03bf4109
Removed TA_ActivateTool (now tools are invoked by sending TA_Action event, with the tool name as string parameter).
...
Developed TOOL_Action class & added ActionManager. Hot keys registered by tools are processed.
Selection & move tool can be invoked by a hot key.
2013-09-19 17:02:57 +02:00
tomasz.wlostowski@cern.ch
0d4b71ef3c
Merged Orson's latest changes.
2013-09-18 20:10:55 +02:00
tomasz.wlostowski@cern.ch
87dccc9f81
P&S router: some missing files
2013-09-18 19:56:37 +02:00
Maciej Suminski
ab21124b71
Reenabled snapping for tools.
2013-09-16 16:46:02 +02:00
Maciej Suminski
9adbdd803a
Added missing functions for checking type of keyboard event
2013-09-13 15:31:19 +02:00
Maciej Suminski
f9cc914960
Mouse movement events are sent during autopanning, as the cursor position changes in the world coordinates (even if it stays still in the screen coordinates). It allows tools to update their state, as if the mouse was moved.
2013-09-13 10:26:08 +02:00
Maciej Suminski
82fe1a4972
Merged Tom's branch
2013-09-12 17:42:28 +02:00
tomasz.wlostowski@cern.ch
9eb3916852
Merged kicad-gal-orson
2013-09-10 19:32:19 +02:00
tomasz.wlostowski@cern.ch
9daa1ab52a
TOOL_DISPATCHER: improve mouse handling
2013-09-10 19:22:38 +02:00
Maciej Suminski
87da6a8ad3
Fixed hanging up of menu loop when user never moves mouse cursor into popup menu area.
2013-09-09 17:12:03 +02:00
Maciej Suminski
d0749a3a52
Small refactoring.
2013-09-09 14:31:27 +02:00
Maciej Suminski
f2b4c7a18b
Added a few comments.
2013-09-06 16:01:46 +02:00
Maciej Suminski
f93d297cb5
Some comments.
2013-09-04 16:25:57 +02:00
Maciej Suminski
e8083ae808
Added some comments and changed names of classes to match the coding rules.
2013-09-02 14:21:12 +02:00
Maciej Suminski
fb9a4c2bfc
Added stacking for tools.
2013-08-30 10:37:26 +02:00
Maciej Suminski
6ee32b9912
Fixed the 64 bit build.
2013-08-26 14:08:32 +02:00
Maciej Suminski
89a138c09e
Added handling keyboard events for the Tool framework.
2013-08-21 17:37:27 +02:00
Maciej Suminski
e87eea7abc
Reformatting.
2013-08-19 09:47:36 +02:00
Maciej Suminski
9bd7ba36ac
Added resetting of tools after loading a new board.
2013-08-15 10:20:49 +02:00
Maciej Suminski
80901c69cf
Reformatting.
2013-08-08 19:41:20 +02:00
Maciej Suminski
12e10fd43a
Reformatting.
2013-08-08 14:59:59 +02:00
Maciej Suminski
282995eaee
Fixed disambiguation menu issue.
2013-08-08 14:50:32 +02:00
Maciej Suminski
ee80c7f674
Some more reformatting and adding copyright notices.
2013-08-07 11:20:12 +02:00
Maciej Suminski
7d5a456344
Code reformatting.
2013-08-06 10:30:09 +02:00
tomasz.
cc6ca277e3
Added COROUTINE and DELEGATE class examples.
2013-08-02 16:50:29 +02:00
tomasz.
241061025b
Added core tool framework files + boost::context assembly stuff (initial, very buggy and unfinished work).
2013-08-02 16:46:53 +02:00