summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ui/selected-color.cpp6
-rw-r--r--src/ui/selected-color.h20
-rw-r--r--src/widgets/sp-color-icc-selector.cpp11
-rw-r--r--src/widgets/sp-color-icc-selector.h9
-rw-r--r--src/widgets/sp-color-notebook.cpp2
-rw-r--r--src/widgets/sp-color-scales.cpp22
-rw-r--r--src/widgets/sp-color-scales.h17
-rw-r--r--src/widgets/sp-color-wheel-selector.cpp14
-rw-r--r--src/widgets/sp-color-wheel-selector.h9
9 files changed, 106 insertions, 4 deletions
diff --git a/src/ui/selected-color.cpp b/src/ui/selected-color.cpp
index 246c51ebd..927c421b8 100644
--- a/src/ui/selected-color.cpp
+++ b/src/ui/selected-color.cpp
@@ -15,6 +15,9 @@
#include "selected-color.h"
+namespace Inkscape {
+namespace UI {
+
double SelectedColor::_epsilon = 1e-4;
SelectedColor::SelectedColor()
@@ -90,3 +93,6 @@ void SelectedColor::get_color_alpha(SPColor &color, gfloat &alpha) const {
alpha = _alpha;
}
+}
+}
+
diff --git a/src/ui/selected-color.h b/src/ui/selected-color.h
index f7f0d6ad0..db2f2f68c 100644
--- a/src/ui/selected-color.h
+++ b/src/ui/selected-color.h
@@ -14,10 +14,13 @@
#define SEEN_SELECTED_COLOR
#include <sigc++/signal.h>
+#include <gtkmm/widget.h>
#include "color.h"
-class SelectedColor
-{
+namespace Inkscape {
+namespace UI {
+
+class SelectedColor {
public:
SelectedColor();
virtual ~SelectedColor();
@@ -51,5 +54,18 @@ private:
static double _epsilon;
};
+
+class ColorSelectorFactory {
+public:
+ virtual ~ColorSelectorFactory() {}
+
+ virtual Gtk::Widget* createWidget(SelectedColor& color) const = 0;
+ virtual Glib::ustring modeName() const = 0;
+};
+
+
+}
+}
+
#endif
diff --git a/src/widgets/sp-color-icc-selector.cpp b/src/widgets/sp-color-icc-selector.cpp
index ca64a915f..806ddba8d 100644
--- a/src/widgets/sp-color-icc-selector.cpp
+++ b/src/widgets/sp-color-icc-selector.cpp
@@ -270,6 +270,7 @@ static void sp_color_icc_selector_class_init(SPColorICCSelectorClass *klass)
widget_class->hide = sp_color_icc_selector_hide;
}
+const gchar* ColorICCSelector::MODE_NAME = N_("CMS");
ColorICCSelector::ColorICCSelector( SPColorSelector* csel )
: ColorSelector( csel ),
@@ -1123,6 +1124,16 @@ void ColorICCSelectorImpl::_sliderChanged()
// iccSelector->_updateInternals( iccSelector->_color, ColorScales::getScaled( iccSelector->_adj ), iccSelector->_dragging );
}
+Gtk::Widget *ColorICCSelectorFactory::createWidget(Inkscape::UI::SelectedColor &color) const {
+ GtkWidget *w = sp_color_selector_new(SP_TYPE_COLOR_ICC_SELECTOR);
+ Gtk::Widget *wrapped = Glib::wrap(w);
+ return wrapped;
+}
+
+Glib::ustring ColorICCSelectorFactory::modeName() const {
+ return gettext(ColorICCSelector::MODE_NAME);
+}
+
/*
Local Variables:
diff --git a/src/widgets/sp-color-icc-selector.h b/src/widgets/sp-color-icc-selector.h
index f63ab0853..a59d3fe7e 100644
--- a/src/widgets/sp-color-icc-selector.h
+++ b/src/widgets/sp-color-icc-selector.h
@@ -5,6 +5,7 @@
#include <gtk/gtk.h>
#include "sp-color-selector.h"
+#include "ui/selected-color.h"
namespace Inkscape {
class ColorProfile;
@@ -18,6 +19,8 @@ class ColorICCSelectorImpl;
class ColorICCSelector: public ColorSelector
{
public:
+ static const gchar* MODE_NAME;
+
ColorICCSelector( SPColorSelector* csel );
virtual ~ColorICCSelector();
@@ -58,7 +61,11 @@ GType sp_color_icc_selector_get_type(void);
GtkWidget *sp_color_icc_selector_new(void);
-
+class ColorICCSelectorFactory: public Inkscape::UI::ColorSelectorFactory {
+public:
+ Gtk::Widget* createWidget(Inkscape::UI::SelectedColor &color) const;
+ Glib::ustring modeName() const;
+};
#endif // SEEN_SP_COLOR_ICC_SELECTOR_H
diff --git a/src/widgets/sp-color-notebook.cpp b/src/widgets/sp-color-notebook.cpp
index e081f98e0..367063790 100644
--- a/src/widgets/sp-color-notebook.cpp
+++ b/src/widgets/sp-color-notebook.cpp
@@ -360,7 +360,7 @@ void ColorNotebook::init()
// uncomment to reenable the "show/hide modes" menu,
// but first fix it so it remembers its settings in prefs and does not take that much space (entire vertical column!)
- //gtk_table_attach (GTK_TABLE (table), align, 2, 3, row, row + 1, GTK_FILL, GTK_FILL, XPAD, YPAD);
+ gtk_table_attach (GTK_TABLE (table), align, 2, 3, row, row + 1, GTK_FILL, GTK_FILL, XPAD, YPAD);
g_signal_connect_swapped(G_OBJECT(_btn), "event", G_CALLBACK (sp_color_notebook_menu_handler), G_OBJECT(_csel));
if ( !found )
diff --git a/src/widgets/sp-color-scales.cpp b/src/widgets/sp-color-scales.cpp
index 94950e937..97933d949 100644
--- a/src/widgets/sp-color-scales.cpp
+++ b/src/widgets/sp-color-scales.cpp
@@ -53,6 +53,12 @@ static SPColorSelectorClass *parent_class;
#define noDUMP_CHANGE_INFO 1
+const gchar* ColorScales::SUBMODE_NAMES[] = {
+ N_("RGB"),
+ N_("HSL"),
+ N_("CMYK")
+};
+
GType
sp_color_scales_get_type (void)
{
@@ -754,4 +760,20 @@ sp_color_scales_hue_map (void)
return map;
}
+ColorScalesFactory::ColorScalesFactory(SPColorScalesMode submode)
+ : _submode(submode)
+{
+}
+
+ColorScalesFactory::~ColorScalesFactory() {
+}
+
+Gtk::Widget *ColorScalesFactory::createWidget(Inkscape::UI::SelectedColor &color) const {
+ GtkWidget *w = sp_color_selector_new(SP_TYPE_COLOR_SCALES);
+ Gtk::Widget *wrapped = Glib::wrap(w);
+ return wrapped;
+}
+Glib::ustring ColorScalesFactory::modeName() const {
+ return gettext(ColorScales::SUBMODE_NAMES[_submode]);
+}
diff --git a/src/widgets/sp-color-scales.h b/src/widgets/sp-color-scales.h
index 06b8f3859..946f0935e 100644
--- a/src/widgets/sp-color-scales.h
+++ b/src/widgets/sp-color-scales.h
@@ -15,6 +15,7 @@
#include <color.h>
#include <widgets/sp-color-selector.h>
+#include "ui/selected-color.h"
struct SPColorScales;
struct SPColorScalesClass;
@@ -41,6 +42,8 @@ typedef enum {
class ColorScales: public ColorSelector
{
public:
+ static const gchar* SUBMODE_NAMES[];
+
static gfloat getScaled( const GtkAdjustment *a );
static void setScaled( GtkAdjustment *a, gfloat v);
@@ -108,6 +111,20 @@ GType sp_color_scales_get_type();
GtkWidget *sp_color_scales_new();
+
+class ColorScalesFactory: public Inkscape::UI::ColorSelectorFactory {
+public:
+ ColorScalesFactory(SPColorScalesMode submode);
+ ~ColorScalesFactory();
+
+ Gtk::Widget *createWidget(Inkscape::UI::SelectedColor &color) const;
+ Glib::ustring modeName() const;
+
+private:
+ SPColorScalesMode _submode;
+};
+
+
#endif /* !SEEN_SP_COLOR_SCALES_H */
/*
diff --git a/src/widgets/sp-color-wheel-selector.cpp b/src/widgets/sp-color-wheel-selector.cpp
index 2100f555c..e41a312a1 100644
--- a/src/widgets/sp-color-wheel-selector.cpp
+++ b/src/widgets/sp-color-wheel-selector.cpp
@@ -32,6 +32,9 @@ static SPColorSelectorClass *parent_class;
#define XPAD 4
#define YPAD 1
+
+const gchar* ColorWheelSelector::MODE_NAME = N_("Wheel");
+
GType
sp_color_wheel_selector_get_type (void)
{
@@ -341,6 +344,17 @@ void ColorWheelSelector::_wheelChanged( GimpColorWheel *wheel, SPColorWheelSelec
}
+Gtk::Widget *ColorWheelSelectorFactory::createWidget(Inkscape::UI::SelectedColor &color) const {
+ GtkWidget *w = sp_color_selector_new(SP_TYPE_COLOR_WHEEL_SELECTOR);
+ Gtk::Widget *wrapped = Glib::wrap(w);
+ return wrapped;
+}
+
+Glib::ustring ColorWheelSelectorFactory::modeName() const {
+ return gettext(ColorWheelSelector::MODE_NAME);
+}
+
+
/*
Local Variables:
mode:c++
diff --git a/src/widgets/sp-color-wheel-selector.h b/src/widgets/sp-color-wheel-selector.h
index bb6078906..ad0d11bad 100644
--- a/src/widgets/sp-color-wheel-selector.h
+++ b/src/widgets/sp-color-wheel-selector.h
@@ -13,6 +13,7 @@
#include <gtk/gtk.h>
#include "sp-color-selector.h"
+#include "ui/selected-color.h"
typedef struct _GimpColorWheel GimpColorWheel;
struct SPColorWheelSelector;
@@ -31,6 +32,8 @@ class ColorSlider;
class ColorWheelSelector: public ColorSelector
{
public:
+ static const gchar* MODE_NAME;
+
ColorWheelSelector( SPColorSelector* csel );
virtual ~ColorWheelSelector();
@@ -87,6 +90,12 @@ GType sp_color_wheel_selector_get_type (void);
GtkWidget *sp_color_wheel_selector_new (void);
+class ColorWheelSelectorFactory: public Inkscape::UI::ColorSelectorFactory {
+public:
+ Gtk::Widget *createWidget(Inkscape::UI::SelectedColor &color) const;
+ Glib::ustring modeName() const;
+};
+
#endif // SEEN_SP_COLOR_WHEEL_SELECTOR_H