58 myDemandList =
new DemandList(
this, invalidDemandElements);
66 if (myDemandList->myInvalidRoutes.empty()) {
67 myFixRouteOptions->disableFixRouteOptions();
70 if (myDemandList->myInvalidVehicles.empty()) {
71 myFixVehicleOptions->disableFixVehicleOptions();
74 if (myDemandList->myInvalidVehicles.empty()) {
75 myFixStopOptions->disableFixStopOptions();
84 myAcceptButton->setFocus();
103 bool continueSaving =
true;
125 continueSaving =
false;
149 continueSaving =
false;
166 i->fixDemandElementProblem();
178 continueSaving =
false;
181 if (continueSaving) {
183 getApp()->stopModal(
this, TRUE);
186 getApp()->stopModal(
this, FALSE);
195 getApp()->stopModal(
this, FALSE);
207 myTable->setSelBackColor(FXRGBA(255, 255, 255, 255));
208 myTable->setSelTextColor(FXRGBA(0, 0, 0, 255));
211 for (
const auto& i : invalidDemandElements) {
212 if (i->getTagProperty().isVehicle()) {
214 }
else if (i->getTagProperty().isStop()) {
227 myTable->setColumnWidth(1, 160);
228 myTable->setColumnWidth(2, 280);
231 myTable->setColumnText(2,
"Conflict");
232 myTable->getRowHeader()->setWidth(0);
235 FXTableItem* item =
nullptr;
239 item =
new FXTableItem(
"", i->getIcon());
240 item->setIconPosition(FXTableItem::CENTER_X);
241 myTable->setItem(indexRow, 0, item);
243 item =
new FXTableItem(i->getID().c_str());
244 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
245 myTable->setItem(indexRow, 1, item);
247 item =
new FXTableItem(i->getDemandElementProblem().c_str());
248 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
249 myTable->setItem(indexRow, 2, item);
256 item =
new FXTableItem(
"", i->getIcon());
257 item->setIconPosition(FXTableItem::CENTER_X);
258 myTable->setItem(indexRow, 0, item);
260 item =
new FXTableItem(i->getID().c_str());
261 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
262 myTable->setItem(indexRow, 1, item);
264 item =
new FXTableItem(i->getDemandElementProblem().c_str());
265 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
266 myTable->setItem(indexRow, 2, item);
273 item =
new FXTableItem(
"", i->getIcon());
274 item->setIconPosition(FXTableItem::CENTER_X);
275 myTable->setItem(indexRow, 0, item);
277 item =
new FXTableItem(i->getID().c_str());
278 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
279 myTable->setItem(indexRow, 1, item);
281 item =
new FXTableItem(i->getDemandElementProblem().c_str());
282 item->setJustify(FXTableItem::LEFT | FXTableItem::CENTER_Y);
283 myTable->setItem(indexRow, 2, item);
314 if (option == removeInvalidRoutes) {
315 removeInvalidRoutes->setCheck(
true);
316 saveInvalidRoutes->setCheck(
false);
317 selectInvalidRoutesAndCancel->setCheck(
false);
318 }
else if (option == saveInvalidRoutes) {
319 removeInvalidRoutes->setCheck(
false);
320 saveInvalidRoutes->setCheck(
true);
321 selectInvalidRoutesAndCancel->setCheck(
false);
322 }
else if (option == selectInvalidRoutesAndCancel) {
323 removeInvalidRoutes->setCheck(
false);
324 saveInvalidRoutes->setCheck(
false);
325 selectInvalidRoutesAndCancel->setCheck(
true);
332 removeInvalidRoutes->enable();
333 saveInvalidRoutes->enable();
334 selectInvalidRoutesAndCancel->enable();
340 removeInvalidRoutes->disable();
341 saveInvalidRoutes->disable();
342 selectInvalidRoutesAndCancel->disable();
369 if (option == removeInvalidVehicles) {
370 removeInvalidVehicles->setCheck(
true);
371 saveInvalidVehicles->setCheck(
false);
372 selectInvalidVehiclesAndCancel->setCheck(
false);
373 }
else if (option == saveInvalidVehicles) {
374 removeInvalidVehicles->setCheck(
false);
375 saveInvalidVehicles->setCheck(
true);
376 selectInvalidVehiclesAndCancel->setCheck(
false);
377 }
else if (option == selectInvalidVehiclesAndCancel) {
378 removeInvalidVehicles->setCheck(
false);
379 saveInvalidVehicles->setCheck(
false);
380 selectInvalidVehiclesAndCancel->setCheck(
true);
387 removeInvalidVehicles->enable();
388 saveInvalidVehicles->enable();
389 selectInvalidVehiclesAndCancel->enable();
395 removeInvalidVehicles->disable();
396 saveInvalidVehicles->disable();
397 selectInvalidVehiclesAndCancel->disable();
412 saveInvalid =
new FXRadioButton(RadioButtonsLeft,
"Save invalid positions",
427 if (option == activateFriendlyPositionAndSave) {
428 activateFriendlyPositionAndSave->setCheck(
true);
429 fixPositionsAndSave->setCheck(
false);
430 saveInvalid->setCheck(
false);
431 selectInvalidStopsAndCancel->setCheck(
false);
432 }
else if (option == fixPositionsAndSave) {
433 activateFriendlyPositionAndSave->setCheck(
false);
434 fixPositionsAndSave->setCheck(
true);
435 saveInvalid->setCheck(
false);
436 selectInvalidStopsAndCancel->setCheck(
false);
437 }
else if (option == saveInvalid) {
438 activateFriendlyPositionAndSave->setCheck(
false);
439 fixPositionsAndSave->setCheck(
false);
440 saveInvalid->setCheck(
true);
441 selectInvalidStopsAndCancel->setCheck(
false);
442 }
else if (option == selectInvalidStopsAndCancel) {
443 activateFriendlyPositionAndSave->setCheck(
false);
444 fixPositionsAndSave->setCheck(
false);
445 saveInvalid->setCheck(
false);
446 selectInvalidStopsAndCancel->setCheck(
true);
453 activateFriendlyPositionAndSave->enable();
454 fixPositionsAndSave->enable();
455 saveInvalid->enable();
456 selectInvalidStopsAndCancel->enable();
462 activateFriendlyPositionAndSave->disable();
463 fixPositionsAndSave->disable();
464 saveInvalid->disable();
465 selectInvalidStopsAndCancel->disable();