87 GNEFrame(horizontalFrameParent, viewNet, "Selection") {
101 FXGroupBox* selectionHintGroupBox =
new FXGroupBox(myContentFrame,
"Information",
GUIDesignGroupBoxFrame);
103 new FXLabel(selectionHintGroupBox,
" - Hold <SHIFT> for \n rectangle selection.\n - Press <DEL> to\n delete selected items.",
nullptr,
GUIDesignLabelFrameInformation);
141 if (i.second->isAttributeCarrierSelected()) {
146 for (
const auto& j : i.second->getGNEIncomingEdges()) {
149 if (j->isAttributeCarrierSelected()) {
155 for (
auto k : j->getLanes()) {
156 if (k->isAttributeCarrierSelected()) {
163 for (
const auto& k : j->getGNEConnections()) {
164 if (k->isAttributeCarrierSelected()) {
172 for (
const auto& j : i.second->getGNECrossings()) {
173 if (j->isAttributeCarrierSelected()) {
184 for (
const auto& j : i.second) {
185 if (j.second->isAttributeCarrierSelected()) {
195 GNEShape* shape = dynamic_cast<GNEShape*>(i.second);
204 GNEShape* shape = dynamic_cast<GNEShape*>(i.second);
214 if (i.second->isAttributeCarrierSelected()) {
222 if (i.second->isAttributeCarrierSelected()) {
230 if (i.second->isAttributeCarrierSelected()) {
238 if (i.second->isAttributeCarrierSelected()) {
246 if (i.second->isAttributeCarrierSelected()) {
254 if (i.second->isAttributeCarrierSelected()) {
262 if (i.second->isAttributeCarrierSelected()) {
267 if (i.second->isAttributeCarrierSelected()) {
272 if (i.second->isAttributeCarrierSelected()) {
277 if (i.second->isAttributeCarrierSelected()) {
282 if (i.second->isAttributeCarrierSelected()) {
290 if (i.second->isAttributeCarrierSelected()) {
298 if (i.second->isAttributeCarrierSelected()) {
306 if (i.second->isAttributeCarrierSelected()) {
311 if (i.second->isAttributeCarrierSelected()) {
319 if (i.second->isAttributeCarrierSelected()) {
324 if (i.second->isAttributeCarrierSelected()) {
332 if (i.second->isAttributeCarrierSelected()) {
337 if (i.second->isAttributeCarrierSelected()) {
342 if (i.second->isAttributeCarrierSelected()) {
350 if (i.second->isAttributeCarrierSelected()) {
355 if (i.second->isAttributeCarrierSelected()) {
373 std::set<std::pair<std::string, GNEAttributeCarrier*> > ACToSelect;
374 std::set<std::pair<std::string, GNEAttributeCarrier*> > ACToUnselect;
380 for (
auto i : selectedAC) {
381 ACToUnselect.insert(std::pair<std::string, GNEAttributeCarrier*>(i->getID(), i));
387 switch (setOperation) {
389 ACToUnselect.insert(std::pair<std::string, GNEAttributeCarrier*>(i->getID(), i));
392 if (ACToUnselect.find(std::pair<std::string, GNEAttributeCarrier*>(i->getID(), i)) != ACToUnselect.end()) {
393 ACToSelect.insert(std::pair<std::string, GNEAttributeCarrier*>(i->getID(), i));
397 ACToSelect.insert(std::pair<std::string, GNEAttributeCarrier*>(i->getID(), i));
403 std::vector<GNEEdge*> edgesToSelect;
405 for (
auto i : ACToSelect) {
407 edgesToSelect.push_back(dynamic_cast<GNEEdge*>(i.second));
411 for (
auto i : edgesToSelect) {
413 ACToSelect.insert(std::make_pair(i->getGNEJunctionSource()->getID(), i->getGNEJunctionSource()));
414 for (
auto j : i->getGNEJunctionSource()->getGNEConnections()) {
415 ACToSelect.insert(std::make_pair(j->getID(), j));
417 for (
auto j : i->getGNEJunctionSource()->getGNECrossings()) {
418 ACToSelect.insert(std::make_pair(j->getID(), j));
421 ACToSelect.insert(std::make_pair(i->getGNEJunctionDestiny()->getID(), i->getGNEJunctionDestiny()));
422 for (
auto j : i->getGNEJunctionDestiny()->getGNEConnections()) {
423 ACToSelect.insert(std::make_pair(j->getID(), j));
425 for (
auto j : i->getGNEJunctionDestiny()->getGNECrossings()) {
426 ACToSelect.insert(std::make_pair(j->getID(), j));
431 if ((ACToSelect.size() + ACToUnselect.size()) > 0) {
434 for (
auto i : ACToUnselect) {
435 if (i.second->getTagProperty().isSelectable()) {
439 for (
auto i : ACToSelect) {
440 if (i.second->getTagProperty().isSelectable()) {
464 std::vector<GNEAttributeCarrier*>
466 std::vector<GNEAttributeCarrier*> result;
469 for (
auto it : allACbyTag) {
471 result.push_back(it);
472 }
else if (tagValue.hasAttribute(ACAttr) && tagValue.getAttributeProperties(ACAttr).isNumerical()) {
474 std::istringstream buf(it->getAttribute(ACAttr));
479 result.push_back(it);
484 result.push_back(it);
489 result.push_back(it);
495 std::string acVal = it->getAttributeForSelection(ACAttr);
498 if (acVal.find(expr) != std::string::npos) {
499 result.push_back(it);
503 if (acVal.find(expr) == std::string::npos) {
504 result.push_back(it);
509 result.push_back(it);
514 result.push_back(it);
529 mySelectorFrameParent(selectorFrameParent) {
560 for (
const auto& i : myTypeEntries) {
561 delete i.second.second;
568 myTypeEntries.at(type).second->counterUp();
574 myTypeEntries.at(type).second->counterDown();
580 if ((type >= 100) && (type < 199)) {
583 return myTypeEntries.at(type).second->isGLTypeLocked();
590 for (
const auto& i : myTypeEntries) {
592 if (i.second.first == mySelectorFrameParent->myViewNet->getEditModes().currentSupermode) {
593 i.second.second->showObjectTypeEntry();
595 i.second.second->hideObjectTypeEntry();
615 myLabelCounter->show();
616 myLabelTypeName->show();
617 myCheckBoxLocked->show();
623 myLabelCounter->hide();
624 myLabelTypeName->hide();
625 myCheckBoxLocked->hide();
632 myLabelCounter->setText(
toString(myCounter).c_str());
639 myLabelCounter->setText(
toString(myCounter).c_str());
645 return (myCheckBoxLocked->getCheck() == TRUE);
651 if (myCheckBoxLocked->getCheck() == TRUE) {
652 myCheckBoxLocked->setText(
"locked");
654 myCheckBoxLocked->setText(
"unlocked");
665 myModificationModeType(SET_ADD) {
667 myAddRadioButton =
new FXRadioButton(
this,
"add\t\tSelected objects are added to the previous selection",
669 myRemoveRadioButton =
new FXRadioButton(
this,
"remove\t\tSelected objects are removed from the previous selection",
671 myKeepRadioButton =
new FXRadioButton(
this,
"keep\t\tRestrict previous selection by the current selection",
673 myReplaceRadioButton =
new FXRadioButton(
this,
"replace\t\tReplace previous selection by the current selection",
684 return myModificationModeType;
690 if (obj == myAddRadioButton) {
691 myModificationModeType = SET_ADD;
692 myAddRadioButton->setCheck(
true);
693 myRemoveRadioButton->setCheck(
false);
694 myKeepRadioButton->setCheck(
false);
695 myReplaceRadioButton->setCheck(
false);
697 }
else if (obj == myRemoveRadioButton) {
698 myModificationModeType = SET_SUB;
699 myAddRadioButton->setCheck(
false);
700 myRemoveRadioButton->setCheck(
true);
701 myKeepRadioButton->setCheck(
false);
702 myReplaceRadioButton->setCheck(
false);
704 }
else if (obj == myKeepRadioButton) {
705 myModificationModeType = SET_RESTRICT;
706 myAddRadioButton->setCheck(
false);
707 myRemoveRadioButton->setCheck(
false);
708 myKeepRadioButton->setCheck(
true);
709 myReplaceRadioButton->setCheck(
false);
711 }
else if (obj == myReplaceRadioButton) {
712 myModificationModeType = SET_REPLACE;
713 myAddRadioButton->setCheck(
false);
714 myRemoveRadioButton->setCheck(
false);
715 myKeepRadioButton->setCheck(
false);
716 myReplaceRadioButton->setCheck(
true);
729 mySelectorFrameParent(selectorFrameParent),
730 myCurrentElementSet(ELEMENTSET_NETELEMENT) {
741 return myCurrentElementSet;
748 mySetComboBox->clearItems();
751 mySetComboBox->appendItem(
"Net Element");
752 mySetComboBox->appendItem(
"Additional");
753 mySetComboBox->appendItem(
"Shape");
755 mySetComboBox->appendItem(
"Demand Element");
757 mySetComboBox->setNumVisible(mySetComboBox->getNumItems());
759 onCmdSelectElementSet(0, 0, 0);
767 if (mySetComboBox->getText() ==
"Net Element") {
768 myCurrentElementSet = ELEMENTSET_NETELEMENT;
769 mySetComboBox->setTextColor(FXRGB(0, 0, 0));
771 mySelectorFrameParent->myMatchAttribute->enableMatchAttribute();
772 }
else if (mySetComboBox->getText() ==
"Additional") {
773 myCurrentElementSet = ELEMENTSET_ADDITIONAL;
774 mySetComboBox->setTextColor(FXRGB(0, 0, 0));
776 mySelectorFrameParent->myMatchAttribute->enableMatchAttribute();
777 }
else if (mySetComboBox->getText() ==
"Shape") {
778 myCurrentElementSet = ELEMENTSET_SHAPE;
779 mySetComboBox->setTextColor(FXRGB(0, 0, 0));
781 mySelectorFrameParent->myMatchAttribute->enableMatchAttribute();
783 myCurrentElementSet = ELEMENTSET_INVALID;
784 mySetComboBox->setTextColor(FXRGB(255, 0, 0));
786 mySelectorFrameParent->myMatchAttribute->disableMatchAttribute();
789 if (mySetComboBox->getText() ==
"Demand Element") {
790 myCurrentElementSet = ELEMENTSET_DEMANDELEMENT;
791 mySetComboBox->setTextColor(FXRGB(0, 0, 0));
793 mySelectorFrameParent->myMatchAttribute->enableMatchAttribute();
795 myCurrentElementSet = ELEMENTSET_INVALID;
796 mySetComboBox->setTextColor(FXRGB(255, 0, 0));
798 mySelectorFrameParent->myMatchAttribute->disableMatchAttribute();
810 mySelectorFrameParent(selectorFrameParent),
837 myMatchTagComboBox->enable();
838 myMatchAttrComboBox->enable();
839 myMatchString->enable();
841 myMatchTagComboBox->clearItems();
843 std::vector<SumoXMLTag> listOfTags;
856 for (
auto i : listOfTags) {
857 myMatchTagComboBox->appendItem(
toString(i).c_str());
860 myMatchTagComboBox->setCurrentItem(0);
861 myMatchTagComboBox->setNumVisible(myMatchTagComboBox->getNumItems());
863 onCmdSelMBTag(
nullptr, 0,
nullptr);
870 myMatchTagComboBox->disable();
871 myMatchAttrComboBox->disable();
872 myMatchString->disable();
874 myMatchTagComboBox->setTextColor(FXRGB(0, 0, 0));
875 myMatchAttrComboBox->setTextColor(FXRGB(0, 0, 0));
876 myMatchString->setTextColor(FXRGB(0, 0, 0));
885 std::vector<SumoXMLTag> listOfTags;
898 for (
auto i : listOfTags) {
899 if (
toString(i) == myMatchTagComboBox->getText().text()) {
908 myMatchTagComboBox->setTextColor(FXRGB(0, 0, 0));
909 myMatchAttrComboBox->enable();
910 myMatchString->enable();
911 myMatchAttrComboBox->clearItems();
913 for (
auto it : tagValue) {
914 myMatchAttrComboBox->appendItem(it.getAttrStr().c_str());
919 if (tagValue.canBlockMovement()) {
923 if (tagValue.canBlockShape()) {
927 if (tagValue.canCloseShape()) {
931 if (tagValue.hasParent()) {
935 myMatchAttrComboBox->setNumVisible(myMatchAttrComboBox->getNumItems());
937 if (tagValue.hasAttribute(myCurrentAttribute)) {
938 myMatchAttrComboBox->setText(
toString(myCurrentAttribute).c_str());
940 onCmdSelMBAttribute(
nullptr, 0,
nullptr);
944 myMatchTagComboBox->setTextColor(FXRGB(255, 0, 0));
945 myMatchAttrComboBox->disable();
946 myMatchString->disable();
962 GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_STRING,
964 tagPropertiesCopy.addAttribute(extraAttrProperty);
966 if (tagValue.canBlockMovement()) {
969 GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_BOOL | GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_DEFAULTVALUESTATIC,
972 tagPropertiesCopy.addAttribute(extraAttrProperty);
975 if (tagValue.canBlockShape()) {
978 GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_BOOL | GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_DEFAULTVALUESTATIC,
981 tagPropertiesCopy.addAttribute(extraAttrProperty);
984 if (tagValue.canCloseShape()) {
987 GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_BOOL | GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_DEFAULTVALUESTATIC,
990 tagPropertiesCopy.addAttribute(extraAttrProperty);
993 if (tagValue.hasParent()) {
996 GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_STRING,
998 tagPropertiesCopy.addAttribute(extraAttrProperty);
1002 for (
const auto& i : tagPropertiesCopy) {
1003 if (i.getAttrStr() == myMatchAttrComboBox->getText().text()) {
1004 myCurrentAttribute = i.getAttr();
1009 myMatchAttrComboBox->setTextColor(FXRGB(0, 0, 0));
1010 myMatchString->enable();
1012 myMatchAttrComboBox->setTextColor(FXRGB(255, 0, 0));
1013 myMatchString->disable();
1022 std::string expr(myMatchString->getText().text());
1027 mySelectorFrameParent->handleIDs(mySelectorFrameParent->getMatches(myCurrentTag, myCurrentAttribute,
'@', 0, expr));
1028 }
else if (tagValue.hasAttribute(myCurrentAttribute) && tagValue.getAttributeProperties(myCurrentAttribute).isNumerical()) {
1034 char compOp = expr[0];
1035 if (compOp ==
'<' || compOp ==
'>' || compOp ==
'=') {
1036 expr = expr.substr(1);
1041 if (GNEAttributeCarrier::canParse<double>(expr.c_str())) {
1042 mySelectorFrameParent->handleIDs(mySelectorFrameParent->getMatches(myCurrentTag, myCurrentAttribute, compOp, GNEAttributeCarrier::parse<double>(expr.c_str()), expr));
1053 char compOp = expr[0];
1054 if (compOp ==
'=' || compOp ==
'!' || compOp ==
'^') {
1055 expr = expr.substr(1);
1059 mySelectorFrameParent->handleIDs(mySelectorFrameParent->getMatches(myCurrentTag, myCurrentAttribute, compOp, 0, expr));
1062 myMatchString->setTextColor(FXRGB(0, 0, 0));
1063 myMatchString->killFocus();
1065 myMatchString->setTextColor(FXRGB(255, 0, 0));
1074 FXDialogBox* additionalNeteditAttributesHelpDialog =
new FXDialogBox(
this,
"Netedit Parameters Help",
GUIDesignDialogBox);
1077 std::ostringstream help;
1079 <<
"- The 'Match Attribute' controls allow to specify a set of objects which are then applied to the current selection\n"
1080 <<
" according to the current 'Modification Mode'.\n"
1081 <<
" 1. Select an object type from the first input box\n"
1082 <<
" 2. Select an attribute from the second input box\n"
1083 <<
" 3. Enter a 'match expression' in the third input box and press <return>\n"
1085 <<
"- The empty expression matches all objects\n"
1086 <<
"- For numerical attributes the match expression must consist of a comparison operator ('<', '>', '=') and a number.\n"
1087 <<
"- An object matches if the comparison between its attribute and the given number by the given operator evaluates to 'true'\n"
1089 <<
"- For string attributes the match expression must consist of a comparison operator ('', '=', '!', '^') and a string.\n"
1090 <<
" '' (no operator) matches if string is a substring of that object'ts attribute.\n"
1091 <<
" '=' matches if string is an exact match.\n"
1092 <<
" '!' matches if string is not a substring.\n"
1093 <<
" '^' matches if string is not an exact match.\n"
1096 <<
" junction; id; 'foo' -> match all junctions that have 'foo' in their id\n"
1097 <<
" junction; type; '=priority' -> match all junctions of type 'priority', but not of type 'priority_stop'\n"
1098 <<
" edge; speed; '>10' -> match all edges with a speed above 10\n";
1110 WRITE_DEBUG(
"Opening help dialog of selector frame");
1112 additionalNeteditAttributesHelpDialog->create();
1114 additionalNeteditAttributesHelpDialog->show(PLACEMENT_CURSOR);
1116 getApp()->refresh();
1118 getApp()->runModalFor(additionalNeteditAttributesHelpDialog);
1120 WRITE_DEBUG(
"Close help dialog of selector frame");
1130 mySelectorFrameParent(selectorFrameParent) {
1148 mySelectorFrameParent->myViewNet->setSelectionScaling(mySelectionScaling->getValue());
1149 mySelectorFrameParent->myViewNet->update();
1159 mySelectorFrameParent(selectorFrameParent) {
1177 FXFileDialog opendialog(
this,
"Open List of Selected Items");
1179 opendialog.setSelectMode(SELECTFILE_EXISTING);
1180 opendialog.setPatternList(
"Selection files (*.txt)\nAll files (*)");
1184 if (opendialog.execute()) {
1185 std::vector<GNEAttributeCarrier*> loadedACs;
1187 std::string file = opendialog.getFilename().text();
1188 std::ostringstream msg;
1189 std::ifstream strm(file.c_str());
1195 while (strm.good()) {
1199 if (line.length() != 0) {
1203 if ((
object !=
nullptr) && !mySelectorFrameParent->myLockGLObjectTypes->IsObjectTypeLocked(object->
getType())) {
1211 loadedACs.push_back(AC);
1217 if (loadedACs.size() > 0) {
1218 mySelectorFrameParent->myViewNet->getUndoList()->p_begin(
"load selection");
1219 mySelectorFrameParent->handleIDs(loadedACs);
1220 mySelectorFrameParent->myViewNet->getUndoList()->p_end();
1223 mySelectorFrameParent->myViewNet->update();
1237 for (
auto i : mySelectorFrameParent->myViewNet->getNet()->getSelectedAttributeCarriers(
false)) {
1238 GUIGlObject*
object = dynamic_cast<GUIGlObject*>(i);
1246 WRITE_DEBUG(
"Opening FXMessageBox 'error storing selection'");
1248 FXMessageBox::error(
this, MBOX_OK,
"Storing Selection failed",
"%s", e.what());
1250 WRITE_DEBUG(
"Closed FXMessageBox 'error storing selection' with 'OK'");
1259 mySelectorFrameParent->clearCurrentSelection();
1267 if (mySelectorFrameParent->ACsToSelected()) {
1271 mySelectorFrameParent->myViewNet->getUndoList()->p_begin(
"invert selection");
1275 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().junctions) {
1278 if (i.second->isAttributeCarrierSelected()) {
1279 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1281 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1285 for (
const auto& j : i.second->getGNEIncomingEdges()) {
1287 if (mySelectorFrameParent->myViewNet->getNetworkViewOptions().selectEdges()) {
1290 if (j->isAttributeCarrierSelected()) {
1291 j->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1293 j->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1299 for (
auto k : j->getLanes()) {
1300 if (k->isAttributeCarrierSelected()) {
1301 k->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1303 k->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1310 for (
const auto& k : j->getGNEConnections()) {
1311 if (k->isAttributeCarrierSelected()) {
1312 k->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1314 k->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1321 for (
const auto& j : i.second->getGNECrossings()) {
1322 if (j->isAttributeCarrierSelected()) {
1323 j->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1325 j->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1332 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().additionals) {
1335 for (
const auto& j : i.second) {
1336 if (j.second->isAttributeCarrierSelected()) {
1337 j.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1339 j.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1347 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getPolygons()) {
1348 GNEShape* shape = dynamic_cast<GNEShape*>(i.second);
1358 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getPOIs()) {
1359 GNEShape* shape = dynamic_cast<GNEShape*>(i.second);
1370 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_ROUTE)) {
1371 if (i.second->isAttributeCarrierSelected()) {
1372 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1374 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1380 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_EMBEDDEDROUTE)) {
1381 if (i.second->isAttributeCarrierSelected()) {
1382 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1384 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1390 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_VEHICLE)) {
1391 if (i.second->isAttributeCarrierSelected()) {
1392 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1394 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1400 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_TRIP)) {
1401 if (i.second->isAttributeCarrierSelected()) {
1402 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1404 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1410 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_FLOW)) {
1411 if (i.second->isAttributeCarrierSelected()) {
1412 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1414 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1420 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_ROUTEFLOW)) {
1421 if (i.second->isAttributeCarrierSelected()) {
1422 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1424 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1430 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_STOP_LANE)) {
1431 if (i.second->isAttributeCarrierSelected()) {
1432 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1434 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1437 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_STOP_BUSSTOP)) {
1438 if (i.second->isAttributeCarrierSelected()) {
1439 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1441 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1444 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_STOP_CONTAINERSTOP)) {
1445 if (i.second->isAttributeCarrierSelected()) {
1446 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1448 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1452 if (i.second->isAttributeCarrierSelected()) {
1453 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1455 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1458 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_STOP_PARKINGAREA)) {
1459 if (i.second->isAttributeCarrierSelected()) {
1460 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1462 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1468 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSON)) {
1469 if (i.second->isAttributeCarrierSelected()) {
1470 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1472 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1478 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSONFLOW)) {
1479 if (i.second->isAttributeCarrierSelected()) {
1480 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1482 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1488 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSONTRIP_FROMTO)) {
1489 if (i.second->isAttributeCarrierSelected()) {
1490 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1492 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1495 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSONTRIP_BUSSTOP)) {
1496 if (i.second->isAttributeCarrierSelected()) {
1497 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1499 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1505 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_RIDE_FROMTO)) {
1506 if (i.second->isAttributeCarrierSelected()) {
1507 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1509 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1512 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_RIDE_BUSSTOP)) {
1513 if (i.second->isAttributeCarrierSelected()) {
1514 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1516 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1522 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_WALK_FROMTO)) {
1523 if (i.second->isAttributeCarrierSelected()) {
1524 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1526 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1529 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_WALK_BUSSTOP)) {
1530 if (i.second->isAttributeCarrierSelected()) {
1531 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1533 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1536 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_WALK_ROUTE)) {
1537 if (i.second->isAttributeCarrierSelected()) {
1538 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1540 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1546 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSONSTOP_LANE)) {
1547 if (i.second->isAttributeCarrierSelected()) {
1548 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1550 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1554 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSONSTOP_BUSSTOP)) {
1555 if (i.second->isAttributeCarrierSelected()) {
1556 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1558 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1564 mySelectorFrameParent->myViewNet->getUndoList()->p_end();
1566 mySelectorFrameParent->myViewNet->update();