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) {
247 }
else if (pointed_lane) {
289 std::vector<std::string> vectorOfIds;
293 for (std::vector<GNEEdge*>::iterator i = selectedEdges.begin(); i != selectedEdges.end(); i++) {
294 vectorOfIds.push_back((*i)->getID());
312 std::vector<std::string> vectorOfIds;
316 for (std::vector<GNELane*>::iterator i = selectedLanes.begin(); i != selectedLanes.end(); i++) {
317 vectorOfIds.push_back((*i)->getID());
347 for (std::vector<SumoXMLTag>::const_iterator i = additionalTags.begin(); i != additionalTags.end(); i++) {
359 FXScrollWindow::show();
372 FXScrollWindow::hide();
390 for (std::vector<std::pair <SumoXMLAttr, std::string> >::iterator i = attrs.begin(); i != attrs.end(); i++) {
448 return positionOfTheMouseOverLane;
450 if (positionOfTheMouseOverLane - lenghtOfAdditional >= 0.01) {
451 return positionOfTheMouseOverLane - lenghtOfAdditional;
459 if (positionOfTheMouseOverLane - lenghtOfAdditional / 2 >= 0.01) {
460 return positionOfTheMouseOverLane - lenghtOfAdditional / 2;
477 if (positionOfTheMouseOverLane + lenghtOfAdditional <= laneLenght - 0.01) {
478 return positionOfTheMouseOverLane + lenghtOfAdditional;
480 return laneLenght - 0.01;
486 return positionOfTheMouseOverLane;
488 if (positionOfTheMouseOverLane + lenghtOfAdditional / 2 <= laneLenght - 0.01) {
489 return positionOfTheMouseOverLane + lenghtOfAdditional / 2;
491 return laneLenght - 0.01;
506 FXMatrix(parent, 3, MATRIX_BY_COLUMNS | LAYOUT_FILL_X),
509 myLabel =
new FXLabel(
this,
"name", 0, JUSTIFY_RIGHT | LAYOUT_FIX_WIDTH, 0, 0, 60, 0);
585 return (
myMenuCheck->getCheck() == 1) ?
"true" :
"false";
596 FXMatrix(parent, 2, MATRIX_BY_COLUMNS | LAYOUT_FILL_X),
597 numberOfVisibleTextfields(1),
598 myMaxNumberOfValuesInParameterList(20),
602 myLabels.push_back(
new FXLabel(
this,
"name", 0, JUSTIFY_RIGHT | LAYOUT_FIX_WIDTH, 0, 0, 60, 0));
606 myLabels.push_back(
new FXLabel(
this,
"Rows", 0, JUSTIFY_RIGHT | LAYOUT_FIX_WIDTH, 0, 0, 60, 0));
607 FXHorizontalFrame* buttonsFrame =
new FXHorizontalFrame(
this, LAYOUT_FILL_COLUMN | LAYOUT_FILL_X);
610 ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | FRAME_THICK | FRAME_RAISED,
614 ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | FRAME_THICK | FRAME_RAISED,
627 std::cout <<
"FINISH" << std::endl;
633 std::cout <<
"FINISH" << std::endl;
639 std::cout <<
"FINISH" << std::endl;
690 value += (
myTextFields.at(i)->getText().text() + std::string(
" "));
703 getParent()->recalc();
717 getParent()->recalc();
727 FXGroupBox(parent,
"Default parameters", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X),
729 myIndexParameterList(0),
731 maxNumberOfListParameters(2) {
805 WRITE_WARNING(
"Attribute '" +
toString(attribute) +
"' don't have a defined type. Check definition in GNEAttributeCarrier");
829 std::map<SumoXMLAttr, std::string>
831 std::map<SumoXMLAttr, std::string> values;
853 FXDialogBox* helpDialog =
new FXDialogBox(
this, (
"Parameters of " +
toString(
myAdditional)).c_str(), DECOR_CLOSE | DECOR_TITLE);
855 FXTable* myTable =
new FXTable(helpDialog,
this,
MID_TABLE, TABLE_READONLY);
857 myTable->setVisibleColumns(3);
859 myTable->setBackColor(FXRGB(255, 255, 255));
860 myTable->setColumnText(0,
"Name");
861 myTable->setColumnText(1,
"Value");
862 myTable->setColumnText(2,
"Definition");
863 myTable->getRowHeader()->setWidth(0);
864 FXHeader* header = myTable->getColumnHeader();
865 header->setItemJustify(0, JUSTIFY_CENTER_X);
866 header->setItemSize(0, 120);
867 header->setItemJustify(1, JUSTIFY_CENTER_X);
868 header->setItemSize(1, 80);
869 int maxSizeColumnDefinitions = 0;
874 myTable->setItem(i, 0,
new FXTableItem(
toString(attr).c_str()));
876 FXTableItem* type =
new FXTableItem(
"");
878 type->setText(
"int");
880 type->setText(
"float");
882 type->setText(
"bool");
884 type->setText(
"string");
886 type->setJustify(FXTableItem::CENTER_X);
887 myTable->setItem(i, 1, type);
890 definition->setJustify(FXTableItem::LEFT);
891 myTable->setItem(i, 2, definition);
900 myTable->setItem(i, 0,
new FXTableItem(
toString(attr).c_str()));
902 FXTableItem* type =
new FXTableItem(
"");
904 type->setText(
"list of int");
906 type->setText(
"list of float");
908 type->setText(
"list of bool");
910 type->setText(
"list of string");
912 type->setJustify(FXTableItem::CENTER_X);
913 myTable->setItem(i, 1, type);
916 definition->setJustify(FXTableItem::LEFT);
917 myTable->setItem(i, 2, definition);
923 header->setItemJustify(2, JUSTIFY_CENTER_X);
924 header->setItemSize(2, maxSizeColumnDefinitions * 6);
926 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);
927 helpDialog->create();
937 FXGroupBox(parent,
"editor parameters", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X),
938 myActualAdditionalReferencePoint(GNE_ADDITIONALREFERENCEPOINT_LEFT) {
941 FRAME_SUNKEN | LAYOUT_LEFT | COMBOBOX_STATIC | LAYOUT_FILL_X);
944 FXHorizontalFrame* lengthFrame =
new FXHorizontalFrame(
this, LAYOUT_FILL_X | LAYOUT_LEFT);
947 myLengthLabel =
new FXLabel(lengthFrame,
"Length:", 0, JUSTIFY_LEFT | LAYOUT_FILL_X);
957 LAYOUT_LEFT | LAYOUT_FILL_X);
961 LAYOUT_LEFT | LAYOUT_FILL_X);
1015 return GNEAttributeCarrier::parse<SUMOReal>(
myLengthTextField->getText().text());
1041 FXDialogBox* helpDialog =
new FXDialogBox(
this,
"Parameter editor Help", DECOR_CLOSE | DECOR_TITLE);
1042 std::ostringstream help;
1044 <<
"Referece point: Mark the initial position of the additional element.\n" 1045 <<
"Example: If you want to create a busStop with a lenght of 30 in the point 100 of the lane:\n" 1046 <<
"- Reference Left will create it with startPos = 70 and endPos = 100.\n" 1047 <<
"- Reference Right will create it with startPos = 100 and endPos = 130.\n" 1048 <<
"- Reference Center will create it with startPos = 85 and endPos = 115.\n" 1050 <<
"Force position: if is enabled, will create the additional adapting size of additional element to lane.\n" 1051 <<
"Example: If you have a lane with lenght = 100, but you try to create a busStop with size = 50\n" 1052 <<
"in the position 80 of the lane, a busStop with startPos = 80 and endPos = 100 will be created\n" 1053 <<
"instead of a busStop with startPos = 80 and endPos = 130.\n" 1055 <<
"Block movement: if is enabled, the created additional element will be blocked. i.e. cannot be moved with\n" 1056 <<
"the mouse. This option can be modified with the Inspector.";
1057 new FXLabel(helpDialog, help.str().c_str(), 0, JUSTIFY_LEFT);
1059 new FXButton(helpDialog,
"OK\t\tclose", 0, helpDialog, FXDialogBox::ID_ACCEPT,
1060 ICON_BEFORE_TEXT | LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED,
1061 0, 0, 0, 0, 4, 4, 3, 3);
1062 helpDialog->create();
1071 std::string vectorOfIds;
1072 for (
int i = 0; i < list->getNumItems(); i++) {
1073 if (list->isItemSelected(i)) {
1074 if (vectorOfIds.size() > 0) {
1077 vectorOfIds += (list->getItem(i)->getText()).text();
1090 FXGroupBox(parent,
"Additional Set", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X),
1095 mySetLabel =
new FXLabel(
this,
"Set Type:", 0, JUSTIFY_LEFT | LAYOUT_FILL_X);
1113 for (
int i = 0; i <
myList->getNumItems(); i++) {
1114 if (
myList->isItemSelected(i)) {
1115 return myList->getItem(i)->getText().text();
1134 for (std::vector<GNEAdditional*>::const_iterator i = vectorOfAdditionalSets.begin(); i != vectorOfAdditionalSets.end(); i++) {
1135 myList->appendItem((*i)->getID().c_str());
1165 FXGroupBox(parent,
"Edges", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X),
1177 FXHorizontalFrame* buttonsFrame =
new FXHorizontalFrame(
this, LAYOUT_FILL_X);
1207 for (std::vector<GNEEdge*>::iterator i = vectorOfEdges.begin(); i != vectorOfEdges.end(); i++) {
1208 if ((*i)->getID().find(search) != std::string::npos) {
1209 myList->appendItem((*i)->getID().c_str());
1289 for (
int i = 0; i <
myList->getNumItems(); i++) {
1290 if (
myList->getItem(i)->isSelected()) {
1300 for (
int i = 0; i <
myList->getNumItems(); i++) {
1301 if (
myList->getItem(i)->isSelected()) {
1313 std::cout <<
"IMPLEMENT" << std::endl;
1322 FXGroupBox(parent,
"lanesSelector", GROUPBOX_TITLE_CENTER | FRAME_GROOVE | LAYOUT_FILL_X),
1334 FXHorizontalFrame* buttonsFrame =
new FXHorizontalFrame(
this, LAYOUT_FILL_X);
1363 for (std::vector<GNELane*>::iterator i = vectorOfLanes.begin(); i != vectorOfLanes.end(); i++) {
1364 if ((*i)->getID().find(search) != std::string::npos) {
1365 myList->appendItem((*i)->getID().c_str());
1441 for (
int i = 0; i <
myList->getNumItems(); i++) {
1442 if (
myList->getItem(i)->isSelected()) {
1452 for (
int i = 0; i <
myList->getNumItems(); i++) {
1453 if (
myList->getItem(i)->isSelected()) {
static bool isList(SumoXMLAttr attr)
whether an attribute is of type bool
long onCmdSelectReferencePoint(FXObject *, FXSelector, void *)
std::string getValue() const
return value
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)
void hideFramesArea()
hide frames area if all GNEFrames are hidden
FXLabel * myLabel
lael with the name of the parameter
SumoXMLTag getCurrentlyTag() const
get current tag
SUMOReal nearest_offset_to_point2D(const Position &p, bool perpendicular=true) const
return the nearest offest to point 2D
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
long onCmdInvertSelection(FXObject *, FXSelector, void *)
called when invert selection button is pressed
bool isBlockEnabled()
check if block is enabled
edgesSelector()
FOX needs this.
int getNumberOfAddedAttributes() const
get number of added attributes
FXDEFMAP(GNEAdditionalFrame) GNEAdditionalMap[]
FXButton * add
Button to increase the number of textFields.
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.
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 *)
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
GNEViewParent * getViewParent() const
get the net object
bool isUseSelectedLanesEnable() const
get status of checkBox UseSelectedLanes
~additionalParameterList()
destructor
int myIndexParameter
Index for myVectorOfAdditionalParameter.
std::string getIdsSelected() const
get list of selecte id's in string format
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.
GNEUndoList * getUndoList() const
get the undoList object
additional match box messages
FXButton * helpAdditional
button for help
std::string getIdSelected() const
get if currently additional Set
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
FXList * myList
List of lanesSelector.
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
static bool hasAttribute(SumoXMLTag tag, SumoXMLAttr attr)
check if a element with certain tag has a certain attribute
std::map< SumoXMLAttr, std::string > getAttributes() const
get attributes
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
SumoXMLAttr getAttr() const
return attribute of list
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 *)
long onCmdAddRow(FXObject *, FXSelector, void *)
GNEAdditionalFrame::additionalSet * myAdditionalSet
list of 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
GNEAdditional * getAdditional(SumoXMLTag type, const std::string &id) const
Returns the named additional.
FXTextField * myEdgesSearch
text field for search edge IDs
FXButton * helpEdges
button for help
std::string generateID(GNENetElement *netElement) const
generate a ID for an additiona element
FXButton * clearLanesSelection
button for clear selection
const PositionVector & getShape() const
returns the shape of the lane
SUMOReal getLaneShapeLenght() const
returns the length of the lane's shape
int myMaxNumberOfValuesInParameterList
Number max of values in a parameter of type list.
const std::vector< GNELane * > & getLanes()
returns a reference to the lane vector
long onCmdUseSelectedEdges(FXObject *, FXSelector, void *)
editorParameters()
FOX needs this.
void updateUseSelectedLanes()
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
SumoXMLAttr getAttr() const
return Attr
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
GNENet * getNet() const
get the net object
std::string getIdsSelected() const
get list of selecte id's in string format
FXMenuCheck * myMenuCheck
menuCheck to enable/disable the value of parameter
static SumoXMLTag getParentType(SumoXMLTag tag)
get parent's tag of a certain additional element
std::string joinToString(const std::vector< T > &v, const T_BETWEEN &between, std::streamsize accuracy=OUTPUT_ACCURACY)
void showLengthField()
show length field
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.
Position getPositionInformation() const
Returns the cursor's x/y position within the network.
additionalSet()
FOX needs this.
static std::string getIdsSelected(const FXList *list)
get list of selecte id's in string format
bool isUseSelectedEdgesEnable() const
get status of checkBox UseSelectedEdges
int maxNumberOfParameters
max number of parameters (Defined in constructor)
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
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