43 edge->incRef(
"GNEChange_Edge");
49 if (
myEdge->getNet()->getViewNet()->getViewParent()->getGNEAppWindows()->isUndoRedoAllowed()) {
50 myEdge->decRef(
"GNEChange_Edge");
51 if (
myEdge->unreferenced()) {
64 myEdge->unselectAttributeCarrier();
67 myEdge->getNet()->getAttributeCarriers()->deleteSingleEdge(
myEdge);
73 myEdge->selectAttributeCarrier();
78 myEdge->getNet()->getAttributeCarriers()->insertEdge(
myEdge);
81 myEdge->getNet()->getSavingStatus()->requireSaveNetwork();
90 myEdge->selectAttributeCarrier();
95 myEdge->getNet()->getAttributeCarriers()->insertEdge(
myEdge);
99 myEdge->unselectAttributeCarrier();
102 myEdge->getNet()->getAttributeCarriers()->deleteSingleEdge(
myEdge);
107 myEdge->getNet()->getSavingStatus()->requireSaveNetwork();
114 return (
TL(
"Undo create edge '") +
myEdge->getID() +
"'");
116 return (
TL(
"Undo delete edge '") +
myEdge->getID() +
"'");
124 return (
TL(
"Redo create edge '") +
myEdge->getID() +
"'");
126 return (
TL(
"Redo delete edge '") +
myEdge->getID() +
"'");
Supermode
@brie enum for supermodes
@ NETWORK
Network mode (Edges, junctions, etc..).
std::string redoName() const
get Redo name
GNEChange_Edge(GNEEdge *edge, bool forward)
Constructor for creating/deleting an edge.
GNEEdge * myEdge
full information regarding the edge that is to be created/deleted
~GNEChange_Edge()
Destructor.
std::string undoName() const
get undo Name
the function-object for an editing operation (abstract base)
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(Supermode supermode, bool forward, const bool selectedElement)
Constructor.
void addElementInParentsAndChildren(T *element)
add given element in parents and children
void removeElementFromParentsAndChildren(T *element)
remove given element from parents and children