88 GNEFrame(horizontalFrameParent, viewNet, "Selection") {
102 FXGroupBox* selectionHintGroupBox =
new FXGroupBox(myContentFrame,
"Information",
GUIDesignGroupBoxFrame);
104 new FXLabel(selectionHintGroupBox,
" - Hold <SHIFT> for \n rectangle selection.\n - Press <DEL> to\n delete selected items.",
nullptr,
GUIDesignLabelFrameInformation);
142 if (i.second->isAttributeCarrierSelected()) {
147 for (
const auto& j : i.second->getGNEIncomingEdges()) {
150 if (j->isAttributeCarrierSelected()) {
156 for (
auto k : j->getLanes()) {
157 if (k->isAttributeCarrierSelected()) {
164 for (
const auto& k : j->getGNEConnections()) {
165 if (k->isAttributeCarrierSelected()) {
173 for (
const auto& j : i.second->getGNECrossings()) {
174 if (j->isAttributeCarrierSelected()) {
185 for (
const auto& j : i.second) {
186 if (j.second->isAttributeCarrierSelected()) {
196 GNEShape* shape = dynamic_cast<GNEShape*>(i.second);
205 GNEShape* shape = dynamic_cast<GNEShape*>(i.second);
215 if (i.second->isAttributeCarrierSelected()) {
223 if (i.second->isAttributeCarrierSelected()) {
231 if (i.second->isAttributeCarrierSelected()) {
239 if (i.second->isAttributeCarrierSelected()) {
247 if (i.second->isAttributeCarrierSelected()) {
255 if (i.second->isAttributeCarrierSelected()) {
263 if (i.second->isAttributeCarrierSelected()) {
268 if (i.second->isAttributeCarrierSelected()) {
273 if (i.second->isAttributeCarrierSelected()) {
278 if (i.second->isAttributeCarrierSelected()) {
283 if (i.second->isAttributeCarrierSelected()) {
291 if (i.second->isAttributeCarrierSelected()) {
299 if (i.second->isAttributeCarrierSelected()) {
307 if (i.second->isAttributeCarrierSelected()) {
312 if (i.second->isAttributeCarrierSelected()) {
320 if (i.second->isAttributeCarrierSelected()) {
325 if (i.second->isAttributeCarrierSelected()) {
333 if (i.second->isAttributeCarrierSelected()) {
338 if (i.second->isAttributeCarrierSelected()) {
343 if (i.second->isAttributeCarrierSelected()) {
351 if (i.second->isAttributeCarrierSelected()) {
356 if (i.second->isAttributeCarrierSelected()) {
374 std::set<std::pair<std::string, GNEAttributeCarrier*> > ACToSelect;
375 std::set<std::pair<std::string, GNEAttributeCarrier*> > ACToUnselect;
381 for (
auto i : selectedAC) {
382 ACToUnselect.insert(std::pair<std::string, GNEAttributeCarrier*>(i->getID(), i));
388 switch (setOperation) {
390 ACToUnselect.insert(std::pair<std::string, GNEAttributeCarrier*>(i->getID(), i));
393 if (ACToUnselect.find(std::pair<std::string, GNEAttributeCarrier*>(i->getID(), i)) != ACToUnselect.end()) {
394 ACToSelect.insert(std::pair<std::string, GNEAttributeCarrier*>(i->getID(), i));
398 ACToSelect.insert(std::pair<std::string, GNEAttributeCarrier*>(i->getID(), i));
404 std::vector<GNEEdge*> edgesToSelect;
406 for (
auto i : ACToSelect) {
408 edgesToSelect.push_back(dynamic_cast<GNEEdge*>(i.second));
412 for (
auto i : edgesToSelect) {
414 ACToSelect.insert(std::make_pair(i->getGNEJunctionSource()->getID(), i->getGNEJunctionSource()));
415 for (
auto j : i->getGNEJunctionSource()->getGNEConnections()) {
416 ACToSelect.insert(std::make_pair(j->getID(), j));
418 for (
auto j : i->getGNEJunctionSource()->getGNECrossings()) {
419 ACToSelect.insert(std::make_pair(j->getID(), j));
422 ACToSelect.insert(std::make_pair(i->getGNEJunctionDestiny()->getID(), i->getGNEJunctionDestiny()));
423 for (
auto j : i->getGNEJunctionDestiny()->getGNEConnections()) {
424 ACToSelect.insert(std::make_pair(j->getID(), j));
426 for (
auto j : i->getGNEJunctionDestiny()->getGNECrossings()) {
427 ACToSelect.insert(std::make_pair(j->getID(), j));
432 if ((ACToSelect.size() + ACToUnselect.size()) > 0) {
435 for (
auto i : ACToUnselect) {
436 if (i.second->getTagProperty().isSelectable()) {
440 for (
auto i : ACToSelect) {
441 if (i.second->getTagProperty().isSelectable()) {
465 std::vector<GNEAttributeCarrier*>
467 std::vector<GNEAttributeCarrier*> result;
470 for (
auto it : allACbyTag) {
472 result.push_back(it);
473 }
else if (tagValue.hasAttribute(ACAttr) && tagValue.getAttributeProperties(ACAttr).isNumerical()) {
475 std::istringstream buf(it->getAttribute(ACAttr));
480 result.push_back(it);
485 result.push_back(it);
490 result.push_back(it);
496 std::string acVal = it->getAttributeForSelection(ACAttr);
499 if (acVal.find(expr) != std::string::npos) {
500 result.push_back(it);
504 if (acVal.find(expr) == std::string::npos) {
505 result.push_back(it);
510 result.push_back(it);
515 result.push_back(it);
530 mySelectorFrameParent(selectorFrameParent) {
561 for (
const auto& i : myTypeEntries) {
562 delete i.second.second;
569 myTypeEntries.at(type).second->counterUp();
575 myTypeEntries.at(type).second->counterDown();
581 if ((type >= 100) && (type < 199)) {
584 return myTypeEntries.at(type).second->isGLTypeLocked();
591 for (
const auto& i : myTypeEntries) {
593 if (i.second.first == mySelectorFrameParent->myViewNet->getEditModes().currentSupermode) {
594 i.second.second->showObjectTypeEntry();
596 i.second.second->hideObjectTypeEntry();
616 myLabelCounter->show();
617 myLabelTypeName->show();
618 myCheckBoxLocked->show();
624 myLabelCounter->hide();
625 myLabelTypeName->hide();
626 myCheckBoxLocked->hide();
633 myLabelCounter->setText(
toString(myCounter).c_str());
640 myLabelCounter->setText(
toString(myCounter).c_str());
646 return (myCheckBoxLocked->getCheck() == TRUE);
652 if (myCheckBoxLocked->getCheck() == TRUE) {
653 myCheckBoxLocked->setText(
"locked");
655 myCheckBoxLocked->setText(
"unlocked");
666 myModificationModeType(SET_ADD) {
668 myAddRadioButton =
new FXRadioButton(
this,
"add\t\tSelected objects are added to the previous selection",
670 myRemoveRadioButton =
new FXRadioButton(
this,
"remove\t\tSelected objects are removed from the previous selection",
672 myKeepRadioButton =
new FXRadioButton(
this,
"keep\t\tRestrict previous selection by the current selection",
674 myReplaceRadioButton =
new FXRadioButton(
this,
"replace\t\tReplace previous selection by the current selection",
685 return myModificationModeType;
691 if (obj == myAddRadioButton) {
692 myModificationModeType = SET_ADD;
693 myAddRadioButton->setCheck(
true);
694 myRemoveRadioButton->setCheck(
false);
695 myKeepRadioButton->setCheck(
false);
696 myReplaceRadioButton->setCheck(
false);
698 }
else if (obj == myRemoveRadioButton) {
699 myModificationModeType = SET_SUB;
700 myAddRadioButton->setCheck(
false);
701 myRemoveRadioButton->setCheck(
true);
702 myKeepRadioButton->setCheck(
false);
703 myReplaceRadioButton->setCheck(
false);
705 }
else if (obj == myKeepRadioButton) {
706 myModificationModeType = SET_RESTRICT;
707 myAddRadioButton->setCheck(
false);
708 myRemoveRadioButton->setCheck(
false);
709 myKeepRadioButton->setCheck(
true);
710 myReplaceRadioButton->setCheck(
false);
712 }
else if (obj == myReplaceRadioButton) {
713 myModificationModeType = SET_REPLACE;
714 myAddRadioButton->setCheck(
false);
715 myRemoveRadioButton->setCheck(
false);
716 myKeepRadioButton->setCheck(
false);
717 myReplaceRadioButton->setCheck(
true);
730 mySelectorFrameParent(selectorFrameParent),
731 myCurrentElementSet(ELEMENTSET_NETELEMENT) {
742 return myCurrentElementSet;
749 mySetComboBox->clearItems();
752 mySetComboBox->appendItem(
"Net Element");
753 mySetComboBox->appendItem(
"Additional");
754 mySetComboBox->appendItem(
"Shape");
756 mySetComboBox->appendItem(
"Demand Element");
758 mySetComboBox->setNumVisible(mySetComboBox->getNumItems());
760 onCmdSelectElementSet(0, 0, 0);
768 if (mySetComboBox->getText() ==
"Net Element") {
769 myCurrentElementSet = ELEMENTSET_NETELEMENT;
770 mySetComboBox->setTextColor(FXRGB(0, 0, 0));
772 mySelectorFrameParent->myMatchAttribute->enableMatchAttribute();
773 }
else if (mySetComboBox->getText() ==
"Additional") {
774 myCurrentElementSet = ELEMENTSET_ADDITIONAL;
775 mySetComboBox->setTextColor(FXRGB(0, 0, 0));
777 mySelectorFrameParent->myMatchAttribute->enableMatchAttribute();
778 }
else if (mySetComboBox->getText() ==
"Shape") {
779 myCurrentElementSet = ELEMENTSET_SHAPE;
780 mySetComboBox->setTextColor(FXRGB(0, 0, 0));
782 mySelectorFrameParent->myMatchAttribute->enableMatchAttribute();
784 myCurrentElementSet = ELEMENTSET_INVALID;
785 mySetComboBox->setTextColor(FXRGB(255, 0, 0));
787 mySelectorFrameParent->myMatchAttribute->disableMatchAttribute();
790 if (mySetComboBox->getText() ==
"Demand Element") {
791 myCurrentElementSet = ELEMENTSET_DEMANDELEMENT;
792 mySetComboBox->setTextColor(FXRGB(0, 0, 0));
794 mySelectorFrameParent->myMatchAttribute->enableMatchAttribute();
796 myCurrentElementSet = ELEMENTSET_INVALID;
797 mySetComboBox->setTextColor(FXRGB(255, 0, 0));
799 mySelectorFrameParent->myMatchAttribute->disableMatchAttribute();
811 mySelectorFrameParent(selectorFrameParent),
838 myMatchTagComboBox->enable();
839 myMatchAttrComboBox->enable();
840 myMatchString->enable();
842 myMatchTagComboBox->clearItems();
844 std::vector<SumoXMLTag> listOfTags;
857 for (
auto i : listOfTags) {
858 myMatchTagComboBox->appendItem(
toString(i).c_str());
861 myMatchTagComboBox->setCurrentItem(0);
862 myMatchTagComboBox->setNumVisible(myMatchTagComboBox->getNumItems());
864 onCmdSelMBTag(
nullptr, 0,
nullptr);
871 myMatchTagComboBox->disable();
872 myMatchAttrComboBox->disable();
873 myMatchString->disable();
875 myMatchTagComboBox->setTextColor(FXRGB(0, 0, 0));
876 myMatchAttrComboBox->setTextColor(FXRGB(0, 0, 0));
877 myMatchString->setTextColor(FXRGB(0, 0, 0));
886 std::vector<SumoXMLTag> listOfTags;
899 for (
auto i : listOfTags) {
900 if (
toString(i) == myMatchTagComboBox->getText().text()) {
909 myMatchTagComboBox->setTextColor(FXRGB(0, 0, 0));
910 myMatchAttrComboBox->enable();
911 myMatchString->enable();
912 myMatchAttrComboBox->clearItems();
914 for (
auto it : tagValue) {
915 myMatchAttrComboBox->appendItem(it.getAttrStr().c_str());
920 if (tagValue.canBlockMovement()) {
924 if (tagValue.canBlockShape()) {
928 if (tagValue.canCloseShape()) {
932 if (tagValue.hasParent()) {
936 myMatchAttrComboBox->setNumVisible(myMatchAttrComboBox->getNumItems());
937 onCmdSelMBAttribute(
nullptr, 0,
nullptr);
940 myMatchTagComboBox->setTextColor(FXRGB(255, 0, 0));
941 myMatchAttrComboBox->disable();
942 myMatchString->disable();
958 GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_STRING,
959 "Generic Parameters");
960 tagPropertiesCopy.addAttribute(extraAttrProperty);
962 if (tagValue.canBlockMovement()) {
965 GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_BOOL | GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_DEFAULTVALUESTATIC,
968 tagPropertiesCopy.addAttribute(extraAttrProperty);
971 if (tagValue.canBlockShape()) {
974 GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_BOOL | GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_DEFAULTVALUESTATIC,
977 tagPropertiesCopy.addAttribute(extraAttrProperty);
980 if (tagValue.canCloseShape()) {
983 GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_BOOL | GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_DEFAULTVALUESTATIC,
986 tagPropertiesCopy.addAttribute(extraAttrProperty);
989 if (tagValue.hasParent()) {
992 GNEAttributeCarrier::AttrProperty::ATTRPROPERTY_STRING,
994 tagPropertiesCopy.addAttribute(extraAttrProperty);
998 for (
const auto& i : tagPropertiesCopy) {
999 if (i.getAttrStr() == myMatchAttrComboBox->getText().text()) {
1000 myCurrentAttribute = i.getAttr();
1005 myMatchAttrComboBox->setTextColor(FXRGB(0, 0, 0));
1006 myMatchString->enable();
1008 myMatchAttrComboBox->setTextColor(FXRGB(255, 0, 0));
1009 myMatchString->disable();
1018 std::string expr(myMatchString->getText().text());
1023 mySelectorFrameParent->handleIDs(mySelectorFrameParent->getMatches(myCurrentTag, myCurrentAttribute,
'@', 0, expr));
1024 }
else if (tagValue.hasAttribute(myCurrentAttribute) && tagValue.getAttributeProperties(myCurrentAttribute).isNumerical()) {
1030 char compOp = expr[0];
1031 if (compOp ==
'<' || compOp ==
'>' || compOp ==
'=') {
1032 expr = expr.substr(1);
1037 if (GNEAttributeCarrier::canParse<double>(expr.c_str())) {
1038 mySelectorFrameParent->handleIDs(mySelectorFrameParent->getMatches(myCurrentTag, myCurrentAttribute, compOp, GNEAttributeCarrier::parse<double>(expr.c_str()), expr));
1049 char compOp = expr[0];
1050 if (compOp ==
'=' || compOp ==
'!' || compOp ==
'^') {
1051 expr = expr.substr(1);
1055 mySelectorFrameParent->handleIDs(mySelectorFrameParent->getMatches(myCurrentTag, myCurrentAttribute, compOp, 0, expr));
1058 myMatchString->setTextColor(FXRGB(0, 0, 0));
1059 myMatchString->killFocus();
1061 myMatchString->setTextColor(FXRGB(255, 0, 0));
1070 FXDialogBox* additionalNeteditAttributesHelpDialog =
new FXDialogBox(
this,
"Netedit Parameters Help",
GUIDesignDialogBox);
1073 std::ostringstream help;
1075 <<
"- The 'Match Attribute' controls allow to specify a set of objects which are then applied to the current selection\n"
1076 <<
" according to the current 'Modification Mode'.\n"
1077 <<
" 1. Select an object type from the first input box\n"
1078 <<
" 2. Select an attribute from the second input box\n"
1079 <<
" 3. Enter a 'match expression' in the third input box and press <return>\n"
1081 <<
"- The empty expression matches all objects\n"
1082 <<
"- For numerical attributes the match expression must consist of a comparison operator ('<', '>', '=') and a number.\n"
1083 <<
"- An object matches if the comparison between its attribute and the given number by the given operator evaluates to 'true'\n"
1085 <<
"- For string attributes the match expression must consist of a comparison operator ('', '=', '!', '^') and a string.\n"
1086 <<
" '' (no operator) matches if string is a substring of that object'ts attribute.\n"
1087 <<
" '=' matches if string is an exact match.\n"
1088 <<
" '!' matches if string is not a substring.\n"
1089 <<
" '^' matches if string is not an exact match.\n"
1092 <<
" junction; id; 'foo' -> match all junctions that have 'foo' in their id\n"
1093 <<
" junction; type; '=priority' -> match all junctions of type 'priority', but not of type 'priority_stop'\n"
1094 <<
" edge; speed; '>10' -> match all edges with a speed above 10\n";
1106 WRITE_DEBUG(
"Opening help dialog of selector frame");
1108 additionalNeteditAttributesHelpDialog->create();
1110 additionalNeteditAttributesHelpDialog->show(PLACEMENT_CURSOR);
1112 getApp()->refresh();
1114 getApp()->runModalFor(additionalNeteditAttributesHelpDialog);
1116 WRITE_DEBUG(
"Close help dialog of selector frame");
1126 mySelectorFrameParent(selectorFrameParent) {
1144 mySelectorFrameParent->myViewNet->setSelectionScaling(mySelectionScaling->getValue());
1145 mySelectorFrameParent->myViewNet->update();
1155 mySelectorFrameParent(selectorFrameParent) {
1173 FXFileDialog opendialog(
this,
"Open List of Selected Items");
1175 opendialog.setSelectMode(SELECTFILE_EXISTING);
1176 opendialog.setPatternList(
"Selection files (*.txt)\nAll files (*)");
1180 if (opendialog.execute()) {
1181 std::vector<GNEAttributeCarrier*> loadedACs;
1183 std::string file = opendialog.getFilename().text();
1184 std::ostringstream msg;
1185 std::ifstream strm(file.c_str());
1191 while (strm.good()) {
1195 if (line.length() != 0) {
1199 if ((
object !=
nullptr) && !mySelectorFrameParent->myLockGLObjectTypes->IsObjectTypeLocked(object->
getType())) {
1207 loadedACs.push_back(AC);
1213 if (loadedACs.size() > 0) {
1214 mySelectorFrameParent->myViewNet->getUndoList()->p_begin(
"load selection");
1215 mySelectorFrameParent->handleIDs(loadedACs);
1216 mySelectorFrameParent->myViewNet->getUndoList()->p_end();
1219 mySelectorFrameParent->myViewNet->update();
1233 for (
auto i : mySelectorFrameParent->myViewNet->getNet()->getSelectedAttributeCarriers(
false)) {
1234 GUIGlObject*
object = dynamic_cast<GUIGlObject*>(i);
1242 WRITE_DEBUG(
"Opening FXMessageBox 'error storing selection'");
1244 FXMessageBox::error(
this, MBOX_OK,
"Storing Selection failed",
"%s", e.what());
1246 WRITE_DEBUG(
"Closed FXMessageBox 'error storing selection' with 'OK'");
1255 mySelectorFrameParent->clearCurrentSelection();
1263 if (mySelectorFrameParent->ACsToSelected()) {
1267 mySelectorFrameParent->myViewNet->getUndoList()->p_begin(
"invert selection");
1271 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().junctions) {
1274 if (i.second->isAttributeCarrierSelected()) {
1275 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1277 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1281 for (
const auto& j : i.second->getGNEIncomingEdges()) {
1283 if (mySelectorFrameParent->myViewNet->getNetworkViewOptions().selectEdges()) {
1286 if (j->isAttributeCarrierSelected()) {
1287 j->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1289 j->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1295 for (
auto k : j->getLanes()) {
1296 if (k->isAttributeCarrierSelected()) {
1297 k->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1299 k->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1306 for (
const auto& k : j->getGNEConnections()) {
1307 if (k->isAttributeCarrierSelected()) {
1308 k->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1310 k->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1317 for (
const auto& j : i.second->getGNECrossings()) {
1318 if (j->isAttributeCarrierSelected()) {
1319 j->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1321 j->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1328 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().additionals) {
1331 for (
const auto& j : i.second) {
1332 if (j.second->isAttributeCarrierSelected()) {
1333 j.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1335 j.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1343 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getPolygons()) {
1344 GNEShape* shape = dynamic_cast<GNEShape*>(i.second);
1354 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getPOIs()) {
1355 GNEShape* shape = dynamic_cast<GNEShape*>(i.second);
1366 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_ROUTE)) {
1367 if (i.second->isAttributeCarrierSelected()) {
1368 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1370 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1376 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_EMBEDDEDROUTE)) {
1377 if (i.second->isAttributeCarrierSelected()) {
1378 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1380 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1386 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_VEHICLE)) {
1387 if (i.second->isAttributeCarrierSelected()) {
1388 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1390 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1396 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_TRIP)) {
1397 if (i.second->isAttributeCarrierSelected()) {
1398 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1400 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1406 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_FLOW)) {
1407 if (i.second->isAttributeCarrierSelected()) {
1408 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1410 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1416 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_ROUTEFLOW)) {
1417 if (i.second->isAttributeCarrierSelected()) {
1418 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1420 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1426 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_STOP_LANE)) {
1427 if (i.second->isAttributeCarrierSelected()) {
1428 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1430 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1433 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_STOP_BUSSTOP)) {
1434 if (i.second->isAttributeCarrierSelected()) {
1435 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1437 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1440 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_STOP_CONTAINERSTOP)) {
1441 if (i.second->isAttributeCarrierSelected()) {
1442 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1444 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1448 if (i.second->isAttributeCarrierSelected()) {
1449 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1451 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1454 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_STOP_PARKINGAREA)) {
1455 if (i.second->isAttributeCarrierSelected()) {
1456 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1458 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1464 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSON)) {
1465 if (i.second->isAttributeCarrierSelected()) {
1466 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1468 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1474 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSONFLOW)) {
1475 if (i.second->isAttributeCarrierSelected()) {
1476 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1478 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1484 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSONTRIP_FROMTO)) {
1485 if (i.second->isAttributeCarrierSelected()) {
1486 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1488 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1491 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSONTRIP_BUSSTOP)) {
1492 if (i.second->isAttributeCarrierSelected()) {
1493 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1495 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1501 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_RIDE_FROMTO)) {
1502 if (i.second->isAttributeCarrierSelected()) {
1503 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1505 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1508 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_RIDE_BUSSTOP)) {
1509 if (i.second->isAttributeCarrierSelected()) {
1510 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1512 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1518 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_WALK_FROMTO)) {
1519 if (i.second->isAttributeCarrierSelected()) {
1520 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1522 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1525 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_WALK_BUSSTOP)) {
1526 if (i.second->isAttributeCarrierSelected()) {
1527 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1529 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1532 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_WALK_ROUTE)) {
1533 if (i.second->isAttributeCarrierSelected()) {
1534 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1536 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1542 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSONSTOP_LANE)) {
1543 if (i.second->isAttributeCarrierSelected()) {
1544 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1546 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1550 for (
const auto& i : mySelectorFrameParent->myViewNet->getNet()->getAttributeCarriers().demandElements.at(
SUMO_TAG_PERSONSTOP_BUSSTOP)) {
1551 if (i.second->isAttributeCarrierSelected()) {
1552 i.second->setAttribute(
GNE_ATTR_SELECTED,
"false", mySelectorFrameParent->myViewNet->getUndoList());
1554 i.second->setAttribute(
GNE_ATTR_SELECTED,
"true", mySelectorFrameParent->myViewNet->getUndoList());
1560 mySelectorFrameParent->myViewNet->getUndoList()->p_end();
1562 mySelectorFrameParent->myViewNet->update();