]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/mainwindow.cpp
Add a dialog to display telemetry data from the driver
[r2c2.git] / source / engineer / mainwindow.cpp
index 22c65d11b2a53d000d1d0f7adb9029bf0a5306b8..73188a207a56d935e774884de7ab8a3bd3165a4f 100644 (file)
@@ -2,8 +2,10 @@
 #include <msp/strings/format.h>
 #include "libr2c2/clock.h"
 #include "libr2c2/driver.h"
+#include "clockdialog.h"
 #include "engineer.h"
 #include "mainwindow.h"
+#include "telemetrydialog.h"
 #include "trainlistdialog.h"
 
 using namespace std;
@@ -25,7 +27,9 @@ MainWindow::MainWindow(Engineer &e):
        dynamic_cast<GLtk::Button *>(get_item(widgets, "btn_off"))->signal_clicked.connect(sigc::mem_fun(this, &MainWindow::off_clicked));
        dynamic_cast<GLtk::Button *>(get_item(widgets, "btn_halt"))->signal_clicked.connect(sigc::mem_fun(this, &MainWindow::halt_clicked));
        dynamic_cast<GLtk::Button *>(get_item(widgets, "btn_trains"))->signal_clicked.connect(sigc::mem_fun(this, &MainWindow::trains_clicked));
+       dynamic_cast<GLtk::Button *>(get_item(widgets, "btn_telemetry"))->signal_clicked.connect(sigc::mem_fun(this, &MainWindow::telemetry_clicked));
        dynamic_cast<GLtk::Button *>(get_item(widgets, "btn_quit"))->signal_clicked.connect(sigc::mem_fun(this, &MainWindow::quit_clicked));
+       dynamic_cast<GLtk::Button *>(get_item(widgets, "btn_clock"))->signal_clicked.connect(sigc::mem_fun(this, &MainWindow::clock_clicked));
 
        R2C2::Driver &driver = engineer.get_layout().get_driver();
        if(driver.get_power())
@@ -66,11 +70,23 @@ void MainWindow::trains_clicked()
        find_ancestor<GLtk::Root>()->add(*dlg);
 }
 
+void MainWindow::telemetry_clicked()
+{
+       TelemetryDialog *dlg = new TelemetryDialog(engineer);
+       find_ancestor<GLtk::Root>()->add(*dlg);
+}
+
 void MainWindow::quit_clicked()
 {
        engineer.quit();
 }
 
+void MainWindow::clock_clicked()
+{
+       ClockDialog *dlg = new ClockDialog(engineer);
+       find_ancestor<GLtk::Root>()->add(*dlg);
+}
+
 void MainWindow::power_event(bool p)
 {
        ind_on->set_active(p);