Commit Graph

82 Commits

Author SHA1 Message Date
Maciej Suminski 82ff9ceca7 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 4f0e03bcc0 Fixed a few memory leaks and Valgrind warnings. 2014-07-09 15:02:56 +02:00
Maciej Suminski 098449d7dc Routines for handling clipboard with TOOL_MANAGER. 2014-07-09 14:01:07 +02:00
Maciej Suminski 06361eb2c1 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 6859bf8301 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 3587f47cca Minor fixes to the Tool Framework. 2014-07-09 13:50:27 +02:00
Maciej Suminski 946ffb2ad9 Restored std::map in TOOL_MANAGER. 2014-07-09 13:50:27 +02:00
Maciej Suminski 520038c750 Minor changes. 2014-07-09 11:59:24 +02:00
Maciej Suminski e4ec886a6c Added an alternative way to reach tools in the Tool Framework. 2014-07-09 11:59:24 +02:00
Maciej Suminski d3b2e50200 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 7c812664f3 TOOL_ACTIONs are automagically registered by TOOL_MANAGER upon its construction. 2014-07-09 11:22:42 +02:00
Maciej Suminski c416f5a1e5 Removed a redundant pointer to EDA_EDIT_FRAME. 2014-07-09 11:22:42 +02:00
Maciej Suminski a7c13a61c3 Removed an unused parameter from TOOL_BASE::getModel<T>() method. 2014-06-06 14:59:25 +02:00
Maciej Suminski bc766093a3 Setting proper tool for submenus of CONTEXT_MENU class. 2014-05-31 16:04:10 +02:00
Maciej Suminski 68ada9e169 Fix for context menu hanging up in GAL. 2014-05-22 17:59:36 +02:00
Maciej Suminski b59770e8ca TOOL_MANAGER is no longer static. Reworked autoregistration of TOOL_ACTIONs. 2014-05-14 16:29:53 +02:00
Maciej Suminski bc372564cf Fixed custom event handlers for CONTEXT_MENU.
Moved menuCopy to CONTEXT_MENU copy constructor.
2014-05-13 11:22:51 +02:00
Maciej Suminski 7155e3a9db Recursive copy constructor for CONTEXT_MENU. 2014-05-13 11:22:51 +02:00
Maciej Suminski a86387eec6 Better way of adding CONTEXT_MENU entries. 2014-05-13 11:22:50 +02:00
Maciej Suminski e4a4578b40 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 1c35e7d6f6 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 d5b2a3b007 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 3b05177a3a 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 1f38879fef FIxed too late deletion of TOOLs. 2014-03-21 17:55:46 +01:00
Maciej Suminski 5eb4ecbf1c 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 8d8c72856d 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 dbe19fc5f9 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 3dbb864e5e 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 5299e41ac4 Added TOOL_INTERACTIVE::Activate().
Removed an unnecessary header from class_board_item.h.
2014-02-06 14:45:33 +01:00
Maciej Suminski 27ecb2c930 Undo/redo buffer fixed once again.. 2014-01-31 16:08:20 +01:00
Maciej Suminski d2e865146b 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 2027222074 Upstream merge 2013-12-19 11:15:27 +01:00
Povilas Kanapickas f954ace66b Remove some uses of using namespace std. 2013-12-13 10:27:30 -06:00
Maciej Suminski 9b4b5c931e 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 0ac6e0614f ClearHotKey() function. 2013-12-05 14:48:44 +01:00
Maciej Suminski 4a4c0914bc Added TOOL_MANAGER::RunAction() function. 2013-12-03 15:41:41 +01:00
Maciej Suminski bc41f8298b Added some comments & asserts. 2013-12-03 15:17:43 +01:00
Maciej Suminski a078fa6779 Storing the selected item position from a context menu. 2013-11-29 16:45:39 +01:00
Maciej Suminski 4343c6a24f Automatic unregistration of tool actions during ACTION_MANAGER destruction. 2013-11-28 15:24:19 +01:00
Maciej Suminski fc7798b7d7 Double click support for the Tool Framework. 2013-11-28 15:19:50 +01:00
Maciej Suminski 4bf49bf6a6 Renamed TOOL_MOUSE_BUTTONS constants to avoid name conflict with Windows MB_RIGHT constant. 2013-10-15 10:41:00 +02:00
Maciej Suminski f9f23806ed Mainly case changes. 2013-10-14 20:40:36 +02:00
Maciej Suminski e66a4ce337 Namespace KiGfx->KIGFX.
template<> -> template <>
Some more reformatting according to uncrustify results.
2013-10-14 16:13:35 +02:00
Maciej Suminski 8253899a70 Converted tabs to spaces. Removed trailing whitespaces. 2013-10-14 13:43:57 +02:00
Maciej Sumiński 5c0bc4913e wxWidgets 2.8 compatibility fix (removed wx/kbdstate.h) 2013-09-29 14:25:04 +02:00
Maciej Suminski a3a73426bf Even more code comments and reformatting. 2013-09-27 18:51:21 +02:00
Maciej Suminski 276d867ab2 Some more comments and code formatting. 2013-09-27 16:23:43 +02:00
Maciej Suminski 4c67f4cc26 Added missing header 2013-09-27 14:29:07 +02:00
Maciej Suminski b369cc4afc Merge kicad-pns-mac 2013-09-27 12:06:59 +02:00
Maciej Suminski 9bef4cb797 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