summaryrefslogtreecommitdiffstats
path: root/src/ui/widget
diff options
context:
space:
mode:
authorGeoff Lankow <geoff@darktrojan.net>2018-03-25 07:39:59 +0000
committerMarc Jeanmougin <marcjeanmougin@free.fr>2018-05-09 12:23:00 +0000
commit83c8ece517ffc7cbfcb9b2493147e61606e5efc8 (patch)
treeebefa91024a26b70d1623777b6bd7c2dc3382381 /src/ui/widget
parentRevert "Fix include order with clang-tidy check llvm-include-order" (diff)
downloadinkscape-83c8ece517ffc7cbfcb9b2493147e61606e5efc8.tar.gz
inkscape-83c8ece517ffc7cbfcb9b2493147e61606e5efc8.zip
Create and use LabelledColorPicker widget
Diffstat (limited to 'src/ui/widget')
-rw-r--r--src/ui/widget/color-picker.h25
-rw-r--r--src/ui/widget/registered-widget.cpp9
-rw-r--r--src/ui/widget/registered-widget.h6
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);