X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Ftrainpanel.cpp;h=a8c0e90536580d3c7c40a27a32300d940446fb22;hb=010d8321e982d1684fcbff5bf6fc2bdec7cb7bae;hp=7c3ba71a5c8e1cf83cebe85d9b64f8c400cc5a4a;hpb=f9254f57b736927a57a2fd793ee18f6c9766dd43;p=r2c2.git diff --git a/source/engineer/trainpanel.cpp b/source/engineer/trainpanel.cpp index 7c3ba71..a8c0e90 100644 --- a/source/engineer/trainpanel.cpp +++ b/source/engineer/trainpanel.cpp @@ -16,6 +16,7 @@ using namespace Msp; using namespace Marklin; TrainPanel::TrainPanel(Engineer &e, const GLtk::Resources &r, Train &t): + Widget(r), Panel(r), engineer(e), train(t) @@ -34,7 +35,7 @@ TrainPanel::TrainPanel(Engineer &e, const GLtk::Resources &r, Train &t): add(*(lbl_speed=new GLtk::Label(res, format("%2d", train.get_locomotive().get_speed())))); lbl_speed->set_style("digital"); lbl_speed->set_geometry(GLtk::Geometry(10, geom.h-58, 35, 24)); - train.get_locomotive().signal_speed_changed.connect(sigc::mem_fun(this, &TrainPanel::loco_speed_changed)); + train.signal_target_speed_changed.connect(sigc::mem_fun(this, &TrainPanel::train_speed_changed)); add(*(sld_speed=new GLtk::HSlider(res))); sld_speed->set_geometry(GLtk::Geometry(50, geom.h-51, geom.w-80, 10)); @@ -88,9 +89,10 @@ void TrainPanel::speed_slider_changed(double v) train.set_speed(static_cast(v)); } -void TrainPanel::loco_speed_changed(unsigned speed) +void TrainPanel::train_speed_changed(unsigned speed) { lbl_speed->set_text(format("%2d", speed)); + sld_speed->set_value(speed); } void TrainPanel::loco_function_changed(unsigned func, bool value)