59 #ifdef CHECK_MEMORY_LEAKS 61 #endif // CHECK_MEMORY_LEAKS 110 FXIMPLEMENT(
GNEAdditionalFrame, FXScrollWindow, GNEAdditionalMap, ARRAYNUMBER(GNEAdditionalMap))
111 FXIMPLEMENT(
GNEAdditionalFrame::additionalParameterList, FXMatrix, GNEAdditionalParameterListMap, ARRAYNUMBER(GNEAdditionalParameterListMap))
112 FXIMPLEMENT(
GNEAdditionalFrame::additionalParameters, FXGroupBox, GNEAdditionalParametersMap, ARRAYNUMBER(GNEAdditionalParametersMap))
113 FXIMPLEMENT(
GNEAdditionalFrame::editorParameters, FXGroupBox, GNEEditorParametersMap, ARRAYNUMBER(GNEEditorParametersMap))
114 FXIMPLEMENT(
GNEAdditionalFrame::additionalSet, FXGroupBox, GNEAdditionalSetMap, ARRAYNUMBER(GNEAdditionalSetMap))
115 FXIMPLEMENT(
GNEAdditionalFrame::edgesSelector, FXGroupBox, GNEEdgesMap, ARRAYNUMBER(GNEEdgesMap))
116 FXIMPLEMENT(
GNEAdditionalFrame::lanesSelector, FXGroupBox, GNELanesMap, ARRAYNUMBER(GNELanesMap))
123 GNEFrame(parent, viewNet, "Additionals"),
127 myGroupBoxForMyAdditionalMatchBox =
new FXGroupBox(myContentFrame,
"Additional element", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X);
130 myAdditionalMatchBox =
new FXComboBox(myGroupBoxForMyAdditionalMatchBox, 12,
this,
MID_GNE_MODE_ADDITIONAL_ITEM, FRAME_SUNKEN | LAYOUT_LEFT | LAYOUT_TOP | COMBOBOX_STATIC | LAYOUT_CENTER_Y | LAYOUT_FILL_X);
149 for (std::vector<SumoXMLTag>::const_iterator i = additionalTags.begin(); i != additionalTags.end(); i++) {
150 myAdditionalMatchBox->appendItem(
toString(*i).c_str());
154 myAdditionalMatchBox->setNumVisible((
int)myAdditionalMatchBox->getNumItems());
157 if (additionalTags.size() > 0) {
159 myActualAdditionalType = additionalTags.front();
160 setParametersOfAdditional(myActualAdditionalType);
183 pointed_junction =
dynamic_cast<GNEJunction*
>(netElement);
184 if (pointed_junction != NULL) {
196 if (dynamic_cast<GNELane*>(netElement) != NULL) {
197 pointed_edge = &(
dynamic_cast<GNELane*
>(netElement)->getParentEdge());
199 if (pointed_edge != NULL) {
210 pointed_lane =
dynamic_cast<GNELane*
>(netElement);
211 if (pointed_lane != NULL) {
222 pointed_crossing =
dynamic_cast<GNECrossing*
>(netElement);
223 if (pointed_crossing != NULL) {
245 if (startPos != -1) {
261 }
else if (pointed_lane) {
269 if (startPos != -1) {
317 std::vector<std::string> vectorOfIds;
321 for (std::vector<GNEEdge*>::iterator i = selectedEdges.begin(); i != selectedEdges.end(); i++) {
322 vectorOfIds.push_back((*i)->getID());
340 std::vector<std::string> vectorOfIds;
344 for (std::vector<GNELane*>::iterator i = selectedLanes.begin(); i != selectedLanes.end(); i++) {
345 vectorOfIds.push_back((*i)->getID());
375 for (std::vector<SumoXMLTag>::const_iterator i = additionalTags.begin(); i != additionalTags.end(); i++) {
387 FXScrollWindow::show();
400 FXScrollWindow::hide();
418 for (std::vector<std::pair <SumoXMLAttr, std::string> >::iterator i = attrs.begin(); i != attrs.end(); i++) {
476 return positionOfTheMouseOverLane;
478 if (positionOfTheMouseOverLane - lenghtOfAdditional >= 0.01) {
479 return positionOfTheMouseOverLane - lenghtOfAdditional;
487 if (positionOfTheMouseOverLane - lenghtOfAdditional / 2 >= 0.01) {
488 return positionOfTheMouseOverLane - lenghtOfAdditional / 2;
505 if (positionOfTheMouseOverLane + lenghtOfAdditional <= laneLenght - 0.01) {
506 return positionOfTheMouseOverLane + lenghtOfAdditional;
508 return laneLenght - 0.01;
514 return positionOfTheMouseOverLane;
516 if (positionOfTheMouseOverLane + lenghtOfAdditional / 2 <= laneLenght - 0.01) {
517 return positionOfTheMouseOverLane + lenghtOfAdditional / 2;
519 return laneLenght - 0.01;
534 FXMatrix(parent, 3, MATRIX_BY_COLUMNS | LAYOUT_FILL_X),
537 myLabel =
new FXLabel(
this,
"name", 0, JUSTIFY_RIGHT | LAYOUT_FIX_WIDTH, 0, 0, 60, 0);
613 return (
myMenuCheck->getCheck() == 1) ?
"true" :
"false";
624 FXMatrix(parent, 2, MATRIX_BY_COLUMNS | LAYOUT_FILL_X),
626 numberOfVisibleTextfields(1),
627 myMaxNumberOfValuesInParameterList(20) {
630 myLabels.push_back(
new FXLabel(
this,
"name", 0, JUSTIFY_RIGHT | LAYOUT_FIX_WIDTH, 0, 0, 60, 0));
634 myLabels.push_back(
new FXLabel(
this,
"Rows", 0, JUSTIFY_RIGHT | LAYOUT_FIX_WIDTH, 0, 0, 60, 0));
635 FXHorizontalFrame* buttonsFrame =
new FXHorizontalFrame(
this, LAYOUT_FILL_COLUMN | LAYOUT_FILL_X);
638 ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | FRAME_THICK | FRAME_RAISED,
642 ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | FRAME_THICK | FRAME_RAISED,
655 std::cout <<
"FINISH" << std::endl;
661 std::cout <<
"FINISH" << std::endl;
667 std::cout <<
"FINISH" << std::endl;
718 value += (
myTextFields.at(i)->getText().text() + std::string(
" "));
731 getParent()->recalc();
745 getParent()->recalc();
755 FXGroupBox(parent,
"Default parameters", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X),
757 myIndexParameterList(0),
759 maxNumberOfListParameters(2) {
833 WRITE_WARNING(
"Attribute '" +
toString(attribute) +
"' don't have a defined type. Check definition in GNEAttributeCarrier");
857 std::map<SumoXMLAttr, std::string>
859 std::map<SumoXMLAttr, std::string> values;
881 FXDialogBox* helpDialog =
new FXDialogBox(
this, (
"Parameters of " +
toString(
myAdditional)).c_str(), DECOR_CLOSE | DECOR_TITLE);
883 FXTable* myTable =
new FXTable(helpDialog,
this,
MID_TABLE, TABLE_READONLY);
885 myTable->setVisibleColumns(3);
887 myTable->setBackColor(FXRGB(255, 255, 255));
888 myTable->setColumnText(0,
"Name");
889 myTable->setColumnText(1,
"Value");
890 myTable->setColumnText(2,
"Definition");
891 myTable->getRowHeader()->setWidth(0);
892 FXHeader* header = myTable->getColumnHeader();
893 header->setItemJustify(0, JUSTIFY_CENTER_X);
894 header->setItemSize(0, 120);
895 header->setItemJustify(1, JUSTIFY_CENTER_X);
896 header->setItemSize(1, 80);
897 int maxSizeColumnDefinitions = 0;
902 myTable->setItem(i, 0,
new FXTableItem(
toString(attr).c_str()));
904 FXTableItem* type =
new FXTableItem(
"");
906 type->setText(
"int");
908 type->setText(
"float");
910 type->setText(
"bool");
912 type->setText(
"string");
914 type->setJustify(FXTableItem::CENTER_X);
915 myTable->setItem(i, 1, type);
918 definition->setJustify(FXTableItem::LEFT);
919 myTable->setItem(i, 2, definition);
928 myTable->setItem(i, 0,
new FXTableItem(
toString(attr).c_str()));
930 FXTableItem* type =
new FXTableItem(
"");
932 type->setText(
"list of int");
934 type->setText(
"list of float");
936 type->setText(
"list of bool");
938 type->setText(
"list of string");
940 type->setJustify(FXTableItem::CENTER_X);
941 myTable->setItem(i, 1, type);
944 definition->setJustify(FXTableItem::LEFT);
945 myTable->setItem(i, 2, definition);
951 header->setItemJustify(2, JUSTIFY_CENTER_X);
952 header->setItemSize(2, maxSizeColumnDefinitions * 6);
954 new FXButton(helpDialog,
"OK\t\tclose", 0, helpDialog, FXDialogBox::ID_ACCEPT, ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED, 0, 0, 0, 0, 4, 4, 3, 3);
955 helpDialog->create();
965 FXGroupBox(parent,
"editor parameters", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X),
966 myActualAdditionalReferencePoint(GNE_ADDITIONALREFERENCEPOINT_LEFT) {
969 FRAME_SUNKEN | LAYOUT_LEFT | COMBOBOX_STATIC | LAYOUT_FILL_X);
972 FXHorizontalFrame* lengthFrame =
new FXHorizontalFrame(
this, LAYOUT_FILL_X | LAYOUT_LEFT);
975 myLengthLabel =
new FXLabel(lengthFrame,
"Length:", 0, JUSTIFY_LEFT | LAYOUT_FILL_X);
985 LAYOUT_LEFT | LAYOUT_FILL_X);
989 LAYOUT_LEFT | LAYOUT_FILL_X);
1043 return GNEAttributeCarrier::parse<SUMOReal>(
myLengthTextField->getText().text());
1069 FXDialogBox* helpDialog =
new FXDialogBox(
this,
"Parameter editor Help", DECOR_CLOSE | DECOR_TITLE);
1070 std::ostringstream help;
1072 <<
"Referece point: Mark the initial position of the additional element.\n" 1073 <<
"Example: If you want to create a busStop with a lenght of 30 in the point 100 of the lane:\n" 1074 <<
"- Reference Left will create it with startPos = 70 and endPos = 100.\n" 1075 <<
"- Reference Right will create it with startPos = 100 and endPos = 130.\n" 1076 <<
"- Reference Center will create it with startPos = 85 and endPos = 115.\n" 1078 <<
"Force position: if is enabled, will create the additional adapting size of additional element to lane.\n" 1079 <<
"Example: If you have a lane with lenght = 100, but you try to create a busStop with size = 50\n" 1080 <<
"in the position 80 of the lane, a busStop with startPos = 80 and endPos = 100 will be created\n" 1081 <<
"instead of a busStop with startPos = 80 and endPos = 130.\n" 1083 <<
"Block movement: if is enabled, the created additional element will be blocked. i.e. cannot be moved with\n" 1084 <<
"the mouse. This option can be modified with the Inspector.";
1085 new FXLabel(helpDialog, help.str().c_str(), 0, JUSTIFY_LEFT);
1087 new FXButton(helpDialog,
"OK\t\tclose", 0, helpDialog, FXDialogBox::ID_ACCEPT,
1088 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
1089 0, 0, 0, 0, 4, 4, 3, 3);
1090 helpDialog->create();
1099 std::string vectorOfIds;
1100 for (
int i = 0; i < list->getNumItems(); i++) {
1101 if (list->isItemSelected(i)) {
1102 if (vectorOfIds.size() > 0) {
1105 vectorOfIds += (list->getItem(i)->getText()).text();
1118 FXGroupBox(parent,
"Additional Set", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X),
1123 mySetLabel =
new FXLabel(
this,
"Set Type:", 0, JUSTIFY_LEFT | LAYOUT_FILL_X);
1141 for (
int i = 0; i <
myList->getNumItems(); i++) {
1142 if (
myList->isItemSelected(i)) {
1143 return myList->getItem(i)->getText().text();
1162 for (std::vector<GNEAdditional*>::const_iterator i = vectorOfAdditionalSets.begin(); i != vectorOfAdditionalSets.end(); i++) {
1163 myList->appendItem((*i)->getID().c_str());
1193 FXGroupBox(parent,
"Edges", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X),
1205 FXHorizontalFrame* buttonsFrame =
new FXHorizontalFrame(
this, LAYOUT_FILL_X);
1235 for (std::vector<GNEEdge*>::iterator i = vectorOfEdges.begin(); i != vectorOfEdges.end(); i++) {
1236 if ((*i)->getID().find(search) != std::string::npos) {
1237 myList->appendItem((*i)->getID().c_str());
1317 for (
int i = 0; i <
myList->getNumItems(); i++) {
1318 if (
myList->getItem(i)->isSelected()) {
1328 for (
int i = 0; i <
myList->getNumItems(); i++) {
1329 if (
myList->getItem(i)->isSelected()) {
1341 std::cout <<
"IMPLEMENT" << std::endl;
1350 FXGroupBox(parent,
"lanesSelector", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X),
1362 FXHorizontalFrame* buttonsFrame =
new FXHorizontalFrame(
this, LAYOUT_FILL_X);
1391 for (std::vector<GNELane*>::iterator i = vectorOfLanes.begin(); i != vectorOfLanes.end(); i++) {
1392 if ((*i)->getID().find(search) != std::string::npos) {
1393 myList->appendItem((*i)->getID().c_str());
1469 for (
int i = 0; i <
myList->getNumItems(); i++) {
1470 if (
myList->getItem(i)->isSelected()) {
1480 for (
int i = 0; i <
myList->getNumItems(); i++) {
1481 if (
myList->getItem(i)->isSelected()) {
static bool isList(SumoXMLAttr attr)
whether an attribute is of type bool
long onCmdSelectReferencePoint(FXObject *, FXSelector, void *)
long onCmdClearSelection(FXObject *, FXSelector, void *)
called when clear selection button is pressed
std::vector< GNELane * > retrieveLanes(bool onlySelected=false)
return all lanes
SumoXMLTag
Numbers representing SUMO-XML - element names.
std::vector< additionalParameterList * > myVectorOfAdditionalParameterList
vector with the additional parameters of type list
FXMenuCheck * myCheckForcePosition
checkBox for the option "force position"
int maxNumberOfListParameters
max number of parameters (Defined in constructor)
SumoXMLAttr getAttr() const
return Attr
void hideFramesArea()
hide frames area if all GNEFrames are hidden
FXLabel * myLabel
lael with the name of the parameter
SumoXMLTag myAdditional
current additional
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
SumoXMLTag myType
current type
int myIndexParameterList
index for myIndexParameterList
void addAttribute(SumoXMLTag additional, SumoXMLAttr attribute)
add attribute
SumoXMLAttr getAttr() const
return attribute of list
long onCmdInvertSelection(FXObject *, FXSelector, void *)
called when invert selection button is pressed
bool isBlockEnabled()
check if block is enabled
edgesSelector()
FOX needs this.
std::map< SumoXMLAttr, std::string > getAttributes() const
get attributes
GNEAdditional * getAdditional(SumoXMLTag type, const std::string &id) const
Returns the named additional.
FXDEFMAP(GNEAdditionalFrame) GNEAdditionalMap[]
FXButton * add
Button to increase the number of textFields.
GNEViewParent * getViewParent() const
get the net object
void showFramesArea()
show frames area if at least a GNEFrame is showed
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
GNEViewNet * myViewNet
viewNet associated to GNEAdditionalFrame
~lanesSelector()
destructor
long onCmdSelectEdge(FXObject *, FXSelector, void *)
called when user select a edge of the list
FXButton * clearEdgesSelection
button for clear selection
FXMenuCheck * myUseSelectedEdges
CheckBox for selected edges.
SumoXMLTag getCurrentlyTag() const
get current tag
void hideLengthField()
hide length field
FXTextField * myLengthTextField
textField for lenght
FXButton * helpAdditionalSet
button for help
additionalReferencePoint getActualReferencePoint()
get actual reference point
FXButton * invertEdgesSelection
button for invert selection
static bool buildAdditional(GNEViewNet *viewNet, SumoXMLTag tag, std::map< SumoXMLAttr, std::string > values)
Builds additional / additionalSet.
void remove2Update()
Removes the dialog to be updated.
GNEAdditionalFrame::lanesSelector * myLanesSelector
list of lanesSelector
void hideParameter()
hide all parameters
additionalParameterList()
FOX needs this.
long onCmdSelectAdditional(FXObject *, FXSelector, void *)
bool isUseSelectedLanesEnable() const
get status of checkBox UseSelectedLanes
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...
bool addAdditional(GNENetElement *netElement, GUISUMOAbstractView *parent)
add additional element
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
~additionalParameter()
destructor
~additionalParameterList()
destructor
int myIndexParameter
Index for myVectorOfAdditionalParameter.
GNEAdditionalFrame::additionalParameters * myAdditionalParameters
additional default parameters
static const std::vector< std::pair< SumoXMLAttr, std::string > > & allowedAttributes(SumoXMLTag tag)
get all editable attributes for tag and their default values.
void hideList()
hide edgesSelector
~edgesSelector()
destructor
void setParametersOfAdditional(SumoXMLTag actualAdditionalType)
set parameters depending of the new additionalType
void showListParameter(SumoXMLAttr attr, std::vector< int > value)
show name and value of parameters of type int
FXTextField * myLanesSearch
text field for search lane IDs
#define WRITE_WARNING(msg)
long onCmdInvertSelection(FXObject *, FXSelector, void *)
called when invert selection button is pressed
std::vector< FXLabel * > myLabels
vector with with the name of every parameter
SumoXMLAttr myAttr
XML attribute.
SUMOReal nearest_offset_to_point2D(const Position &p, bool perpendicular=true) const
return the nearest offest to point 2D
additional match box messages
FXButton * helpAdditional
button for help
void hide()
hidde additional frame
GNEViewNet * myViewNet
the window to inform when the tls is modfied
void showReferencePoint()
show refence point comboBox
GNEViewNet * myViewNet
viewNet associated to GNEAdditionalFrame
std::string getIdsSelected() const
get list of selecte id's in string format
FXList * myList
List of lanesSelector.
GNEUndoList * getUndoList() const
get the undoList object
additionalParameters()
FOX needs this.
FXTextField * myTextField
textField to modify the value of parameter
GNEAdditionalFrame::editorParameters * myEditorParameters
editor parameter
GNEViewNet * myViewNet
viewNet associated to GNEAdditionalFrame
void hideList()
hide lanesSelector
SUMOReal setEndPosition(SUMOReal laneLenght, SUMOReal positionOfTheMouseOverLane, SUMOReal lenghtOfAdditional)
obtain the End position values of StoppingPlaces and E2 detector over the lane
long onCmdRemoveRow(FXObject *, FXSelector, void *)
add a new row int the list
SUMOReal getLenght()
get value of lenght
SUMOReal getLaneShapeLenght() const
returns the length of the lane's shape
static bool hasAttribute(SumoXMLTag tag, SumoXMLAttr attr)
check if a 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
SumoXMLAttr myAttr
XML attribute.
static bool hasParent(SumoXMLTag tag)
check if a element with certain tag has another additional element as parent
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.
~additionalSet()
destructor
lanesSelector()
FOX needs this.
FXList * myList
List of edgesSelector.
SumoXMLTag myActualAdditionalType
actual additional type selected in the match Box
virtual std::string getDescription()
how should this attribute carrier be called
int numberOfVisibleTextfields
number of visible text fields
void removeAdditional(GNEAdditional *additional)
remove an additional element previously added
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
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
void showList(std::string search="")
Show list of edgesSelector.
~GNEAdditionalFrame()
Destructor.
FXButton * helpReferencePoint
Button for help about the reference point.
FXComboBox * myAdditionalMatchBox
combo box with the list of additional elements
int getNumberOfAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING)
Returns the number of additionals of the net.
long onCmdUseSelectedLanes(FXObject *, FXSelector, void *)
std::string getValue() const
return value
long onCmdAddRow(FXObject *, FXSelector, void *)
GNEAdditionalFrame::additionalSet * myAdditionalSet
list of additional Set
std::string getIdSelected() const
get if currently additional Set
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 * myLengthLabel
Label for lenght.
std::string toString(const T &t, std::streamsize accuracy=OUTPUT_ACCURACY)
long onCmdHelp(FXObject *, FXSelector, void *)
FXMenuCheck * myCheckBlock
checkBox for blocking movement
static bool isFloat(SumoXMLAttr attr)
whether an attribute is numerical of type float
A road/street connecting two junctions (netedit-version)
std::string getListValues()
return the value of list
bool isForcePositionEnabled()
check if force position is enabled
std::vector< FXTextField * > myTextFields
vector textField to modify the value of parameter
FXTextField * myEdgesSearch
text field for search edge IDs
FXButton * helpEdges
button for help
FXButton * clearLanesSelection
button for clear selection
int myMaxNumberOfValuesInParameterList
Number max of values in a parameter of type list.
const PositionVector & getShape() const
returns the shape of the lane
const std::vector< GNELane * > & getLanes()
returns a reference to the lane vector
long onCmdUseSelectedEdges(FXObject *, FXSelector, void *)
editorParameters()
FOX needs this.
void updateUseSelectedLanes()
std::string getIdsSelected() const
get list of selecte id's in string format
static const std::vector< SumoXMLTag > & allowedAdditionalTags()
get all editable tags for additionals
void show()
show additional frame
static bool isInt(SumoXMLAttr attr)
whether an attribute is numerical or type int
std::vector< GNEEdge * > retrieveEdges(bool onlySelected=false)
return all edges
FXList * myList
List of additional sets.
An Element which don't belongs to GNENet but has influency in the simulation.
void hideReferencePoint()
hide refence point comboBox
long onCmdTypeInSearchBox(FXObject *, FXSelector, void *)
called when user type in search box
void showAdditionalParameters()
show group box
additionalParameter(FXComposite *parent, FXObject *tgt)
constructor
std::vector< additionalParameter * > myVectorOfAdditionalParameter
vector with the additional parameters
long onCmdClearSelection(FXObject *, FXSelector, void *)
called when clear selection button is pressed
void hideParameter()
hide all parameters
void updateUseSelectedEdges()
Update use selectedEdges.
static std::string getDefinition(SumoXMLTag tag, SumoXMLAttr attr)
return definition of a certain SumoXMLAttr
std::string generateID(GNENetElement *netElement) const
generate a ID for an additiona element
FXMenuCheck * myMenuCheck
menuCheck to enable/disable the value of parameter
static SumoXMLTag getParentType(SumoXMLTag tag)
get parent's tag of a certain additional element
GNENet * getNet() const
get the net object
std::string joinToString(const std::vector< T > &v, const T_BETWEEN &between, std::streamsize accuracy=OUTPUT_ACCURACY)
void showLengthField()
show length field
Position getPositionInformation() const
Returns the cursor's x/y position within the network.
static bool isUnique(SumoXMLAttr attr)
whether an attribute is unique (may not be edited for a multi-selection)
~editorParameters()
destructor
static bool isString(SumoXMLAttr attr)
whether an attribute is of type string
additionalReferencePoint myActualAdditionalReferencePoint
actual additional reference point selected in the match Box
long onCmdSelectLane(FXObject *, FXSelector, void *)
called when user select a lane of the list
void showList(SumoXMLTag type)
Show list of additionalSet.
void hideList()
hide additionalSet
void hideAdditionalParameters()
hide group box
void showList(std::string search="")
Show list of lanesSelector.
FXMenuCheck * myUseSelectedLanes
CheckBox for selected lanes.
additionalSet()
FOX needs this.
static std::string getIdsSelected(const FXList *list)
get list of selecte id's in string format
int maxNumberOfParameters
max number of parameters (Defined in constructor)
bool isUseSelectedEdgesEnable() const
get status of checkBox UseSelectedEdges
void showParameter(SumoXMLAttr attr, std::string value)
show name and value of attribute of type string
GUISelectedStorage gSelected
A global holder of selected objects.
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
FXLabel * mySetLabel
Label with the name of Set.
static bool isBool(SumoXMLAttr attr)
whether an attribute is of type bool
long onCmdSelectAdditionalSet(FXObject *, FXSelector, void *)
long onCmdTypeInSearchBox(FXObject *, FXSelector, void *)
called when user type in search box
int getNumberOfAddedAttributes() const
get number of added attributes
FXButton * invertLanesSelection
button for invert selection
GNEAdditionalFrame::edgesSelector * myEdgesSelector
list of edgesSelector
FXButton * helpLanes
button for help
FXComboBox * myReferencePointMatchBox
match box with the list of reference points