]> asedeno.scripts.mit.edu Git - PuTTY.git/blob - unix/gtkpanel.h
Fiddly things involving pruning .svn directories, not mentioning
[PuTTY.git] / unix / gtkpanel.h
1 /*
2  * gtkpanel.h - header file for a panel-based widget container,
3  * which holds a number of widgets of which at most one is ever
4  * visible at a time, and sizes itself to the maximum of its
5  * children's potential size requests.
6  */
7
8 #ifndef PANELS_H
9 #define PANELS_H
10
11 #include <gdk/gdk.h>
12 #include <gtk/gtkcontainer.h>
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif /* __cplusplus */
17
18 #define TYPE_PANELS (panels_get_type())
19 #define PANELS(obj) (GTK_CHECK_CAST((obj), TYPE_PANELS, Panels))
20 #define PANELS_CLASS(klass) \
21                 (GTK_CHECK_CLASS_CAST((klass), TYPE_PANELS, PanelsClass))
22 #define IS_PANELS(obj) (GTK_CHECK_TYPE((obj), TYPE_PANELS))
23 #define IS_PANELS_CLASS(klass) (GTK_CHECK_CLASS_TYPE((klass), TYPE_PANELS))
24
25 typedef struct Panels_tag Panels;
26 typedef struct PanelsClass_tag PanelsClass;
27 typedef struct PanelsChild_tag PanelsChild;
28
29 struct Panels_tag {
30     GtkContainer container;
31     /* private after here */
32     GList *children;                   /* this just holds GtkWidgets */
33 };
34
35 struct PanelsClass_tag {
36     GtkContainerClass parent_class;
37 };
38
39 GtkType panels_get_type(void);
40 GtkWidget *panels_new(void);
41 void panels_add(Panels *panels, GtkWidget *child);
42 void panels_switch_to(Panels *panels, GtkWidget *child);
43
44 #ifdef __cplusplus
45 }
46 #endif /* __cplusplus */
47
48 #endif /* PANELS_H */