22c04d361fe3f7718638e7598c5f6d127cae3bab
1 /** \file
2 * \brief
3 *
4 * This widget is part of the Document properties dialog.
5 */
6 /*
7 * Authors:
8 * Ralf Stephan <ralf@ark.in-berlin.de>
9 *
10 * Copyright (C) 2006 Authors
11 *
12 * Released under GNU GPL. Read the file 'COPYING' for more information.
13 */
15 #ifndef INKSCAPE_UI_WIDGET_TOLERANCE_SLIDER__H_
16 #define INKSCAPE_UI_WIDGET_TOLERANCE_SLIDER__H_
18 #include <gtkmm/box.h>
19 #include <gtkmm/tooltips.h>
20 #include <gtkmm/checkbutton.h>
21 #include <gtkmm/radiobutton.h>
22 #include <gtkmm/scale.h>
24 namespace Inkscape {
25 namespace UI {
26 namespace Widget {
28 class Registry;
30 class ToleranceSlider {
31 public:
32 ToleranceSlider();
33 ~ToleranceSlider();
34 void init (const Glib::ustring& label1,
35 const Glib::ustring& label2,
36 const Glib::ustring& label3,
37 const Glib::ustring& tip1,
38 const Glib::ustring& tip2,
39 const Glib::ustring& tip3,
40 const Glib::ustring& key,
41 Registry& wr);
42 void setValue (double);
43 void setLimits (double, double);
44 Gtk::VBox* _vbox;
46 protected:
47 void on_scale_changed();
48 void on_toggled();
49 void update (double val);
50 Gtk::HBox *_hbox;
51 Gtk::HScale *_hscale;
52 Gtk::RadioButtonGroup _radio_button_group;
53 Gtk::RadioButton *_button1;
54 Gtk::RadioButton *_button2;
55 Gtk::Tooltips _tt;
56 Registry *_wr;
57 Glib::ustring _key;
58 sigc::connection _scale_changed_connection;
59 sigc::connection _btn_toggled_connection;
60 double _old_val;
61 };
64 } // namespace Widget
65 } // namespace UI
66 } // namespace Inkscape
68 #endif // INKSCAPE_UI_WIDGET_TOLERANCE_SLIDER__H_
70 /*
71 Local Variables:
72 mode:c++
73 c-file-style:"stroustrup"
74 c-file-offsets:((innamespace . 0)(inline-open . 0))
75 indent-tabs-mode:nil
76 fill-column:99
77 End:
78 */
79 // vim: filetype=c++:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :