Code

UI generalisation
[inkscape.git] / src / ui / widget / tolerance-slider.h
index 92239265d0dfa477582f7acb4d347cb1f474975f..22c04d361fe3f7718638e7598c5f6d127cae3bab 100644 (file)
@@ -2,7 +2,8 @@
  * \brief 
  *
  * This widget is part of the Document properties dialog.
- *
+ */
+/*
  * Authors:
  *   Ralf Stephan <ralf@ark.in-berlin.de>
  *
 #ifndef INKSCAPE_UI_WIDGET_TOLERANCE_SLIDER__H_
 #define INKSCAPE_UI_WIDGET_TOLERANCE_SLIDER__H_
 
+#include <gtkmm/box.h>
+#include <gtkmm/tooltips.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/radiobutton.h>
+#include <gtkmm/scale.h>
 
 namespace Inkscape {
 namespace UI {
 namespace Widget {
 
 class Registry;
+
 class ToleranceSlider {
 public:
     ToleranceSlider();
     ~ToleranceSlider();
     void init (const Glib::ustring& label1, 
-//            const Glib::ustring& label2, 
-            const Glib::ustring& tip, 
+            const Glib::ustring& label2, 
+            const Glib::ustring& label3,
+            const Glib::ustring& tip1,
+            const Glib::ustring& tip2, 
+            const Glib::ustring& tip3,
             const Glib::ustring& key, 
             Registry& wr);
-    void setValue (double, bool);
+    void setValue (double);
     void setLimits (double, double);
-    Gtk::HBox* _hbox;
+    Gtk::VBox* _vbox;
 
 protected:
     void on_scale_changed();
-    void update();
-    sigc::connection  _scale_changed_connection;
-    Gtk::HScale      *_hscale;
-    Registry         *_wr;
-    Glib::ustring     _key;
+    void on_toggled();
+    void update (double val);
+    Gtk::HBox         *_hbox;
+    Gtk::HScale       *_hscale;
+    Gtk::RadioButtonGroup _radio_button_group;
+    Gtk::RadioButton  *_button1;
+    Gtk::RadioButton  *_button2;
+    Gtk::Tooltips      _tt;
+    Registry          *_wr;
+    Glib::ustring      _key;
+    sigc::connection   _scale_changed_connection;
+    sigc::connection   _btn_toggled_connection;
+    double _old_val;
 };