X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Fmainwindow.cpp;h=22c65d11b2a53d000d1d0f7adb9029bf0a5306b8;hb=73d4dc248a97c11538e83bed6dddf486785804e1;hp=f5c8df73bd15b57d375819bef8b29fbf358cff23;hpb=b8cf5d2f394c151c6b095396dafdc66162cb060e;p=r2c2.git diff --git a/source/engineer/mainwindow.cpp b/source/engineer/mainwindow.cpp index f5c8df7..22c65d1 100644 --- a/source/engineer/mainwindow.cpp +++ b/source/engineer/mainwindow.cpp @@ -1,4 +1,6 @@ #include +#include +#include "libr2c2/clock.h" #include "libr2c2/driver.h" #include "engineer.h" #include "mainwindow.h" @@ -17,6 +19,7 @@ MainWindow::MainWindow(Engineer &e): ind_off = dynamic_cast(get_item(widgets, "ind_off")); ind_halt = dynamic_cast(get_item(widgets, "ind_halt")); lbl_status = dynamic_cast(get_item(widgets, "lbl_status")); + lbl_clock = dynamic_cast(get_item(widgets, "lbl_clock")); dynamic_cast(get_item(widgets, "btn_on"))->signal_clicked.connect(sigc::mem_fun(this, &MainWindow::on_clicked)); dynamic_cast(get_item(widgets, "btn_off"))->signal_clicked.connect(sigc::mem_fun(this, &MainWindow::off_clicked)); @@ -32,6 +35,8 @@ MainWindow::MainWindow(Engineer &e): driver.signal_power.connect(sigc::mem_fun(this, &MainWindow::power_event)); driver.signal_halt.connect(sigc::mem_fun(this, &MainWindow::halt_event)); + + engineer.get_layout().get_clock().signal_minute.connect(sigc::mem_fun(this, &MainWindow::clock_minute)); } void MainWindow::set_status_text(const string &txt) @@ -59,7 +64,6 @@ void MainWindow::trains_clicked() { TrainListDialog *dlg = new TrainListDialog(engineer); find_ancestor()->add(*dlg); - dlg->autosize(); } void MainWindow::quit_clicked() @@ -77,3 +81,12 @@ void MainWindow::halt_event(bool h) { ind_halt->set_active(h); } + +void MainWindow::clock_minute() +{ + const Time::TimeDelta &time = engineer.get_layout().get_clock().get_current_time(); + unsigned minute = time/Time::min; + unsigned hour = minute/60; + minute %= 60; + lbl_clock->set_text(format("%02d:%02d", hour, minute)); +}