Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEChange Class Referenceabstract

the function-object for an editing operation (abstract base) More...

#include <GNEChange.h>

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

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
GNEChangenext
 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.
GNEChangeoperator= (const GNEChange &)=delete
 Invalidated assignment operator.

Detailed Description

the function-object for an editing operation (abstract base)

Definition at line 56 of file GNEChange.h.

Constructor & Destructor Documentation

◆ GNEChange() [1/4]

GNEChange::GNEChange ( Supermode supermode,
bool forward,
const bool selectedElement )

Constructor.

Parameters
[in]supermoderelated with this change
[in]forwardThe direction of this change
[in]selectedElementflag to mark if element is selected

Definition at line 34 of file GNEChange.cpp.

References GNEChange(), myForward, mySelectedElement, mySupermode, and next.

Referenced by GNEUndoList::add(), GNEUndoList::clear(), GNEUndoList::cut(), GNEChange(), GNEChange(), GNEChange_Additional::GNEChange_Additional(), GNEChange_Attribute::GNEChange_Attribute(), GNEChange_Attribute::GNEChange_Attribute(), GNEChange_Children::GNEChange_Children(), GNEChange_Connection::GNEChange_Connection(), GNEChange_Crossing::GNEChange_Crossing(), GNEChange_Crossing::GNEChange_Crossing(), GNEChange_DataInterval::GNEChange_DataInterval(), GNEChange_DataSet::GNEChange_DataSet(), GNEChange_DemandElement::GNEChange_DemandElement(), GNEChange_Edge::GNEChange_Edge(), GNEChange_EdgeType::GNEChange_EdgeType(), GNEChange_GenericData::GNEChange_GenericData(), GNEChange_Junction::GNEChange_Junction(), GNEChange_Lane::GNEChange_Lane(), GNEChange_Lane::GNEChange_Lane(), GNEChange_MeanData::GNEChange_MeanData(), GNEChange_RegisterJoin::GNEChange_RegisterJoin(), GNENetHelper::GNEChange_ReplaceEdgeInTLS::GNEChange_ReplaceEdgeInTLS(), GNEChange_TAZSourceSink::GNEChange_TAZSourceSink(), GNEChange_TLS::GNEChange_TLS(), GNEChange_TLS::GNEChange_TLS(), GNEChange_TLS::GNEChange_TLS(), GNEChange_ToggleAttribute::GNEChange_ToggleAttribute(), GNEUndoList::Iterator::Iterator(), mergeWith(), operator=(), GNEChangeGroup::redo(), GNEUndoList::redo(), redoName(), GNEChangeGroup::size(), GNEChangeGroup::undo(), GNEUndoList::undo(), and GNEChangeGroup::~GNEChangeGroup().

Here is the caller graph for this function:

◆ GNEChange() [2/4]

GNEChange::GNEChange ( Supermode supermode,
GNEHierarchicalElement * element,
bool forward,
const bool selectedElement )

Constructor.

Parameters
[in]supermoderelated with this change
[in]elementhierarchical element
[in]forwardThe direction of this change
[in]selectedElementflag to mark if element is selected

Definition at line 42 of file GNEChange.cpp.

References GNEHierarchicalElement::clearParents(), myForward, myParents, mySelectedElement, mySupermode, and next.

◆ ~GNEChange()

GNEChange::~GNEChange ( )

Destructor.

Definition at line 55 of file GNEChange.cpp.

◆ GNEChange() [3/4]

GNEChange::GNEChange ( )
protected

FOX need this.

Definition at line 83 of file GNEChange.cpp.

References myForward, mySelectedElement, mySupermode, and next.

◆ GNEChange() [4/4]

GNEChange::GNEChange ( const GNEChange & )
privatedelete

Invalidated copy constructor.

References GNEChange().

Member Function Documentation

◆ addElementInParentsAndChildren()

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

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

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

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)

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:

◆ operator=()

GNEChange & GNEChange::operator= ( const GNEChange & )
privatedelete

Invalidated assignment operator.

References GNEChange().

◆ redo()

◆ redoName()

◆ removeElementFromParentsAndChildren()

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

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
virtual

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

◆ undoName()

◆ GNEChangeGroup

friend class GNEChangeGroup
friend

Definition at line 61 of file GNEChange.h.

References GNEChangeGroup.

Referenced by GNEChangeGroup.

◆ GNEUndoList

Field Documentation

◆ myForward

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

◆ myParents

const GNEHierarchicalStructureParents GNEChange::myParents
protected

◆ mySelectedElement

◆ mySupermode

const Supermode GNEChange::mySupermode
protected

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: