Eclipse SUMO - Simulation of Urban MObility
GNEChange_GenericData Class Reference

#include <GNEChange_GenericData.h>

Inheritance diagram for GNEChange_GenericData:
[legend]
Collaboration diagram for GNEChange_GenericData:
[legend]

Public Member Functions

 GNEChange_GenericData (GNEGenericData *genericData, bool forward)
 Constructor for creating/deleting an generic data set. More...
 
virtual FXuint size () const
 return actual size More...
 
 ~GNEChange_GenericData ()
 Destructor. More...
 
inherited from GNEChange

get undo Name

FXString undoName () const
 return undoName More...
 
FXString redoName () const
 get Redo name More...
 
void undo ()
 undo action More...
 
void redo ()
 redo action 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 *, GNEHierarchicalContainermyHierarchicalContainers
 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...
 

Private Attributes

GNEDataIntervalmyDataIntervalParent
 data interval parent More...
 
GNEDataSetmyDataSetParent
 data set parent More...
 
GNEGenericDatamyGenericData
 full information regarding the generic data set that is to be created/deleted More...
 
const std::vector< GNEPathElements::PathElement > & myPath
 reference to path vector More...
 

Detailed Description

A network change in which a generic data set is created or deleted

Definition at line 36 of file GNEChange_GenericData.h.

Constructor & Destructor Documentation

◆ GNEChange_GenericData()

GNEChange_GenericData::GNEChange_GenericData ( GNEGenericData genericData,
bool  forward 
)

Constructor for creating/deleting an generic data set.

Parameters
[in]genericdata The generic data set to be created/deleted
[in]forwardWhether to create/delete (true/false)

Definition at line 40 of file GNEChange_GenericData.cpp.

◆ ~GNEChange_GenericData()

Member Function Documentation

◆ addElementInParentsAndChildren()

template<typename T >
void GNEChange::addElementInParentsAndChildren ( T *  element)
inlineprotectedinherited

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 GNEChange::myOriginalHierarchicalContainer.

Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), redo(), GNEChange_Lane::redo(), GNEChange_Shape::redo(), and GNEChange_TAZElement::redo().

Here is the caller graph for this function:

◆ redo()

◆ redoName()

FXString GNEChange_GenericData::redoName ( ) const
virtual

get Redo name

Reimplemented from GNEChange.

Definition at line 161 of file GNEChange_GenericData.cpp.

References GNEAttributeCarrier::getTagStr(), GNEChange::myForward, and myGenericData.

◆ removeElementFromParentsAndChildren()

template<typename T >
void GNEChange::removeElementFromParentsAndChildren ( T *  element)
inlineprotectedinherited

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 GNEChange::myOriginalHierarchicalContainer.

Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), redo(), GNEChange_Lane::redo(), GNEChange_Shape::redo(), and GNEChange_TAZElement::redo().

Here is the caller graph for this function:

◆ restoreHierarchicalContainers()

void GNEChange::restoreHierarchicalContainers ( )
protectedinherited

restore container (only use in undo() function)

Definition at line 82 of file GNEChange.cpp.

References GNEChange::myHierarchicalContainers.

Referenced by GNEChange_Additional::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), undo(), GNEChange_Lane::undo(), GNEChange_Shape::undo(), and GNEChange_TAZElement::undo().

Here is the caller graph for this function:

◆ size()

FXuint GNEChange::size ( ) const
virtualinherited

return actual size

Definition at line 56 of file GNEChange.cpp.

◆ undo()

◆ undoName()

FXString GNEChange_GenericData::undoName ( ) const
virtual

return undoName

Reimplemented from GNEChange.

Definition at line 151 of file GNEChange_GenericData.cpp.

References GNEAttributeCarrier::getTagStr(), GNEChange::myForward, and myGenericData.

Field Documentation

◆ myDataIntervalParent

GNEDataInterval* GNEChange_GenericData::myDataIntervalParent
private

data interval parent

Definition at line 74 of file GNEChange_GenericData.h.

Referenced by redo(), undo(), and ~GNEChange_GenericData().

◆ myDataSetParent

GNEDataSet* GNEChange_GenericData::myDataSetParent
private

data set parent

Definition at line 71 of file GNEChange_GenericData.h.

Referenced by ~GNEChange_GenericData().

◆ myForward

bool GNEChange::myForward
protectedinherited

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(), 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(), 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(), 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(), undoName(), GNEChange_Junction::undoName(), GNEChange_Lane::undoName(), GNEChange_LaneType::undoName(), GNEChange_Shape::undoName(), GNEChange_TAZElement::undoName(), and GNEChange_TLS::undoName().

◆ myGenericData

GNEGenericData* GNEChange_GenericData::myGenericData
private

full information regarding the generic data set that is to be created/deleted

Note
we assume shared responsibility for the pointer (via reference counting)

Definition at line 68 of file GNEChange_GenericData.h.

Referenced by redo(), redoName(), undo(), undoName(), and ~GNEChange_GenericData().

◆ myHierarchicalContainers

std::map<GNEHierarchicalElement*, GNEHierarchicalContainer> GNEChange::myHierarchicalContainers
protectedinherited

map with hierarchical container of all parent and children elements

Definition at line 224 of file GNEChange.h.

Referenced by GNEChange::GNEChange(), and GNEChange::restoreHierarchicalContainers().

◆ myOriginalHierarchicalContainer

const GNEHierarchicalContainer GNEChange::myOriginalHierarchicalContainer
protectedinherited

◆ myPath

const std::vector<GNEPathElements::PathElement>& GNEChange_GenericData::myPath
private

reference to path vector

Definition at line 77 of file GNEChange_GenericData.h.

Referenced by redo(), undo(), and ~GNEChange_GenericData().

◆ mySelectedElement


The documentation for this class was generated from the following files: