]> git.sur5r.net Git - glabels/blob - src/field-button.h
Imported Upstream version 3.0.0
[glabels] / src / field-button.h
1 /*
2  *  field-button.h
3  *  Copyright (C) 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_FIELD_BUTTON_H__
22 #define __GL_FIELD_BUTTON_H__
23
24
25 #include <gtk/gtk.h>
26
27
28 G_BEGIN_DECLS
29
30 #define TYPE_GL_FIELD_BUTTON              (gl_field_button_get_type ())
31 #define GL_FIELD_BUTTON(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GL_FIELD_BUTTON, glFieldButton))
32 #define GL_FIELD_BUTTON_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GL_FIELD_BUTTON, glFieldButtonClass))
33 #define IS_GL_FIELD_BUTTON(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GL_FIELD_BUTTON))
34 #define IS_GL_FIELD_BUTTON_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GL_FIELD_BUTTON))
35 #define GL_FIELD_BUTTON_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), TYPE_GL_FIELD_BUTTON, glFieldButtonClass))
36
37
38 typedef struct _glFieldButton          glFieldButton;
39 typedef struct _glFieldButtonPrivate   glFieldButtonPrivate;
40 typedef struct _glFieldButtonClass     glFieldButtonClass;
41
42
43 struct _glFieldButton {
44         GtkToggleButton               parent;
45
46         glFieldButtonPrivate         *priv;
47 };
48
49 struct _glFieldButtonClass {
50         GtkToggleButtonClass          parent_class;
51
52         /*
53          * Signals
54          */
55         void (*key_selected) (glFieldButton *object,
56                               gchar         *key,
57                               gpointer       user_data);
58
59         void (*changed)      (glFieldButton *object,
60                               gpointer       user_data);
61
62 };
63
64
65 GType            gl_field_button_get_type          (void) G_GNUC_CONST;
66
67 GtkWidget       *gl_field_button_new               (const gchar     *name);
68
69 void             gl_field_button_set_keys          (glFieldButton   *this,
70                                                     GList           *key_list);
71
72 void             gl_field_button_set_key           (glFieldButton   *this,
73                                                     const gchar     *key);
74
75 gchar           *gl_field_button_get_key           (glFieldButton   *this);
76
77
78 G_END_DECLS
79
80 #endif /* __GL_COLOR_COMBO_H__ */
81
82
83
84 /*
85  * Local Variables:       -- emacs
86  * mode: C                -- emacs
87  * c-basic-offset: 8      -- emacs
88  * tab-width: 8           -- emacs
89  * indent-tabs-mode: nil  -- emacs
90  * End:                   -- emacs
91  */