diff options
| author | Tomasz Boczkowski <penginsbacon@gmail.com> | 2014-05-30 11:28:00 +0000 |
|---|---|---|
| committer | Tomasz Boczkowski <penginsbacon@gmail.com> | 2014-05-30 11:28:00 +0000 |
| commit | e373a552e457bb9aec3a31cf7d3fd01ded3f330d (patch) | |
| tree | 369455c369f3115bd16d4f2308afc85b151597b0 | |
| parent | SPColorSelector c++-sification: added SelectedColor class (diff) | |
| download | inkscape-e373a552e457bb9aec3a31cf7d3fd01ded3f330d.tar.gz inkscape-e373a552e457bb9aec3a31cf7d3fd01ded3f330d.zip | |
SPColorSelector c++-sification: added ColorSelectorFactory
(bzr r13341.6.27)
| -rw-r--r-- | src/ui/selected-color.cpp | 6 | ||||
| -rw-r--r-- | src/ui/selected-color.h | 20 | ||||
| -rw-r--r-- | src/widgets/sp-color-icc-selector.cpp | 11 | ||||
| -rw-r--r-- | src/widgets/sp-color-icc-selector.h | 9 | ||||
| -rw-r--r-- | src/widgets/sp-color-notebook.cpp | 2 | ||||
| -rw-r--r-- | src/widgets/sp-color-scales.cpp | 22 | ||||
| -rw-r--r-- | src/widgets/sp-color-scales.h | 17 | ||||
| -rw-r--r-- | src/widgets/sp-color-wheel-selector.cpp | 14 | ||||
| -rw-r--r-- | src/widgets/sp-color-wheel-selector.h | 9 |
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 |
