]> git.sur5r.net Git - glabels/blob - src/color-combo-button.h
Imported Upstream version 3.0.0
[glabels] / src / color-combo-button.h
1 /*
2  *  color-combo-button.h
3  *  Copyright (C) 2008-2009  Jim Evins <evins@snaught.com>.
4  *
5  *  This file is part of gLabels.
6  *
7  *  gLabels is free software: you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation, either version 3 of the License, or
10  *  (at your option) any later version.
11  *
12  *  gLabels is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *  GNU General Public License for more details.
16  *
17  *  You should have received a copy of the GNU General Public License
18  *  along with gLabels.  If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #ifndef __GL_COLOR_COMBO_BUTTON_H__
22 #define __GL_COLOR_COMBO_BUTTON_H__
23
24
25 #include <gtk/gtk.h>
26
27
28 G_BEGIN_DECLS
29
30 #define TYPE_GL_COLOR_COMBO_BUTTON              (gl_color_combo_button_get_type ())
31 #define GL_COLOR_COMBO_BUTTON(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GL_COLOR_COMBO_BUTTON, glColorComboButton))
32 #define GL_COLOR_COMBO_BUTTON_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GL_COLOR_COMBO_BUTTON, glColorComboButtonClass))
33 #define IS_GL_COLOR_COMBO_BUTTON(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GL_COLOR_COMBO_BUTTON))
34 #define IS_GL_COLOR_COMBO_BUTTON_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GL_COLOR_COMBO_BUTTON))
35 #define GL_COLOR_COMBO_BUTTON_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), TYPE_GL_COLOR_COMBO_BUTTON, glColorComboButtonClass))
36
37
38 typedef struct _glColorComboButton          glColorComboButton;
39 typedef struct _glColorComboButtonPrivate   glColorComboButtonPrivate;
40 typedef struct _glColorComboButtonClass     glColorComboButtonClass;
41
42
43 struct _glColorComboButton {
44         GtkHBox                        parent;
45
46         glColorComboButtonPrivate     *priv;
47 };
48
49 struct _glColorComboButtonClass {
50         GtkHBoxClass                   parent_class;
51
52         /*
53          * Signals
54          */
55         void (*color_changed) (glColorComboButton *object,
56                                guint               color,
57                                gboolean            is_default,
58                                gpointer            user_data);
59
60 };
61
62
63 GType            gl_color_combo_button_get_type       (void) G_GNUC_CONST;
64
65 GtkWidget       *gl_color_combo_button_new            (const gchar        *icon_name,
66                                                        const gchar        *default_label,
67                                                        guint               default_color,
68                                                        guint               color);
69
70 void             gl_color_combo_button_set_color      (glColorComboButton *this,
71                                                        guint               color);
72
73 void             gl_color_combo_button_set_to_default (glColorComboButton *this);
74
75 guint            gl_color_combo_button_get_color      (glColorComboButton *this,
76                                                        gboolean           *is_default);
77
78 void             gl_color_combo_button_set_relief     (glColorComboButton *this,
79                                                        GtkReliefStyle      relief);
80
81
82 G_END_DECLS
83
84 #endif /* __GL_COLOR_COMBO_BUTTON_H__ */
85
86
87
88 /*
89  * Local Variables:       -- emacs
90  * mode: C                -- emacs
91  * c-basic-offset: 8      -- emacs
92  * tab-width: 8           -- emacs
93  * indent-tabs-mode: nil  -- emacs
94  * End:                   -- emacs
95  */