![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <GNEUndoList.h>
Data Structures | |
class | Iterator |
FOX declaration. More... | |
class | RedoIterator |
redo iterator More... | |
class | UndoIterator |
undo iterator More... | |
Public Member Functions | |
void | abortAllChangeGroups () |
reverts and discards ALL active chained change groups | |
void | abortLastChangeGroup () |
reverts last active chained change group | |
void | add (GNEChange *command, bool doit=false, bool merge=true) |
Add new command, executing it if desired. The new command will be merged with the previous command if merge is TRUE and we're not at a marked position and the commands are mergeable. Otherwise the new command will be appended after the last undo command in the currently active undo group. If the new command is successfully merged, it will be deleted. Furthermore, all redo commands will be deleted since it is no longer possible to redo from this point. | |
void | begin (GUIIcon icon, const std::string &description) |
Begin undo command sub-group with current supermode. This begins a new group of commands that are treated as a single command. Must eventually be followed by a matching end() after recording the sub-commands. The new sub-group will be appended to its parent group's undo list when end() is called. | |
void | begin (Supermode supermode, GUIIcon icon, const std::string &description) |
Begin undo command sub-group specifying supermode. This begins a new group of commands that are treated as a single command. Must eventually be followed by a matching end() after recording the sub-commands. The new sub-group will be appended to its parent group's undo list when end() is called. | |
bool | busy () const |
Return TRUE if currently inside undo or redo operation; this is useful to avoid generating another undo command while inside an undo operation. | |
void | changeAttribute (GNEChange_Attribute *change) |
special method for change attributes, avoid empty changes, always execute | |
void | clear () |
int | currentCommandGroupSize () const |
get size of current CommandGroup | |
void | end () |
End undo command sub-group. If the sub-group is still empty, it will be deleted; otherwise, the sub-group will be added as a new command into parent group. | |
Supermode | getRedoSupermode () const |
get redo supermode | |
Supermode | getUndoSupermode () const |
get undo supermode | |
GNEUndoList (GNEApplicationWindow *parent) | |
constructor | |
bool | hasCommandGroup () const |
Check if undoList has command group. | |
void | redo () |
redo the last command group | |
std::string | redoName () const |
Return name of the first redo command available; if no Redo command available this will return the empty string. | |
void | undo () |
undo the last command group | |
std::string | undoName () const |
Return name of the first undo command available; if no undo command available this will return the empty string. | |
~GNEUndoList () | |
destructor | |
FOX-callbacks | |
undo change | |
long | onCmdUndo (FXObject *, FXSelector, void *) |
long | onUpdUndo (FXObject *, FXSelector, void *) |
event after Undo | |
long | onCmdRedo (FXObject *, FXSelector, void *) |
redo change | |
long | onUpdRedo (FXObject *, FXSelector, void *) |
event after Redo | |
Protected Member Functions | |
void | abortCurrentSubGroup () |
Abort the current command sub-group being compiled. All commands already added to the sub-groups undo list will be discarded. Intermediate command groups will be left intact. | |
bool | canRedo () const |
Can we redo more commands. | |
bool | canUndo () const |
Can we undo more commands. | |
void | cut () |
Cut the redo list. This is automatically invoked when a new undo command is added. | |
Private Attributes | |
std::stack< GNEChangeGroup * > | myChangeGroups |
GNEApplicationWindow *const | myGNEApplicationWindowParent |
bool | myWorking |
Currently busy with undo or redo. | |
declare friend class | |
GNEChange * | undoList |
undo list command (can be access by GNEUndoList) | |
GNEChange * | redoList |
redo list command (can be access by GNEUndoList) | |
GNEChangeGroup * | group |
group (can be access by GNEUndoList) | |
std::string | myTimeStamp |
timeStamp HH:MM:SS | |
int | size () const |
Return the size of the command group. | |
const std::string & | getDescription () |
get description | |
const std::string & | getTimeStamp () |
get timeStamp | |
Supermode | getGroupSupermode () const |
get supermode associated with this ChangeGroup | |
GUIIcon | getGroupIcon () const |
get icon associated with this ChangeGroup | |
bool | empty () const |
Return TRUE if empty. | |
const std::string | myDescription |
description of command | |
const Supermode | myGroupSupermode |
supermode associated with this ChangeGroup | |
const GUIIcon | myIcon |
icon associated with this ChangeGroup | |
friend class | |
GNEChange * | next |
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. | |
void | restoreHierarchicalContainers () |
restore container (only use in undo() function) | |
template<typename T > | |
void | addElementInParentsAndChildren (T *element) |
add given element into parents and children (only use in redo() function) | |
template<typename T > | |
void | removeElementFromParentsAndChildren (T *element) |
remove given element from parents and children (only use in redo() function) | |
const Supermode | mySupermode |
supermode related with this change | |
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 | |
const GNEHierarchicalContainer | myOriginalHierarchicalContainer |
Hierarchical container with parent and children. | |
std::map< GNEHierarchicalElement *, GNEHierarchicalContainer > | myHierarchicalContainers |
map with hierarchical container of all parent and children elements | |
Definition at line 42 of file GNEUndoList.h.
GNEUndoList::GNEUndoList | ( | GNEApplicationWindow * | parent | ) |
constructor
Definition at line 132 of file GNEUndoList.cpp.
GNEUndoList::~GNEUndoList | ( | ) |
destructor
Definition at line 138 of file GNEUndoList.cpp.
void GNEUndoList::abortAllChangeGroups | ( | ) |
reverts and discards ALL active chained change groups
Definition at line 306 of file GNEUndoList.cpp.
References abortCurrentSubGroup(), hasCommandGroup(), myChangeGroups, and GNEChangeGroup::undo().
Referenced by GNEViewNet::abortOperation(), clear(), GNEContainerFrame::createPath(), GNEPersonFrame::createPath(), GNEApplicationWindow::onCmdOpenTLSPrograms(), and GNEApplicationWindow::onCmdReloadTLSPrograms().
|
protected |
Abort the current command sub-group being compiled. All commands already added to the sub-groups undo list will be discarded. Intermediate command groups will be left intact.
Definition at line 533 of file GNEUndoList.cpp.
References GNEChangeGroup::group, and myWorking.
Referenced by abortAllChangeGroups(), and abortLastChangeGroup().
void GNEUndoList::abortLastChangeGroup | ( | ) |
reverts last active chained change group
Definition at line 317 of file GNEUndoList.cpp.
References abortCurrentSubGroup(), and myChangeGroups.
Referenced by GNEAdditionalDialog::acceptChanges(), GNEDemandElementDialog::acceptChanges(), GNEAdditionalDialog::cancelChanges(), GNEDemandElementDialog::cancelChanges(), GNEAdditionalDialog::resetChanges(), and GNEDemandElementDialog::resetChanges().
void GNEUndoList::add | ( | GNEChange * | command, |
bool | doit = false , |
||
bool | merge = true |
||
) |
Add new command, executing it if desired. The new command will be merged with the previous command if merge is TRUE and we're not at a marked position and the commands are mergeable. Otherwise the new command will be appended after the last undo command in the currently active undo group. If the new command is successfully merged, it will be deleted. Furthermore, all redo commands will be deleted since it is no longer possible to redo from this point.
Definition at line 328 of file GNEUndoList.cpp.
References GNEChange::canMerge(), cut(), GNEChangeGroup::group, GNEChange::mergeWith(), myWorking, GNEChange::next, GNEChange::redo(), and GNEChangeGroup::undoList.
Referenced by GNETAZFrame::addOrRemoveTAZMember(), GNEAdditionalHandler::buildAccess(), GNEAdditionalHandler::buildBusStop(), GNEAdditionalHandler::buildCalibratorFlow(), GNEAdditionalHandler::buildChargingStation(), GNEAdditionalHandler::buildClosingLaneReroute(), GNEAdditionalHandler::buildClosingReroute(), GNEConnectorFrame::buildConnection(), GNERouteHandler::buildContainer(), GNERouteHandler::buildContainerFlow(), GNEAdditionalHandler::buildContainerStop(), GNEDataHandler::buildDataInterval(), GNEDataHandler::buildDataSet(), GNEAdditionalHandler::buildDestProbReroute(), GNEAdditionalHandler::buildDetectorE1Instant(), GNEAdditionalHandler::buildDetectorE3(), GNEAdditionalHandler::buildDetectorEntry(), GNEAdditionalHandler::buildDetectorExit(), GNEAdditionalHandler::buildE1Detector(), GNEAdditionalHandler::buildEdgeCalibrator(), GNEDataHandler::buildEdgeData(), GNEMeanDataHandler::buildEdgeMeanData(), GNEDataHandler::buildEdgeRelationData(), GNERouteHandler::buildEmbeddedRoute(), GNERouteHandler::buildFlow(), GNERouteHandler::buildFlowJunctions(), GNERouteHandler::buildFlowOverRoute(), GNERouteHandler::buildFlowTAZs(), GNEAdditionalHandler::buildLaneCalibrator(), GNEMeanDataHandler::buildLaneMeanData(), GNEAdditionalHandler::buildMultiLaneDetectorE2(), GNEAdditionalHandler::buildOverheadWire(), GNEAdditionalHandler::buildParkingArea(), GNEAdditionalHandler::buildParkingAreaReroute(), GNEAdditionalHandler::buildParkingSpace(), GNERouteHandler::buildPerson(), GNERouteHandler::buildPersonFlow(), GNERouteHandler::buildPersonTrip(), GNEAdditionalHandler::buildPOI(), GNEAdditionalHandler::buildPOIGeo(), GNEAdditionalHandler::buildPOILane(), GNEAdditionalHandler::buildPolygon(), GNEAdditionalHandler::buildRerouter(), GNEAdditionalHandler::buildRerouterInterval(), GNERouteHandler::buildRide(), GNERouteHandler::buildRoute(), GNEAdditionalHandler::buildRouteProbe(), GNEAdditionalHandler::buildRouteProbReroute(), GNEAdditionalHandler::buildSingleLaneDetectorE2(), GNERouteHandler::buildStop(), GNEAdditionalHandler::buildTAZ(), GNEDataHandler::buildTAZRelationData(), GNEAdditionalHandler::buildTAZSink(), GNEAdditionalHandler::buildTAZSource(), GNEAdditionalHandler::buildTractionSubstation(), GNEAdditionalHandler::buildTrainStop(), GNERouteHandler::buildTranship(), GNERouteHandler::buildTransport(), GNERouteHandler::buildTrip(), GNERouteHandler::buildTripJunctions(), GNERouteHandler::buildTripTAZs(), GNEAdditionalHandler::buildVaporizer(), GNEAdditionalHandler::buildVariableSpeedSign(), GNEAdditionalHandler::buildVariableSpeedSignStep(), GNERouteHandler::buildVehicleOverRoute(), GNERouteHandler::buildVType(), GNERouteHandler::buildVTypeDistribution(), GNERouteHandler::buildWalk(), changeAttribute(), GNEConnection::changeTLIndex(), GNENet::cleanInvalidDemandElements(), GNENet::cleanUnusedRoutes(), GNENet::createEdge(), GNENet::createJunction(), GNENet::deleteAdditional(), GNENet::deleteConnection(), GNENet::deleteCrossing(), GNENet::deleteDemandElement(), GNENet::deleteEdge(), GNENet::deleteGenericData(), GNENet::deleteJunction(), GNENet::deleteLane(), GNENet::deleteMeanData(), GNEContainer::disableAttribute(), GNEPerson::disableAttribute(), GNEStop::disableAttribute(), GNEVehicle::disableAttribute(), GNETAZFrame::dropTAZMembers(), GNENet::duplicateLane(), GNEContainer::enableAttribute(), GNEPerson::enableAttribute(), GNEStop::enableAttribute(), GNEVehicle::enableAttribute(), GNELaneAreaDetector::fixAdditionalProblem(), GNEOverheadWire::fixAdditionalProblem(), GNEVehicleTypeDialog::GNEVehicleTypeDialog(), GNEJunction::invalidateTLS(), GNENet::joinRoutes(), GNENet::joinSelectedJunctions(), GNEJunction::markAsModified(), GNERerouterIntervalDialog::onCmdAddClosingLaneReroute(), GNERerouterIntervalDialog::onCmdAddClosingReroute(), GNERerouterIntervalDialog::onCmdAddDestProbReroute(), GNEViewNet::onCmdAddJoinTLS(), GNERerouterIntervalDialog::onCmdAddParkingAreaReroute(), GNERerouterIntervalDialog::onCmdAddRouteProbReroute(), GNEVariableSpeedSignDialog::onCmdAddStep(), GNERerouterIntervalDialog::onCmdClickedClosingLaneReroute(), GNERerouterIntervalDialog::onCmdClickedClosingReroute(), GNERerouterIntervalDialog::onCmdClickedDestProbReroute(), GNECalibratorDialog::onCmdClickedFlow(), GNERerouterDialog::onCmdClickedInterval(), GNERerouterIntervalDialog::onCmdClickedParkingAreaReroute(), GNECalibratorDialog::onCmdClickedRoute(), GNERerouterIntervalDialog::onCmdClickedRouteProbReroute(), GNEVariableSpeedSignDialog::onCmdClickedStep(), GNECalibratorDialog::onCmdClickedVehicleType(), GNEElementTree::onCmdMoveItemDown(), GNEElementTree::onCmdMoveItemUp(), GNEApplicationWindow::onCmdOpenEdgeTypes(), GNEApplicationWindow::onCmdReloadEdgeTypes(), GNETLSEditorFrame::parseTLSPrograms(), GNERerouter::rebuildRerouterSymbols(), GNEVariableSpeedSign::rebuildVSSSymbols(), GNEJunction::removeConnectionsFrom(), GNEJunction::removeConnectionsTo(), GNEJunction::removeTLSConnections(), GNEJunction::replaceIncomingConnections(), GNENet::replaceIncomingEdge(), GNENet::replaceJunctionByGeometry(), GNECrossing::setAttribute(), GNEJunction::setAttribute(), GNEWalkingArea::setAttribute(), GNEJunction::setJunctionType(), GNEJunction::setLogicValid(), GNEEdge::setNumLanes(), and GNENet::splitEdge().
|
inlineprotectedinherited |
add given element into parents and children (only use in redo() function)
Definition at line 124 of file GNEChange.h.
References GNEHierarchicalContainer::getChildren(), GNEHierarchicalContainer::getParents(), and GNEChange::myOriginalHierarchicalContainer.
Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), and GNEChange_Lane::redo().
void GNEUndoList::begin | ( | GUIIcon | icon, |
const std::string & | description | ||
) |
Begin undo command sub-group with current supermode. This begins a new group of commands that are treated as a single command. Must eventually be followed by a matching end() after recording the sub-commands. The new sub-group will be appended to its parent group's undo list when end() is called.
Definition at line 208 of file GNEUndoList.cpp.
References begin(), GNEViewNetHelper::EditModes::currentSupermode, GNEViewNet::getEditModes(), GNEApplicationWindow::getViewNet(), myGNEApplicationWindowParent, and NETWORK.
Referenced by GNEViewNet::addRestrictedLane(), GNENet::addReversedEdge(), GNENet::adjustPersonPlans(), begin(), GNEAdditionalHandler::buildAccess(), GNEAdditionalHandler::buildBusStop(), GNEAdditionalHandler::buildCalibratorFlow(), GNEAdditionalHandler::buildChargingStation(), GNEAdditionalHandler::buildClosingLaneReroute(), GNEAdditionalHandler::buildClosingReroute(), GNEConnectorFrame::buildConnection(), GNERouteHandler::buildContainer(), GNERouteHandler::buildContainerFlow(), GNEAdditionalHandler::buildContainerStop(), GNEDataHandler::buildDataInterval(), GNEDataHandler::buildDataSet(), GNEAdditionalHandler::buildDestProbReroute(), GNEAdditionalHandler::buildDetectorE1Instant(), GNEAdditionalHandler::buildDetectorE3(), GNEAdditionalHandler::buildDetectorEntry(), GNEAdditionalHandler::buildDetectorExit(), GNEAdditionalHandler::buildE1Detector(), GNEAdditionalHandler::buildEdgeCalibrator(), GNEDataHandler::buildEdgeData(), GNEMeanDataHandler::buildEdgeMeanData(), GNEDataHandler::buildEdgeRelationData(), GNERouteHandler::buildEmbeddedRoute(), GNERouteHandler::buildFlow(), GNERouteHandler::buildFlowJunctions(), GNERouteHandler::buildFlowOverRoute(), GNERouteHandler::buildFlowTAZs(), GNEAdditionalHandler::buildLaneCalibrator(), GNEMeanDataHandler::buildLaneMeanData(), GNEAdditionalHandler::buildMultiLaneDetectorE2(), GNEAdditionalHandler::buildOverheadWire(), GNEAdditionalHandler::buildParkingArea(), GNEAdditionalHandler::buildParkingAreaReroute(), GNEAdditionalHandler::buildParkingSpace(), GNERouteHandler::buildPerson(), GNERouteHandler::buildPersonFlow(), GNERouteHandler::buildPersonTrip(), GNEAdditionalHandler::buildPOI(), GNEAdditionalHandler::buildPOIGeo(), GNEAdditionalHandler::buildPOILane(), GNEAdditionalHandler::buildPolygon(), GNEAdditionalHandler::buildRerouter(), GNEAdditionalHandler::buildRerouterInterval(), GNERouteHandler::buildRide(), GNERouteHandler::buildRoute(), GNEAdditionalHandler::buildRouteProbe(), GNEAdditionalHandler::buildRouteProbReroute(), GNEAdditionalHandler::buildSingleLaneDetectorE2(), GNERouteHandler::buildStop(), GNEAdditionalHandler::buildTAZ(), GNEDataHandler::buildTAZRelationData(), GNEAdditionalHandler::buildTAZSink(), GNEAdditionalHandler::buildTAZSource(), GNEAdditionalHandler::buildTractionSubstation(), GNEAdditionalHandler::buildTrainStop(), GNERouteHandler::buildTranship(), GNERouteHandler::buildTransport(), GNERouteHandler::buildTrip(), GNERouteHandler::buildTripJunctions(), GNERouteHandler::buildTripTAZs(), GNEAdditionalHandler::buildVaporizer(), GNEAdditionalHandler::buildVariableSpeedSign(), GNEAdditionalHandler::buildVariableSpeedSignStep(), GNERouteHandler::buildVehicleOverRoute(), GNERouteHandler::buildVType(), GNERouteHandler::buildVTypeDistribution(), GNERouteHandler::buildWalk(), GNEPoly::changeFirstGeometryPoint(), GNEConnection::changeTLIndex(), GNENet::cleanInvalidCrossings(), GNENet::cleanInvalidDemandElements(), GNENet::cleanUnusedRoutes(), GNENet::clearAdditionalElements(), GNENet::clearDataElements(), GNENet::clearDemandElements(), GNENet::clearJunctionConnections(), GNENet::clearMeanDataElements(), GNEPoly::closePolygon(), GNEAccess::commitMoveShape(), GNEEntryExitDetector::commitMoveShape(), GNEInductionLoopDetector::commitMoveShape(), GNEInstantInductionLoopDetector::commitMoveShape(), GNELaneAreaDetector::commitMoveShape(), GNEMultiEntryExitDetector::commitMoveShape(), GNEOverheadWire::commitMoveShape(), GNEParkingSpace::commitMoveShape(), GNERerouter::commitMoveShape(), GNEStoppingPlace::commitMoveShape(), GNETAZ::commitMoveShape(), GNETractionSubstation::commitMoveShape(), GNEVariableSpeedSign::commitMoveShape(), GNEContainer::commitMoveShape(), GNEPerson::commitMoveShape(), GNEPersonTrip::commitMoveShape(), GNERide::commitMoveShape(), GNEStop::commitMoveShape(), GNETranship::commitMoveShape(), GNETransport::commitMoveShape(), GNEVehicle::commitMoveShape(), GNEWalk::commitMoveShape(), GNEConnection::commitMoveShape(), GNECrossing::commitMoveShape(), GNEEdge::commitMoveShape(), GNEJunction::commitMoveShape(), GNELane::commitMoveShape(), GNEWalkingArea::commitMoveShape(), GNEPOI::commitMoveShape(), GNEPoly::commitMoveShape(), GNENet::createEdge(), GNEContainerFrame::createPath(), GNEPersonFrame::createPath(), GNENet::createRoundabout(), GNENet::deleteAdditional(), GNENet::deleteConnection(), GNENet::deleteCrossing(), GNENet::deleteDataInterval(), GNENet::deleteDataSet(), GNENet::deleteDemandElement(), GNENet::deleteEdge(), GNENet::deleteGenericData(), GNEPoly::deleteGeometryPoint(), GNENet::deleteJunction(), GNENet::deleteLane(), GNENet::deleteMeanData(), GNENet::duplicateLane(), GNEEdge::editEndpoint(), GNETLSEditorFrame::editJunction(), GNEFixDemandElements::FixRouteOptions::fixElements(), GNEFixDemandElements::FixVehicleOptions::fixElements(), GNEFixDemandElements::FixStopPositionOptions::fixElements(), GNEFixDemandElements::FixPersonPlanOptions::fixElements(), GNEFixNetworkElements::FixEdgeOptions::fixElements(), GNEFixNetworkElements::FixCrossingOptions::fixElements(), getRedoSupermode(), getUndoSupermode(), GNESelectorFrame::handleIDs(), GNEViewNet::hotkeyDel(), GNEAdditionalDialog::initChanges(), GNEDemandElementDialog::initChanges(), GNENet::joinRoutes(), GNENet::joinSelectedJunctions(), GNEApplicationWindow::loadAdditionalElements(), GNEApplicationWindow::loadDataElements(), GNEApplicationWindow::loadDemandElements(), GNEApplicationWindow::loadMeanDataElements(), GNENet::mergeJunctions(), GNEFixAdditionalElements::onCmdAccept(), GNEMultipleParametersDialog::onCmdAccept(), GNESingleParametersDialog::onCmdAccept(), GNEViewNet::onCmdAddJoinTLS(), GNEViewNet::onCmdAddReversedEdge(), GNEViewNet::onCmdAddReversedEdgeDisconnected(), GNEViewNet::onCmdAddTLS(), GNERoute::GNERoutePopupMenu::onCmdApplyDistance(), GNEViewNet::onCmdClearConnections(), GNEViewNet::onCmdClosePolygon(), GNEViewNet::onCmdDuplicateLane(), GNEViewNet::onCmdEgeApplyTemplate(), GNEViewNet::onCmdLaneReachability(), GNEElementTree::onCmdMoveItemDown(), GNEElementTree::onCmdMoveItemUp(), GNEApplicationWindow::onCmdOpenAdditionals(), GNEFrameAttributeModules::AttributesEditorRow::onCmdOpenAttributeDialog(), GNEApplicationWindow::onCmdOpenDataElements(), GNEApplicationWindow::onCmdOpenDemandElements(), GNEApplicationWindow::onCmdOpenEdgeTypes(), GNEApplicationWindow::onCmdOpenMeanDatas(), GNEViewNet::onCmdOpenPolygon(), GNEApplicationWindow::onCmdOpenTLSPrograms(), GNEApplicationWindow::onCmdReloadAdditionals(), GNEApplicationWindow::onCmdReloadDataElements(), GNEApplicationWindow::onCmdReloadDemandElements(), GNEApplicationWindow::onCmdReloadEdgeTypes(), GNEApplicationWindow::onCmdReloadMeanDatas(), GNEApplicationWindow::onCmdReloadTLSPrograms(), GNEViewNet::onCmdResetConnections(), GNEViewNet::onCmdResetEdgeEndpoint(), GNEViewNet::onCmdResetEdgeEndPoints(), GNEViewNet::onCmdResetEndPoints(), GNEViewNet::onCmdResetJunctionShape(), GNEViewNet::onCmdResetLaneCustomShape(), GNEViewNet::onCmdResetLength(), GNEViewNet::onCmdResetOppositeLane(), GNEViewNet::onCmdReverseEdge(), GNEFrameAttributeModules::AttributesEditorRow::onCmdSelectCheckButton(), GNEViewNet::onCmdSelectPolygonElements(), GNEViewNet::onCmdSetCustomGeometryPoint(), GNEFlowEditor::onCmdSetFlowAttribute(), GNEViewNet::onCmdSimplifyShape(), GNEViewNet::onCmdSmoothEdges(), GNEViewNet::onCmdSmoothEdgesElevation(), GNEViewNet::onCmdStraightenEdges(), GNEViewNet::onCmdStraightenEdgesElevation(), GNEViewNet::onCmdTransformPOI(), GNEPoly::openPolygon(), GNEVType::overwriteVType(), GNECreateEdgeFrame::processClick(), GNERerouter::rebuildRerouterSymbols(), GNEVariableSpeedSign::rebuildVSSSymbols(), GNETAZ::removeGeometryPoint(), GNEConnection::removeGeometryPoint(), GNECrossing::removeGeometryPoint(), GNEEdge::removeGeometryPoint(), GNEJunction::removeGeometryPoint(), GNELane::removeGeometryPoint(), GNEPoly::removeGeometryPoint(), GNEViewNet::removeRestrictedLane(), GNEDeleteFrame::removeSelectedAttributeCarriers(), GNENet::removeSolitaryJunctions(), GNENet::replaceIncomingEdge(), GNENet::replaceJunctionByGeometry(), GNEAdditionalDialog::resetChanges(), GNEDemandElementDialog::resetChanges(), GNENet::resetJunctionConnections(), GNEViewNet::restrictLane(), GNENet::reverseEdge(), GNENet::selectRoundabout(), GNEPersonTrip::setAttribute(), GNERide::setAttribute(), GNERoute::setAttribute(), GNEStop::setAttribute(), GNETranship::setAttribute(), GNETransport::setAttribute(), GNEWalk::setAttribute(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), GNEJunction::setAttribute(), GNEJunction::setJunctionType(), GNEEdge::setNumLanes(), GNEPoly::simplifyShape(), GNENet::splitEdge(), GNENet::splitEdgesBidi(), GNENet::splitJunction(), GNERouteHandler::transformToContainer(), GNERouteHandler::transformToContainerFlow(), GNERouteHandler::transformToFlow(), GNERouteHandler::transformToPerson(), GNERouteHandler::transformToPersonFlow(), GNERouteHandler::transformToRouteFlow(), GNERouteHandler::transformToTrip(), and GNERouteHandler::transformToVehicle().
Begin undo command sub-group specifying supermode. This begins a new group of commands that are treated as a single command. Must eventually be followed by a matching end() after recording the sub-commands. The new sub-group will be appended to its parent group's undo list when end() is called.
Definition at line 218 of file GNEUndoList.cpp.
References cut(), GNEChangeGroup::GNEChangeGroup(), GNEChangeGroup::group, myChangeGroups, and myWorking.
bool GNEUndoList::busy | ( | ) | const |
Return TRUE if currently inside undo or redo operation; this is useful to avoid generating another undo command while inside an undo operation.
Definition at line 421 of file GNEUndoList.cpp.
References myWorking.
|
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 74 of file GNEChange.cpp.
Referenced by add().
|
protected |
Can we redo more commands.
Definition at line 562 of file GNEUndoList.cpp.
References GNEChangeGroup::redoList.
Referenced by onUpdRedo().
|
protected |
Can we undo more commands.
Definition at line 556 of file GNEUndoList.cpp.
References GNEChangeGroup::undoList.
Referenced by onUpdUndo().
void GNEUndoList::changeAttribute | ( | GNEChange_Attribute * | change | ) |
special method for change attributes, avoid empty changes, always execute
Definition at line 363 of file GNEUndoList.cpp.
References add(), and GNEChange_Attribute::trueChange().
Referenced by GNEMultiEntryExitDetector::commitMoveShape(), GNERerouter::commitMoveShape(), GNETAZ::commitMoveShape(), GNETractionSubstation::commitMoveShape(), GNEVariableSpeedSign::commitMoveShape(), GNEStop::commitMoveShape(), GNEConnection::commitMoveShape(), GNECrossing::commitMoveShape(), GNEEdge::commitMoveShape(), GNELane::commitMoveShape(), GNEWalkingArea::commitMoveShape(), GNEPOI::commitMoveShape(), GNEPoly::commitMoveShape(), GNENet::joinSelectedJunctions(), GNENet::mergeJunctions(), GNERoute::GNERoutePopupMenu::onCmdApplyDistance(), GNEViewNet::onCmdSetCustomGeometryPoint(), GNETAZ::removeGeometryPoint(), GNEConnection::removeGeometryPoint(), GNECrossing::removeGeometryPoint(), GNEEdge::removeGeometryPoint(), GNEJunction::removeGeometryPoint(), GNELane::removeGeometryPoint(), GNEPoly::removeGeometryPoint(), GNENet::replaceIncomingEdge(), GNEAccess::setAttribute(), GNEBusStop::setAttribute(), GNECalibrator::setAttribute(), GNECalibratorFlow::setAttribute(), GNEChargingStation::setAttribute(), GNEClosingLaneReroute::setAttribute(), GNEClosingReroute::setAttribute(), GNEContainerStop::setAttribute(), GNEDestProbReroute::setAttribute(), GNEEntryExitDetector::setAttribute(), GNEInductionLoopDetector::setAttribute(), GNEInstantInductionLoopDetector::setAttribute(), GNELaneAreaDetector::setAttribute(), GNEMultiEntryExitDetector::setAttribute(), GNEOverheadWire::setAttribute(), GNEParkingArea::setAttribute(), GNEParkingAreaReroute::setAttribute(), GNEParkingSpace::setAttribute(), GNERerouter::setAttribute(), GNERerouterInterval::setAttribute(), GNERouteProbe::setAttribute(), GNERouteProbReroute::setAttribute(), GNETAZ::setAttribute(), GNETAZSourceSink::setAttribute(), GNETractionSubstation::setAttribute(), GNEVaporizer::setAttribute(), GNEVariableSpeedSign::setAttribute(), GNEVariableSpeedSignStep::setAttribute(), GNEDataInterval::setAttribute(), GNEDataSet::setAttribute(), GNEEdgeData::setAttribute(), GNEEdgeRelData::setAttribute(), GNEMeanData::setAttribute(), GNETAZRelData::setAttribute(), GNEContainer::setAttribute(), GNEPerson::setAttribute(), GNEPersonTrip::setAttribute(), GNERide::setAttribute(), GNERoute::setAttribute(), GNEStop::setAttribute(), GNETranship::setAttribute(), GNETransport::setAttribute(), GNEVehicle::setAttribute(), GNEVType::setAttribute(), GNEVTypeDistribution::setAttribute(), GNEWalk::setAttribute(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), GNELane::setAttribute(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), GNEEdge::setNumLanes(), GNENet::splitEdge(), and GNENet::splitJunction().
void GNEUndoList::clear | ( | ) |
Definition at line 283 of file GNEUndoList.cpp.
References abortAllChangeGroups(), GNEChangeGroup::group, GNEChange::next, GNEChangeGroup::redoList, and GNEChangeGroup::undoList.
Referenced by GNEApplicationWindow::clearUndoList(), and GNENet::computeAndUpdate().
int GNEUndoList::currentCommandGroupSize | ( | ) | const |
get size of current CommandGroup
Definition at line 373 of file GNEUndoList.cpp.
References myChangeGroups, and GNEChange::size().
Referenced by GNEAdditionalDialog::initChanges(), and GNEDemandElementDialog::initChanges().
|
protected |
Cut the redo list. This is automatically invoked when a new undo command is added.
Definition at line 521 of file GNEUndoList.cpp.
References GNEChange::next, and GNEChangeGroup::redoList.
Referenced by add(), and begin().
|
inherited |
Return TRUE if empty.
Definition at line 111 of file GNEChangeGroup.cpp.
References GNEChangeGroup::undoList.
Referenced by end().
void GNEUndoList::end | ( | ) |
End undo command sub-group. If the sub-group is still empty, it will be deleted; otherwise, the sub-group will be added as a new command into parent group.
Definition at line 238 of file GNEUndoList.cpp.
References DATA_SELECT, DEMAND_SELECT, GNEChangeGroup::empty(), GNEViewNet::getEditModes(), GNESelectorFrame::getSelectionInformation(), GNEViewParent::getSelectorFrame(), GNEApplicationWindow::getViewNet(), GNEViewNet::getViewParent(), GNEChangeGroup::group, myChangeGroups, myGNEApplicationWindowParent, myWorking, NETWORK_SELECT, GNEChange::next, GNEChangeGroup::undoList, GNESelectorFrame::SelectionInformation::updateInformationLabel(), and GNEViewNet::updateViewNet().
Referenced by GNEAdditionalDialog::acceptChanges(), GNEDemandElementDialog::acceptChanges(), GNEViewNet::addRestrictedLane(), GNENet::addReversedEdge(), GNENet::adjustPersonPlans(), GNEAdditionalHandler::buildAccess(), GNEAdditionalHandler::buildBusStop(), GNEAdditionalHandler::buildCalibratorFlow(), GNEAdditionalHandler::buildChargingStation(), GNEAdditionalHandler::buildClosingLaneReroute(), GNEAdditionalHandler::buildClosingReroute(), GNERouteHandler::buildContainer(), GNERouteHandler::buildContainerFlow(), GNEAdditionalHandler::buildContainerStop(), GNEDataHandler::buildDataInterval(), GNEDataHandler::buildDataSet(), GNEAdditionalHandler::buildDestProbReroute(), GNEAdditionalHandler::buildDetectorE1Instant(), GNEAdditionalHandler::buildDetectorE3(), GNEAdditionalHandler::buildDetectorEntry(), GNEAdditionalHandler::buildDetectorExit(), GNEAdditionalHandler::buildE1Detector(), GNEAdditionalHandler::buildEdgeCalibrator(), GNEDataHandler::buildEdgeData(), GNEMeanDataHandler::buildEdgeMeanData(), GNEDataHandler::buildEdgeRelationData(), GNERouteHandler::buildEmbeddedRoute(), GNERouteHandler::buildFlow(), GNERouteHandler::buildFlowJunctions(), GNERouteHandler::buildFlowOverRoute(), GNERouteHandler::buildFlowTAZs(), GNEAdditionalHandler::buildLaneCalibrator(), GNEMeanDataHandler::buildLaneMeanData(), GNEAdditionalHandler::buildMultiLaneDetectorE2(), GNEAdditionalHandler::buildOverheadWire(), GNEAdditionalHandler::buildParkingArea(), GNEAdditionalHandler::buildParkingAreaReroute(), GNEAdditionalHandler::buildParkingSpace(), GNERouteHandler::buildPerson(), GNERouteHandler::buildPersonFlow(), GNERouteHandler::buildPersonTrip(), GNEAdditionalHandler::buildPOI(), GNEAdditionalHandler::buildPOIGeo(), GNEAdditionalHandler::buildPOILane(), GNEAdditionalHandler::buildPolygon(), GNEAdditionalHandler::buildRerouter(), GNEAdditionalHandler::buildRerouterInterval(), GNERouteHandler::buildRide(), GNERouteHandler::buildRoute(), GNEAdditionalHandler::buildRouteProbe(), GNEAdditionalHandler::buildRouteProbReroute(), GNEAdditionalHandler::buildSingleLaneDetectorE2(), GNERouteHandler::buildStop(), GNEAdditionalHandler::buildTAZ(), GNEDataHandler::buildTAZRelationData(), GNEAdditionalHandler::buildTAZSink(), GNEAdditionalHandler::buildTAZSource(), GNEAdditionalHandler::buildTractionSubstation(), GNEAdditionalHandler::buildTrainStop(), GNERouteHandler::buildTranship(), GNERouteHandler::buildTransport(), GNERouteHandler::buildTrip(), GNERouteHandler::buildTripJunctions(), GNERouteHandler::buildTripTAZs(), GNEAdditionalHandler::buildVaporizer(), GNEAdditionalHandler::buildVariableSpeedSign(), GNEAdditionalHandler::buildVariableSpeedSignStep(), GNERouteHandler::buildVehicleOverRoute(), GNERouteHandler::buildVType(), GNERouteHandler::buildVTypeDistribution(), GNERouteHandler::buildWalk(), GNEPoly::changeFirstGeometryPoint(), GNEConnection::changeTLIndex(), GNENet::cleanInvalidCrossings(), GNENet::cleanInvalidDemandElements(), GNENet::cleanUnusedRoutes(), GNENet::clearAdditionalElements(), GNENet::clearDataElements(), GNENet::clearDemandElements(), GNENet::clearJunctionConnections(), GNENet::clearMeanDataElements(), GNEPoly::closePolygon(), GNEAccess::commitMoveShape(), GNEEntryExitDetector::commitMoveShape(), GNEInductionLoopDetector::commitMoveShape(), GNEInstantInductionLoopDetector::commitMoveShape(), GNELaneAreaDetector::commitMoveShape(), GNEMultiEntryExitDetector::commitMoveShape(), GNEOverheadWire::commitMoveShape(), GNEParkingSpace::commitMoveShape(), GNERerouter::commitMoveShape(), GNEStoppingPlace::commitMoveShape(), GNETAZ::commitMoveShape(), GNETractionSubstation::commitMoveShape(), GNEVariableSpeedSign::commitMoveShape(), GNEContainer::commitMoveShape(), GNEPerson::commitMoveShape(), GNEPersonTrip::commitMoveShape(), GNERide::commitMoveShape(), GNEStop::commitMoveShape(), GNETranship::commitMoveShape(), GNETransport::commitMoveShape(), GNEVehicle::commitMoveShape(), GNEWalk::commitMoveShape(), GNEConnection::commitMoveShape(), GNECrossing::commitMoveShape(), GNEEdge::commitMoveShape(), GNEJunction::commitMoveShape(), GNELane::commitMoveShape(), GNEWalkingArea::commitMoveShape(), GNEPOI::commitMoveShape(), GNEPoly::commitMoveShape(), GNENet::createEdge(), GNEContainerFrame::createPath(), GNEPersonFrame::createPath(), GNENet::createRoundabout(), GNENet::deleteAdditional(), GNENet::deleteConnection(), GNENet::deleteCrossing(), GNENet::deleteDataInterval(), GNENet::deleteDataSet(), GNENet::deleteDemandElement(), GNENet::deleteEdge(), GNENet::deleteGenericData(), GNEPoly::deleteGeometryPoint(), GNENet::deleteJunction(), GNENet::deleteLane(), GNENet::deleteMeanData(), GNENet::duplicateLane(), GNEEdge::editEndpoint(), GNEFixDemandElements::FixRouteOptions::fixElements(), GNEFixDemandElements::FixVehicleOptions::fixElements(), GNEFixDemandElements::FixStopPositionOptions::fixElements(), GNEFixDemandElements::FixPersonPlanOptions::fixElements(), GNEFixNetworkElements::FixEdgeOptions::fixElements(), GNEFixNetworkElements::FixCrossingOptions::fixElements(), GNESelectorFrame::handleIDs(), GNEViewNet::hotkeyDel(), GNENet::joinRoutes(), GNENet::joinSelectedJunctions(), GNEApplicationWindow::loadAdditionalElements(), GNEApplicationWindow::loadDataElements(), GNEApplicationWindow::loadDemandElements(), GNEApplicationWindow::loadMeanDataElements(), GNENet::mergeJunctions(), GNEFixAdditionalElements::onCmdAccept(), GNEMultipleParametersDialog::onCmdAccept(), GNESingleParametersDialog::onCmdAccept(), GNEViewNet::onCmdAddJoinTLS(), GNEViewNet::onCmdAddReversedEdge(), GNEViewNet::onCmdAddReversedEdgeDisconnected(), GNEViewNet::onCmdAddTLS(), GNERoute::GNERoutePopupMenu::onCmdApplyDistance(), GNEViewNet::onCmdClearConnections(), GNEViewNet::onCmdClosePolygon(), GNEViewNet::onCmdDuplicateLane(), GNEViewNet::onCmdEgeApplyTemplate(), GNEViewNet::onCmdLaneReachability(), GNEElementTree::onCmdMoveItemDown(), GNEElementTree::onCmdMoveItemUp(), GNEApplicationWindow::onCmdOpenAdditionals(), GNEFrameAttributeModules::AttributesEditorRow::onCmdOpenAttributeDialog(), GNEApplicationWindow::onCmdOpenDataElements(), GNEApplicationWindow::onCmdOpenDemandElements(), GNEApplicationWindow::onCmdOpenEdgeTypes(), GNEApplicationWindow::onCmdOpenMeanDatas(), GNEViewNet::onCmdOpenPolygon(), GNEApplicationWindow::onCmdOpenTLSPrograms(), GNEApplicationWindow::onCmdReloadAdditionals(), GNEApplicationWindow::onCmdReloadDataElements(), GNEApplicationWindow::onCmdReloadDemandElements(), GNEApplicationWindow::onCmdReloadEdgeTypes(), GNEApplicationWindow::onCmdReloadMeanDatas(), GNEApplicationWindow::onCmdReloadTLSPrograms(), GNEViewNet::onCmdResetConnections(), GNEViewNet::onCmdResetEdgeEndpoint(), GNEViewNet::onCmdResetEdgeEndPoints(), GNEViewNet::onCmdResetEndPoints(), GNEViewNet::onCmdResetJunctionShape(), GNEViewNet::onCmdResetLaneCustomShape(), GNEViewNet::onCmdResetLength(), GNEViewNet::onCmdResetOppositeLane(), GNEViewNet::onCmdReverseEdge(), GNEFrameAttributeModules::AttributesEditorRow::onCmdSelectCheckButton(), GNEViewNet::onCmdSelectPolygonElements(), GNEViewNet::onCmdSetCustomGeometryPoint(), GNEFlowEditor::onCmdSetFlowAttribute(), GNEViewNet::onCmdSimplifyShape(), GNEViewNet::onCmdSmoothEdges(), GNEViewNet::onCmdSmoothEdgesElevation(), GNEViewNet::onCmdStraightenEdges(), GNEViewNet::onCmdStraightenEdgesElevation(), GNEViewNet::onCmdTransformPOI(), GNEPoly::openPolygon(), GNEVType::overwriteVType(), GNECreateEdgeFrame::processClick(), GNERerouter::rebuildRerouterSymbols(), GNEVariableSpeedSign::rebuildVSSSymbols(), GNETAZ::removeGeometryPoint(), GNEConnection::removeGeometryPoint(), GNECrossing::removeGeometryPoint(), GNEEdge::removeGeometryPoint(), GNEJunction::removeGeometryPoint(), GNELane::removeGeometryPoint(), GNEPoly::removeGeometryPoint(), GNEViewNet::removeRestrictedLane(), GNEDeleteFrame::removeSelectedAttributeCarriers(), GNENet::removeSolitaryJunctions(), GNENet::replaceIncomingEdge(), GNENet::replaceJunctionByGeometry(), GNENet::resetJunctionConnections(), GNEViewNet::restrictLane(), GNENet::reverseEdge(), GNENet::selectRoundabout(), GNEPersonTrip::setAttribute(), GNERide::setAttribute(), GNERoute::setAttribute(), GNEStop::setAttribute(), GNETranship::setAttribute(), GNETransport::setAttribute(), GNEWalk::setAttribute(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), GNEJunction::setAttribute(), GNEJunction::setJunctionType(), GNEEdge::setNumLanes(), GNEPoly::simplifyShape(), GNENet::splitEdge(), GNENet::splitEdgesBidi(), GNENet::splitJunction(), GNERouteHandler::transformToContainer(), GNERouteHandler::transformToContainerFlow(), GNERouteHandler::transformToFlow(), GNERouteHandler::transformToPerson(), GNERouteHandler::transformToPersonFlow(), GNERouteHandler::transformToRouteFlow(), GNERouteHandler::transformToTrip(), and GNERouteHandler::transformToVehicle().
|
inherited |
get description
Definition at line 75 of file GNEChangeGroup.cpp.
References GNEChangeGroup::myDescription.
|
inherited |
get icon associated with this ChangeGroup
Definition at line 93 of file GNEChangeGroup.cpp.
References GNEChangeGroup::myIcon.
Referenced by GNEUndoList::Iterator::getIcon().
|
inherited |
get supermode associated with this ChangeGroup
Definition at line 87 of file GNEChangeGroup.cpp.
References GNEChangeGroup::myGroupSupermode.
Referenced by getRedoSupermode(), and getUndoSupermode().
Supermode GNEUndoList::getRedoSupermode | ( | ) | const |
get redo supermode
Definition at line 399 of file GNEUndoList.cpp.
References begin(), GNEChangeGroup::getGroupSupermode(), GNEChange::getSupermode(), NETWORK, and GNEChangeGroup::redoList.
Referenced by GNEApplicationWindow::onCmdRedo().
|
inherited |
get supermode
Definition at line 68 of file GNEChange.cpp.
References GNEChange::mySupermode.
Referenced by getRedoSupermode(), and getUndoSupermode().
|
inherited |
get timeStamp
Definition at line 81 of file GNEChangeGroup.cpp.
References GNEChangeGroup::myTimeStamp.
Referenced by GNEUndoList::Iterator::getTimeStamp().
Supermode GNEUndoList::getUndoSupermode | ( | ) | const |
get undo supermode
Definition at line 383 of file GNEUndoList.cpp.
References begin(), GNEChangeGroup::getGroupSupermode(), GNEChange::getSupermode(), NETWORK, and GNEChangeGroup::undoList.
Referenced by GNEApplicationWindow::onCmdUndo().
bool GNEUndoList::hasCommandGroup | ( | ) | const |
Check if undoList has command group.
Definition at line 415 of file GNEUndoList.cpp.
References myChangeGroups.
Referenced by abortAllChangeGroups(), GNEJunction::invalidateTLS(), onUpdRedo(), onUpdUndo(), GNECreateEdgeFrame::processClick(), and GNEJunction::setLogicValid().
|
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 80 of file GNEChange.cpp.
Referenced by add().
long GNEUndoList::onCmdRedo | ( | FXObject * | , |
FXSelector | , | ||
void * | |||
) |
redo change
Definition at line 474 of file GNEUndoList.cpp.
References redo().
Referenced by FXDEFMAP().
long GNEUndoList::onCmdUndo | ( | FXObject * | , |
FXSelector | , | ||
void * | |||
) |
Definition at line 427 of file GNEUndoList.cpp.
References undo().
Referenced by FXDEFMAP().
long GNEUndoList::onUpdRedo | ( | FXObject * | sender, |
FXSelector | , | ||
void * | |||
) |
event after Redo
Definition at line 481 of file GNEUndoList.cpp.
References canRedo(), hasCommandGroup(), GNEApplicationWindow::isUndoRedoEnabled(), myChangeGroups, myGNEApplicationWindowParent, and redoName().
Referenced by FXDEFMAP(), GNEApplicationWindow::onUpdRedo(), and GNEViewParent::updateUndoRedoButtons().
long GNEUndoList::onUpdUndo | ( | FXObject * | sender, |
FXSelector | , | ||
void * | |||
) |
event after Undo
Definition at line 434 of file GNEUndoList.cpp.
References canUndo(), hasCommandGroup(), GNEApplicationWindow::isUndoRedoEnabled(), myChangeGroups, myGNEApplicationWindowParent, and undoName().
Referenced by FXDEFMAP(), GNEApplicationWindow::onUpdUndo(), and GNEViewParent::updateUndoRedoButtons().
|
virtual |
redo the last command group
Reimplemented from GNEChangeGroup.
Definition at line 165 of file GNEUndoList.cpp.
References GNEChangeGroup::group, myGNEApplicationWindowParent, myWorking, GNEChange::next, GNEChange::redo(), GNEChangeGroup::redoList, GNEChangeGroup::undoList, GNEApplicationWindow::updateControls(), and WRITE_DEBUG.
Referenced by GNEApplicationWindow::onCmdRedo(), onCmdRedo(), and GNEUndoListDialog::onCmdSelectRow().
|
virtual |
Return name of the first redo command available; if no Redo command available this will return the empty string.
Reimplemented from GNEChangeGroup.
Definition at line 198 of file GNEUndoList.cpp.
References GNEChangeGroup::redoList, and GNEChange::redoName().
Referenced by GNEUndoList::Iterator::getDescription(), and onUpdRedo().
|
inlineprotectedinherited |
remove given element from parents and children (only use in redo() function)
Definition at line 167 of file GNEChange.h.
References GNEHierarchicalContainer::getChildren(), GNEHierarchicalContainer::getParents(), and GNEChange::myOriginalHierarchicalContainer.
Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), and GNEChange_Lane::redo().
|
protectedinherited |
restore container (only use in undo() function)
Definition at line 94 of file GNEChange.cpp.
References GNEChange::myHierarchicalContainers.
Referenced by GNEChange_Additional::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), and GNEChange_Lane::undo().
|
virtualinherited |
Return the size of the command group.
Reimplemented from GNEChange.
Definition at line 143 of file GNEChangeGroup.cpp.
References GNEChangeGroup::GNEChangeGroup(), GNEChange::next, GNEChangeGroup::redoList, GNEChange::size(), and GNEChangeGroup::undoList.
|
virtual |
undo the last command group
Reimplemented from GNEChangeGroup.
Definition at line 142 of file GNEUndoList.cpp.
References GNEChangeGroup::group, myGNEApplicationWindowParent, myWorking, GNEChange::next, GNEChangeGroup::redoList, GNEChange::undo(), GNEChangeGroup::undoList, GNEApplicationWindow::updateControls(), and WRITE_DEBUG.
Referenced by GNEUndoListDialog::onCmdSelectRow(), GNEApplicationWindow::onCmdUndo(), and onCmdUndo().
|
virtual |
Return name of the first undo command available; if no undo command available this will return the empty string.
Reimplemented from GNEChangeGroup.
Definition at line 188 of file GNEUndoList.cpp.
References GNEChangeGroup::undoList, and GNEChange::undoName().
Referenced by onUpdUndo().
|
privateinherited |
group (can be access by GNEUndoList)
Definition at line 95 of file GNEChangeGroup.h.
Referenced by abortCurrentSubGroup(), add(), begin(), clear(), end(), redo(), undo(), and GNEChangeGroup::~GNEChangeGroup().
|
private |
Definition at line 228 of file GNEUndoList.h.
Referenced by abortAllChangeGroups(), abortLastChangeGroup(), begin(), currentCommandGroupSize(), end(), hasCommandGroup(), onUpdRedo(), and onUpdUndo().
|
protectedinherited |
description of command
Definition at line 79 of file GNEChangeGroup.h.
Referenced by GNEChangeGroup::getDescription(), GNEChangeGroup::redoName(), and GNEChangeGroup::undoName().
|
protectedinherited |
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag
Definition at line 212 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_MeanData::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_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_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(), and GNEChange_TLS::undoName().
|
private |
Definition at line 231 of file GNEUndoList.h.
Referenced by begin(), end(), onUpdRedo(), onUpdUndo(), redo(), and undo().
|
protectedinherited |
supermode associated with this ChangeGroup
Definition at line 82 of file GNEChangeGroup.h.
Referenced by GNEChangeGroup::getGroupSupermode().
|
protectedinherited |
map with hierarchical container of all parent and children elements
Definition at line 221 of file GNEChange.h.
Referenced by GNEChange::GNEChange(), and GNEChange::restoreHierarchicalContainers().
|
protectedinherited |
icon associated with this ChangeGroup
Definition at line 85 of file GNEChangeGroup.h.
Referenced by GNEChangeGroup::getGroupIcon().
|
protectedinherited |
Hierarchical container with parent and children.
Definition at line 218 of file GNEChange.h.
Referenced by GNEChange::addElementInParentsAndChildren(), GNEChange_DemandElement::redo(), GNEChange::removeElementFromParentsAndChildren(), and GNEChange_DemandElement::undo().
|
protectedinherited |
flag for check if element is selected
Definition at line 215 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_MeanData::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(), and GNEChange_MeanData::undo().
|
protectedinherited |
supermode related with this change
Definition at line 209 of file GNEChange.h.
Referenced by GNEChange::getSupermode().
|
privateinherited |
timeStamp HH:MM:SS
Definition at line 98 of file GNEChangeGroup.h.
Referenced by GNEChangeGroup::getTimeStamp().
|
private |
Currently busy with undo or redo.
Definition at line 225 of file GNEUndoList.h.
Referenced by abortCurrentSubGroup(), add(), begin(), busy(), end(), redo(), and undo().
|
privateinherited |
Definition at line 225 of file GNEChange.h.
Referenced by add(), clear(), cut(), end(), GNEChangeGroup::redo(), redo(), GNEChangeGroup::size(), GNEChangeGroup::undo(), undo(), and GNEChangeGroup::~GNEChangeGroup().
|
privateinherited |
redo list command (can be access by GNEUndoList)
Definition at line 92 of file GNEChangeGroup.h.
Referenced by canRedo(), clear(), cut(), getRedoSupermode(), GNEChangeGroup::redo(), redo(), redoName(), GNEChangeGroup::size(), GNEChangeGroup::undo(), undo(), and GNEChangeGroup::~GNEChangeGroup().
|
privateinherited |
undo list command (can be access by GNEUndoList)
Definition at line 89 of file GNEChangeGroup.h.
Referenced by add(), canUndo(), clear(), GNEChangeGroup::empty(), end(), getUndoSupermode(), GNEChangeGroup::redo(), redo(), GNEChangeGroup::size(), GNEChangeGroup::undo(), undo(), undoName(), and GNEChangeGroup::~GNEChangeGroup().