61 #ifdef CHECK_MEMORY_LEAKS 63 #endif // CHECK_MEMORY_LEAKS 118 FXIMPLEMENT(
GNEAdditionalFrame, FXVerticalFrame, GNEAdditionalMap, ARRAYNUMBER(GNEAdditionalMap))
119 FXIMPLEMENT(
GNEAdditionalFrame::singleAdditionalParameter, FXMatrix, GNEsingleAdditionalParameterMap, ARRAYNUMBER(GNEsingleAdditionalParameterMap))
120 FXIMPLEMENT(
GNEAdditionalFrame::singleAdditionalParameterList, FXMatrix, GNEsingleAdditionalParameterListMap, ARRAYNUMBER(GNEsingleAdditionalParameterListMap))
121 FXIMPLEMENT(
GNEAdditionalFrame::additionalParameters, FXGroupBox, GNEadditionalParametersMap, ARRAYNUMBER(GNEadditionalParametersMap))
122 FXIMPLEMENT(
GNEAdditionalFrame::editorParameters, FXGroupBox, GNEEditorParametersMap, ARRAYNUMBER(GNEEditorParametersMap))
123 FXIMPLEMENT(
GNEAdditionalFrame::additionalParentSelector, FXGroupBox, GNEadditionalParentSelectorMap, ARRAYNUMBER(GNEadditionalParentSelectorMap))
124 FXIMPLEMENT(
GNEAdditionalFrame::edgeParentsSelector, FXGroupBox, GNEedgeParentsSelectorMap, ARRAYNUMBER(GNEedgeParentsSelectorMap))
125 FXIMPLEMENT(
GNEAdditionalFrame::laneParentsSelector, FXGroupBox, GNElaneParentsSelectorMap, ARRAYNUMBER(GNElaneParentsSelectorMap))
132 GNEFrame(horizontalFrameParent, viewNet, "Additionals"),
136 myGroupBoxForMyAdditionalMatchBox =
new FXGroupBox(myContentFrame,
"Additional element",
GUIDesignGroupBoxFrame);
158 for (std::vector<SumoXMLTag>::const_iterator i = additionalTags.begin(); i != additionalTags.end(); i++) {
159 myAdditionalMatchBox->appendItem(
toString(*i).c_str());
163 myAdditionalMatchBox->setNumVisible((
int)myAdditionalMatchBox->getNumItems());
166 if (additionalTags.size() > 0) {
168 myActualAdditionalType = additionalTags.front();
169 setParametersOfAdditional(myActualAdditionalType);
181 std::map<SumoXMLAttr, std::string> valuesOfElement;
198 pointed_junction =
dynamic_cast<GNEJunction*
>(netElement);
199 if (pointed_junction != NULL) {
211 if (dynamic_cast<GNELane*>(netElement) != NULL) {
212 pointed_edge = &(
dynamic_cast<GNELane*
>(netElement)->getParentEdge());
214 if (pointed_edge != NULL) {
225 pointed_lane =
dynamic_cast<GNELane*
>(netElement);
226 if (pointed_lane != NULL) {
237 pointed_crossing =
dynamic_cast<GNECrossing*
>(netElement);
238 if (pointed_crossing != NULL) {
262 if (startPos != -1) {
281 }
else if (pointed_lane) {
291 if (startPos != -1) {
342 std::vector<std::string> vectorOfIds;
346 for (std::vector<GNEEdge*>::iterator i = selectedEdges.begin(); i != selectedEdges.end(); i++) {
347 vectorOfIds.push_back((*i)->getID());
365 std::vector<std::string> vectorOfIds;
369 for (std::vector<GNELane*>::iterator i = selectedLanes.begin(); i != selectedLanes.end(); i++) {
370 vectorOfIds.push_back((*i)->getID());
400 for (std::vector<SumoXMLTag>::const_iterator i = additionalTags.begin(); i != additionalTags.end(); i++) {
432 for (std::vector<std::pair <SumoXMLAttr, std::string> >::iterator i = attrs.begin(); i != attrs.end(); i++) {
490 return positionOfTheMouseOverLane;
492 if (positionOfTheMouseOverLane - lenghtOfAdditional >= 0.01) {
493 return positionOfTheMouseOverLane - lenghtOfAdditional;
501 if (positionOfTheMouseOverLane - lenghtOfAdditional / 2 >= 0.01) {
502 return positionOfTheMouseOverLane - lenghtOfAdditional / 2;
519 if (positionOfTheMouseOverLane + lenghtOfAdditional <= laneLenght - 0.01) {
520 return positionOfTheMouseOverLane + lenghtOfAdditional;
522 return laneLenght - 0.01;
528 return positionOfTheMouseOverLane;
530 if (positionOfTheMouseOverLane + lenghtOfAdditional / 2 <= laneLenght - 0.01) {
531 return positionOfTheMouseOverLane + lenghtOfAdditional / 2;
533 return laneLenght - 0.01;
551 myCurrentValueValid(true) {
655 return (
myMenuCheck->getCheck() == 1) ?
"true" :
"false";
733 numberOfVisibleTextfields(1),
734 myMaxNumberOfValuesInParameterList(20) {
759 std::cout <<
"FINISH" << std::endl;
767 std::cout <<
"FINISH" << std::endl;
775 std::cout <<
"FINISH" << std::endl;
834 value += (
myTextFields.at(i)->getText().text() + std::string(
" "));
854 getParent()->recalc();
868 getParent()->recalc();
880 myIndexParameterList(0),
882 maxNumberOfListParameters(2) {
960 WRITE_WARNING(
"Attribute '" +
toString(additionalAttribute) +
"' don't have a defined type. Check definition in GNEAttributeCarrier");
984 std::map<SumoXMLAttr, std::string>
986 std::map<SumoXMLAttr, std::string> values;
1030 FXTable* myTable =
new FXTable(helpDialog,
this,
MID_TABLE, TABLE_READONLY);
1032 myTable->setVisibleColumns(3);
1034 myTable->setBackColor(FXRGB(255, 255, 255));
1035 myTable->setColumnText(0,
"Name");
1036 myTable->setColumnText(1,
"Value");
1037 myTable->setColumnText(2,
"Definition");
1038 myTable->getRowHeader()->setWidth(0);
1039 FXHeader* header = myTable->getColumnHeader();
1040 header->setItemJustify(0, JUSTIFY_CENTER_X);
1041 header->setItemSize(0, 120);
1042 header->setItemJustify(1, JUSTIFY_CENTER_X);
1043 header->setItemSize(1, 80);
1044 int maxSizeColumnDefinitions = 0;
1050 myTable->setItem(i, 0,
new FXTableItem(
toString(attr).c_str()));
1052 FXTableItem* type =
new FXTableItem(
"");
1054 type->setText(
"int");
1056 type->setText(
"float");
1058 type->setText(
"time");
1060 type->setText(
"bool");
1062 type->setText(
"string");
1064 type->setJustify(FXTableItem::CENTER_X);
1065 myTable->setItem(i, 1, type);
1068 definition->setJustify(FXTableItem::LEFT);
1069 myTable->setItem(i, 2, definition);
1079 myTable->setItem(i, 0,
new FXTableItem(
toString(attr).c_str()));
1081 FXTableItem* type =
new FXTableItem(
"");
1083 type->setText(
"list of integers");
1085 type->setText(
"list of floats");
1087 type->setText(
"list of times");
1089 type->setText(
"list of booleans");
1091 type->setText(
"list of strings");
1093 type->setJustify(FXTableItem::CENTER_X);
1094 myTable->setItem(i, 1, type);
1097 definition->setJustify(FXTableItem::LEFT);
1098 myTable->setItem(i, 2, definition);
1104 header->setItemJustify(2, JUSTIFY_CENTER_X);
1105 header->setItemSize(2, maxSizeColumnDefinitions * 6);
1107 new FXButton(helpDialog,
"OK\t\tclose",
GUIIconSubSys::getIcon(
ICON_ACCEPT), helpDialog, FXDialogBox::ID_ACCEPT,
GUIDesignButtonDialog, 0, 0, 0, 0, 4, 4, 3, 3);
1108 helpDialog->create();
1119 myActualAdditionalReferencePoint(GNE_ADDITIONALREFERENCEPOINT_LEFT),
1120 myCurrentLengthValid(true) {
1194 return GNEAttributeCarrier::parse<SUMOReal>(
myLengthTextField->getText().text());
1243 FXDialogBox* helpDialog =
new FXDialogBox(
this,
"Parameter editor Help",
GUIDesignDialogBox);
1244 std::ostringstream help;
1246 <<
"Referece point: Mark the initial position of the additional element.\n" 1247 <<
"Example: If you want to create a busStop with a lenght of 30 in the point 100 of the lane:\n" 1248 <<
"- Reference Left will create it with startPos = 70 and endPos = 100.\n" 1249 <<
"- Reference Right will create it with startPos = 100 and endPos = 130.\n" 1250 <<
"- Reference Center will create it with startPos = 85 and endPos = 115.\n" 1252 <<
"Force position: if is enabled, will create the additional adapting size of additional element to lane.\n" 1253 <<
"Example: If you have a lane with lenght = 100, but you try to create a busStop with size = 50\n" 1254 <<
"in the position 80 of the lane, a busStop with startPos = 80 and endPos = 100 will be created\n" 1255 <<
"instead of a busStop with startPos = 80 and endPos = 130.\n" 1257 <<
"Block movement: if is enabled, the created additional element will be blocked. i.e. cannot be moved with\n" 1258 <<
"the mouse. This option can be modified with the Inspector.";
1261 new FXButton(helpDialog,
"OK\t\tclose",
GUIIconSubSys::getIcon(
ICON_ACCEPT), helpDialog, FXDialogBox::ID_ACCEPT,
GUIDesignButtonDialog, 0, 0, 0, 0, 4, 4, 3, 3);
1262 helpDialog->create();
1271 std::string vectorOfIds;
1272 for (
int i = 0; i < list->getNumItems(); i++) {
1273 if (list->isItemSelected(i)) {
1274 if (vectorOfIds.size() > 0) {
1277 vectorOfIds += (list->getItem(i)->getText()).
text();
1291 myUniqueSelection(false),
1313 for (
int i = 0; i <
myList->getNumItems(); i++) {
1314 if (
myList->isItemSelected(i)) {
1315 return myList->getItem(i)->getText().text();
1330 for (std::vector<GNEAdditional*>::iterator i = vectorOfAdditionalParents.begin(); i != vectorOfAdditionalParents.end(); i++) {
1331 myList->appendItem((*i)->getID().c_str());
1405 for (std::vector<GNEEdge*>::iterator i = vectorOfEdges.begin(); i != vectorOfEdges.end(); i++) {
1407 if ((*i)->getID().find(search) != std::string::npos) {
1408 myList->appendItem((*i)->getID().c_str());
1488 for (
int i = 0; i <
myList->getNumItems(); i++) {
1489 if (
myList->getItem(i)->isSelected()) {
1499 for (
int i = 0; i <
myList->getNumItems(); i++) {
1500 if (
myList->getItem(i)->isSelected()) {
1512 std::cout <<
"IMPLEMENT" << std::endl;
1562 for (std::vector<GNELane*>::iterator i = vectorOfLanes.begin(); i != vectorOfLanes.end(); i++) {
1563 if ((*i)->getID().find(search) != std::string::npos) {
1564 myList->appendItem((*i)->getID().c_str());
1640 for (
int i = 0; i <
myList->getNumItems(); i++) {
1641 if (
myList->getItem(i)->isSelected()) {
1651 for (
int i = 0; i <
myList->getNumItems(); i++) {
1652 if (
myList->getItem(i)->isSelected()) {
long onCmdSelectReferencePoint(FXObject *, FXSelector, void *)
Called when the user enters another reference point.
SumoXMLTag myAdditionalTag
current XML tag
additionalParentSelector()
FOX needs this.
static bool _str2int(const std::string &data)
check if a String can be parsed into a int check overflows
std::vector< GNELane * > retrieveLanes(bool onlySelected=false)
return all lanes
bool isCurrentValueValid() const
check if the current value is valid
SumoXMLTag
Numbers representing SUMO-XML - element names.
#define GUIDesignHorizontalFrame
#define GUIDesignComboBoxNCol
number of column of every combo box
FXMenuCheck * myCheckForcePosition
checkBox for the option "force position"
int maxNumberOfListParameters
max number of parameters (Defined in constructor)
SumoXMLTag myAdditionalTag
current XML attribute
long onCmdClearSelection(FXObject *, FXSelector, void *)
called when clear selection button is pressed
static SUMOReal _str2SUMOReal(const std::string &sData)
converts a string into the SUMOReal value described by it by calling the char-type converter ...
static bool isFloat(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is numerical of type float
#define GUIDesignButtonAttribute
button extended over over column with thick and raise frame
FXList * myList
List of additional sets.
FXLabel * mySetLabel
Label with the name of additional.
std::string getListValues()
return the value of list
SUMOReal nearest_offset_to_point2D(const Position &p, bool perpendicular=true) const
return the nearest offest to point 2D
int myMaxNumberOfValuesInParameterList
Number max of values in a parameter of type list.
FXButton * myHelpAdditionalParentSelector
button for help
long onCmdClearSelection(FXObject *, FXSelector, void *)
called when clear selection button is pressed
int myIndexParameterList
index for myIndexParameterList
void addAttribute(SumoXMLTag additionalTag, SumoXMLAttr additionalAttribute)
add attribute
~laneParentsSelector()
destructor
#define GUIDesignTextFieldAttributeStr
text field extended over the matrix column with thick frame
bool isBlockEnabled()
check if block is enabled
FXList * myList
List of laneParentsSelector.
int getNumberOfAddedAttributes() const
get number of added attributes
GNEAdditionalFrame::laneParentsSelector * mylaneParentsSelector
list of laneParentsSelector
FXDEFMAP(GNEAdditionalFrame) GNEAdditionalMap[]
long onCmdUseSelectedEdges(FXObject *, FXSelector, void *)
FXTextField * myTextField
textField to modify the value of int/float/string parameters
void showListParameter(SumoXMLTag additionalTag, SumoXMLAttr additionalAttr, std::vector< int > value)
show name and value of parameters of type int
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
void hideList()
hide laneParentsSelector
void hideLengthField()
hide length field
FXTextField * myLengthTextField
textField for lenght
void hideListOfAdditionals()
hide additionalParentSelector
bool myUniqueSelection
flag to check if only a single parent is allowed
additionalReferencePoint getActualReferencePoint()
get actual reference point
long onCmdSetBooleanAttribute(FXObject *, FXSelector, void *)
called when user change the value of myMenuCheck
long onCmdSelectLane(FXObject *, FXSelector, void *)
called when user select a lane of the list
static bool buildAdditional(GNEViewNet *viewNet, SumoXMLTag tag, std::map< SumoXMLAttr, std::string > values)
Build additionals.
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)
std::string getIdsSelected() const
get list of selecte id's in string format
long onCmdSelectAdditional(FXObject *, FXSelector, void *)
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
additionalReferencePoint
FOX-declaration.
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...
std::vector< FXLabel * > myLabels
vector with with the name of every parameter
bool addAdditional(GNENetElement *netElement, GUISUMOAbstractView *parent)
add additional element
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
GNEAdditionalFrame::edgeParentsSelector * myedgeParentsSelector
list of edgeParentsSelector
edgeParentsSelector()
FOX needs this.
long onCmdRemoveRow(FXObject *, FXSelector, void *)
add a new row int the list
int myIndexParameter
Index for myVectorOfsingleAdditionalParameter.
void showList(std::string search="")
Show list of edgeParentsSelector.
bool isCurrentLenghtValid() const
check if current lenght is valid
invert selection of edges
static const std::vector< std::pair< SumoXMLAttr, std::string > > & allowedAttributes(SumoXMLTag tag)
get all editable attributes for tag and their default values.
#define GUIDesignMatrixAttributes
Matrix design extended over Frame and used for represent attributes and their values.
void setParametersOfAdditional(SumoXMLTag actualAdditionalType)
set parameters depending of the new additionalType
long onCmdAddRow(FXObject *, FXSelector, void *)
#define WRITE_WARNING(msg)
~edgeParentsSelector()
destructor
int numberOfVisibleTextfields
number of visible text fields
std::map< SumoXMLAttr, std::string > getAttributesAndValues() const
get attributes and their values
std::vector< FXTextField * > myTextFields
vector textField to modify the value of parameter
~singleAdditionalParameter()
destructor
GNEUndoList * getUndoList() const
get the undoList object
static bool isString(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is of type string
FXButton * helpAdditional
button for help
#define GUIDesignComboBox
GNEViewNet * myViewNet
the window to inform when the tls is modfied
void showReferencePoint()
show refence point comboBox
SumoXMLTag getTag() const
return tag
show only selected edge in a list
static bool isInt(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is numerical or type int
long onCmdSetLength(FXObject *, FXSelector, void *)
void updateUseSelectedLanes()
SumoXMLTag myAdditionalTag
current additional tag
static bool isTime(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is time
bool isUseSelectedEdgesEnable() const
get status of checkBox UseSelectedEdges
long onCmdSelectAdditionalParent(FXObject *, FXSelector, void *)
FXButton * myInvertEdgesSelection
button for invert selection
additionalParameters()
FOX needs this.
invert selection of lanes
std::string getIdsSelected() const
get list of selecte id's in string format
FXMenuCheck * myMenuCheck
menuCheck to enable/disable the value of boolean parameters
GNEAdditionalFrame::editorParameters * myEditorParameters
editor parameter
SUMOReal setEndPosition(SUMOReal laneLenght, SUMOReal positionOfTheMouseOverLane, SUMOReal lenghtOfAdditional)
obtain the End position values of StoppingPlaces and E2 detector over the lane
#define GUIDesignList
design for FXLists
void showParameter(SumoXMLTag additionalTag, SumoXMLAttr additionalAttr, std::string value)
show name and value of attribute of type string
SUMOReal getLenght()
get value of lenght
#define GUIDesignButtonDialog
button with size limited by text, centered over Frame with thick and raise frame
SumoXMLAttr getAttr() const
return attribute of list
#define GUIDesignTextField
long onCmdUseSelectedLanes(FXObject *, FXSelector, void *)
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
FXButton * invertLanesSelection
button for invert selection
static bool hasAttribute(SumoXMLTag tag, SumoXMLAttr attr)
check if an element with certain tag has a certain attribute
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
~additionalParameters()
destructor
GNEAdditionalFrame::additionalParameters * myadditionalParameters
additional default parameters
laneParentsSelector()
FOX needs this.
void hideParameter()
hide all parameters
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.
bool isCurrentListValid() const
check that current list is valid
FXButton * add
Button to increase the number of textFields.
FXButton * myClearEdgesSelection
button for clear selection
std::string getIdSelected() const
get if currently additional Set
static int _str2int(const std::string &sData)
converts a string into the integer value described by it by calling the char-type converter...
SumoXMLTag myActualAdditionalType
actual additional type selected in the match Box
virtual std::string getDescription()
how should this attribute carrier be called
void removeAdditional(GNEAdditional *additional)
remove an additional element previously added
block movement of a graphic element
long onCmdSetAttribute(FXObject *, FXSelector, void *)
void clearAttributes()
clear attributes
static T getDefaultValue(SumoXMLTag tag, SumoXMLAttr attr)
return the default value of the attribute of an element
std::vector< GNEAdditional * > getAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING)
get vector with additionals
FXMenuCheck * myUseSelectedLanes
CheckBox for selected lanes.
static const std::vector< SumoXMLTag > & allowedTags(bool net)
get all editable for tag (net or additional).
~GNEAdditionalFrame()
Destructor.
FXButton * helpReferencePoint
Button for help about the reference point.
#define GUIDesignMenuCheck
FXComboBox * myAdditionalMatchBox
combo box with the list of additional elements
void updateUseSelectedEdges()
Update use selectedEdges.
#define GUIDesignMenuCheckAttribute
MenuCheck button for attributes extended over the matrix column.
int getNumberOfAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING)
Returns the number of additionals of the net.
#define GUIDesignSpinDialAttribute
spin dial extended over the matrix column with thick frame
GNEViewNet * myViewNet
viewNet associated to GNEAdditionalFrame
bool myCurrentLengthValid
Flag to check if current lenght is valid.
const std::string getID() const
function to support debugging
SUMOReal setStartPosition(SUMOReal positionOfTheMouseOverLane, SUMOReal lenghtOfAdditional)
obtain the Start position values of StoppingPlaces and E2 detector over the lane
FXLabel * myLabel
lael with the name of the parameter
SumoXMLAttr myAdditionalAttr
current XML attribute
~additionalParentSelector()
destructor
GNEAdditionalFrame::additionalParentSelector * myAdditionalParentSelector
list of additional Set
FXLabel * myLengthLabel
Label for lenght.
SumoXMLAttr getAttr() const
return Attr
long onCmdHelp(FXObject *, FXSelector, void *)
FXMenuCheck * myCheckBlock
checkBox for blocking movement
bool myCurrentValueValid
Flag which indicates that the current value is correct.
FXList * myList
List of edgeParentsSelector.
long onCmdSelectEdge(FXObject *, FXSelector, void *)
called when user select a edge of the list
bool isUseSelectedLanesEnable() const
get status of checkBox UseSelectedLanes
additional match box messages
void showListOfAdditionals(SumoXMLTag type, bool uniqueSelection)
Show list of additionalParentSelector.
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.
bool isForcePositionEnabled()
check if force position is enabled
GNEViewNet * myViewNet
viewNet associated to GNEAdditionalFrame
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
GNEAdditional * getAdditional(SumoXMLTag type, const std::string &id) const
Returns the named additional.
std::string generateID(GNENetElement *netElement) const
generate a ID for an additiona element
const PositionVector & getShape() const
returns the shape of the lane
SUMOReal getLaneShapeLenght() const
returns the length of the lane's shape
const std::vector< GNELane * > & getLanes()
returns a reference to the lane vector
#define GUIDesignButtonHelp
little button for help in frames
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])
singleAdditionalParameterList()
FOX needs this.
#define GUIDesignDialogBox
editorParameters()
FOX needs this.
SumoXMLTag getTag() const
return tag of list
void show()
show additional frame and update use selected edges/lanes
std::vector< GNEEdge * > retrieveEdges(bool onlySelected=false)
return all edges
An Element which don't belongs to GNENet but has influency in the simulation.
#define GUIDesignGroupBoxFrame
Group box design extended over frame.
void hideReferencePoint()
hide refence point comboBox
static bool isBool(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is of type bool for a certain tag
void showAdditionalParameters()
show group box
std::vector< singleAdditionalParameter * > myVectorOfsingleAdditionalParameter
vector with the additional parameters
std::string getValue() const
return value
FXTextField * myLanesSearch
text field for search lane IDs
SumoXMLAttr myAdditionalAttr
current XML attribute
static std::string getDefinition(SumoXMLTag tag, SumoXMLAttr attr)
return definition of a certain SumoXMLAttr
GNENet * getNet() const
get the net object
virtual void hide()
hide Frame
void hideParameter()
hide all parameters
void showList(std::string search="")
Show list of laneParentsSelector.
FXSpinner * myTimeSpinDial
spindial to modify the value of time parameters
FXButton * clearLanesSelection
button for clear selection
static bool _str2SUMOReal(const std::string &data)
check if a String can be parsed into a SUMOReal check overflows
singleAdditionalParameter()
FOX needs this.
void showLengthField()
show length field
std::vector< singleAdditionalParameterList * > myVectorOfsingleAdditionalParameterList
vector with the additional parameters of type list
~editorParameters()
destructor
additionalReferencePoint myActualAdditionalReferencePoint
actual additional reference point selected in the match Box
parent of an additional element
bool isValuesValid() const
check if all values defined by user are valid
void hideAdditionalParameters()
hide group box
FXMenuCheck * myUseSelectedEdges
CheckBox for selected edges.
#define GUIDesignLabelLeft
Position getPositionInformation() const
Returns the cursor's x/y position within the network.
long onCmdInvertSelection(FXObject *, FXSelector, void *)
called when invert selection button is pressed
static std::string getIdsSelected(const FXList *list)
get list of selecte id's in string format
void hideList()
hide edgeParentsSelector
#define GUIDesignLabelAttribute
label extended over the matrix column with thick frame
FXTextField * myEdgesSearch
text field for search edge IDs
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
int maxNumberOfParameters
max number of parameters (Defined in constructor)
GUISelectedStorage gSelected
A global holder of selected objects.
long onCmdInvertSelection(FXObject *, FXSelector, void *)
called when invert selection button is pressed
FXButton * myHelpedgeParentsSelector
button for help
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
#define GUIDesignLabelLeftThick
label extended over over frame with thick and with text justify to left
std::string joinToString(const std::vector< T > &v, const T_BETWEEN &between, std::streamsize accuracy=gPrecision)
FXButton * helpLanes
button for help
GNEViewNet * myViewNet
viewNet associated to GNEAdditionalFrame
~singleAdditionalParameterList()
destructor
long onCmdTypeInSearchBox(FXObject *, FXSelector, void *)
called when user type in search box
static bool isList(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is of type bool
FXComboBox * myReferencePointMatchBox
match box with the list of reference points
long onCmdTypeInSearchBox(FXObject *, FXSelector, void *)
called when user type in search box