43 FXIMPLEMENT(
GNEFixDemandElements, FXDialogBox, GNEFixDemandElementsMap, ARRAYNUMBER(GNEFixDemandElementsMap))
57 myDemandList =
new DemandList(
this, invalidDemandElements);
65 if (myDemandList->myInvalidRoutes.empty()) {
66 myFixRouteOptions->disableFixRouteOptions();
69 if (myDemandList->myInvalidVehicles.empty()) {
70 myFixVehicleOptions->disableFixVehicleOptions();
73 if (myDemandList->myInvalidVehicles.empty()) {
74 myFixStopOptions->disableFixStopOptions();
83 myAcceptButton->setFocus();
102 bool continueSaving =
true;
124 continueSaving =
false;
148 continueSaving =
false;
165 i->fixDemandElementProblem();
177 continueSaving =
false;
180 if (continueSaving) {
182 getApp()->stopModal(
this, TRUE);
185 getApp()->stopModal(
this, FALSE);
194 getApp()->stopModal(
this, FALSE);
206 myTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
207 myTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
210 for (
const auto& i : invalidDemandElements) {
211 if (i->getTagProperty().isVehicle()) {
213 }
else if (i->getTagProperty().isStop() || i->getTagProperty().isPersonPlan()) {
226 myTable->setColumnWidth(1, 160);
227 myTable->setColumnWidth(2, 280);
230 myTable->setColumnText(2,
"Conflict");
231 myTable->getRowHeader()->setWidth(0);
234 FXTableItem* item =
nullptr;
238 item =
new FXTableItem(
"", i->getIcon());
239 item->setIconPosition(FXTableItem::CENTER_X);
240 myTable->setItem(indexRow, 0, item);
242 item =
new FXTableItem(i->getID().c_str());
243 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
244 myTable->setItem(indexRow, 1, item);
246 item =
new FXTableItem(i->getDemandElementProblem().c_str());
247 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
248 myTable->setItem(indexRow, 2, item);
255 item =
new FXTableItem(
"", i->getIcon());
256 item->setIconPosition(FXTableItem::CENTER_X);
257 myTable->setItem(indexRow, 0, item);
259 item =
new FXTableItem(i->getID().c_str());
260 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
261 myTable->setItem(indexRow, 1, item);
263 item =
new FXTableItem(i->getDemandElementProblem().c_str());
264 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
265 myTable->setItem(indexRow, 2, item);
272 item =
new FXTableItem(
"", i->getIcon());
273 item->setIconPosition(FXTableItem::CENTER_X);
274 myTable->setItem(indexRow, 0, item);
276 item =
new FXTableItem(i->getID().c_str());
277 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
278 myTable->setItem(indexRow, 1, item);
280 item =
new FXTableItem(i->getDemandElementProblem().c_str());
281 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
282 myTable->setItem(indexRow, 2, item);
313 if (option == removeInvalidRoutes) {
314 removeInvalidRoutes->setCheck(
true);
315 saveInvalidRoutes->setCheck(
false);
316 selectInvalidRoutesAndCancel->setCheck(
false);
317 }
else if (option == saveInvalidRoutes) {
318 removeInvalidRoutes->setCheck(
false);
319 saveInvalidRoutes->setCheck(
true);
320 selectInvalidRoutesAndCancel->setCheck(
false);
321 }
else if (option == selectInvalidRoutesAndCancel) {
322 removeInvalidRoutes->setCheck(
false);
323 saveInvalidRoutes->setCheck(
false);
324 selectInvalidRoutesAndCancel->setCheck(
true);
331 removeInvalidRoutes->enable();
332 saveInvalidRoutes->enable();
333 selectInvalidRoutesAndCancel->enable();
339 removeInvalidRoutes->disable();
340 saveInvalidRoutes->disable();
341 selectInvalidRoutesAndCancel->disable();
368 if (option == removeInvalidVehicles) {
369 removeInvalidVehicles->setCheck(
true);
370 saveInvalidVehicles->setCheck(
false);
371 selectInvalidVehiclesAndCancel->setCheck(
false);
372 }
else if (option == saveInvalidVehicles) {
373 removeInvalidVehicles->setCheck(
false);
374 saveInvalidVehicles->setCheck(
true);
375 selectInvalidVehiclesAndCancel->setCheck(
false);
376 }
else if (option == selectInvalidVehiclesAndCancel) {
377 removeInvalidVehicles->setCheck(
false);
378 saveInvalidVehicles->setCheck(
false);
379 selectInvalidVehiclesAndCancel->setCheck(
true);
386 removeInvalidVehicles->enable();
387 saveInvalidVehicles->enable();
388 selectInvalidVehiclesAndCancel->enable();
394 removeInvalidVehicles->disable();
395 saveInvalidVehicles->disable();
396 selectInvalidVehiclesAndCancel->disable();
411 saveInvalid =
new FXRadioButton(RadioButtonsLeft,
"Save invalid positions",
426 if (option == activateFriendlyPositionAndSave) {
427 activateFriendlyPositionAndSave->setCheck(
true);
428 fixPositionsAndSave->setCheck(
false);
429 saveInvalid->setCheck(
false);
430 selectInvalidStopsAndCancel->setCheck(
false);
431 }
else if (option == fixPositionsAndSave) {
432 activateFriendlyPositionAndSave->setCheck(
false);
433 fixPositionsAndSave->setCheck(
true);
434 saveInvalid->setCheck(
false);
435 selectInvalidStopsAndCancel->setCheck(
false);
436 }
else if (option == saveInvalid) {
437 activateFriendlyPositionAndSave->setCheck(
false);
438 fixPositionsAndSave->setCheck(
false);
439 saveInvalid->setCheck(
true);
440 selectInvalidStopsAndCancel->setCheck(
false);
441 }
else if (option == selectInvalidStopsAndCancel) {
442 activateFriendlyPositionAndSave->setCheck(
false);
443 fixPositionsAndSave->setCheck(
false);
444 saveInvalid->setCheck(
false);
445 selectInvalidStopsAndCancel->setCheck(
true);
452 activateFriendlyPositionAndSave->enable();
453 fixPositionsAndSave->enable();
454 saveInvalid->enable();
455 selectInvalidStopsAndCancel->enable();
461 activateFriendlyPositionAndSave->disable();
462 fixPositionsAndSave->disable();
463 saveInvalid->disable();
464 selectInvalidStopsAndCancel->disable();