Eclipse SUMO - Simulation of Urban MObility
|
#include <GNEChangeGroup.h>
declare friend class | |
class | GNEUndoList |
const std::string | myDescription |
description of command | |
const Supermode | myGroupSupermode |
supermode associated with this ChangeGroup | |
const GUIIcon | myIcon |
icon associated with this ChangeGroup | |
GNEChange * | undoList |
undo list command (can be access by GNEUndoList) | |
GNEChange * | redoList |
redo list command (can be access by GNEUndoList) | |
GNEChangeGroup * | group |
group (can be access by GNEUndoList) | |
std::string | myTimeStamp |
timeStamp HH:MM:SS | |
GNEChangeGroup (Supermode groupSupermode, GUIIcon icon, const std::string &description) | |
Construct initially empty undo command group. | |
~GNEChangeGroup () | |
Delete undo command and sub-commands. | |
void | undo () |
Undo whole command group. | |
void | redo () |
Redo whole command group. | |
std::string | undoName () const |
get undo Name | |
std::string | redoName () const |
get redo name | |
int | size () const |
Return the size of the command group. | |
const std::string & | getDescription () |
get description | |
const std::string & | getTimeStamp () |
get timeStamp | |
Supermode | getGroupSupermode () const |
get supermode associated with this ChangeGroup | |
GUIIcon | getGroupIcon () const |
get icon associated with this ChangeGroup | |
bool | empty () const |
Return TRUE if empty. | |
GNEChangeGroup () | |
FOX need this. | |
GNEChangeGroup (const GNEChangeGroup &) | |
invalidate copy constructor | |
GNEChangeGroup & | operator= (const GNEChangeGroup &)=delete |
invalidate assignment operator | |
friend class | |
const Supermode | mySupermode |
supermode related with this change | |
bool | myForward |
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag | |
const bool | mySelectedElement |
flag for check if element is selected | |
const GNEHierarchicalContainer | myOriginalHierarchicalContainer |
Hierarchical container with parent and children. | |
std::map< GNEHierarchicalElement *, GNEHierarchicalContainer > | myHierarchicalContainers |
map with hierarchical container of all parent and children elements | |
GNEChange * | next |
Supermode | getSupermode () const |
get supermode | |
bool | canMerge () const |
Return TRUE if this command can be merged with previous undo commands. This is useful to combine e.g. multiple consecutive single-character text changes into a single block change. The default implementation returns FALSE. | |
bool | mergeWith (GNEChange *command) |
Called by the undo system to try and merge the new incoming command with this command; should return TRUE if merging was possible. The default implementation returns FALSE. | |
void | restoreHierarchicalContainers () |
restore container (only use in undo() function) | |
template<typename T > | |
void | addElementInParentsAndChildren (T *element) |
add given element into parents and children (only use in redo() function) | |
template<typename T > | |
void | removeElementFromParentsAndChildren (T *element) |
remove given element from parents and children (only use in redo() function) | |
Group of undoable commands. A group may comprise multiple individual actions which together undo (or redo) a larger operation. Even larger operations may be built by nesting multiple undo groups.
Definition at line 31 of file GNEChangeGroup.h.
GNEChangeGroup::GNEChangeGroup | ( | Supermode | groupSupermode, |
GUIIcon | icon, | ||
const std::string & | description | ||
) |
Construct initially empty undo command group.
Definition at line 40 of file GNEChangeGroup.cpp.
References toString().
GNEChangeGroup::~GNEChangeGroup | ( | ) |
Delete undo command and sub-commands.
Definition at line 58 of file GNEChangeGroup.cpp.
References group, GNEChange::next, redoList, and undoList.
|
protected |
FOX need this.
Definition at line 156 of file GNEChangeGroup.cpp.
Referenced by GNEUndoList::begin(), and size().
|
private |
invalidate copy constructor
|
inlineprotectedinherited |
add given element into parents and children (only use in redo() function)
Definition at line 124 of file GNEChange.h.
References GNEHierarchicalContainer::getChildren(), GNEHierarchicalContainer::getParents(), and GNEChange::myOriginalHierarchicalContainer.
Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), and GNEChange_Lane::redo().
|
inherited |
Return TRUE if this command can be merged with previous undo commands. This is useful to combine e.g. multiple consecutive single-character text changes into a single block change. The default implementation returns FALSE.
Definition at line 74 of file GNEChange.cpp.
Referenced by GNEUndoList::add().
bool GNEChangeGroup::empty | ( | ) | const |
Return TRUE if empty.
Definition at line 111 of file GNEChangeGroup.cpp.
References undoList.
Referenced by GNEUndoList::end().
const std::string & GNEChangeGroup::getDescription | ( | ) |
GUIIcon GNEChangeGroup::getGroupIcon | ( | ) | const |
get icon associated with this ChangeGroup
Definition at line 93 of file GNEChangeGroup.cpp.
References myIcon.
Referenced by GNEUndoList::Iterator::getIcon().
Supermode GNEChangeGroup::getGroupSupermode | ( | ) | const |
get supermode associated with this ChangeGroup
Definition at line 87 of file GNEChangeGroup.cpp.
References myGroupSupermode.
Referenced by GNEUndoList::getRedoSupermode(), and GNEUndoList::getUndoSupermode().
|
inherited |
get supermode
Definition at line 68 of file GNEChange.cpp.
References GNEChange::mySupermode.
Referenced by GNEUndoList::getRedoSupermode(), and GNEUndoList::getUndoSupermode().
const std::string & GNEChangeGroup::getTimeStamp | ( | ) |
get timeStamp
Definition at line 81 of file GNEChangeGroup.cpp.
References myTimeStamp.
Referenced by GNEUndoList::Iterator::getTimeStamp().
|
inherited |
Called by the undo system to try and merge the new incoming command with this command; should return TRUE if merging was possible. The default implementation returns FALSE.
Definition at line 80 of file GNEChange.cpp.
Referenced by GNEUndoList::add().
|
privatedelete |
invalidate assignment operator
|
virtual |
Redo whole command group.
Implements GNEChange.
Reimplemented in GNEUndoList.
Definition at line 130 of file GNEChangeGroup.cpp.
References GNEChange::next, GNEChange::redo(), redoList, and undoList.
|
virtual |
get redo name
Implements GNEChange.
Reimplemented in GNEUndoList.
Definition at line 105 of file GNEChangeGroup.cpp.
References myDescription, and TL.
|
inlineprotectedinherited |
remove given element from parents and children (only use in redo() function)
Definition at line 167 of file GNEChange.h.
References GNEHierarchicalContainer::getChildren(), GNEHierarchicalContainer::getParents(), and GNEChange::myOriginalHierarchicalContainer.
Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), and GNEChange_Lane::redo().
|
protectedinherited |
restore container (only use in undo() function)
Definition at line 94 of file GNEChange.cpp.
References GNEChange::myHierarchicalContainers.
Referenced by GNEChange_Additional::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), and GNEChange_Lane::undo().
|
virtual |
Return the size of the command group.
Reimplemented from GNEChange.
Definition at line 143 of file GNEChangeGroup.cpp.
References GNEChangeGroup(), GNEChange::next, redoList, GNEChange::size(), and undoList.
|
virtual |
Undo whole command group.
Implements GNEChange.
Reimplemented in GNEUndoList.
Definition at line 117 of file GNEChangeGroup.cpp.
References GNEChange::next, redoList, GNEChange::undo(), and undoList.
Referenced by GNEUndoList::abortAllChangeGroups().
|
virtual |
get undo Name
Implements GNEChange.
Reimplemented in GNEUndoList.
Definition at line 99 of file GNEChangeGroup.cpp.
References myDescription, and TL.
|
friend |
Definition at line 36 of file GNEChangeGroup.h.
|
private |
group (can be access by GNEUndoList)
Definition at line 95 of file GNEChangeGroup.h.
Referenced by GNEUndoList::abortCurrentSubGroup(), GNEUndoList::add(), GNEUndoList::begin(), GNEUndoList::clear(), GNEUndoList::end(), GNEUndoList::redo(), GNEUndoList::undo(), and ~GNEChangeGroup().
|
protected |
description of command
Definition at line 79 of file GNEChangeGroup.h.
Referenced by getDescription(), redoName(), and undoName().
|
protectedinherited |
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag
Definition at line 212 of file GNEChange.h.
Referenced by GNEChange_Additional::redo(), GNEChange_Children::redo(), GNEChange_Connection::redo(), GNEChange_Crossing::redo(), GNEChange_DataInterval::redo(), GNEChange_DataSet::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_EdgeType::redo(), GNEChange_GenericData::redo(), GNEChange_Junction::redo(), GNEChange_Lane::redo(), GNEChange_MeanData::redo(), GNEChange_TLS::redo(), GNEChange_Additional::redoName(), GNEChange_Children::redoName(), GNEChange_Connection::redoName(), GNEChange_Crossing::redoName(), GNEChange_DataInterval::redoName(), GNEChange_DataSet::redoName(), GNEChange_DemandElement::redoName(), GNEChange_Edge::redoName(), GNEChange_EdgeType::redoName(), GNEChange_GenericData::redoName(), GNEChange_Junction::redoName(), GNEChange_Lane::redoName(), GNEChange_MeanData::redoName(), GNEChange_TLS::redoName(), GNEChange_Additional::undo(), GNEChange_Children::undo(), GNEChange_Connection::undo(), GNEChange_Crossing::undo(), GNEChange_DataInterval::undo(), GNEChange_DataSet::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_EdgeType::undo(), GNEChange_GenericData::undo(), GNEChange_Junction::undo(), GNEChange_Lane::undo(), GNEChange_MeanData::undo(), GNEChange_TLS::undo(), GNEChange_Additional::undoName(), GNEChange_Children::undoName(), GNEChange_Connection::undoName(), GNEChange_Crossing::undoName(), GNEChange_DataInterval::undoName(), GNEChange_DataSet::undoName(), GNEChange_DemandElement::undoName(), GNEChange_Edge::undoName(), GNEChange_EdgeType::undoName(), GNEChange_GenericData::undoName(), GNEChange_Junction::undoName(), GNEChange_Lane::undoName(), GNEChange_MeanData::undoName(), and GNEChange_TLS::undoName().
|
protected |
supermode associated with this ChangeGroup
Definition at line 82 of file GNEChangeGroup.h.
Referenced by getGroupSupermode().
|
protectedinherited |
map with hierarchical container of all parent and children elements
Definition at line 221 of file GNEChange.h.
Referenced by GNEChange::GNEChange(), and GNEChange::restoreHierarchicalContainers().
|
protected |
icon associated with this ChangeGroup
Definition at line 85 of file GNEChangeGroup.h.
Referenced by getGroupIcon().
|
protectedinherited |
Hierarchical container with parent and children.
Definition at line 218 of file GNEChange.h.
Referenced by GNEChange::addElementInParentsAndChildren(), GNEChange_DemandElement::redo(), GNEChange::removeElementFromParentsAndChildren(), and GNEChange_DemandElement::undo().
|
protectedinherited |
flag for check if element is selected
Definition at line 215 of file GNEChange.h.
Referenced by GNEChange_Additional::redo(), GNEChange_Connection::redo(), GNEChange_Crossing::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), GNEChange_Junction::redo(), GNEChange_Lane::redo(), GNEChange_MeanData::redo(), GNEChange_Additional::undo(), GNEChange_Connection::undo(), GNEChange_Crossing::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), GNEChange_Junction::undo(), GNEChange_Lane::undo(), and GNEChange_MeanData::undo().
|
protectedinherited |
supermode related with this change
Definition at line 209 of file GNEChange.h.
Referenced by GNEChange::getSupermode().
|
private |
|
privateinherited |
Definition at line 225 of file GNEChange.h.
Referenced by GNEUndoList::add(), GNEUndoList::clear(), GNEUndoList::cut(), GNEUndoList::end(), redo(), GNEUndoList::redo(), size(), undo(), GNEUndoList::undo(), and ~GNEChangeGroup().
|
private |
redo list command (can be access by GNEUndoList)
Definition at line 92 of file GNEChangeGroup.h.
Referenced by GNEUndoList::canRedo(), GNEUndoList::clear(), GNEUndoList::cut(), GNEUndoList::getRedoSupermode(), redo(), GNEUndoList::redo(), GNEUndoList::redoName(), size(), undo(), GNEUndoList::undo(), and ~GNEChangeGroup().
|
private |
undo list command (can be access by GNEUndoList)
Definition at line 89 of file GNEChangeGroup.h.
Referenced by GNEUndoList::add(), GNEUndoList::canUndo(), GNEUndoList::clear(), empty(), GNEUndoList::end(), GNEUndoList::getUndoSupermode(), redo(), GNEUndoList::redo(), size(), undo(), GNEUndoList::undo(), GNEUndoList::undoName(), and ~GNEChangeGroup().