![]() |
Eclipse SUMO - Simulation of Urban MObility
|
the function-object for an editing operation (abstract base) More...
#include <GNEChange.h>
Public Member Functions | |
| GNEChange (bool forward, const bool selectedElement) | |
| Constructor. More... | |
| GNEChange (GNEHierarchicalElement *element, bool forward, const bool selectedElement) | |
| Constructor. More... | |
| virtual void | redo () |
| redo action/operation More... | |
| virtual FXString | redoName () const |
| return rendoName More... | |
| virtual FXuint | size () const |
| return actual size More... | |
| virtual void | undo () |
| undo action/operation More... | |
| virtual FXString | undoName () const |
| return undoName More... | |
| ~GNEChange () | |
| Destructor. More... | |
Protected Member Functions | |
| template<typename T > | |
| void | addElementInParentsAndChildren (T *element) |
| add given element into parents and children (only use in redo() function) More... | |
| template<typename T > | |
| void | removeElementFromParentsAndChildren (T *element) |
| remove given element from parents and children (only use in redo() function) More... | |
| void | restoreHierarchicalContainers () |
| restore container (only use in undo() function) More... | |
Protected Attributes | |
| bool | myForward |
| we group antagonistic commands (create junction/delete junction) and keep them apart by this flag More... | |
| std::map< GNEHierarchicalElement *, GNEHierarchicalContainer > | myHierarchicalContainers |
| map with hierarchical container of all parent and children elements More... | |
| const GNEHierarchicalContainer | myOriginalHierarchicalContainer |
| Hierarchical container with parent and children. More... | |
| const bool | mySelectedElement |
| flag for check if element is selected More... | |
the function-object for an editing operation (abstract base)
Definition at line 65 of file GNEChange.h.
| GNEChange::GNEChange | ( | bool | forward, |
| const bool | selectedElement | ||
| ) |
Constructor.
| [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 | ( | GNEHierarchicalElement * | element, |
| bool | forward, | ||
| const bool | selectedElement | ||
| ) |
Constructor.
| [in] | element | hierarchical element |
| [in] | forward | The direction of this change |
| [in] | selectedElement | flag to mark if element is selected |
Definition at line 39 of file GNEChange.cpp.
References GNEHierarchicalElement::getAllHierarchicalElements(), and myHierarchicalContainers.
| GNEChange::~GNEChange | ( | ) |
Destructor.
Definition at line 52 of file GNEChange.cpp.
|
inlineprotected |
add given element into parents and children (only use in redo() function)
Definition at line 106 of file GNEChange.h.
References GNEHierarchicalContainer::getChildren(), GNEHierarchicalContainer::getParents(), and myOriginalHierarchicalContainer.
Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), GNEChange_Lane::redo(), GNEChange_Shape::redo(), and GNEChange_TAZElement::redo().
|
virtual |
redo action/operation
Reimplemented in GNENetHelper::GNEChange_ReplaceEdgeInTLS, GNEChange_TLS, GNEChange_TAZElement, GNEChange_Shape, GNEChange_LaneType, GNEChange_Lane, GNEChange_Junction, GNEChange_GenericData, GNEChange_EnableAttribute, GNEChange_EdgeType, GNEChange_Edge, GNEChange_DemandElement, GNEChange_DataSet, GNEChange_DataInterval, GNEChange_Crossing, GNEChange_Connection, GNEChange_Children, GNEChange_Attribute, and GNEChange_Additional.
Definition at line 78 of file GNEChange.cpp.
|
virtual |
return rendoName
Reimplemented in GNENetHelper::GNEChange_ReplaceEdgeInTLS, GNEChange_TLS, GNEChange_TAZElement, GNEChange_Shape, GNEChange_LaneType, GNEChange_Lane, GNEChange_Junction, GNEChange_GenericData, GNEChange_EnableAttribute, GNEChange_EdgeType, GNEChange_Edge, GNEChange_DemandElement, GNEChange_DataSet, GNEChange_DataInterval, GNEChange_Crossing, GNEChange_Connection, GNEChange_Children, GNEChange_Attribute, and GNEChange_Additional.
Definition at line 68 of file GNEChange.cpp.
|
inlineprotected |
remove given element from parents and children (only use in redo() function)
Definition at line 161 of file GNEChange.h.
References GNEHierarchicalContainer::getChildren(), GNEHierarchicalContainer::getParents(), and myOriginalHierarchicalContainer.
Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), GNEChange_Lane::redo(), GNEChange_Shape::redo(), and GNEChange_TAZElement::redo().
|
protected |
restore container (only use in undo() function)
Definition at line 82 of file GNEChange.cpp.
References myHierarchicalContainers.
Referenced by GNEChange_Additional::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), GNEChange_Lane::undo(), GNEChange_Shape::undo(), and GNEChange_TAZElement::undo().
|
virtual |
return actual size
Definition at line 56 of file GNEChange.cpp.
|
virtual |
undo action/operation
Reimplemented in GNENetHelper::GNEChange_ReplaceEdgeInTLS, GNEChange_TLS, GNEChange_TAZElement, GNEChange_Shape, GNEChange_LaneType, GNEChange_Lane, GNEChange_Junction, GNEChange_GenericData, GNEChange_EnableAttribute, GNEChange_EdgeType, GNEChange_Edge, GNEChange_DemandElement, GNEChange_DataSet, GNEChange_DataInterval, GNEChange_Crossing, GNEChange_Connection, GNEChange_Children, GNEChange_Attribute, and GNEChange_Additional.
Definition at line 74 of file GNEChange.cpp.
|
virtual |
return undoName
Reimplemented in GNENetHelper::GNEChange_ReplaceEdgeInTLS, GNEChange_TLS, GNEChange_TAZElement, GNEChange_Shape, GNEChange_LaneType, GNEChange_Lane, GNEChange_Junction, GNEChange_GenericData, GNEChange_EnableAttribute, GNEChange_EdgeType, GNEChange_Edge, GNEChange_DemandElement, GNEChange_DataSet, GNEChange_DataInterval, GNEChange_Crossing, GNEChange_Connection, GNEChange_Children, GNEChange_Attribute, and GNEChange_Additional.
Definition at line 62 of file GNEChange.cpp.
|
protected |
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag
Definition at line 215 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_LaneType::redo(), GNEChange_Shape::redo(), GNEChange_TAZElement::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_LaneType::redoName(), GNEChange_Shape::redoName(), GNEChange_TAZElement::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_LaneType::undo(), GNEChange_Shape::undo(), GNEChange_TAZElement::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_LaneType::undoName(), GNEChange_Shape::undoName(), GNEChange_TAZElement::undoName(), and GNEChange_TLS::undoName().
|
protected |
map with hierarchical container of all parent and children elements
Definition at line 224 of file GNEChange.h.
Referenced by GNEChange(), and restoreHierarchicalContainers().
|
protected |
Hierarchical container with parent and children.
Definition at line 221 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 218 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_Shape::redo(), GNEChange_TAZElement::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(), GNEChange_Shape::undo(), and GNEChange_TAZElement::undo().