+/** Component which provides the UI for a GTK HScale.
+ */
+class HSliderOption : public Option
+{
+public:
+ HSliderOption (
+ std::string const& i,
+ std::string const& n,
+ sigc::slot<float> g,
+ sigc::slot<bool, float> s,
+ double lower, double upper,
+ double step_increment = 1,
+ double page_increment = 10,
+ double mult = 1.0,
+ bool logarithmic = false
+ );
+
+ void set_state_from_config ();
+ virtual void changed ();
+ void add_to_page (OptionEditorPage* p);
+ void set_sensitive (bool yn);
+
+ Gtk::Widget& tip_widget() { return _hscale; }
+ Gtk::HScale& scale() { return _hscale; }
+
+protected:
+ sigc::slot<float> _get;
+ sigc::slot<bool, float> _set;
+ Gtk::Adjustment _adj;
+ Gtk::HScale _hscale;
+ Gtk::Label _label;
+ double _mult;
+ bool _log;
+};
+
+