summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/registered-widget.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/widget/registered-widget.h')
-rw-r--r--src/ui/widget/registered-widget.h175
1 files changed, 175 insertions, 0 deletions
diff --git a/src/ui/widget/registered-widget.h b/src/ui/widget/registered-widget.h
new file mode 100644
index 000000000..7138f4640
--- /dev/null
+++ b/src/ui/widget/registered-widget.h
@@ -0,0 +1,175 @@
+/** \file
+ * \brief
+ *
+ * Authors:
+ * Ralf Stephan <ralf@ark.in-berlin.de>
+ *
+ * Copyright (C) 2005 Authors
+ *
+ * Released under GNU GPL. Read the file 'COPYING' for more information.
+ */
+
+#ifndef INKSCAPE_UI_WIDGET_REGISTERED_WIDGET__H_
+#define INKSCAPE_UI_WIDGET_REGISTERED_WIDGET__H_
+
+#include <gtkmm/box.h>
+#include <gtkmm/adjustment.h>
+
+class SPUnit;
+
+namespace Gtk {
+ class HScale;
+ class RadioButton;
+ class SpinButton;
+ class ToggleButton;
+}
+
+namespace Inkscape {
+namespace UI {
+namespace Widget {
+
+class ColorPicker;
+class Registry;
+class ScalarUnit;
+class UnitMenu;
+
+class RegisteredCheckButton {
+public:
+ RegisteredCheckButton();
+ ~RegisteredCheckButton();
+ void init (const Glib::ustring& label, const Glib::ustring& tip, const Glib::ustring& key, Registry& wr, bool right=true);
+ void setActive (bool);
+
+ Gtk::ToggleButton *_button;
+
+protected:
+ Gtk::Tooltips _tt;
+ sigc::connection _toggled_connection;
+ Registry *_wr;
+ Glib::ustring _key;
+ void on_toggled();
+};
+
+class RegisteredUnitMenu {
+public:
+ RegisteredUnitMenu();
+ ~RegisteredUnitMenu();
+ void init (const Glib::ustring& label, const Glib::ustring& key, Registry& wr);
+ void setUnit (const SPUnit*);
+ Gtk::Label *_label;
+ UnitMenu *_sel;
+ sigc::connection _changed_connection;
+
+protected:
+ void on_changed();
+ Registry *_wr;
+ Glib::ustring _key;
+};
+
+class RegisteredScalarUnit {
+public:
+ RegisteredScalarUnit();
+ ~RegisteredScalarUnit();
+ void init (const Glib::ustring& label,
+ const Glib::ustring& tip,
+ const Glib::ustring& key,
+ const RegisteredUnitMenu &rum,
+ Registry& wr);
+ ScalarUnit* getSU();
+ void setValue (double);
+
+protected:
+ ScalarUnit *_widget;
+ sigc::connection _value_changed_connection;
+ UnitMenu *_um;
+ Registry *_wr;
+ Glib::ustring _key;
+ void on_value_changed();
+};
+
+class RegisteredColorPicker {
+public:
+ RegisteredColorPicker();
+ ~RegisteredColorPicker();
+ void init (const Glib::ustring& label,
+ const Glib::ustring& title,
+ const Glib::ustring& tip,
+ const Glib::ustring& ckey,
+ const Glib::ustring& akey,
+ Registry& wr);
+ void setRgba32 (guint32);
+ void closeWindow();
+
+ Gtk::Label *_label;
+ ColorPicker *_cp;
+
+protected:
+ Glib::ustring _ckey, _akey;
+ Registry *_wr;
+ void on_changed (guint32);
+ sigc::connection _changed_connection;
+};
+
+class RegisteredSuffixedInteger {
+public:
+ RegisteredSuffixedInteger();
+ ~RegisteredSuffixedInteger();
+ void init (const Glib::ustring& label1,
+ const Glib::ustring& label2,
+ const Glib::ustring& key,
+ Registry& wr);
+ void setValue (int);
+ Gtk::Label *_label;
+ Gtk::HBox _hbox;
+
+protected:
+ Gtk::SpinButton *_sb;
+ Gtk::Adjustment _adj;
+ Gtk::Label *_suffix;
+ Glib::ustring _key;
+ Registry *_wr;
+ sigc::connection _changed_connection;
+ void on_value_changed();
+};
+
+class RegisteredRadioButtonPair {
+public:
+ RegisteredRadioButtonPair();
+ ~RegisteredRadioButtonPair();
+ void init (const Glib::ustring& label,
+ const Glib::ustring& label1,
+ const Glib::ustring& label2,
+ const Glib::ustring& tip1,
+ const Glib::ustring& tip2,
+ const Glib::ustring& key,
+ Registry& wr);
+ void setValue (bool second);
+ Gtk::HBox *_hbox;
+
+protected:
+ Gtk::RadioButton *_rb1, *_rb2;
+ Gtk::Tooltips _tt;
+ Glib::ustring _key;
+ Registry *_wr;
+ sigc::connection _changed_connection;
+ void on_value_changed();
+};
+
+
+
+} // namespace Widget
+} // namespace UI
+} // namespace Inkscape
+
+#endif // INKSCAPE_UI_WIDGET_REGISTERED_WIDGET__H_
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=c++:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :