X-Git-Url: http://git.tdb.fi/?p=r2c2.git;a=blobdiff_plain;f=source%2Fengineer%2Ftimetablepanel.cpp;h=5932176b0536e55518fc9753e06fde28abd2f4a5;hp=4232f2cb16db143397b97b8736ef7c057adf6d58;hb=3dd660ffad729fbd6e75e6401f5c7f27b9013faf;hpb=1c15570729bbce44f0518373ca5bf8bf41cfa3b3 diff --git a/source/engineer/timetablepanel.cpp b/source/engineer/timetablepanel.cpp index 4232f2c..5932176 100644 --- a/source/engineer/timetablepanel.cpp +++ b/source/engineer/timetablepanel.cpp @@ -50,6 +50,7 @@ TimetablePanel::TimetablePanel(Engineer &e, R2C2::Train &t): drp_type = dynamic_cast(get_item(widgets, "drp_type")); lbl_target = dynamic_cast(get_item(widgets, "lbl_target")); ent_time = dynamic_cast(get_item(widgets, "ent_time")); + drp_direction = dynamic_cast(get_item(widgets, "drp_direction")); dynamic_cast(get_item(widgets, "btn_pick"))->signal_clicked.connect(sigc::mem_fun(this, &TimetablePanel::pick_clicked)); dynamic_cast(get_item(widgets, "btn_insert"))->signal_clicked.connect(sigc::mem_fun(this, &TimetablePanel::insert_clicked)); @@ -90,6 +91,7 @@ Timetable::Row TimetablePanel::create_row() row.type = static_cast(drp_type->get_selected_index()+1); row.target = target; + row.direction = static_cast(drp_direction->get_selected_index()); Regex r_time("([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?"); RegMatch m = r_time.match(ent_time->get_text()); @@ -113,6 +115,7 @@ void TimetablePanel::row_selected(unsigned i) target = row->target; if(target) lbl_target->set_text(target->get_name()); + drp_direction->set_selected_index(row->direction); ent_time->set_text(format_time(row->time)); } } @@ -233,7 +236,16 @@ TimetableRowItem::TimetableRowItem(ValueType row) case Timetable::DEPART: type = "Depart from "; break; case Timetable::THROUGH: type = "Go through "; break; } - add(*new GLtk::Label(type+row->target->get_name())); + + string dir; + switch(row->direction) + { + case TrackChain::UP: dir = " up"; break; + case TrackChain::DOWN: dir = " down"; break; + default:; + } + + add(*new GLtk::Label(type+row->target->get_name()+dir)); } else add(*new GLtk::Label);