- double const lo = c->internal_to_interface (c->lower ());
- double const up = c->internal_to_interface (c->upper ());
+ } else {
+
+ box.pack_start (_label);
+ _label.show ();
+ _label.set_text (_name);
+ box.pack_start (_slider);
+ _slider.show ();
+
+ double const lo = c->internal_to_interface (c->lower ());
+ double const up = c->internal_to_interface (c->upper ());
+
+ _adjustment.set_lower (lo);
+ _adjustment.set_upper (up);
+ _adjustment.set_step_increment ((up - lo) / 100);
+ _adjustment.set_page_increment ((up - lo) / 10);
+ _slider.set_default_value (c->internal_to_interface (c->normal ()));
+
+ _adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &Control::slider_adjusted));
+ c->Changed.connect (_connection, MISSING_INVALIDATOR, boost::bind (&Control::control_changed, this), gui_context ());
+ }