1 #ifndef SEEN_SP_COLOR_WHEEL_SELECTOR_H
2 #define SEEN_SP_COLOR_WHEEL_SELECTOR_H
4 #include <glib/gtypes.h>
5 #include <gtk/gtktooltips.h>
6 #include <gtk/gtkvbox.h>
8 #include "../color.h"
9 #include "sp-color-wheel.h"
10 #include "sp-color-slider.h"
11 #include "sp-color-selector.h"
15 struct SPColorWheelSelector;
16 struct SPColorWheelSelectorClass;
19 class ColorWheelSelector: public ColorSelector
20 {
21 public:
22 ColorWheelSelector( SPColorSelector* csel );
23 virtual ~ColorWheelSelector();
25 virtual void init();
27 protected:
28 virtual void _colorChanged();
30 static void _adjustmentChanged ( GtkAdjustment *adjustment, SPColorWheelSelector *cs );
32 static void _sliderGrabbed( SPColorSlider *slider, SPColorWheelSelector *cs );
33 static void _sliderReleased( SPColorSlider *slider, SPColorWheelSelector *cs );
34 static void _sliderChanged( SPColorSlider *slider, SPColorWheelSelector *cs );
35 static void _wheelChanged( SPColorWheel* wheel, SPColorWheelSelector *cs );
37 static void _fooChanged( GtkWidget foo, SPColorWheelSelector *cs );
39 void _recalcColor( gboolean changing );
41 gboolean _updating : 1;
42 gboolean _dragging : 1;
43 GtkAdjustment* _adj; /* Channel adjustment */
44 GtkWidget* _wheel;
45 GtkWidget* _slider;
46 GtkWidget* _sbtn; /* Spinbutton */
47 GtkWidget* _label; /* Label */
49 GtkTooltips* _tt; /* tooltip container */
51 private:
52 // By default, disallow copy constructor and assignment operator
53 ColorWheelSelector( const ColorWheelSelector& obj );
54 ColorWheelSelector& operator=( const ColorWheelSelector& obj );
55 };
59 #define SP_TYPE_COLOR_WHEEL_SELECTOR (sp_color_wheel_selector_get_type ())
60 #define SP_COLOR_WHEEL_SELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_COLOR_WHEEL_SELECTOR, SPColorWheelSelector))
61 #define SP_COLOR_WHEEL_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_WHEEL_SELECTOR, SPColorWheelSelectorClass))
62 #define SP_IS_COLOR_WHEEL_SELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_COLOR_WHEEL_SELECTOR))
63 #define SP_IS_COLOR_WHEEL_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_WHEEL_SELECTOR))
65 struct SPColorWheelSelector {
66 SPColorSelector parent;
67 };
69 struct SPColorWheelSelectorClass {
70 SPColorSelectorClass parent_class;
71 };
73 GType sp_color_wheel_selector_get_type (void);
75 GtkWidget *sp_color_wheel_selector_new (void);
79 #endif // SEEN_SP_COLOR_WHEEL_SELECTOR_H
81 /*
82 Local Variables:
83 mode:c++
84 c-file-style:"stroustrup"
85 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
86 indent-tabs-mode:nil
87 fill-column:99
88 End:
89 */
90 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :