111 FXIMPLEMENT(
GNEAdditionalFrame, FXVerticalFrame, GNEAdditionalMap, ARRAYNUMBER(GNEAdditionalMap))
125 GNEFrame(horizontalFrameParent, viewNet, "Additionals"),
129 myGroupBoxForMyAdditionalMatchBox =
new FXGroupBox(myContentFrame,
"Additional element",
GUIDesignGroupBoxFrame);
151 for (std::vector<SumoXMLTag>::const_iterator i = additionalTags.begin(); i != additionalTags.end(); i++) {
152 myAdditionalMatchBox->appendItem(
toString(*i).c_str());
156 myAdditionalMatchBox->setNumVisible((
int)myAdditionalMatchBox->getNumItems());
159 if (additionalTags.size() > 0) {
161 myActualAdditionalType = additionalTags.front();
162 setParametersOfAdditional(myActualAdditionalType);
194 pointed_junction =
dynamic_cast<GNEJunction*
>(netElement);
195 if (pointed_junction != NULL) {
212 if (dynamic_cast<GNELane*>(netElement) != NULL) {
213 pointed_edge = &(
dynamic_cast<GNELane*
>(netElement)->getParentEdge());
215 if (pointed_edge != NULL) {
231 pointed_lane =
dynamic_cast<GNELane*
>(netElement);
232 if (pointed_lane != NULL) {
248 pointed_crossing =
dynamic_cast<GNECrossing*
>(netElement);
249 if (pointed_crossing != NULL) {
276 double positionOfTheMouseOverEdge = pointed_edge->
getLanes().at(0)->getShape().nearest_offset_to_point2D(currentPosition);
289 if (startPos != -1) {
308 }
else if (pointed_lane) {
323 if (startPos != -1) {
350 double end = GNEAttributeCarrier::parse<double>(valuesOfElement[
SUMO_ATTR_END]);
384 std::vector<std::string> vectorOfIds;
388 for (std::vector<GNEEdge*>::iterator i = selectedEdges.begin(); i != selectedEdges.end(); i++) {
389 vectorOfIds.push_back((*i)->getID());
407 std::vector<std::string> vectorOfIds;
411 for (std::vector<GNELane*>::iterator i = selectedLanes.begin(); i != selectedLanes.end(); i++) {
412 vectorOfIds.push_back((*i)->getID());
446 bool additionalNameCorrect =
false;
448 for (std::vector<SumoXMLTag>::const_iterator i = additionalTags.begin(); i != additionalTags.end(); i++) {
454 additionalNameCorrect =
true;
458 if (additionalNameCorrect ==
false) {
494 for (std::vector<std::pair <SumoXMLAttr, std::string> >::iterator i = attrs.begin(); i != attrs.end(); i++) {
552 return positionOfTheMouseOverLane;
554 if (positionOfTheMouseOverLane - lengthOfAdditional >= 0.01) {
555 return positionOfTheMouseOverLane - lengthOfAdditional;
563 if (positionOfTheMouseOverLane - lengthOfAdditional / 2 >= 0.01) {
564 return positionOfTheMouseOverLane - lengthOfAdditional / 2;
581 if (positionOfTheMouseOverLane + lengthOfAdditional <= laneLength - 0.01) {
582 return positionOfTheMouseOverLane + lengthOfAdditional;
584 return laneLength - 0.01;
590 return positionOfTheMouseOverLane;
592 if (positionOfTheMouseOverLane + lengthOfAdditional / 2 <= laneLength - 0.01) {
593 return positionOfTheMouseOverLane + lengthOfAdditional / 2;
595 return laneLength - 0.01;
739 if (GNEAttributeCarrier::canParse<int>(
myTextFieldInt->getText().text())) {
741 int intValue = GNEAttributeCarrier::parse<int>(
myTextFieldInt->getText().text());
751 if (GNEAttributeCarrier::canParse<double>(
myTextFieldReal->getText().text())) {
753 double doubleValue = GNEAttributeCarrier::parse<double>(
myTextFieldReal->getText().text());
755 if (doubleValue < 0) {
762 if (GNEAttributeCarrier::canParse<double>(
myTextFieldReal->getText().text())) {
764 double doubleValue = GNEAttributeCarrier::parse<double>(
myTextFieldReal->getText().text());
778 myInvalidValue =
"input contains invalid characters for a filename";
819 myNumberOfVisibleTextfields(1),
820 myMaxNumberOfValuesInParameterList(20) {
883 FXVerticalFrame::show();
896 FXVerticalFrame::hide();
917 value += (
myTextFields.at(i)->getText().text() + std::string(
" "));
936 getParent()->recalc();
948 getParent()->recalc();
961 myIndexParameterList(0),
963 maxNumberOfListParameters(2) {
1039 WRITE_WARNING(
"Attribute '" +
toString(AdditionalAttributeSingle) +
"' doesn't have a defined type. Check definition in GNEAttributeCarrier");
1063 std::map<SumoXMLAttr, std::string>
1065 std::map<SumoXMLAttr, std::string> values;
1080 std::string errorMessage;
1082 for (
int i = 0; (i <
myIndexParameter) && (errorMessage.empty() ==
true); i++) {
1085 if (attributeValue.size() != 0) {
1086 errorMessage = attributeValue;
1097 if (extra.size() == 0) {
1143 FXTable* myTable =
new FXTable(helpDialog,
this,
MID_TABLE, TABLE_READONLY);
1145 myTable->setVisibleColumns(3);
1147 myTable->setBackColor(FXRGB(255, 255, 255));
1148 myTable->setColumnText(0,
"Name");
1149 myTable->setColumnText(1,
"Value");
1150 myTable->setColumnText(2,
"Definition");
1151 myTable->getRowHeader()->setWidth(0);
1152 FXHeader* header = myTable->getColumnHeader();
1153 header->setItemJustify(0, JUSTIFY_CENTER_X);
1154 header->setItemSize(0, 120);
1155 header->setItemJustify(1, JUSTIFY_CENTER_X);
1156 header->setItemSize(1, 80);
1157 int maxSizeColumnDefinitions = 0;
1163 myTable->setItem(i, 0,
new FXTableItem(
toString(attr).c_str()));
1165 FXTableItem* type =
new FXTableItem(
"");
1167 type->setText(
"int");
1169 type->setText(
"float");
1171 type->setText(
"time");
1173 type->setText(
"bool");
1175 type->setText(
"string");
1177 type->setJustify(FXTableItem::CENTER_X);
1178 myTable->setItem(i, 1, type);
1181 definition->setJustify(FXTableItem::LEFT);
1182 myTable->setItem(i, 2, definition);
1192 myTable->setItem(i, 0,
new FXTableItem(
toString(attr).c_str()));
1194 FXTableItem* type =
new FXTableItem(
"");
1196 type->setText(
"list of integers");
1198 type->setText(
"list of floats");
1200 type->setText(
"list of times");
1202 type->setText(
"list of booleans");
1204 type->setText(
"list of strings");
1206 type->setJustify(FXTableItem::CENTER_X);
1207 myTable->setItem(i, 1, type);
1210 definition->setJustify(FXTableItem::LEFT);
1211 myTable->setItem(i, 2, definition);
1217 header->setItemJustify(2, JUSTIFY_CENTER_X);
1218 header->setItemSize(2, maxSizeColumnDefinitions * 6);
1221 helpDialog->create();
1232 myActualAdditionalReferencePoint(GNE_ADDITIONALREFERENCEPOINT_LEFT),
1233 myCurrentLengthValid(true) {
1326 if (GNEAttributeCarrier::canParse<double>(
myLengthTextField->getText().text()) &&
1395 FXDialogBox* helpDialog =
new FXDialogBox(
this,
"Parameter editor Help",
GUIDesignDialogBox);
1396 std::ostringstream help;
1398 <<
"Referece point: Mark the initial position of the additional element.\n" 1399 <<
"Example: If you want to create a busStop with a length of 30 in the point 100 of the lane:\n" 1400 <<
"- Reference Left will create it with startPos = 70 and endPos = 100.\n" 1401 <<
"- Reference Right will create it with startPos = 100 and endPos = 130.\n" 1402 <<
"- Reference Center will create it with startPos = 85 and endPos = 115.\n" 1404 <<
"Force position: if is enabled, will create the additional adapting size of additional element to lane.\n" 1405 <<
"Example: If you have a lane with length = 100, but you try to create a busStop with size = 50\n" 1406 <<
"in the position 80 of the lane, a busStop with startPos = 80 and endPos = 100 will be created\n" 1407 <<
"instead of a busStop with startPos = 80 and endPos = 130.\n" 1409 <<
"Block movement: if is enabled, the created additional element will be blocked. i.e. cannot be moved with\n" 1410 <<
"the mouse. This option can be modified with the Inspector.";
1414 helpDialog->create();
1423 std::string vectorOfIds;
1424 for (
int i = 0; i < list->getNumItems(); i++) {
1425 if (list->isItemSelected(i)) {
1426 if (vectorOfIds.size() > 0) {
1429 vectorOfIds += (list->getItem(i)->getText()).text();
1443 myUniqueSelection(false),
1465 for (
int i = 0; i <
myList->getNumItems(); i++) {
1466 if (
myList->isItemSelected(i)) {
1467 return myList->getItem(i)->getText().text();
1482 for (std::vector<GNEAdditional*>::iterator i = vectorOfAdditionalParents.begin(); i != vectorOfAdditionalParents.end(); i++) {
1483 myList->appendItem((*i)->getID().c_str());
1557 for (std::vector<GNEEdge*>::iterator i = vectorOfEdges.begin(); i != vectorOfEdges.end(); i++) {
1559 if ((*i)->getID().find(search) != std::string::npos) {
1560 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()) {
1664 std::cout <<
"IMPLEMENT" << std::endl;
1714 for (std::vector<GNELane*>::iterator i = vectorOfLanes.begin(); i != vectorOfLanes.end(); i++) {
1715 if ((*i)->getID().find(search) != std::string::npos) {
1716 myList->appendItem((*i)->getID().c_str());
1792 for (
int i = 0; i <
myList->getNumItems(); i++) {
1793 if (
myList->getItem(i)->isSelected()) {
1803 for (
int i = 0; i <
myList->getNumItems(); i++) {
1804 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
#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.
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
long onCmdSetForcePosition(FXObject *, FXSelector, void *)
Called when user changes the checkbox "force position".
~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
bool isBlockEnabled()
check if block is enabled
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
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)
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 *)
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.
show only selected edge in a list
#define WRITE_WARNING(msg)
FXTextField * myEdgesSearch
text field for search edge IDs
additionalReferencePoint getActualReferencePoint()
get actual reference point
void showList(std::string search="")
Show list of SelectorParentEdges.
bool isTestingModeEnabled() const
check if netedit is running in testing mode
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
the window to inform when the tls is modfied
FXCheckButton * myUseSelectedEdgesCheckButton
CheckBox for selected edges.
static bool isInt(SumoXMLTag tag, SumoXMLAttr attr)
whether an attribute is numerical or type int
bool isForcePositionEnabled()
check if force position is enabled
double getLength()
get value of length
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.
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...
bool isCurrentLengthValid() const
check if current length is valid
void addAttribute(SumoXMLTag additionalTag, SumoXMLAttr AdditionalAttributeSingle)
add attribute
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.
void hideLengthField()
hide length field
std::vector< FXLabel * > myLabels
vector with with the name of every parameter
long onCmdUseSelectedEdges(FXObject *, FXSelector, void *)
int myIndexParameterList
index for myIndexParameterList
additional match box messages
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.
virtual std::string getDescription()
how should this attribute carrier be called
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
static const std::vector< SumoXMLTag > & allowedTags(bool net)
get all editable for tag (net or additional).
~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 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
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
FXLabel * myForcePositionLabel
Label for force position.
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.
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
AddAdditionalResult addAdditional(GNENetElement *netElement, GUISUMOAbstractView *parent)
add additional element
~SelectorParentAdditional()
destructor
AddAdditionalResult
FOX-declaration.
void hideParameter()
hide all parameters
long onCmdSetBlocking(FXObject *, FXSelector, void *)
Called when user changes the checkbox "set blocking".
void hideReferencePoint()
hide refence point comboBox
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.
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
void showLengthField()
show length field
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.
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.
GNENet * getNet() const
get the net object
#define GUIDesignTextFieldReal
text field extended over Frame with thick frame and limited to Doubles/doubles
void showReferencePoint()
show refence point comboBox
void hideList()
hide SelectorParentEdges
#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.
FXButton * invertLanesSelection
button for invert selection
invert selection of lanes
parent of an additional element
long onCmdHelp(FXObject *, FXSelector, void *)
Called when help button is pressed.
invert selection of edges
std::string getIdsSelected() const
get list of selecte id's in string format
#define GUIDesignLabelLeft
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
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
FXCheckButton * myForcePositionCheckButton
checkBox for the option "force position"
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
#define GUIDesignLabelLeftThick
label extended 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)
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.
NeteditAttributes()
FOX needs this.
FXButton * myHelpedgeParentsSelector
button for help