Avoid crash when attempting to open files with invalid encoding
[pspp] / src / ui / gui / psppire-buttonbox.h
1 /* PSPPIRE - a graphical user interface for PSPP.
2    Copyright (C) 2007, 2010, 2011, 2012  Free Software Foundation
3
4    This program is free software: you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation, either version 3 of the License, or
7    (at your option) any later version.
8
9    This program 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
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
16
17
18 #ifndef __PSPPIRE_BUTTONBOX_H__
19 #define __PSPPIRE_BUTTONBOX_H__
20
21
22 #include <glib.h>
23 #include <glib-object.h>
24 #include <gtk/gtk.h>
25
26 G_BEGIN_DECLS
27
28 #define PSPPIRE_BUTTONBOX_TYPE            (psppire_button_box_get_type ())
29 #define PSPPIRE_BUTTONBOX(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PSPPIRE_BUTTONBOX_TYPE, PsppireButtonBox))
30 #define PSPPIRE_BUTTONBOX_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PSPPIRE_BUTTONBOX_TYPE, PsppireButtonBoxClass))
31 #define PSPPIRE_IS_BUTTONBOX(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PSPPIRE_BUTTONBOX_TYPE))
32 #define PSPPIRE_IS_BUTTONBOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PSPPIRE_BUTTONBOX_TYPE))
33
34
35 typedef struct _PsppireButtonBox       PsppireButtonBox;
36 typedef struct _PsppireButtonBoxClass  PsppireButtonBoxClass;
37
38 enum
39   {
40     PSPPIRE_BUTTON_OK = 0,
41     PSPPIRE_BUTTON_GOTO,
42     PSPPIRE_BUTTON_CONTINUE,
43     PSPPIRE_BUTTON_CANCEL,
44     PSPPIRE_BUTTON_CLOSE,
45     PSPPIRE_BUTTON_HELP,
46     PSPPIRE_BUTTON_RESET,
47     PSPPIRE_BUTTON_PASTE,
48     n_PsppireButtonBoxButtons
49   };
50
51 struct _PsppireButtonBox
52 {
53   GtkButtonBox parent;
54
55   /* <private> */
56   GtkWidget *button[n_PsppireButtonBoxButtons];
57   guint def;
58 };
59
60 struct _PsppireButtonBoxClass
61 {
62   GtkButtonBoxClass parent_class;
63 };
64
65 GType          psppire_button_box_get_type        (void);
66
67
68 /* Internal function.  Do not use */
69 void
70 _psppire_button_box_child_requisition (GtkWidget *widget,
71                                        int       *nvis_children,
72                                        int       *nvis_secondaries,
73                                        int       *width,
74                                        int       *height);
75
76 #define PSPPIRE_TYPE_BUTTON_MASK psppire_button_flags_get_type()
77
78 G_END_DECLS
79
80 #endif /* __PSPPIRE_BUTTONBOX_H__ */
81