35 const std::vector<GNEJunction*>& junctionParents,
36 const std::vector<GNEEdge*>& edgeParents,
37 const std::vector<GNELane*>& laneParents,
38 const std::vector<GNEAdditional*>& additionalParents,
39 const std::vector<GNEShape*>& shapeParents,
40 const std::vector<GNETAZElement*>& TAZElementParents,
41 const std::vector<GNEDemandElement*>& demandElementParents,
42 const std::vector<GNEGenericData*>& genericDataParents) :
44 GNEHierarchicalElement(net, tag, junctionParents, edgeParents, laneParents, additionalParents, shapeParents, TAZElementParents, demandElementParents, genericDataParents),
45 myBlockMovement(blockMovement) {
50 const std::vector<GNEJunction*>& junctionParents,
51 const std::vector<GNEEdge*>& edgeParents,
52 const std::vector<GNELane*>& laneParents,
53 const std::vector<GNEAdditional*>& additionalParents,
54 const std::vector<GNEShape*>& shapeParents,
55 const std::vector<GNETAZElement*>& TAZElementParents,
56 const std::vector<GNEDemandElement*>& demandElementParents,
57 const std::vector<GNEGenericData*>& genericDataParents) :
58 GUIGlObject(type, TAZElementParent->generateChildID(tag)),
59 GNEHierarchicalElement(net, tag, junctionParents, edgeParents, laneParents, additionalParents, shapeParents, TAZElementParents, demandElementParents, genericDataParents),
60 myBlockMovement(blockMovement) {
106 new FXMenuSeparator(ret);
133 const std::map<std::string, std::string>&
167 throw ProcessError(
"Calling non-implemented function checkChildTAZElementRestriction during saving of " +
getTagStr() +
". It muss be reimplemented in child class");
@ MID_COPY_TYPED_NAME
Copy typed object name - popup entry.
@ MID_COPY_NAME
Copy object name - popup entry.
SumoXMLTag
Numbers representing SUMO-XML - element names.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
const std::string & getTagStr() const
get tag assigned to this object in string format
GNENet * myNet
pointer to net
const GNETagProperties & myTagProperty
the xml tag to which this attribute carrier corresponds
const std::vector< GNETAZElement * > & getChildTAZElements() const
get child TAZElements
A NBNetBuilder extended by visualisation and editing capabilities.
GNETAZElement * retrieveTAZElement(SumoXMLTag type, const std::string &id, bool hardFail=true) const
Returns the named TAZElement.
GNEViewNet * getViewNet() const
get view net
An Element which don't belongs to GNENet but has influency in the simulation.
bool isTAZElementBlocked() const
Check if TAZElement item is currently blocked (i.e. cannot be moved with mouse)
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
bool isValidTAZElementID(const std::string &newID) const
check if a new TAZElement ID is valid
void enableAttribute(SumoXMLAttr key, GNEUndoList *undoList)
const std::string & getID() const
get ID
void disableAttribute(SumoXMLAttr key, GNEUndoList *undoList)
std::string generateChildID(SumoXMLTag childTag)
gererate a new ID for an element child
void setEnabledAttribute(const int enabledAttributes)
method for enabling the attribute and nothing else (used in GNEChange_EnableAttribute)
bool myBlockMovement
boolean to check if TAZElement element is blocked (i.e. cannot be moved with mouse)
virtual ~GNETAZElement()
Destructor.
GUIGlObject * getGUIGlObject()
get GUIGlObject associated with this AttributeCarrier
const std::map< std::string, std::string > & getACParametersMap() const
get parameters map
virtual bool checkChildTAZElementRestriction() const
check restriction with the number of children
GNETAZElement(const std::string &id, GNENet *net, GUIGlObjectType type, SumoXMLTag tag, bool blockMovement, const std::vector< GNEJunction * > &junctionParents, const std::vector< GNEEdge * > &edgeParents, const std::vector< GNELane * > &laneParents, const std::vector< GNEAdditional * > &additionalParents, const std::vector< GNEShape * > &shapeParents, const std::vector< GNETAZElement * > &TAZElementParents, const std::vector< GNEDemandElement * > &demandElementParents, const std::vector< GNEGenericData * > &genericDataParents)
Constructor.
virtual std::string getAttribute(SumoXMLAttr key) const =0
SumoXMLTag getTag() const
get Tag vinculated with this attribute Property
void buildSelectionACPopupEntry(GUIGLObjectPopupMenu *ret, GNEAttributeCarrier *AC)
Builds an entry which allows to (de)select the object.
static FXMenuCommand * buildFXMenuCommand(FXComposite *p, const std::string &text, FXIcon *icon, FXObject *tgt, FXSelector sel)
build menu command
void buildPositionCopyEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to copy the cursor position if geo projection is used,...
virtual const std::string & getMicrosimID() const
Returns the id of the object as known to microsim.
void buildShowParamsPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to open the parameter window.
void buildCenterPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to center to the object.
void buildPopupHeader(GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
Builds the header.
A window containing a gl-object's parameter.
void mkItem(const char *name, bool dynamic, ValueSource< T > *src)
Adds a row which obtains its value from a ValueSource.
void closeBuilding(const Parameterised *p=0)
Closes the building of the table.
const std::map< std::string, std::string > & getParametersMap() const
Returns the inner key/value map.
static bool isValidAdditionalID(const std::string &value)
whether the given string is a valid id for an additional object