Maciej Suminski
b00ca19f41
Deboostified ratsnest algorithm.
2016-09-13 14:58:33 +02:00
Maciej Suminski
64f04ab3e6
Merge branch 'undobuffer_refactor'
...
- BOARD_COMMIT class.
Wrapper around undo buffer to simplify storing changes. Also performs
all the necessary updates (ratsnest, view) once anything changes. A good
entry point to introduce an observer interface.
- Removed BOARD_ITEM::Copy(), switched to C++ copy constructors and
operator=.
- BOARD_ITEM_CONTAINER interface.
A generic interface for adding & removing items, base class for MODULE
and BOARD.
- Removed UR_MODEDIT.
Module editor now uses the same UR_* flags as the layout editor. Now,
together with BOARD_COMMIT is the way to unify undo handling code in
tools (no more ugly 'if(m_editModules) {...} else {...}').
- Common code for handling undo buffer in the layout & module editor.
board_undo_redo.cpp and modedit_undo_redo.cpp are merged to
undo_redo.cpp. A lot of redundant code removed.
2016-09-13 10:08:15 +02:00
Maciej Suminski
17806b58f6
Fixed unused variable warnings
2016-09-13 10:06:49 +02:00
Maciej Suminski
03f4a89521
More descriptive method names for RN_NODE
2016-09-13 10:06:25 +02:00
Maciej Suminski
02cfab4266
Display a message when a locked component is not removed
2016-09-12 13:45:57 +02:00
Maciej Suminski
c52a9d850b
Converted netlist updater to use BOARD_COMMIT
...
Fixes: lp:1579910
* https://bugs.launchpad.net/kicad/+bug/1579910
2016-09-12 13:45:57 +02:00
Maciej Suminski
3425624510
Compile_Ratsnest() refreshes track labels
2016-09-12 13:45:57 +02:00
Maciej Suminski
3bcbe0dfbd
GAL ratsnest code cleanup
2016-09-12 13:45:57 +02:00
Maciej Suminski
0cc2c87ef8
Removed BOARD::AppendNet()
...
It is handled by BOARD::Add() now.
2016-09-12 13:45:57 +02:00
Maciej Suminski
77f74646af
Auto update ratsnest data on net change
2016-09-12 13:45:57 +02:00
Maciej Suminski
d33672cce7
Added missing break
2016-09-12 13:45:57 +02:00
Maciej Suminski
828f28ecca
Ratsnest Add()/Remove()/Update() return true on success
2016-09-12 13:45:57 +02:00
Maciej Suminski
790b6eaeb9
Fixed ratsnest updates on undo/redo
2016-09-12 13:45:57 +02:00
Maciej Suminski
694aa7ff5b
Handle pad autonumbering when the number set is empty.
2016-09-12 13:45:57 +02:00
Maciej Suminski
6481ff75c9
Changed one of COMMIT::Stage() methods to COMMIT::Modified()
2016-09-12 13:45:57 +02:00
Maciej Suminski
267f01fa69
Code formatting (BOARD_NETLIST_UPDATER)
2016-09-12 13:45:57 +02:00
Maciej Suminski
029e275aa0
Unselect modified component before replacing by the FP editor.
2016-09-12 13:45:57 +02:00
Maciej Suminski
b0b64ac964
Fixed freeze after updating a footprint using the FP editor.
2016-09-12 13:45:57 +02:00
Maciej Suminski
edf64afa3e
Fixed freezes after appending a board.
2016-09-12 13:45:57 +02:00
Maciej Suminski
65b1225231
Added CHT_DONE flag to COMMIT::Stage to skip add/remove step
2016-09-12 13:45:57 +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
91ea4242ca
Fixed freeze after adding a module
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
86895822b7
BOARD_COMMIT retracts changes in reversed order
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
5c0605f6dc
Mute a few warnings
2016-09-12 11:50:06 +02:00
Maciej Suminski
32c4bec31c
Implemented BOARD_COMMIT::Revert()
2016-09-12 11:50:06 +02:00
Maciej Suminski
39d5cd2aca
Unified BOARD::Duplicate()
2016-09-12 11:50:06 +02:00
Maciej Suminski
74d53e517c
VIEW_GROUP objects redraw itself after a change
2016-09-12 11:50:06 +02:00
Maciej Suminski
86b906463f
Fixed an assert in 'Create array' dialog
2016-09-12 11:50:06 +02:00
Maciej Suminski
acd7214586
Moved commit.h to 'include' directory
2016-09-12 11:50:06 +02:00
Maciej Suminski
c4be379b31
Modified properties dialog to take advantage of BOARD_COMMIT class.
2016-09-12 11:50:06 +02:00
Maciej Suminski
38177b70b9
Comments for COMMIT class
2016-09-12 11:50:06 +02:00
Maciej Suminski
08d15a9961
BOARD_COMMIT::Revert() marked as not tested
2016-09-12 11:50:06 +02:00
Maciej Suminski
f1b37109e3
BOARD_COMMIT code cleaning
...
Moved a few conditionals to scopes where they can be executed.
Simpler way to create ITEM_PICKERs.
2016-09-12 11:50:06 +02:00
Maciej Suminski
c7ce82a4bf
BOARD_COMMIT creates only one copy of a modified module
2016-09-12 11:50:06 +02:00
Maciej Suminski
992ca6e7c7
Fixed removal function in BOARD_COMMIT.
2016-09-12 11:50:06 +02:00
Maciej Suminski
2ab7196035
Reenabled and corrected BOARD_COMMIT::Revert().
2016-09-12 11:50:06 +02:00
Maciej Suminski
497fb31ae0
BOARD_COMMIT can be constructed using a PCB_BASE_FRAME*.
2016-09-12 11:50:06 +02:00
Maciej Suminski
b25c407576
Rebuild the old ratsnest model only if GAL is inactive.
2016-09-12 11:50:06 +02:00
Maciej Suminski
940765f4b3
COMMIT class: removed m_committed flag, added clear() and Empty() methods.
2016-09-12 11:50:06 +02:00
Maciej Suminski
b815ea7865
Removed remaining m_editModules flags.
2016-09-12 11:50:06 +02:00
Maciej Suminski
b8350f037b
COMMIT: Added an interface to store items that already have a copy created.
2016-09-12 11:50:06 +02:00
Maciej Suminski
0223425d30
COMMIT: changed BOOST_FOREACH to for.
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
Maciej Suminski
dac7c5aa1f
Store parent object when creating a COMMIT.
2016-09-12 11:50:06 +02:00
Maciej Suminski
b661993427
Removed SELECTION_TOOL::EditModules()
...
as there is already PCB_TOOL::SetEditModules() and
SELECTION_TOOL::m_editModules shadows PCB_TOOL::m_editModules.
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