using namespace Marklin;
TrainPanel::TrainPanel(Engineer &e, const GLtk::Resources &r, Train &t):
+ Widget(r),
Panel(r),
engineer(e),
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));
train.set_speed(static_cast<unsigned>(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)