Commit Graph

61 Commits

Author SHA1 Message Date
Maciej Suminski ced6613bb5 Fixed offset of dragged items when the moving tool is invoked by the hotkey (GAL). 2014-07-15 16:33:46 +02:00
Maciej Suminski cf0a9ee8af Selection tool uses the real drag origin to compute offset when dragging items. 2014-07-09 16:50:31 +02:00
Maciej Suminski f3bdc29e8e Support for "locked" property for modules (GAL). 2014-07-09 16:50:31 +02:00
Maciej Suminski 53c0b9d85b Some of the Tool Actions need to be run in immediate mode - fixed. 2014-07-09 16:50:31 +02:00
Maciej Suminski 88319139ed Dragged items offset is cleared when dragging is finished. 2014-07-09 16:50:31 +02:00
Maciej Suminski df1dfbbb92 Clear selection before opening the module editor. 2014-07-09 16:44:23 +02:00
Maciej Suminski a3eb60e068 Added event queue to handle events at the end of the event processing cycle. 2014-07-09 16:25:50 +02:00
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 c68bea5a6b Moved SELECTION out of SELECTION_TOOL class. 2014-07-09 15:10:32 +02:00
Maciej Suminski d87232f652 Moved module editor-specific tools to a separate class (MODULE_TOOLS). 2014-07-09 15:02:56 +02:00
Maciej Suminski 21b3eb98b6 Fixed wrong reference point for copied items in subsequent module editor invocations (GAL). 2014-07-09 14:23:13 +02:00
Maciej Suminski 327c8594c5 Pasted module texts are rotated in the right way. 2014-07-09 14:23:13 +02:00
Maciej Suminski cfddb40d79 Reference point is selected for copied items. Enabled autopanning for copy & paste operations (module editor/GAL). 2014-07-09 14:23:13 +02:00
Maciej Suminski bba31a43eb wxWidgets 2.8 compatibility fix. 2014-07-09 14:23:13 +02:00
Maciej Suminski 73245e5930 Copy & paste for module editor (GAL). 2014-07-09 14:22:29 +02:00
Maciej Suminski d2c78c8bb7 Added MODULE::Add( BOARD_ITEM* )/Remove( BOARD_ITEM* )/Delete( BOARD_ITEM* ).
Removed MODULE::AddPad().
2014-07-09 14:22:29 +02:00
Maciej Suminski e5b868cf73 Added support for pads, texts and graphics removal in module editor (GAL). 2014-07-09 14:01:06 +02:00
Maciej Suminski 4933fb3f2c Restored invocation of SELECTION_TOOL commands with TOOL_ACTIONs. 2014-07-09 13:50:27 +02:00
Maciej Suminski 43275ef943 Restored support for custom angle rotation. 2014-07-09 13:50:27 +02:00
Maciej Suminski d41e93ef14 Adapted tools to PCB_BASE{_EDIT}_FRAME. 2014-07-09 13:50:27 +02:00
Maciej Suminski 98c35ceab4 Created a common interface for edit frames. 2014-07-09 13:50:27 +02:00
Maciej Suminski 520038c750 Minor changes. 2014-07-09 11:59:24 +02:00
Maciej Suminski e290fff052 Removed TOOL_ACTIONs: selectionSingle, selectionClear. SELECTION_TOOL methods are called directly instead. 2014-07-09 11:59:24 +02:00
Maciej Suminski 748f738675 Initial version of the GAL-based Module Editor. 2014-07-09 11:22:43 +02:00
Maciej Suminski 677240cd2a bugfix: pads edited with properties dialog were not refreshed.
bugfix: changing track width/via size using the dropdown menu when custom size was enabled did not change anything.
2014-07-09 11:22:43 +02:00
Maciej Suminski f20a875ee9 Dragging items by their origin is optional (activated by dragging elements with Ctrl held). 2014-06-23 16:12:59 +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 c6a2eb6c9d Single items are dragged by their origin in GAL canvas. 2014-06-05 09:55:53 +02:00
Maciej Suminski 35bc2efb61 Minor code cleaning. 2014-06-04 18:01:01 +02:00
Maciej Suminski 55b20ea70d Added missing changes required for updating footprints with the module editor. 2014-05-22 15:01:58 +02:00
Maciej Suminski 4d80e42219 Fixed bug 1321936: changing a footprint for a set of modules relocates them in GAL canvas.
Changes introduced by the module editor are updated in GAL canvas.
2014-05-22 12:06:45 +02:00
Maciej Suminski 3bcb728c84 Fixed modification point for EDIT_TOOL when the tool is not active. 2014-05-13 11:22:51 +02:00
Maciej Suminski ff0ca7ee95 Fixed rotation/flip point. 2014-05-13 11:22:51 +02:00
Maciej Suminski cdcb10d8bc Pad properties are back. 2014-05-13 11:22:51 +02:00
Maciej Suminski 2c594c9b18 SELECTION_TOOL updates dragging offset after rotating/flipping.
Cursor position is saved as a field in order to avoid drifting of items while they are being dragged and rotated/flipped.
2014-05-13 11:22:51 +02:00
Maciej Suminski 1a3f7989df Fixed ratsnest update after removing items. 2014-04-09 16:57:22 +02:00
Maciej Suminski 52640fd5fd Fixed occasional crashes on undo/redo while dragging. 2014-04-04 12:56:50 +02:00
Maciej Suminski 33bad83ea7 Fixed missing transitions for EDIT_TOOLs. 2014-04-03 10:24:27 +02:00
Maciej Suminski bf92b0103a Converted std::bind1st to boost::bind. 2014-04-02 16:30:48 +02:00
Maciej Suminski 9b67ee04e6 If tool was previously active and it is called again, it is brought to the top of the active tool stack.
It fixes issue of dragging of items that have EDIT_POINTs, when dragging was activated by hovering over an item and using hot key.
2014-04-01 14:35:09 +02:00
Maciej Suminski 96e9942a9b Fixed drifting for items dragged using EDIT_TOOL. 2014-04-01 13:30:31 +02:00
Maciej Suminski 25538205c9 Fixed a few ratsnest glitches in GAL. 2014-03-19 15:33:13 +01:00
Maciej Suminski a1f80f20a7 Added TOOL_ACTION for updating EDIT_POINTS.
EDIT_POINTs show up when there is only one item selected (now after deselection as well).
2014-02-28 16:53:28 +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 249de46078 Cursor is in world coordinates. 2014-02-13 20:23:28 +01:00
Maciej Suminski de0c476042 Fixed removal of items in the KiCad-default style. 2014-02-05 11:08:34 +01:00
Maciej Suminski cf9e5417d0 Added possibility for editing pads properties. 2014-02-05 09:05:27 +01:00
Maciej Suminski 244be39ffa Added KiCad-style modification methods (hover over an item and press a hot key, without selecting first).
Modification point is selected basing on the number of selected items.
Rotation angle setting (Preferences->General) is taken into account while rotating.
2014-02-04 17:27:00 +01:00
Maciej Suminski 9ee9c93ef8 Added 2 tool actions:
- pcbnew.InteractiveSelection.Single for selecting a single item
- pcbnew.InteractiveSelection.Clear for clearing the selection
Made SELECTION_TOOL::clearSelection private.
2014-02-04 16:03:56 +01:00
Maciej Suminski 980e325ba1 Edit tool may still be activated if it was invoked with no selected items. 2014-02-04 14:21:29 +01:00