]> Pileus Git - ~andy/gtk/blob - gtk/gtkbutton.h
ec72c99f784fa56b01d2bde4810ee603ce2bd55d
[~andy/gtk] / gtk / gtkbutton.h
1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, 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  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the Free
16  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17  */
18 #ifndef __GTK_BUTTON_H__
19 #define __GTK_BUTTON_H__
20
21
22 #include <gdk/gdk.h>
23 #include <gtk/gtkcontainer.h>
24
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29
30
31 #define GTK_BUTTON(obj)          GTK_CHECK_CAST (obj, gtk_button_get_type (), GtkButton)
32 #define GTK_BUTTON_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_button_get_type (), GtkButtonClass)
33 #define GTK_IS_BUTTON(obj)       GTK_CHECK_TYPE (obj, gtk_button_get_type ())
34
35
36 typedef struct _GtkButton       GtkButton;
37 typedef struct _GtkButtonClass  GtkButtonClass;
38
39 struct _GtkButton
40 {
41   GtkContainer container;
42
43   GtkWidget *child;
44
45   guint in_button : 1;
46   guint button_down : 1;
47 };
48
49 struct _GtkButtonClass
50 {
51   GtkContainerClass parent_class;
52
53   void (* pressed)  (GtkButton *button);
54   void (* released) (GtkButton *button);
55   void (* clicked)  (GtkButton *button);
56   void (* enter)    (GtkButton *button);
57   void (* leave)    (GtkButton *button);
58 };
59
60
61 guint      gtk_button_get_type       (void);
62 GtkWidget* gtk_button_new            (void);
63 GtkWidget* gtk_button_new_with_label (const gchar *label);
64 void       gtk_button_pressed        (GtkButton *button);
65 void       gtk_button_released       (GtkButton *button);
66 void       gtk_button_clicked        (GtkButton *button);
67 void       gtk_button_enter          (GtkButton *button);
68 void       gtk_button_leave          (GtkButton *button);
69
70
71 #ifdef __cplusplus
72 }
73 #endif /* __cplusplus */
74
75
76 #endif /* __GTK_BUTTON_H__ */