gui: Factor out duplicated code for executing and pasting syntax.
[pspp] / src / ui / gui / psppire-buttonbox.h
1 /* PSPPIRE - a graphical user interface for PSPP.
2    Copyright (C) 2007  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/gtkbbox.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_HELP,
45     PSPPIRE_BUTTON_RESET,
46     PSPPIRE_BUTTON_PASTE,
47     n_PsppireButtonBoxButtons
48   };
49
50 struct _PsppireButtonBox
51 {
52   GtkButtonBox parent;
53
54   /* <private> */
55   GtkWidget *button[n_PsppireButtonBoxButtons];
56 };
57
58 struct _PsppireButtonBoxClass
59 {
60   GtkButtonBoxClass parent_class;
61 };
62
63 GType          psppire_button_box_get_type        (void);
64
65
66 /* Internal function.  Do not use */
67 void
68 _psppire_button_box_child_requisition (GtkWidget *widget,
69                                        int       *nvis_children,
70                                        int       *nvis_secondaries,
71                                        int       *width,
72
73
74 #define PSPPIRE_TYPE_BUTTON_MASK \
75   (psppire_button_flags_get_type())
76                                        int       *height);
77
78 G_END_DECLS
79
80 #endif /* __PSPPIRE_BUTTONBOX_H__ */
81