2 * gtkcols.h - header file for a columns-based widget container
\r
3 * capable of supporting the PuTTY portable dialog box layout
\r
10 #include <gdk/gdk.h>
\r
11 #include <gtk/gtkcontainer.h>
\r
15 #endif /* __cplusplus */
\r
17 #define TYPE_COLUMNS (columns_get_type())
\r
18 #define COLUMNS(obj) (GTK_CHECK_CAST((obj), TYPE_COLUMNS, Columns))
\r
19 #define COLUMNS_CLASS(klass) \
\r
20 (GTK_CHECK_CLASS_CAST((klass), TYPE_COLUMNS, ColumnsClass))
\r
21 #define IS_COLUMNS(obj) (GTK_CHECK_TYPE((obj), TYPE_COLUMNS))
\r
22 #define IS_COLUMNS_CLASS(klass) (GTK_CHECK_CLASS_TYPE((klass), TYPE_COLUMNS))
\r
24 typedef struct Columns_tag Columns;
\r
25 typedef struct ColumnsClass_tag ColumnsClass;
\r
26 typedef struct ColumnsChild_tag ColumnsChild;
\r
28 struct Columns_tag {
\r
29 GtkContainer container;
\r
30 /* private after here */
\r
31 GList *children; /* this holds ColumnsChild structures */
\r
32 GList *taborder; /* this just holds GtkWidgets */
\r
36 struct ColumnsClass_tag {
\r
37 GtkContainerClass parent_class;
\r
40 struct ColumnsChild_tag {
\r
41 /* If `widget' is non-NULL, this entry represents an actual widget. */
\r
43 gint colstart, colspan;
\r
44 gboolean force_left; /* for recalcitrant GtkLabels */
\r
45 /* Otherwise, this entry represents a change in the column setup. */
\r
50 GtkType columns_get_type(void);
\r
51 GtkWidget *columns_new(gint spacing);
\r
52 void columns_set_cols(Columns *cols, gint ncols, const gint *percentages);
\r
53 void columns_add(Columns *cols, GtkWidget *child,
\r
54 gint colstart, gint colspan);
\r
55 void columns_taborder_last(Columns *cols, GtkWidget *child);
\r
56 void columns_force_left_align(Columns *cols, GtkWidget *child);
\r
60 #endif /* __cplusplus */
\r
62 #endif /* COLUMNS_H */
\r