196 Commits

Author SHA1 Message Date
John Beard
45b60b1bb0 Add exchange modules GAL tool (in EDIT_TOOL)
Includes tool action and the transistion binding in EDIT_TOOL.

Fixes: lp:1541460
* https://bugs.launchpad.net/kicad/+bug/1541460
2017-02-01 09:57:36 +01:00
Maciej Suminski
9627f063ff Added missing handler for 'activate' events in EDIT_TOOL
Fixes: lp:1660306
* https://bugs.launchpad.net/kicad/+bug/1660306
2017-01-30 14:05:44 +01:00
John Beard
0f5bfdb156 Add mirror tool action for GAL module editor
This is basically a simple clone of the legacy tool with a few minor
tidy-ups for GAL mode.

Fixes: lp:1619301
* https://bugs.launchpad.net/kicad/+bug/1619301
2017-01-25 20:17:28 +01:00
Maciej Suminski
e5fbd0c442 Fixed crash upon finished zone drawing in GAL.
In principle, this patch reverts 2eefa117. The difference is removal of
one unused method (SELECTION::clear) and fixing hidden overloaded
virtual methods warnings.

Fixes: lp:1657569
* https://bugs.launchpad.net/kicad/+bug/1657569
2017-01-18 22:06:23 +01:00
Maciej Suminski
75fb04d650 TOOL_ACTIONs are handled with transitions, no handlers needed in the event loops
There used to be a number of TOOL_ACTIONs that had entries both in
SetTransitions() and the event loop, which seemed redundant and
troublesome.
Now it is not necessary anymore, transitions setup is enough to execute
associated actions.
2017-01-18 14:20:39 +01:00
Maciej Suminski
2eefa11732 SELECTION has-a VIEW_GROUP instead of being-a VIEW_GROUP
Fixed numerous warnings caused by hidden overloaded methods
provided in both classes (Add(), Remove(), etc.)
2017-01-18 13:22:41 +01:00
Maciej Suminski
004ca3c6f9 Fixed a memory leak in VIEW_ITEM (proper way of doing 9bc2bb2)
The problem with simple deleting VIEW_ITEM_DATA upon VIEW_ITEM removal was
caused by the default copy constructors that copied pointers.
Once a copy of an item was destroyed, the VIEW_ITEM_DATA has been
destroyed, effectively invalidating m_viewPrivData for the other item.
2017-01-16 14:57:50 +01:00
John Beard
c50d28d94d Access tools' TOOL_MENUs rather than CONDITIONAL_MENUs
This means that non-top-level tools, for example EDIT_TOOL and
PCB_EDITOR_CONTROL can submit their own menus to the top-level tool's
TOOL_MENU, which will then retain a reference to it and make it
available for the CONTEXT_MENU that is shown.
2017-01-12 14:34:03 +01:00
jean-pierre charras
2972f6fbc7 Fix shadowed local variable 2016-12-20 17:51:55 +01:00
Maciej Suminski
89055c4425 Code formatting 2016-12-12 16:45:52 +01:00
Tomasz Włostowski
1c1f4e9a50 Refactoring of VIEW/VIEW_ITEM classes:
- Remove dependency of EDA_ITEM on VIEW
- VIEW_ITEM is now a pure virtual interface
2016-12-12 16:45:52 +01:00
Tomasz Włostowski
27a10e8597 Multiple simplifications to GAL tools in PCBNew:
- Finalize transition to BOARD_COMMIT (removed all remaining uses of PICKED_ITEMS_LIST) and implicit view/ratsnest updates
- Simplified SELECTION class, it now can be directly added to a VIEW
- Removed unnecesary casts and templates
- Introduced C++11 features (range based for, lambdas) where they improve code readability
- Added non-undoable COMMITs, which can be used to propagate change notifications to interested listeners (e.g. ratsnest/view)
2016-12-12 16:45:52 +01:00
jean-pierre charras
bcfc1e7a3f fix shadowed local variables 2016-11-25 16:00:42 +01:00
Simon Richter
ad088db6d2 Add more "override" markers. 2016-09-25 13:59:41 -04:00
decimad
6a9c1cb6a1 Split the undo/redo event into the two stages "pre" and "post" for convenient synchronization of dependent state. 2016-09-23 13:29:25 +02:00
Maciej Suminski
6701b80f77 Converted global deletion, global text size setting & module exchange to BOARD_COMMIT. 2016-09-12 13:45:57 +02:00
Maciej Suminski
303a6928ab Changed pointEditorUpdate to editModifiedSelection. 2016-09-12 13:45:57 +02:00
Maciej Suminski
ad1111748e Removed 'undo inhibit' in EDIT_TOOL 2016-09-12 13:45:57 +02:00
Maciej Suminski
5a1f52bf30 Modified tools to use BOARD_COMMIT. 2016-09-12 13:45:57 +02:00
Maciej Suminski
b815ea7865 Removed remaining m_editModules flags. 2016-09-12 11:50:06 +02:00
Maciej Suminski
9861b35707 EDIT_TOOL::hoverSelection() works with current selection. 2016-09-12 11:50:06 +02:00
Tomasz Wlostowski
a5b7a7ca0a Changed DuplicateAndAddItem() to parametrized Duplicate(). 2016-09-12 11:50:06 +02:00
Tomasz Wlostowski
1924507001 Added a PCB_TOOL subclass. 2016-09-12 11:50:06 +02:00
Maciej Suminski
ff6bdeee4b Removed a number 'if(m_editModules)' sections from pcbnew tools. 2016-09-12 11:50:06 +02:00
Maciej Suminski
1dd43d1d98 Unified undo buffer handling code for PCB & module editor.
Replaced UR_MODEDIT with UR_CHANGED.
2016-09-12 11:50:06 +02:00
Simon Richter
1b2fd6a382 Replace BOOST_FOREACH with C++11 range based for. 2016-06-29 16:07:55 -04:00
Michael Steinberg
fde12ebd25 Replace boost::function and boost::bind with their std:: counterparts 2016-06-29 12:23:11 +02:00
jean-pierre charras
e2cc78b2b5 Code cleanup: remove dead code (some removed methods were broken), and update or add comments. 2016-06-01 11:28:07 +02:00
Maciej Suminski
a30c8d7848 Coverity fixes. 2016-05-11 11:18:27 +02:00
Maciej Suminski
dd10c577ec Added SELECTION_CONDITIONS::OnlyTypes() variant that takes KICAD_T[]4 2016-05-04 18:35:20 +02:00
unknown
b8a91c7a98 Enhancements in Create array tool (bad parameters detection and disable parms when not applicable) 2016-04-02 14:52:29 +02:00
Chris Pavlina
60d93d024c pcbnew: don't pick up selection after unsuccessful Duplicate
Following rev 6627 (git 2777182), if a non-duplicatable item was the object of
a Duplicate action, the original item would be picked up, potentially
misleading the user into thinking something was actually duplicated.
2016-03-18 07:15:50 -04:00
jean-pierre charras
b237d81b75 Create Array dialog: some fixes:
*  No initial copied object changed (this was a serious bug to modify these objects. Previous version modified references and other texts using a very stupid algorithm).
  It also fixes bug 1549231
* only new pads are numbered (therefore renumbering is used only in footprint editor)
*  remove not working and useless feature in circular array: now  only use number for pads (others options using alphabetical letters are removed: did not work corectly, and were useless)
* a more clear option is used to choose if the pads are numbered from a choosen value, or from the first avaible value
* Adding a warning messsage if a parameter is incorrect.
2016-03-07 08:13:06 +01:00
Simon Wells
712ff51d3f Clarify assignment as conditional in EDIT_TOOL::Main 2016-01-11 17:12:11 -05:00
Maciej Suminski
203e8156a1 pcbnew asks before rotating/flipping a locked item (GAL). 2016-01-05 17:01:59 +01:00
Maciej Suminski
0cad702fc7 Fixed footprint editor crash on ref/val text layer change (GAL). 2015-08-15 16:00:34 +02:00
Maciej Suminski
e3cbfb0609 Better way of handling changes in EDIT_TOOL (GAL). 2015-07-31 17:40:19 +02:00
Maciej Suminski
c632f3db18 Update ratsnest on footprint change (GAL). 2015-07-28 17:33:18 +02:00
Maciej Suminski
6983f90b9f Align cursor to the grid when dragging multiple items (GAL). 2015-07-28 10:28:59 +02:00
Maciej Suminski
d010703eaf Fixed cursor freeze in pcbnew (GAL). 2015-07-24 10:58:47 +02:00
Maciej Suminski
74584e2081 Fixed crash on undo layer change in TEXTE_MODULE. 2015-07-24 09:42:46 +02:00
Maciej Suminski
982eee7905 Do not invoke PNS inline dragging when 'Duplicate' is run. 2015-07-24 09:42:45 +02:00
Maciej Suminski
36d3d9f78e Cursor warps to the drag origin (GAL). 2015-07-15 17:32:30 +02:00
Maciej Suminski
6a6ea35335 Fixed assert on double 'Move' command invocation (GAL). 2015-07-15 14:08:52 +02:00
Maciej Suminski
59af7a96f8 Minor code cleaning. 2015-07-15 14:08:52 +02:00
Maciej Suminski
36d1818b54 Fixed snapping problem when commands are issued from the context menu (GAL). 2015-07-15 14:08:51 +02:00
Maciej Suminski
33e1797116 Tracks & vias properties dialog. 2015-07-09 13:35:51 +02:00
Maciej Suminski
e7099036d7 Fixed one key delay when moving items with arrow keys (GAL). 2015-07-07 18:36:50 +02:00
Maciej Suminski
1b4daade82 GRID_HELPER anchors for vias (GAL). 2015-07-07 18:36:32 +02:00
Maciej Suminski
891bd3d629 Do not show 'Properties' menu entry if there is more than one item selected (GAL). 2015-07-03 20:58:11 +02:00