1 /*
2  * Copyright © 2014 Red Hat, Inc.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the licence, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16  *
17  * Author: Matthias Clasen
18  */
19 
20 #ifndef __GTK_MODEL_BUTTON_PRIVATE_H__
21 #define __GTK_MODEL_BUTTON_PRIVATE_H__
22 
23 #include <gtk/gtkwidget.h>
24 
25 G_BEGIN_DECLS
26 
27 #define GTK_TYPE_MODEL_BUTTON         (gtk_model_button_get_type ())
28 #define GTK_MODEL_BUTTON(inst)        (G_TYPE_CHECK_INSTANCE_CAST ((inst),                      \
29                                       GTK_TYPE_MODEL_BUTTON, GtkModelButton))
30 #define GTK_IS_MODEL_BUTTON(inst)     (G_TYPE_CHECK_INSTANCE_TYPE ((inst),                      \
31                                       GTK_TYPE_MODEL_BUTTON))
32 
33 typedef struct _GtkModelButton        GtkModelButton;
34 
35 /**
36  * GtkButtonRole:
37  * @GTK_BUTTON_ROLE_NORMAL: A plain button
38  * @GTK_BUTTON_ROLE_CHECK: A check button
39  * @GTK_BUTTON_ROLE_RADIO: A radio button
40  * @GTK_BUTTON_ROLE_TITLE: The title for a submenu
41  *
42  * The role specifies the desired appearance of a GtkModelButton.
43  */
44 typedef enum {
45   GTK_BUTTON_ROLE_NORMAL,
46   GTK_BUTTON_ROLE_CHECK,
47   GTK_BUTTON_ROLE_RADIO,
48   GTK_BUTTON_ROLE_TITLE
49 } GtkButtonRole;
50 
51 #define GTK_TYPE_BUTTON_ROLE         (gtk_button_role_get_type ())
52 GType       gtk_button_role_get_type (void) G_GNUC_CONST;
53 
54 GType       gtk_model_button_get_type (void) G_GNUC_CONST;
55 
56 GtkWidget * gtk_model_button_new      (void);
57 
58 G_END_DECLS
59 
60 #endif /* __GTK_MODEL_BUTTON_PRIVATE_H__ */
61