Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEChange_Children Class Reference

#include <GNEChange_Children.h>

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

Public Types

enum  Operation { MOVE_FRONT = 0 , MOVE_BACK = 1 }

Public Member Functions

 GNEChange_Children (GNEDemandElement *demandElementParent, GNEDemandElement *demandElementChild, const Operation operation)
 Constructor for creating/deleting an additional element.
 ~GNEChange_Children ()
 Destructor.
inherited from GNEChange

get undo Name

std::string undoName () const
 return undoName
std::string redoName () const
 get Redo name
void undo ()
 undo action
void redo ()
 redo action

Private Attributes

GNEDemandElementmyChildDemandElement
 demand element which position will be edited edited
GNEHierarchicalContainerChildren< GNEDemandElement * > myEditedChildElements
 element children after apply operation
const Operation myOperation
const GNEHierarchicalContainerChildren< GNEDemandElement * > myOriginalChildElements
 copy of child demand elements before apply operation
GNEDemandElementmyParentDemandElement
 full information regarding the parent demand element element that will be modified

friend class

GNEChangenext
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.
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
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

Detailed Description

A network change in which a additional element is created or deleted

Definition at line 32 of file GNEChange_Children.h.

Member Enumeration Documentation

◆ Operation

Enumerator
MOVE_FRONT 
MOVE_BACK 

Definition at line 37 of file GNEChange_Children.h.

Constructor & Destructor Documentation

◆ GNEChange_Children()

GNEChange_Children::GNEChange_Children ( GNEDemandElement * demandElementParent,
GNEDemandElement * demandElementChild,
const Operation operation )

Constructor for creating/deleting an additional element.

Parameters
[in]additionalThe additional element to be created/deleted
[in]forwardWhether to create/delete (true/false)

Definition at line 38 of file GNEChange_Children.cpp.

References GNEChange::GNEChange(), GNEChange_Children(), MOVE_BACK, MOVE_FRONT, myChildDemandElement, myEditedChildElements, myOperation, myOriginalChildElements, and myParentDemandElement.

Referenced by GNEChange_Children().

Here is the caller graph for this function:

◆ ~GNEChange_Children()

GNEChange_Children::~GNEChange_Children ( )

Destructor.

Definition at line 65 of file GNEChange_Children.cpp.

References myParentDemandElement.

Member Function Documentation

◆ addElementInParentsAndChildren()

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

add given element in parents and children

Definition at line 121 of file GNEChange.h.

References 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().

Here is the caller graph for this function:

◆ canMerge()

bool GNEChange::canMerge ( ) const
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 72 of file GNEChange.cpp.

Referenced by GNEUndoList::add().

Here is the caller graph for this function:

◆ getSupermode()

Supermode GNEChange::getSupermode ( ) const
inherited

get supermode

Definition at line 66 of file GNEChange.cpp.

References mySupermode.

Referenced by GNEChange_Attribute::GNEChange_Attribute(), GNEChange_Attribute::GNEChange_Attribute(), and GNEChange_ToggleAttribute::GNEChange_ToggleAttribute().

Here is the caller graph for this function:

◆ mergeWith()

bool GNEChange::mergeWith ( GNEChange * command)
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 78 of file GNEChange.cpp.

References GNEChange().

Referenced by GNEUndoList::add().

Here is the caller graph for this function:

◆ redo()

void GNEChange_Children::redo ( )
virtual

redo action

Implements GNEChange.

Definition at line 105 of file GNEChange_Children.cpp.

References MOVE_BACK, MOVE_FRONT, GNEChange::myForward, myOperation, and myParentDemandElement.

◆ redoName()

std::string GNEChange_Children::redoName ( ) const
virtual

get Redo name

Implements GNEChange.

Definition at line 155 of file GNEChange_Children.cpp.

References MOVE_BACK, MOVE_FRONT, GNEChange::myForward, myOperation, myParentDemandElement, and TL.

◆ removeElementFromParentsAndChildren()

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

remove given element from parents and children

Definition at line 148 of file GNEChange.h.

References 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().

Here is the caller graph for this function:

◆ size()

int GNEChange::size ( ) const
virtualinherited

Return the size of the command group.

Reimplemented in GNEChangeGroup.

Definition at line 59 of file GNEChange.cpp.

Referenced by GNEChangeGroup::size().

Here is the caller graph for this function:

◆ undo()

void GNEChange_Children::undo ( )
virtual

undo action

Implements GNEChange.

Definition at line 79 of file GNEChange_Children.cpp.

References MOVE_BACK, MOVE_FRONT, GNEChange::myForward, myOperation, and myParentDemandElement.

◆ undoName()

std::string GNEChange_Children::undoName ( ) const
virtual

return undoName

Implements GNEChange.

Definition at line 131 of file GNEChange_Children.cpp.

References MOVE_BACK, MOVE_FRONT, myChildDemandElement, GNEChange::myForward, myOperation, and TL.

Field Documentation

◆ myChildDemandElement

GNEDemandElement* GNEChange_Children::myChildDemandElement
private

demand element which position will be edited edited

Definition at line 73 of file GNEChange_Children.h.

Referenced by GNEChange_Children(), and undoName().

◆ myEditedChildElements

GNEHierarchicalContainerChildren<GNEDemandElement*> GNEChange_Children::myEditedChildElements
private

element children after apply operation

Definition at line 82 of file GNEChange_Children.h.

Referenced by GNEChange_Children().

◆ myForward

bool GNEChange::myForward
protectedinherited

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(), GNEChange(), GNEChange(), 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().

◆ myOperation

const Operation GNEChange_Children::myOperation
private

Definition at line 76 of file GNEChange_Children.h.

Referenced by GNEChange_Children(), redo(), redoName(), undo(), and undoName().

◆ myOriginalChildElements

const GNEHierarchicalContainerChildren<GNEDemandElement*> GNEChange_Children::myOriginalChildElements
private

copy of child demand elements before apply operation

Definition at line 79 of file GNEChange_Children.h.

Referenced by GNEChange_Children().

◆ myParentDemandElement

GNEDemandElement* GNEChange_Children::myParentDemandElement
private

full information regarding the parent demand element element that will be modified

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

Definition at line 70 of file GNEChange_Children.h.

Referenced by GNEChange_Children(), redo(), redoName(), undo(), and ~GNEChange_Children().

◆ myParents

const GNEHierarchicalStructureParents GNEChange::myParents
protectedinherited

◆ mySelectedElement

◆ mySupermode

const Supermode GNEChange::mySupermode
protectedinherited

supermode related with this change

Definition at line 174 of file GNEChange.h.

Referenced by getSupermode(), GNEChange(), GNEChange(), and GNEChange().

◆ next


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