1/* gtkcellareabox.h
2 *
3 * Copyright (C) 2010 Openismus GmbH
4 *
5 * Authors:
6 * Tristan Van Berkom <tristanvb@openismus.com>
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Library General Public License for more details.
17 *
18 * You should have received a copy of the GNU Library General Public
19 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
20 */
21
22#ifndef __GTK_CELL_AREA_BOX_H__
23#define __GTK_CELL_AREA_BOX_H__
24
25#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
26#error "Only <gtk/gtk.h> can be included directly."
27#endif
28
29#include <gtk/gtkcellarea.h>
30
31G_BEGIN_DECLS
32
33#define GTK_TYPE_CELL_AREA_BOX (gtk_cell_area_box_get_type ())
34#define GTK_CELL_AREA_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBox))
35#define GTK_CELL_AREA_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBoxClass))
36#define GTK_IS_CELL_AREA_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX))
37#define GTK_IS_CELL_AREA_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_BOX))
38#define GTK_CELL_AREA_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBoxClass))
39
40typedef struct _GtkCellAreaBox GtkCellAreaBox;
41typedef struct _GtkCellAreaBoxClass GtkCellAreaBoxClass;
42typedef struct _GtkCellAreaBoxPrivate GtkCellAreaBoxPrivate;
43
44struct _GtkCellAreaBox
45{
46 /*< private >*/
47 GtkCellArea parent_instance;
48
49 GtkCellAreaBoxPrivate *priv;
50};
51
52/**
53 * GtkCellAreaBoxClass:
54 */
55struct _GtkCellAreaBoxClass
56{
57 /*< private >*/
58 GtkCellAreaClass parent_class;
59
60 /* Padding for future expansion */
61 void (*_gtk_reserved1) (void);
62 void (*_gtk_reserved2) (void);
63 void (*_gtk_reserved3) (void);
64 void (*_gtk_reserved4) (void);
65};
66
67GDK_AVAILABLE_IN_ALL
68GType gtk_cell_area_box_get_type (void) G_GNUC_CONST;
69
70GDK_AVAILABLE_IN_ALL
71GtkCellArea *gtk_cell_area_box_new (void);
72GDK_AVAILABLE_IN_ALL
73void gtk_cell_area_box_pack_start (GtkCellAreaBox *box,
74 GtkCellRenderer *renderer,
75 gboolean expand,
76 gboolean align,
77 gboolean fixed);
78GDK_AVAILABLE_IN_ALL
79void gtk_cell_area_box_pack_end (GtkCellAreaBox *box,
80 GtkCellRenderer *renderer,
81 gboolean expand,
82 gboolean align,
83 gboolean fixed);
84GDK_AVAILABLE_IN_ALL
85gint gtk_cell_area_box_get_spacing (GtkCellAreaBox *box);
86GDK_AVAILABLE_IN_ALL
87void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box,
88 gint spacing);
89
90/* Private interaction with GtkCellAreaBoxContext */
91gboolean _gtk_cell_area_box_group_visible (GtkCellAreaBox *box,
92 gint group_idx);
93
94G_END_DECLS
95
96#endif /* __GTK_CELL_AREA_BOX_H__ */
97