![]() |
Eclipse SUMO - Simulation of Urban MObility
|
the function-object for an editing operation (abstract base) More...
#include <GNEChange_Attribute.h>
Public Member Functions | |
| ~GNEChange_Attribute () | |
| Destructor. | |
inherited from GNEChange | |
| std::string | undoName () const |
| get undo Name | |
| std::string | redoName () const |
| get Redo name | |
| void | undo () |
| undo action | |
| void | redo () |
| redo action | |
Static Public Member Functions | |
| static void | changeAttribute (GNEAttributeCarrier *AC, SumoXMLAttr key, const std::string &value, const std::string &originalValue, GNEUndoList *undoList, const bool force=false) |
| change attribute specifying original value | |
| static void | changeAttribute (GNEAttributeCarrier *AC, SumoXMLAttr key, const std::string &value, GNEUndoList *undoList, const bool force=false) |
| change attribute | |
Private Member Functions | |
| GNEChange_Attribute (GNEAttributeCarrier *ac, const SumoXMLAttr key, const std::string &value) | |
| constructor | |
| GNEChange_Attribute (GNEAttributeCarrier *ac, const SumoXMLAttr key, const std::string &value, const std::string &customOrigValue) | |
| Constructor with custom origin value. | |
| bool | trueChange () |
| wether original and new value differ | |
Private Attributes | |
| GNEAttributeCarrier * | myAC |
| the net to which all operations shall be applied | |
| bool | myForceChange |
| flag used to force set attributes | |
| const SumoXMLAttr | myKey |
| The attribute name (or the original attribute if we're editing a disjoint attribute) | |
| const std::string | myNewValue |
| the new value | |
| const std::string | myOrigValue |
| the original value | |
friend class | |
| GNEChange * | next |
| 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 | |
the function-object for an editing operation (abstract base)
Definition at line 32 of file GNEChange_Attribute.h.
| GNEChange_Attribute::~GNEChange_Attribute | ( | ) |
Destructor.
Definition at line 83 of file GNEChange_Attribute.cpp.
References GNEReferenceCounter::decRef(), GNEViewParent::getGNEAppWindows(), GNEAttributeCarrier::getNet(), GNENet::getViewNet(), GNEViewNet::getViewParent(), GNEApplicationWindow::isUndoRedoAllowed(), myAC, myKey, toString(), and GNEReferenceCounter::unreferenced().
|
private |
constructor
| [in] | ac | The attribute-carrier to be modified |
| [in] | key | The attribute key |
| [in] | value | The new value |
Definition at line 173 of file GNEChange_Attribute.cpp.
References GNEReferenceCounter::incRef(), myAC, myKey, and toString().
|
private |
Constructor with custom origin value.
| [in] | ac | The attribute-carrier to be modified |
| [in] | key | The attribute key |
| [in] | value | The new value |
| [in] | customOrigValue | custom original value |
Definition at line 184 of file GNEChange_Attribute.cpp.
References GNEReferenceCounter::incRef(), myAC, myKey, and toString().
|
inlineprotectedinherited |
add given element in parents and children
Definition at line 121 of file GNEChange.h.
References GNEHierarchicalStructureParents::get(), GNEHierarchicalElement::insertChild(), and GNEChange::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().
|
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().
|
static |
change attribute specifying original value
| [in] | ac | The attribute-carrier to be modified |
| [in] | key | The attribute key |
| [in] | value | The new value |
| [in] | originalValue | The original value |
| [in] | undoList | The undoList |
| [in] | force | enable or disable force change attribute |
Definition at line 63 of file GNEChange_Attribute.cpp.
References GNEUndoList::add(), GNEUndoList::begin(), GNEUndoList::end(), GNEViewParent::getGNEAppWindows(), GNEAttributeCarrier::getID(), GNEAttributeCarrier::getNet(), GNEAttributeCarrier::getTagStr(), GNENet::getViewNet(), GNEViewNet::getViewParent(), GNEApplicationWindow::isUndoRedoAllowed(), GNEAttributeCarrier::setAttribute(), TLF, and toString().
|
static |
change attribute
| [in] | ac | The attribute-carrier to be modified |
| [in] | key | The attribute key |
| [in] | value | The new value |
| [in] | undoList | The undoList |
| [in] | force | enable or disable force change attribute |
Definition at line 42 of file GNEChange_Attribute.cpp.
References TLF, and toString().
Referenced by GNEMoveElementConnection::commitMoveShape(), GNEMoveElementCrossing::commitMoveShape(), GNEMoveElementEdge::commitMoveShape(), GNEMoveElementLane::commitMoveShape(), GNEMoveElementShape::commitMoveShape(), GNEMoveElementView::commitMoveShape(), GNEJunction::invalidateTLS(), GNENet::joinSelectedJunctions(), GNEJunction::markAsModified(), GNERoute::GNERoutePopupMenu::onCmdApplyDistance(), GNEViewNet::onCmdSetCustomGeometryPoint(), GNEMoveElementConnection::removeGeometryPoint(), GNEMoveElementCrossing::removeGeometryPoint(), GNEMoveElementEdge::removeGeometryPoint(), GNEMoveElementJunction::removeGeometryPoint(), GNEMoveElementLane::removeGeometryPoint(), GNEMoveElementShape::removeGeometryPoint(), GNENet::replaceIncomingEdge(), GNENet::restrictLane(), GNEAccess::setAttribute(), GNEBusStop::setAttribute(), GNECalibrator::setAttribute(), GNECalibratorFlow::setAttribute(), GNEChargingStation::setAttribute(), GNEClosingLaneReroute::setAttribute(), GNEClosingReroute::setAttribute(), GNEContainerStop::setAttribute(), GNEDestProbReroute::setAttribute(), GNEEntryExitDetector::setAttribute(), GNELaneAreaDetector::setAttribute(), GNEMultiEntryExitDetector::setAttribute(), GNEOverheadWire::setAttribute(), GNEParkingArea::setAttribute(), GNEParkingAreaReroute::setAttribute(), GNEParkingSpace::setAttribute(), GNEPOI::setAttribute(), GNEPoly::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(), GNEEdgeRelData::setAttribute(), GNEMeanData::setAttribute(), GNETAZRelData::setAttribute(), GNEContainer::setAttribute(), GNEPerson::setAttribute(), GNEPersonTrip::setAttribute(), GNERide::setAttribute(), GNERoute::setAttribute(), GNERouteDistribution::setAttribute(), GNERouteRef::setAttribute(), GNEStop::setAttribute(), GNEStopPlan::setAttribute(), GNETranship::setAttribute(), GNETransport::setAttribute(), GNEVehicle::setAttribute(), GNEVType::setAttribute(), GNEVTypeDistribution::setAttribute(), GNEVTypeRef::setAttribute(), GNEWalk::setAttribute(), GNEConnection::setAttribute(), GNECrossing::setAttribute(), GNEEdge::setAttribute(), GNEJunction::setAttribute(), GNELane::setAttribute(), GNEWalkingArea::setAttribute(), GNEAttributeCarrier::setCommonAttribute(), GNEDetector::setDetectorAttribute(), GNEDemandElementFlow::setFlowAttribute(), GNEJunction::setJunctionType(), GNEJunction::setLogicValid(), GNEMoveElementLaneDouble::setMovingAttribute(), GNEMoveElementLaneSingle::setMovingAttribute(), GNEMoveElementView::setMovingAttribute(), GNEEdge::setNumLanes(), GNEDemandElementPlan::setPlanAttribute(), GNEMoveElementLaneDouble::setSize(), GNEStoppingPlace::setStoppingPlaceAttribute(), GNENet::splitEdge(), and GNENet::splitJunction().
|
inherited |
get supermode
Definition at line 66 of file GNEChange.cpp.
References GNEChange::mySupermode.
Referenced by GNEUndoList::getRedoSupermode(), and GNEUndoList::getUndoSupermode().
|
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.
Referenced by GNEUndoList::add().
|
virtual |
redo action
Implements GNEChange.
Definition at line 130 of file GNEChange_Attribute.cpp.
References GNEAttributeCarrier::getAttribute(), GNENet::getAttributeCarriers(), GNETagProperties::getAttributeProperties(), GNEAttributeCarrier::getNet(), GNENet::getSavingStatus(), GNETagProperties::getTag(), GNEAttributeCarrier::getTagProperty(), GNE_ATTR_DATASET, GNE_ATTR_SELECTED, GNETagProperties::hasAttribute(), GNETagProperties::isAdditionalElement(), GNETagProperties::isDataElement(), GNETagProperties::isDemandElement(), GNETagProperties::isGenericData(), GNETagProperties::isMeanData(), GNETagProperties::isNetworkElement(), myAC, myKey, myNewValue, GNENetHelper::SavingStatus::requireSaveAdditionals(), GNENetHelper::SavingStatus::requireSaveDataElements(), GNENetHelper::SavingStatus::requireSaveDemandElements(), GNENetHelper::SavingStatus::requireSaveMeanDatas(), GNENetHelper::SavingStatus::requireSaveNetwork(), GNENetHelper::AttributeCarriers::retrieveDataSet(), GNEAttributeCarrier::setAttribute(), SUMO_ATTR_ID, SUMO_TAG_DATASET, GNEDataSet::updateAttributeColors(), and GNEAttributeCarrier::updateGeometry().
|
virtual |
get Redo name
Implements GNEChange.
Definition at line 168 of file GNEChange_Attribute.cpp.
References GNEAttributeCarrier::getTagStr(), myAC, and TL.
|
inlineprotectedinherited |
remove given element from parents and children
Definition at line 148 of file GNEChange.h.
References GNEHierarchicalStructureParents::get(), GNEChange::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().
|
virtualinherited |
Return the size of the command group.
Reimplemented in GNEChangeGroup.
Definition at line 59 of file GNEChange.cpp.
Referenced by GNEUndoList::currentCommandGroupSize(), and GNEChangeGroup::size().
|
private |
wether original and new value differ
Definition at line 196 of file GNEChange_Attribute.cpp.
References myForceChange, myNewValue, and myOrigValue.
|
virtual |
undo action
Implements GNEChange.
Definition at line 98 of file GNEChange_Attribute.cpp.
References GNEAttributeCarrier::getAttribute(), GNENet::getAttributeCarriers(), GNETagProperties::getAttributeProperties(), GNEAttributeCarrier::getNet(), GNENet::getSavingStatus(), GNETagProperties::getTag(), GNEAttributeCarrier::getTagProperty(), GNE_ATTR_DATASET, GNE_ATTR_SELECTED, GNETagProperties::hasAttribute(), GNETagProperties::isAdditionalElement(), GNETagProperties::isDataElement(), GNETagProperties::isDemandElement(), GNETagProperties::isGenericData(), GNETagProperties::isMeanData(), GNETagProperties::isNetworkElement(), myAC, myKey, myOrigValue, GNENetHelper::SavingStatus::requireSaveAdditionals(), GNENetHelper::SavingStatus::requireSaveDataElements(), GNENetHelper::SavingStatus::requireSaveDemandElements(), GNENetHelper::SavingStatus::requireSaveMeanDatas(), GNENetHelper::SavingStatus::requireSaveNetwork(), GNENetHelper::AttributeCarriers::retrieveDataSet(), GNEAttributeCarrier::setAttribute(), SUMO_ATTR_ID, SUMO_TAG_DATASET, GNEDataSet::updateAttributeColors(), and GNEAttributeCarrier::updateGeometry().
|
virtual |
get undo Name
Implements GNEChange.
Definition at line 162 of file GNEChange_Attribute.cpp.
References GNEAttributeCarrier::getTagStr(), myAC, and TL.
|
private |
the net to which all operations shall be applied
Definition at line 81 of file GNEChange_Attribute.h.
Referenced by GNEChange_Attribute(), GNEChange_Attribute(), redo(), redoName(), undo(), undoName(), and ~GNEChange_Attribute().
|
private |
flag used to force set attributes
Definition at line 87 of file GNEChange_Attribute.h.
Referenced by trueChange().
|
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_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().
|
private |
The attribute name (or the original attribute if we're editing a disjoint attribute)
Definition at line 84 of file GNEChange_Attribute.h.
Referenced by GNEChange_Attribute(), GNEChange_Attribute(), redo(), undo(), and ~GNEChange_Attribute().
|
private |
the new value
Definition at line 93 of file GNEChange_Attribute.h.
Referenced by redo(), and trueChange().
|
private |
the original value
Definition at line 90 of file GNEChange_Attribute.h.
Referenced by trueChange(), and undo().
|
protectedinherited |
Hierarchical container with parents.
Definition at line 177 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 183 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_TAZSourceSink::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 174 of file GNEChange.h.
Referenced by GNEChange::getSupermode().
|
privateinherited |
Definition at line 187 of file GNEChange.h.
Referenced by GNEUndoList::add(), GNEUndoList::clear(), GNEUndoList::cut(), GNEUndoList::end(), GNEChangeGroup::redo(), GNEUndoList::redo(), GNEChangeGroup::size(), GNEChangeGroup::undo(), GNEUndoList::undo(), and GNEChangeGroup::~GNEChangeGroup().