108 Commits

Author SHA1 Message Date
Maciej Suminski
c1eda6b88c Some of the Tool Actions need to be run in immediate mode - fixed. 2014-07-09 16:50:31 +02:00
Maciej Suminski
49dd416c53 Dragged items offset is cleared when dragging is finished. 2014-07-09 16:50:31 +02:00
Maciej Suminski
0953d5730b Clear selection before opening the module editor. 2014-07-09 16:44:23 +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
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
bfa15d8db0 Moved SELECTION out of SELECTION_TOOL class. 2014-07-09 15:10:32 +02:00
Maciej Suminski
ed88c40be5 Moved module editor-specific tools to a separate class (MODULE_TOOLS). 2014-07-09 15:02:56 +02:00
Maciej Suminski
e3c4f425dc Fixed wrong reference point for copied items in subsequent module editor invocations (GAL). 2014-07-09 14:23:13 +02:00
Maciej Suminski
ac8ee56e51 Pasted module texts are rotated in the right way. 2014-07-09 14:23:13 +02:00
Maciej Suminski
5941f196c3 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
95a4f61eee wxWidgets 2.8 compatibility fix. 2014-07-09 14:23:13 +02:00
Maciej Suminski
5e48a79639 Copy & paste for module editor (GAL). 2014-07-09 14:22:29 +02:00
Maciej Suminski
ae431bbb05 Added MODULE::Add( BOARD_ITEM* )/Remove( BOARD_ITEM* )/Delete( BOARD_ITEM* ).
Removed MODULE::AddPad().
2014-07-09 14:22:29 +02:00
Maciej Suminski
637919a699 Added support for pads, texts and graphics removal in module editor (GAL). 2014-07-09 14:01:06 +02:00
Maciej Suminski
5d1ec2b204 Restored invocation of SELECTION_TOOL commands with TOOL_ACTIONs. 2014-07-09 13:50:27 +02:00
Maciej Suminski
5ce29330b1 Restored support for custom angle rotation. 2014-07-09 13:50:27 +02:00
Maciej Suminski
6e0bd1eedc Adapted tools to PCB_BASE{_EDIT}_FRAME. 2014-07-09 13:50:27 +02:00
Maciej Suminski
b0f3e79e54 Created a common interface for edit frames. 2014-07-09 13:50:27 +02:00
Maciej Suminski
2ee890d74b Minor changes. 2014-07-09 11:59:24 +02:00
Maciej Suminski
a6dac245c0 Removed TOOL_ACTIONs: selectionSingle, selectionClear. SELECTION_TOOL methods are called directly instead. 2014-07-09 11:59:24 +02:00
Maciej Suminski
a24576f3ce Initial version of the GAL-based Module Editor. 2014-07-09 11:22:43 +02:00
Maciej Suminski
553996e7be 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
95a6e8deb2 Dragging items by their origin is optional (activated by dragging elements with Ctrl held). 2014-06-23 16:12:59 +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
afbe21fe70 Single items are dragged by their origin in GAL canvas. 2014-06-05 09:55:53 +02:00
Maciej Suminski
517bfa3570 Minor code cleaning. 2014-06-04 18:01:01 +02:00
Maciej Suminski
655721d9ae Added missing changes required for updating footprints with the module editor. 2014-05-22 15:01:58 +02:00
Maciej Suminski
957f959e90 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
562beafcde Fixed modification point for EDIT_TOOL when the tool is not active. 2014-05-13 11:22:51 +02:00
Maciej Suminski
9325a9e74d Fixed rotation/flip point. 2014-05-13 11:22:51 +02:00
Maciej Suminski
a0801e2d8e Pad properties are back. 2014-05-13 11:22:51 +02:00
Maciej Suminski
929008c6c3 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
e6fd3934d1 Fixed ratsnest update after removing items. 2014-04-09 16:57:22 +02:00
Maciej Suminski
14687a45a7 Fixed occasional crashes on undo/redo while dragging. 2014-04-04 12:56:50 +02:00
Maciej Suminski
1ef68d73e5 Fixed missing transitions for EDIT_TOOLs. 2014-04-03 10:24:27 +02:00
Maciej Suminski
b6aa832f83 Converted std::bind1st to boost::bind. 2014-04-02 16:30:48 +02:00
Maciej Suminski
e79934b03d 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
1fa49ce7f0 Fixed drifting for items dragged using EDIT_TOOL. 2014-04-01 13:30:31 +02:00
Maciej Suminski
093e311a8d Fixed a few ratsnest glitches in GAL. 2014-03-19 15:33:13 +01:00
Maciej Suminski
f87f12e222 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
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
597e98dbf4 Cursor is in world coordinates. 2014-02-13 20:23:28 +01:00
Maciej Suminski
17c030aa98 Fixed removal of items in the KiCad-default style. 2014-02-05 11:08:34 +01:00
Maciej Suminski
f922533978 Added possibility for editing pads properties. 2014-02-05 09:05:27 +01:00
Maciej Suminski
8df0f769f7 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
625dcddb27 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
106fa9bbd8 Edit tool may still be activated if it was invoked with no selected items. 2014-02-04 14:21:29 +01:00
Maciej Suminski
bec24b6c7f Ratsnest is updated after rotation, flip, undo/redo operations.
Fixed crashes of ratsnest when a pointer for an item has changed after undo/redo operations.
Vias are properly removed from ratsnest (pcbnew/class_board.cpp).
2014-01-29 10:17:14 +01:00
Maciej Suminski
83f7c7e35e Added RN_DATA::Add()/Remove() methods.
RN_DATA::Update()/AddSimple() take BOARD_ITEM* as the parameter (instead of being split to versions with BOARD_CONNECTED_ITEM* and MODULE*), to make the code look clearer.
2014-01-28 16:30:58 +01:00
Maciej Suminski
8f054a606f Fixed snapping and ratsnest update for EDIT_TOOL. 2014-01-07 17:23:17 +01:00