109 FXIMPLEMENT(
GNEAdditionalFrame, FXVerticalFrame, GNEAdditionalMap, ARRAYNUMBER(GNEAdditionalMap))
123 GNEFrame(horizontalFrameParent, viewNet, "Additionals"),
127 myGroupBoxForMyAdditionalMatchBox =
new FXGroupBox(myContentFrame,
"Additional element",
GUIDesignGroupBoxFrame);
149 myAdditionalMatchBox->appendItem(
toString(i).c_str());
153 myAdditionalMatchBox->setNumVisible((
int)myAdditionalMatchBox->getNumItems());
159 setParametersOfAdditional(myActualAdditionalType);
191 pointed_junction =
dynamic_cast<GNEJunction*
>(netElement);
192 if (pointed_junction != NULL) {
209 if (dynamic_cast<GNELane*>(netElement) != NULL) {
210 pointed_edge = &(
dynamic_cast<GNELane*
>(netElement)->getParentEdge());
212 if (pointed_edge != NULL) {
228 pointed_lane =
dynamic_cast<GNELane*
>(netElement);
229 if (pointed_lane != NULL) {
245 pointed_crossing =
dynamic_cast<GNECrossing*
>(netElement);
246 if (pointed_crossing != NULL) {
274 double positionOfTheMouseOverEdge = pointed_edge->
getLanes().at(0)->getShape().nearest_offset_to_point2D(currentPosition);
294 }
else if (pointed_lane) {
325 double end = GNEAttributeCarrier::parse<double>(valuesOfElement[
SUMO_ATTR_END]);
361 std::vector<std::string> vectorOfIds;
365 for (
auto i : selectedEdges) {
366 vectorOfIds.push_back(i->getID());
384 std::vector<std::string> vectorOfIds;
388 for (
auto i : selectedLanes) {
389 vectorOfIds.push_back(i->getID());
416 std::set<GUIGlID> deselected;
417 deselected.insert(additional->
getGlID());
433 bool additionalNameCorrect =
false;
445 additionalNameCorrect =
true;
449 if (additionalNameCorrect ==
false) {
539 return positionOfTheMouseOverLane;
541 return positionOfTheMouseOverLane - lengthOfAdditional;
543 return positionOfTheMouseOverLane - lengthOfAdditional / 2;
554 return positionOfTheMouseOverLane + lengthOfAdditional;
556 return positionOfTheMouseOverLane;
558 return positionOfTheMouseOverLane + lengthOfAdditional / 2;
698 if (GNEAttributeCarrier::canParse<int>(
myTextFieldInt->getText().text())) {
700 int intValue = GNEAttributeCarrier::parse<int>(
myTextFieldInt->getText().text());
710 if (GNEAttributeCarrier::canParse<double>(
myTextFieldReal->getText().text())) {
712 double doubleValue = GNEAttributeCarrier::parse<double>(
myTextFieldReal->getText().text());
714 if (doubleValue < 0) {
721 if (GNEAttributeCarrier::canParse<double>(
myTextFieldReal->getText().text())) {
723 double doubleValue = GNEAttributeCarrier::parse<double>(
myTextFieldReal->getText().text());
737 myInvalidValue =
"input contains invalid characters for a filename";
788 myNumberOfVisibleTextfields(1),
789 myMaxNumberOfValuesInParameterList(20) {
852 FXVerticalFrame::show();
865 FXVerticalFrame::hide();
886 value += (
myTextFields.at(i)->getText().text() + std::string(
" "));
905 getParent()->recalc();
917 getParent()->recalc();
930 myIndexParameterList(0),
932 maxNumberOfListParameters(2) {
1007 WRITE_WARNING(
"Attribute '" +
toString(AdditionalAttributeSingle) +
"' doesn't have a defined type. Check definition in GNEAttributeCarrier");
1031 std::map<SumoXMLAttr, std::string>
1033 std::map<SumoXMLAttr, std::string> values;
1048 std::string errorMessage;
1053 if (attributeValue.size() != 0) {
1054 errorMessage = attributeValue;
1065 if (extra.size() == 0) {
1111 FXTable* myTable =
new FXTable(helpDialog,
this,
MID_TABLE, TABLE_READONLY);
1113 myTable->setVisibleColumns(3);
1115 myTable->setBackColor(FXRGB(255, 255, 255));
1116 myTable->setColumnText(0,
"Name");
1117 myTable->setColumnText(1,
"Value");
1118 myTable->setColumnText(2,
"Definition");
1119 myTable->getRowHeader()->setWidth(0);
1120 FXHeader* header = myTable->getColumnHeader();
1121 header->setItemJustify(0, JUSTIFY_CENTER_X);
1122 header->setItemSize(0, 120);
1123 header->setItemJustify(1, JUSTIFY_CENTER_X);
1124 header->setItemSize(1, 80);
1125 int maxSizeColumnDefinitions = 0;
1131 myTable->setItem(i, 0,
new FXTableItem(
toString(additionalAttr).c_str()));
1133 FXTableItem* type =
new FXTableItem(
"");
1135 type->setText(
"int");
1137 type->setText(
"float");
1139 type->setText(
"time");
1141 type->setText(
"bool");
1143 type->setText(
"color");
1145 type->setText(
"string");
1147 type->setJustify(FXTableItem::CENTER_X);
1148 myTable->setItem(i, 1, type);
1151 definition->setJustify(FXTableItem::LEFT);
1152 myTable->setItem(i, 2, definition);
1162 myTable->setItem(i, 0,
new FXTableItem(
toString(additionalAttr).c_str()));
1164 FXTableItem* type =
new FXTableItem(
"");
1166 type->setText(
"list of integers");
1168 type->setText(
"list of floats");
1170 type->setText(
"list of times");
1172 type->setText(
"list of booleans");
1174 type->setText(
"list of strings");
1176 type->setJustify(FXTableItem::CENTER_X);
1177 myTable->setItem(i, 1, type);
1180 definition->setJustify(FXTableItem::LEFT);
1181 myTable->setItem(i, 2, definition);
1187 header->setItemJustify(2, JUSTIFY_CENTER_X);
1188 header->setItemSize(2, maxSizeColumnDefinitions * 6);
1191 helpDialog->create();
1202 myActualAdditionalReferencePoint(GNE_ADDITIONALREFERENCEPOINT_LEFT),
1203 myCurrentLengthValid(true) {
1272 if (GNEAttributeCarrier::canParse<double>(
myLengthTextField->getText().text()) &&
1325 FXDialogBox* helpDialog =
new FXDialogBox(
this,
"Parameter editor Help",
GUIDesignDialogBox);
1326 std::ostringstream help;
1328 <<
"Referece point: Mark the initial position of the additional element.\n" 1329 <<
"Example: If you want to create a busStop with a length of 30 in the point 100 of the lane:\n" 1330 <<
"- Reference Left will create it with startPos = 70 and endPos = 100.\n" 1331 <<
"- Reference Right will create it with startPos = 100 and endPos = 130.\n" 1332 <<
"- Reference Center will create it with startPos = 85 and endPos = 115.\n" 1334 <<
"Block movement: if is enabled, the created additional element will be blocked. i.e. cannot be moved with\n" 1335 <<
"the mouse. This option can be modified with the Inspector.";
1339 helpDialog->create();
1348 std::string vectorOfIds;
1349 for (
int i = 0; i < list->getNumItems(); i++) {
1350 if (list->isItemSelected(i)) {
1351 if (vectorOfIds.size() > 0) {
1354 vectorOfIds += (list->getItem(i)->getText()).text();
1368 myUniqueSelection(false),
1390 for (
int i = 0; i <
myList->getNumItems(); i++) {
1391 if (
myList->isItemSelected(i)) {
1392 return myList->getItem(i)->getText().text();
1407 for (
auto i : vectorOfAdditionalParents) {
1408 myList->appendItem(i->getID().c_str());
1482 for (
auto i : vectorOfEdges) {
1484 if (i->getID().find(search) != std::string::npos) {
1485 myList->appendItem(i->getID().c_str());
1565 for (
int i = 0; i <
myList->getNumItems(); i++) {
1566 if (
myList->getItem(i)->isSelected()) {
1576 for (
int i = 0; i <
myList->getNumItems(); i++) {
1577 if (
myList->getItem(i)->isSelected()) {
1589 std::cout <<
"IMPLEMENT" << std::endl;
1639 for (
auto i : vectorOfLanes) {
1640 if (i->getID().find(search) != std::string::npos) {
1641 myList->appendItem(i->getID().c_str());
1717 for (
int i = 0; i <
myList->getNumItems(); i++) {
1718 if (
myList->getItem(i)->isSelected()) {
1728 for (
int i = 0; i <
myList->getNumItems(); i++) {
1729 if (
myList->getItem(i)->isSelected()) {
double setStartPosition(double positionOfTheMouseOverLane, double lengthOfAdditional)
obtain the Start position values of StoppingPlaces and E2 detector over the lane
SelectorParentAdditional()
FOX needs this.
int maxNumberOfListParameters
max number of parameters (Defined in constructor)
FXButton * helpLanes
button for help
std::vector< GNELane * > retrieveLanes(bool onlySelected=false)
return all lanes
SumoXMLTag
Numbers representing SUMO-XML - element names.
long onCmdSelectReferencePoint(FXObject *, FXSelector, void *)
Called when user enters another reference point.
SumoXMLAttr myAdditionalAttr
current XML attribute
additionalReferencePoint myActualAdditionalReferencePoint
actual additional reference point selected in the match Box
#define GUIDesignComboBoxNCol
number of column of every combo box
AddAdditionalResult addAdditional(GNENetElement *netElement, GUISUMOAbstractView *abstractViewParent)
add additional element
#define GUIDesignCheckButtonAttribute
checkButton without thick extended over the frame used for attributes
int maxNumberOfParameters
max number of parameters (Defined in constructor)
static bool isFloat(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is numerical of type float
GNEViewNet * myViewNet
pointer to viewNet
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
additionalReferencePoint getActualReferencePoint() const
get actual reference point
FXCheckButton * myUseSelectedLanesCheckButton
CheckBox for selected lanes.
FXButton * myRemoveButton
Button to decrease the number of textFields.
long onCmdSelectLane(FXObject *, FXSelector, void *)
called when user select a lane of the list
begin/end of the description of a single lane
bool isUseSelectedLanesEnable() const
get status of checkBox UseSelectedLanes
SumoXMLAttr getAttr() const
return attribute of list
SumoXMLTag getTag() const
return tag
GNEAdditionalFrame::AdditionalAttributes * myadditionalParameters
additional internal attributes
GNEAdditional * getAdditional(SumoXMLTag type, const std::string &id) const
Returns the named additional.
FXDEFMAP(GNEAdditionalFrame) GNEAdditionalMap[]
int myNumberOfVisibleTextfields
number of visible text fields
~AdditionalAttributeList()
destructor
void hideAdditionalParameters()
hide group box
Position snapToActiveGrid(const Position &pos) const
Returns a position that is mapped to the closest grid point if the grid is active.
FXList * myList
List of additional sets.
FXTextField * myTextFieldStrings
textField to modify the default value of string parameters
FXComboBox * myReferencePointMatchBox
match box with the list of reference points
static bool buildAdditional(GNEViewNet *viewNet, bool allowUndoRedo, SumoXMLTag tag, std::map< SumoXMLAttr, std::string > values)
Build additionals.
additionalReferencePoint
FOX-declaration.
double setEndPosition(double laneLength, double positionOfTheMouseOverLane, double lengthOfAdditional)
obtain the End position values of StoppingPlaces and E2 detector over the lane
FXCheckButton * myBoolCheckButton
check button to enable/disable the value of boolean parameters
long onCmdHelp(FXObject *, FXSelector, void *)
FXButton * myClearEdgesSelection
button for clear selection
std::string myInvalidValue
string which indicates the reason due current value is invalid
void remove2Update()
Removes the dialog to be updated.
static bool isPositive(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is only Positive (i.e. cannot take negative values)
void hideList()
hide SelectorParentLanes
SumoXMLTag getTag() const
return tag of list
long onCmdRemoveRow(FXObject *, FXSelector, void *)
add a new row int the list
long onCmdSelectAdditional(FXObject *, FXSelector, void *)
bool isSelected(GUIGlObjectType type, GUIGlID id)
Returns the information whether the object with the given type and id is selected.
change parameter of type text
int myIndexParameter
Index for myVectorOfsingleAdditionalParameter.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
long onCmdAddRow(FXObject *, FXSelector, void *)
void p_begin(const std::string &description)
Begin undo command sub-group. This begins a new group of commands that are treated as a single comman...
int getNumberOfAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING) const
Returns the number of additionals of the net.
FXTextField * myLengthTextField
textField for length
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
bool areValuesValid() const
check if parameters of attributes are valid
static bool isValidFilename(const std::string &value)
true if value is a valid file value
long onCmdTypeInSearchBox(FXObject *, FXSelector, void *)
called when user type in search box
GNEViewNet * myViewNet
viewNet associated to GNEAdditionalFrame
static const std::vector< std::pair< SumoXMLAttr, std::string > > & allowedAttributes(SumoXMLTag tag)
get all editable attributes for tag and their default values.
int getNumberOfAddedAttributes() const
get number of added attributes
void setParametersOfAdditional(SumoXMLTag actualAdditionalType)
set parameters depending of the new additionalType
bool myCurrentLengthValid
Flag to check if current length is valid.
#define WRITE_WARNING(msg)
FXTextField * myEdgesSearch
text field for search edge IDs
void showList(std::string search="")
Show list of SelectorParentEdges.
static OptionsCont & getOptions()
Retrieves the options.
FXButton * myInvertEdgesSelection
button for invert selection
std::string getIdSelected() const
get if currently additional Set
static bool isString(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is of type string
#define GUIDesignComboBox
GNEViewNet * myViewNet
View Net for changes.
FXCheckButton * myUseSelectedEdgesCheckButton
CheckBox for selected edges.
static bool isInt(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is numerical or type int
invert selection of edges
static bool isVClass(SumoXMLTag tag, SumoXMLAttr attr)
whether a string attribute is a list of Vehicle Classes
static bool isValidID(const std::string &value)
true if value is a valid sumo ID
static bool isTime(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is time
GNEUndoList * getUndoList() const
get the undoList object
AdditionalAttributeList()
FOX needs this.
FXButton * clearLanesSelection
button for clear selection
#define GUIDesignList
design for FXLists
FXLabel * myLengthLabel
Label for length.
void hideLengthFieldAndReferecePoint()
hide length field
long onCmdSetAttribute(FXObject *, FXSelector, void *)
#define GUIDesignTextField
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
static bool hasAttribute(SumoXMLTag tag, SumoXMLAttr attr)
check if an element with certain tag has a certain attribute
std::map< SumoXMLAttr, std::string > getAttributesAndValues() const
get attributes and their values
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
static bool canBlockMovement(SumoXMLTag tag)
return true if element tag can block their movement
bool isCurrentLengthValid() const
check if current length is valid
void addAttribute(SumoXMLTag additionalTag, SumoXMLAttr AdditionalAttributeSingle)
add attribute
static bool isColor(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is of type color for a certain tag
void p_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. A matching begin() must have been called previously.
A point in 2D or 3D with translation and scaling methods.
#define GUIDesignAuxiliarHorizontalFrame
design for auxiliar (Without borders) horizontal frame used to pack another frames ...
FXList * myList
List of SelectorParentLanes.
std::vector< FXLabel * > myLabels
vector with with the name of every parameter
long onCmdUseSelectedEdges(FXObject *, FXSelector, void *)
int myIndexParameterList
index for myIndexParameterList
static bool isFilename(SumoXMLTag tag, SumoXMLAttr attr)
whether a string attribute is a filename
long onCmdInvertSelection(FXObject *, FXSelector, void *)
called when invert selection button is pressed
SumoXMLTag myActualAdditionalType
actual additional type selected in the match Box
FXButton * myHelpAdditionalParentSelector
button for help
SelectorParentLanes()
FOX needs this.
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
~AdditionalAttributes()
destructor
void removeAdditional(GNEAdditional *additional)
remove an additional element previously added
block movement of a graphic element
void showWarningMessage(std::string extra="") const
show warning message with information about non-valid attributes
SelectorParentEdges()
FOX needs this.
static T getDefaultValue(SumoXMLTag tag, SumoXMLAttr attr)
return the default value of the attribute of an element
SumoXMLAttr myAdditionalAttr
current XML attribute
~GNEAdditionalFrame()
Destructor.
~NeteditAttributes()
destructor
SumoXMLAttr getAttr() const
return Attr
FXLabel * myBlockLabel
Label for block movement.
~SelectorParentLanes()
destructor
FXComboBox * myAdditionalMatchBox
combo box with the list of additional elements
FXTextField * myLanesSearch
text field for search lane IDs
AdditionalAttributes()
FOX needs this.
GNEAdditionalFrame::NeteditAttributes * myEditorParameters
Netedit parameter.
SumoXMLTag myAdditionalTag
current XML tag
void clearAttributes()
clear attributes
const std::string getID() const
function to support debugging
long onCmdClearSelection(FXObject *, FXSelector, void *)
called when clear selection button is pressed
#define GUIDesignLabelFrameInformation
label extended over frame without thick and with text justify to left, used to show information in fr...
#define GUIDesignButtonRectangular
little button rectangular (46x23) used in frames (For example, in "help" buttons) ...
std::vector< FXTextField * > myTextFields
vector textField to modify the value of parameter
double getLaneShapeLength() const
returns the length of the lane's shape
double getLength() const
get value of length
void hideListOfAdditionals()
hide SelectorParentAdditional
#define GUIDesignButtonIcon
button only with icon (23x23)
FXButton * myAddButton
Button to increase the number of textFields.
begin/end of the description of an edge
GNEAdditionalFrame::SelectorParentLanes * mylaneParentsSelector
list of SelectorParentLanes
long onCmdClearSelection(FXObject *, FXSelector, void *)
called when clear selection button is pressed
GNEAdditionalFrame::SelectorParentEdges * myedgeParentsSelector
list of SelectorParentEdges
void showList(std::string search="")
Show list of SelectorParentLanes.
bool canParseVehicleClasses(const std::string &classes)
Checks whether the given string contains only known vehicle classes.
change parameter of tpye bool
void hideParameter()
hide all parameters
FXButton * helpAdditional
button for help
FXList * myList
List of SelectorParentEdges.
A road/street connecting two junctions (netedit-version)
static bool isUnique(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is unique (may not be edited for a multi-selection and don't have a default valu...
#define GUIDesignTextFieldNCol
Num of column of text field.
~AdditionalAttributeSingle()
destructor
SumoXMLTag myAdditionalTag
current XML attribute
FXLabel * myLabel
lael with the name of the parameter
~SelectorParentAdditional()
destructor
AddAdditionalResult
FOX-declaration.
void hideParameter()
hide all parameters
long onCmdSetBlocking(FXObject *, FXSelector, void *)
Called when user changes the checkbox "set blocking".
SumoXMLTag myAdditionalTag
current additional tag
const PositionVector & getShape() const
returns the shape of the lane
const std::vector< GNELane * > & getLanes()
returns a reference to the lane vector
virtual void show()
show Frame
static bool isProbability(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is a probability (i.e. oly can values between [0, 1])
long onCmdUseSelectedLanes(FXObject *, FXSelector, void *)
#define GUIDesignDialogBox
FXLabel * mySetLabel
Label with the name of additional.
static const std::vector< SumoXMLTag > & allowedAdditionalTags()
get all editable for tag additional elements
void show()
show additional frame and update use selected edges/lanes
std::vector< GNEEdge * > retrieveEdges(bool onlySelected=false)
return all edges
void showAdditionalParameters()
show group box
void showParameter(SumoXMLTag additionalTag, SumoXMLAttr additionalAttr, std::string value)
show name and value of attribute of type string
void showListParameter(SumoXMLTag additionalTag, SumoXMLAttr additionalAttr, std::vector< int > value)
show name and value of parameters of type int
An Element which don't belongs to GNENet but has influency in the simulation.
#define GUIDesignGroupBoxFrame
Group box design extended over frame.
static bool isBool(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is of type bool for a certain tag
select type of additional
std::string getValue() const
return value
GNEViewNet * myViewNet
viewNet associated to GNEAdditionalFrame
~SelectorParentEdges()
destructor
std::string getListValues()
return the value of list
std::vector< GNEAdditional * > getAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING) const
get vector with additionals
bool myUniqueSelection
flag to check if only a single parent is allowed
bool isCurrentListValid() const
check that current list is valid
void showListOfAdditionals(SumoXMLTag type, bool uniqueSelection)
Show list of SelectorParentAdditional.
long onCmdSetBooleanAttribute(FXObject *, FXSelector, void *)
called when user change the value of myBoolCheckButton
void updateUseSelectedEdges()
Update use selectedEdges.
bool isBlockEnabled() const
check if block is enabled
static std::string getDefinition(SumoXMLTag tag, SumoXMLAttr attr)
return definition of a certain SumoXMLAttr
#define GUIDesignTextFieldInt
text field extended over Frame with thick frame and limited to Integers
virtual void hide()
hide Frame
std::string generateID(GNENetElement *netElement) const
generate a ID for an additiona element
long onCmdHelp(FXObject *, FXSelector, void *)
Called when user press the help button.
show only selected edge in a list
GNENet * getNet() const
get the net object
#define GUIDesignTextFieldReal
text field extended over Frame with thick frame and limited to Doubles/doubles
void hideList()
hide SelectorParentEdges
GUIGlID getGlID() const
Returns the numerical id of the object.
#define GUIDesignButtonOK
const std::string & isAttributeValid() const
returns a empty string if current value is valid, a string with information about invalid value in ot...
void setStatusBarText(const std::string &text)
set staturBar text
long onCmdInvertSelection(FXObject *, FXSelector, void *)
called when invert selection button is pressed
bool isUseSelectedEdgesEnable() const
get status of checkBox UseSelectedEdges
Position getPositionInformation() const
Returns the cursor's x/y position within the network.
void showLengthFieldAndReferecePoint()
show length field and reference point
FXButton * invertLanesSelection
button for invert selection
parent of an additional element
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
std::string getIdsSelected() const
get list of selecte id's in string format
GNEAdditionalFrame::SelectorParentAdditional * myAdditionalParentSelector
list of additional Set
AdditionalAttributeSingle()
FOX needs this.
FXTextField * myTextFieldInt
textField to modify the default value of int/float/string parameters
static std::string getIdsSelected(const FXList *list)
get list of selecte id's in string format
#define GUIDesignLabelAttribute
label extended over the matrix column with thick frame and height of 23
std::string getIdsSelected() const
get list of selecte id's in string format
long onCmdSetLength(FXObject *, FXSelector, void *)
FXHorizontalFrame * myHorizontalFrameButtons
horizontal frame for buttons
double nearest_offset_to_point2D(const Position &p, bool perpendicular=true) const
return the nearest offest to point 2D
const std::vector< GNEAdditional * > & getAdditionalChilds() const
return vector of additionals that have as Parent this edge (For example, Calibrators) ...
std::vector< FXHorizontalFrame * > myHorizontalFrames
Vector with HorizontalFrames.
GUISelectedStorage gSelected
A global holder of selected objects.
long onCmdTypeInSearchBox(FXObject *, FXSelector, void *)
called when user type in search box
int myMaxNumberOfValuesInParameterList
Number max of values in a parameter of type list.
GNEViewNet * myViewNet
viewNet associated to GNEAdditionalFrame
long onCmdSelectAdditionalParent(FXObject *, FXSelector, void *)
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
std::vector< AdditionalAttributeSingle * > myVectorOfsingleAdditionalParameter
vector with the additional parameters
std::vector< AdditionalAttributeList * > myVectorOfsingleAdditionalParameterList
vector with the additional parameters of type list
invert selection of lanes
#define GUIDesignLabelLeftThick
label extended over frame with thick and with text justify to left and height of 23 ...
std::string joinToString(const std::vector< T > &v, const T_BETWEEN &between, std::streamsize accuracy=gPrecision)
void updateUseSelectedLanes()
long onCmdSelectEdge(FXObject *, FXSelector, void *)
called when user select a edge of the list
static bool isList(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is of type bool
FXCheckButton * myBlockMovementCheckButton
checkBox for block movement
FXTextField * myTextFieldReal
textField to modify the default value of real/times parameters
FXButton * helpReferencePoint
Button for help about the reference point.
SumoXMLTag getTag() const
get XML Tag assigned to this object
NeteditAttributes()
FOX needs this.
FXButton * myHelpedgeParentsSelector
button for help