diff options
Diffstat (limited to 'src/ui/widget')
| -rw-r--r-- | src/ui/widget/color-picker.h | 25 | ||||
| -rw-r--r-- | src/ui/widget/registered-widget.cpp | 9 | ||||
| -rw-r--r-- | src/ui/widget/registered-widget.h | 6 |
3 files changed, 31 insertions, 9 deletions
diff --git a/src/ui/widget/color-picker.h b/src/ui/widget/color-picker.h index e8a738b5b..7bb4947d5 100644 --- a/src/ui/widget/color-picker.h +++ b/src/ui/widget/color-picker.h @@ -13,6 +13,8 @@ #ifndef __COLOR_PICKER_H__ #define __COLOR_PICKER_H__ +#include "labelled.h" + #include <stddef.h> #include <gtkmm/dialog.h> @@ -70,6 +72,29 @@ protected: Gtk::Widget *_color_selector; }; + +class LabelledColorPicker : public Labelled { +public: + + LabelledColorPicker (const Glib::ustring& label, + const Glib::ustring& title, + const Glib::ustring& tip, + const guint32 rgba, + bool undo) : Labelled(label, tip, new ColorPicker(title, tip, rgba, undo)) {} + + ~LabelledColorPicker() + { static_cast<ColorPicker*>(_widget)->~ColorPicker(); } + + void setRgba32 (guint32 rgba) + { static_cast<ColorPicker*>(_widget)->setRgba32 (rgba); } + + void closeWindow() + { static_cast<ColorPicker*>(_widget)->closeWindow (); } + + sigc::connection connectChanged (const sigc::slot<void,guint>& slot) + { return static_cast<ColorPicker*>(_widget)->connectChanged(slot); } +}; + }//namespace Widget }//namespace UI }//namespace Inkscape diff --git a/src/ui/widget/registered-widget.cpp b/src/ui/widget/registered-widget.cpp index 753b72c2e..d539cdcc5 100644 --- a/src/ui/widget/registered-widget.cpp +++ b/src/ui/widget/registered-widget.cpp @@ -365,13 +365,10 @@ RegisteredColorPicker::RegisteredColorPicker(const Glib::ustring& label, Registry& wr, Inkscape::XML::Node* repr_in, SPDocument *doc_in) - : RegisteredWidget<ColorPicker> (title, tip, 0, true) + : RegisteredWidget<LabelledColorPicker> (label, title, tip, 0, true) { init_parent("", wr, repr_in, doc_in); - _label = new Gtk::Label (label, Gtk::ALIGN_END); - _label->set_use_underline (true); - _label->set_mnemonic_widget (*this); _ckey = ckey; _akey = akey; _changed_connection = connectChanged (sigc::mem_fun (*this, &RegisteredColorPicker::on_changed)); @@ -385,13 +382,13 @@ RegisteredColorPicker::~RegisteredColorPicker() void RegisteredColorPicker::setRgba32 (guint32 rgba) { - ColorPicker::setRgba32 (rgba); + LabelledColorPicker::setRgba32 (rgba); } void RegisteredColorPicker::closeWindow() { - ColorPicker::closeWindow(); + LabelledColorPicker::closeWindow(); } void diff --git a/src/ui/widget/registered-widget.h b/src/ui/widget/registered-widget.h index 6064e9461..02c1810cf 100644 --- a/src/ui/widget/registered-widget.h +++ b/src/ui/widget/registered-widget.h @@ -76,6 +76,8 @@ protected: RegisteredWidget( A& a, B& b, C& c ): W( a, b, c ) { construct(); } template< typename A, typename B, typename C, typename D > RegisteredWidget( A& a, B& b, C c, D d ): W( a, b, c, d ) { construct(); } + template< typename A, typename B, typename C, typename D, typename E > + RegisteredWidget( A& a, B& b, C& c, D d, E e ): W( a, b, c, d, e ) { construct(); } template< typename A, typename B, typename C, typename D, typename E , typename F> RegisteredWidget( A& a, B& b, C c, D& d, E& e, F* f): W( a, b, c, d, e, f) { construct(); } template< typename A, typename B, typename C, typename D, typename E , typename F, typename G> @@ -266,7 +268,7 @@ protected: void on_activate(); }; -class RegisteredColorPicker : public RegisteredWidget<ColorPicker> { +class RegisteredColorPicker : public RegisteredWidget<LabelledColorPicker> { public: virtual ~RegisteredColorPicker(); @@ -282,8 +284,6 @@ public: void setRgba32 (guint32); void closeWindow(); - Gtk::Label *_label; - protected: Glib::ustring _ckey, _akey; void on_changed (guint32); |
