d9b15094 |
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 */ |