![]() |
Eclipse SUMO - Simulation of Urban MObility
|
the function-object for an editing operation (abstract base) More...
#include <GNEChange.h>
friend class | |
class | GNEChangeGroup |
class | GNEUndoList |
const Supermode | mySupermode |
supermode related with this change | |
const GNEHierarchicalStructureParents | myParents |
Hierarchical container with parents. | |
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 | |
GNEChange * | next |
GNEChange (Supermode supermode, bool forward, const bool selectedElement) | |
Constructor. | |
GNEChange (Supermode supermode, GNEHierarchicalElement *element, bool forward, const bool selectedElement) | |
Constructor. | |
~GNEChange () | |
Destructor. | |
virtual void | undo ()=0 |
undo action/operation | |
virtual void | redo ()=0 |
redo action/operation | |
virtual std::string | undoName () const =0 |
return undoName | |
virtual std::string | redoName () const =0 |
return redoName | |
virtual int | size () const |
Return the size of the command group. | |
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. | |
GNEChange () | |
FOX need this. | |
template<typename T > | |
void | addElementInParentsAndChildren (T *element) |
add given element in parents and children | |
template<typename T > | |
void | removeElementFromParentsAndChildren (T *element) |
remove given element from parents and children | |
GNEChange (const GNEChange &)=delete | |
Invalidated copy constructor. | |
GNEChange & | operator= (const GNEChange &)=delete |
Invalidated assignment operator. | |
the function-object for an editing operation (abstract base)
Definition at line 56 of file GNEChange.h.
GNEChange::GNEChange | ( | Supermode | supermode, |
bool | forward, | ||
const bool | selectedElement | ||
) |
Constructor.
[in] | supermode | related with this change |
[in] | forward | The direction of this change |
[in] | selectedElement | flag to mark if element is selected |
Definition at line 34 of file GNEChange.cpp.
GNEChange::GNEChange | ( | Supermode | supermode, |
GNEHierarchicalElement * | element, | ||
bool | forward, | ||
const bool | selectedElement | ||
) |
Constructor.
[in] | supermode | related with this change |
[in] | element | hierarchical element |
[in] | forward | The direction of this change |
[in] | selectedElement | flag to mark if element is selected |
Definition at line 42 of file GNEChange.cpp.
References GNEHierarchicalElement::clearParents().
GNEChange::~GNEChange | ( | ) |
Destructor.
Definition at line 55 of file GNEChange.cpp.
|
protected |
FOX need this.
Definition at line 83 of file GNEChange.cpp.
|
privatedelete |
Invalidated copy constructor.
|
inlineprotected |
add given element in parents and children
Definition at line 121 of file GNEChange.h.
References GNEHierarchicalStructureParents::get(), GNEHierarchicalElement::insertChild(), and myParents.
Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), GNEChange_Junction::redo(), GNEChange_TAZSourceSink::redo(), GNEChange_Additional::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), GNEChange_Junction::undo(), and GNEChange_TAZSourceSink::undo().
bool GNEChange::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.
Definition at line 72 of file GNEChange.cpp.
Referenced by GNEUndoList::add().
Supermode GNEChange::getSupermode | ( | ) | const |
get supermode
Definition at line 66 of file GNEChange.cpp.
References mySupermode.
Referenced by GNEUndoList::getRedoSupermode(), and GNEUndoList::getUndoSupermode().
bool GNEChange::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.
Definition at line 78 of file GNEChange.cpp.
Referenced by GNEUndoList::add().
Invalidated assignment operator.
|
pure virtual |
redo action/operation
Implemented in GNEChange_Additional, GNEChange_Attribute, GNEChange_Children, GNEChange_Connection, GNEChange_Crossing, GNEChange_DataInterval, GNEChange_DataSet, GNEChange_DemandElement, GNEChange_Edge, GNEChange_EdgeType, GNEChange_GenericData, GNEChange_Junction, GNEChange_Lane, GNEChange_MeanData, GNEChange_RegisterJoin, GNEChange_TAZSourceSink, GNEChange_TLS, GNEChange_ToggleAttribute, GNEChangeGroup, GNENetHelper::GNEChange_ReplaceEdgeInTLS, and GNEUndoList.
Referenced by GNEUndoList::add(), GNEChangeGroup::redo(), and GNEUndoList::redo().
|
pure virtual |
return redoName
Implemented in GNEChange_Additional, GNEChange_Attribute, GNEChange_Children, GNEChange_Connection, GNEChange_Crossing, GNEChange_DataInterval, GNEChange_DataSet, GNEChange_DemandElement, GNEChange_Edge, GNEChange_EdgeType, GNEChange_GenericData, GNEChange_Junction, GNEChange_Lane, GNEChange_MeanData, GNEChange_RegisterJoin, GNEChange_TAZSourceSink, GNEChange_TLS, GNEChange_ToggleAttribute, GNEChangeGroup, GNENetHelper::GNEChange_ReplaceEdgeInTLS, and GNEUndoList.
Referenced by GNEUndoList::Iterator::getDescription(), and GNEUndoList::redoName().
|
inlineprotected |
remove given element from parents and children
Definition at line 148 of file GNEChange.h.
References GNEHierarchicalStructureParents::get(), myParents, and GNEHierarchicalElement::removeChild().
Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), GNEChange_Junction::redo(), GNEChange_TAZSourceSink::redo(), GNEChange_Additional::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), GNEChange_Junction::undo(), and GNEChange_TAZSourceSink::undo().
|
virtual |
Return the size of the command group.
Reimplemented in GNEChangeGroup.
Definition at line 59 of file GNEChange.cpp.
Referenced by GNEUndoList::currentCommandGroupSize(), and GNEChangeGroup::size().
|
pure virtual |
undo action/operation
Implemented in GNEChange_Additional, GNEChange_Attribute, GNEChange_Children, GNEChange_Connection, GNEChange_Crossing, GNEChange_DataInterval, GNEChange_DataSet, GNEChange_DemandElement, GNEChange_Edge, GNEChange_EdgeType, GNEChange_GenericData, GNEChange_Junction, GNEChange_Lane, GNEChange_MeanData, GNEChange_RegisterJoin, GNEChange_TAZSourceSink, GNEChange_TLS, GNEChange_ToggleAttribute, GNEChangeGroup, GNENetHelper::GNEChange_ReplaceEdgeInTLS, and GNEUndoList.
Referenced by GNEChangeGroup::undo(), and GNEUndoList::undo().
|
pure virtual |
return undoName
Implemented in GNEChange_Additional, GNEChange_Attribute, GNEChange_Children, GNEChange_Connection, GNEChange_Crossing, GNEChange_DataInterval, GNEChange_DataSet, GNEChange_DemandElement, GNEChange_Edge, GNEChange_EdgeType, GNEChange_GenericData, GNEChange_Junction, GNEChange_Lane, GNEChange_MeanData, GNEChange_RegisterJoin, GNEChange_TAZSourceSink, GNEChange_TLS, GNEChange_ToggleAttribute, GNEChangeGroup, GNENetHelper::GNEChange_ReplaceEdgeInTLS, and GNEUndoList.
Referenced by GNEUndoList::undoName().
|
friend |
Definition at line 61 of file GNEChange.h.
|
friend |
Definition at line 62 of file GNEChange.h.
|
protected |
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag
Definition at line 180 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_TAZSourceSink::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_TAZSourceSink::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_TAZSourceSink::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(), GNEChange_TAZSourceSink::undoName(), and GNEChange_TLS::undoName().
|
protected |
Hierarchical container with parents.
Definition at line 177 of file GNEChange.h.
Referenced by addElementInParentsAndChildren(), GNEChange_DemandElement::redo(), removeElementFromParentsAndChildren(), and GNEChange_DemandElement::undo().
|
protected |
flag for check if element is selected
Definition at line 183 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_TAZSourceSink::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().
|
protected |
supermode related with this change
Definition at line 174 of file GNEChange.h.
Referenced by getSupermode().
|
private |
Definition at line 187 of file GNEChange.h.
Referenced by GNEUndoList::add(), GNEUndoList::clear(), GNEUndoList::cut(), GNEUndoList::end(), GNEChangeGroup::redo(), GNEUndoList::redo(), GNEChangeGroup::size(), GNEChangeGroup::undo(), GNEUndoList::undo(), and GNEChangeGroup::~GNEChangeGroup().