80 myBeginEndValid(true),
81 myClosingLaneReroutesValid(true),
82 myClosingReroutesValid(true),
83 myDestProbReroutesValid(true),
84 myParkingAreaReroutesValid(true),
85 myRouteProbReroutesValid(true) {
87 for (
auto i : myEditedAdditional->getAdditionalChildren()) {
89 myClosingReroutesEdited.push_back(i);
93 for (
auto i : myEditedAdditional->getAdditionalChildren()) {
95 myClosingLaneReroutesEdited.push_back(i);
99 for (
auto i : myEditedAdditional->getAdditionalChildren()) {
101 myDestProbReroutesEdited.push_back(i);
105 for (
auto i : myEditedAdditional->getAdditionalChildren()) {
107 myRouteProbReroutesEdited.push_back(i);
111 for (
auto i : myEditedAdditional->getAdditionalChildren()) {
113 myParkingAreaRerouteEdited.push_back(i);
117 std::string typeOfOperation = myUpdatingElement ?
"Edit " + myEditedAdditional->getTagStr() +
" of " :
"Create " + myEditedAdditional->getTagStr() +
" for ";
118 changeAdditionalDialogHeader(typeOfOperation + myEditedAdditional->getAdditionalParents().at(0)->getTagStr() +
" '" + myEditedAdditional->getAdditionalParents().at(0)->getID() +
"'");
143 myClosingLaneRerouteTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
144 myClosingLaneRerouteTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
150 myClosingRerouteTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
151 myClosingRerouteTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
157 myDestProbRerouteTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
158 myDestProbRerouteTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
164 myRouteProbRerouteTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
165 myRouteProbRerouteTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
171 myParkingAreaRerouteTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
172 myParkingAreaRerouteTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
175 if (rerouterInterval->getViewNet()->getNet()->getAttributeCarriers().additionals.at(
SUMO_TAG_PARKING_AREA).size() == 0) {
176 parkingAreaRerouteButton->disable();
181 if (rerouterInterval->getAdditionalParents().at(0)->getEdgeChildren().size() > 1) {
182 myAddRouteProbReroute->disable();
183 routeProbRerouteLabel->setText(
"Rerouter has more than one edge");
187 updateClosingLaneReroutesTable();
188 updateClosingReroutesTable();
189 updateDestProbReroutesTable();
190 updateRouteProbReroutesTable();
191 updateParkingAreaReroutesTable();
197 if (myUpdatingElement ==
false) {
198 myEditedAdditional->getViewNet()->getUndoList()->add(
new GNEChange_Additional(myEditedAdditional,
true),
true);
216 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
220 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
228 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
230 FXMessageBox::warning(getApp(), MBOX_OK, errorTitle.c_str(),
"%s", (operationType +
"at least one " +
myEditedAdditional->
getTagStr() +
"'s element must be defined.").c_str());
232 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
236 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
240 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
244 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
246 FXMessageBox::warning(getApp(), MBOX_OK, errorTitle.c_str(),
"%s", (operationType +
"there are invalid " +
toString(
SUMO_TAG_CLOSING_REROUTE) +
"s.").c_str());
248 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
252 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
256 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
260 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
264 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
268 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
272 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
278 getApp()->stopModal(
this, TRUE);
289 getApp()->stopModal(
this, FALSE);
475 if (changeDisallow) {
515 if (changeDisallow) {
651 FXTableItem* item =
nullptr;
664 item =
new FXTableItem(
"");
666 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
667 item->setEnabled(
false);
671 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
672 item->setEnabled(
false);
698 FXTableItem* item =
nullptr;
711 item =
new FXTableItem(
"");
713 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
714 item->setEnabled(
false);
718 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
719 item->setEnabled(
false);
743 FXTableItem* item =
nullptr;
753 item =
new FXTableItem(
"");
755 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
756 item->setEnabled(
false);
760 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
761 item->setEnabled(
false);
785 FXTableItem* item =
nullptr;
795 item =
new FXTableItem(
"");
797 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
798 item->setEnabled(
false);
802 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
803 item->setEnabled(
false);
829 FXTableItem* item =
nullptr;
842 item =
new FXTableItem(
"");
844 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
845 item->setEnabled(
false);
849 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
850 item->setEnabled(
false);