79 myBeginEndValid(true),
80 myClosingLaneReroutesValid(true),
81 myClosingReroutesValid(true),
82 myDestProbReroutesValid(true),
83 myParkingAreaReroutesValid(true),
84 myRouteProbReroutesValid(true) {
86 for (
auto i : myEditedAdditional->getChildAdditionals()) {
88 myClosingReroutesEdited.push_back(i);
92 for (
auto i : myEditedAdditional->getChildAdditionals()) {
94 myClosingLaneReroutesEdited.push_back(i);
98 for (
auto i : myEditedAdditional->getChildAdditionals()) {
100 myDestProbReroutesEdited.push_back(i);
104 for (
auto i : myEditedAdditional->getChildAdditionals()) {
106 myRouteProbReroutesEdited.push_back(i);
110 for (
auto i : myEditedAdditional->getChildAdditionals()) {
112 myParkingAreaRerouteEdited.push_back(i);
116 std::string typeOfOperation = myUpdatingElement ?
"Edit " + myEditedAdditional->getTagStr() +
" of " :
"Create " + myEditedAdditional->getTagStr() +
" for ";
117 changeAdditionalDialogHeader(typeOfOperation + myEditedAdditional->getParentAdditionals().at(0)->getTagStr() +
" '" + myEditedAdditional->getParentAdditionals().at(0)->getID() +
"'");
142 myClosingLaneRerouteTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
143 myClosingLaneRerouteTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
149 myClosingRerouteTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
150 myClosingRerouteTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
156 myDestProbRerouteTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
157 myDestProbRerouteTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
163 myRouteProbRerouteTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
164 myRouteProbRerouteTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
170 myParkingAreaRerouteTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
171 myParkingAreaRerouteTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
174 if (rerouterInterval->getViewNet()->getNet()->getAttributeCarriers().additionals.at(
SUMO_TAG_PARKING_AREA).size() == 0) {
175 parkingAreaRerouteButton->disable();
180 if (rerouterInterval->getParentAdditionals().at(0)->getChildEdges().size() > 1) {
181 myAddRouteProbReroute->disable();
182 routeProbRerouteLabel->setText(
"Rerouter has more than one edge");
186 updateClosingLaneReroutesTable();
187 updateClosingReroutesTable();
188 updateDestProbReroutesTable();
189 updateRouteProbReroutesTable();
190 updateParkingAreaReroutesTable();
196 if (myUpdatingElement ==
false) {
197 myEditedAdditional->getViewNet()->getUndoList()->add(
new GNEChange_Additional(myEditedAdditional,
true),
true);
215 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
219 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
227 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
229 FXMessageBox::warning(getApp(), MBOX_OK, errorTitle.c_str(),
"%s", (operationType +
"at least one " +
myEditedAdditional->
getTagStr() +
"'s element must be defined.").c_str());
231 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
235 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
239 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
243 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
245 FXMessageBox::warning(getApp(), MBOX_OK, errorTitle.c_str(),
"%s", (operationType +
"there are invalid " +
toString(
SUMO_TAG_CLOSING_REROUTE) +
"s.").c_str());
247 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
251 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
255 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
259 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
263 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
267 WRITE_DEBUG(
"Opening FXMessageBox of type 'warning'");
271 WRITE_DEBUG(
"Closed FXMessageBox of type 'warning' with 'OK'");
277 getApp()->stopModal(
this, TRUE);
288 getApp()->stopModal(
this, FALSE);
474 if (changeDisallow) {
514 if (changeDisallow) {
650 FXTableItem* item =
nullptr;
663 item =
new FXTableItem(
"");
665 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
666 item->setEnabled(
false);
670 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
671 item->setEnabled(
false);
697 FXTableItem* item =
nullptr;
710 item =
new FXTableItem(
"");
712 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
713 item->setEnabled(
false);
717 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
718 item->setEnabled(
false);
742 FXTableItem* item =
nullptr;
752 item =
new FXTableItem(
"");
754 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
755 item->setEnabled(
false);
759 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
760 item->setEnabled(
false);
784 FXTableItem* item =
nullptr;
794 item =
new FXTableItem(
"");
796 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
797 item->setEnabled(
false);
801 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
802 item->setEnabled(
false);
828 FXTableItem* item =
nullptr;
841 item =
new FXTableItem(
"");
843 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
844 item->setEnabled(
false);
848 item->setJustify(FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
849 item->setEnabled(
false);