00001
00002
00003 #ifndef _LIBGNOMEUIMM_COLOR_PICKER_H
00004 #define _LIBGNOMEUIMM_COLOR_PICKER_H
00005
00006 #include <glibmm.h>
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #include <gtkmm/button.h>
00034
00035
00036 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00037 typedef struct _GnomeColorPicker GnomeColorPicker;
00038 typedef struct _GnomeColorPickerClass GnomeColorPickerClass;
00039 #endif
00040
00041
00042 namespace Gnome
00043 {
00044
00045 namespace UI
00046 { class ColorPicker_Class; }
00047
00048 }
00049 namespace Gnome
00050 {
00051
00052 namespace UI
00053 {
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068 class ColorPicker : public Gtk::Button
00069 {
00070 public:
00071 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00072 typedef ColorPicker CppObjectType;
00073 typedef ColorPicker_Class CppClassType;
00074 typedef GnomeColorPicker BaseObjectType;
00075 typedef GnomeColorPickerClass BaseClassType;
00076 #endif
00077
00078 virtual ~ColorPicker();
00079
00080 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00081
00082 private:
00083 friend class ColorPicker_Class;
00084 static CppClassType colorpicker_class_;
00085
00086
00087 ColorPicker(const ColorPicker&);
00088 ColorPicker& operator=(const ColorPicker&);
00089
00090 protected:
00091 explicit ColorPicker(const Glib::ConstructParams& construct_params);
00092 explicit ColorPicker(GnomeColorPicker* castitem);
00093
00094 #endif
00095
00096 public:
00097 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00098 static GType get_type() G_GNUC_CONST;
00099 static GType get_base_type() G_GNUC_CONST;
00100 #endif
00101
00103 GnomeColorPicker* gobj() { return reinterpret_cast<GnomeColorPicker*>(gobject_); }
00104
00106 const GnomeColorPicker* gobj() const { return reinterpret_cast<GnomeColorPicker*>(gobject_); }
00107
00108
00109 public:
00110
00111
00112 protected:
00113
00114
00115
00116 virtual void on_color_set(guint r, guint g, guint b, guint a);
00117
00118
00119 private:
00120
00121 public:
00122 ColorPicker();
00123
00124
00125 void set(double r, double g, double b, double a);
00126
00127
00128 void set(guint8 r, guint8 g, guint8 b, guint8 a);
00129
00130
00131 void set(gushort r, gushort g, gushort b, gushort a);
00132
00133
00134 void get(double& r, double& g, double& b, double& a) const;
00135
00136 void get(guint8& r, guint8& g, guint8& b, guint8& a) const;
00137
00138 void get(gushort& r, gushort& g, gushort& b, gushort& a) const;
00139
00140
00141 void set_dither(bool dither = true);
00142
00143 bool get_dither() const;
00144
00145
00146 void set_use_alpha(bool use_alpha = true);
00147
00148 bool get_use_alpha() const;
00149
00150
00151 void set_title(const Glib::ustring& title);
00152
00153 Glib::ustring get_title() const;
00154
00155
00160 Glib::SignalProxy4<void,guint,guint,guint,guint> signal_color_set();
00161
00162
00168 Glib::PropertyProxy<bool> property_dither();
00169
00175 Glib::PropertyProxy<bool> property_use_alpha();
00176
00182 Glib::PropertyProxy<Glib::ustring> property_title();
00183
00189 Glib::PropertyProxy<guint> property_red();
00190
00196 Glib::PropertyProxy<guint> property_green();
00197
00203 Glib::PropertyProxy<guint> property_blue();
00204
00210 Glib::PropertyProxy<guint> property_alpha();
00211
00212
00213 };
00214
00215 }
00216 }
00217
00218 namespace Glib
00219 {
00221 Gnome::UI::ColorPicker* wrap(GnomeColorPicker* object, bool take_copy = false);
00222 }
00223 #endif
00224