| |
1 /* gtkcelllayout.h |
| |
2 * Copyright (C) 2003 Kristian Rietveld <kris@gtk.org> |
| |
3 * |
| |
4 * This library is free software; you can redistribute it and/or |
| |
5 * modify it under the terms of the GNU Library General Public |
| |
6 * License as published by the Free Software Foundation; either |
| |
7 * version 2 of the License, or (at your option) any later version. |
| |
8 * |
| |
9 * This library 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 GNU |
| |
12 * Library General Public License for more details. |
| |
13 * |
| |
14 * You should have received a copy of the GNU Library General Public |
| |
15 * License along with this library; if not, write to the |
| |
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
| |
17 * Boston, MA 02111-1307, USA. |
| |
18 */ |
| |
19 |
| |
20 #ifndef __GTK_CELL_LAYOUT_H__ |
| |
21 #define __GTK_CELL_LAYOUT_H__ |
| |
22 |
| |
23 #include <glib-object.h> |
| |
24 |
| |
25 #include <gtk/gtkcellrenderer.h> |
| |
26 #include <gtk/gtktreeviewcolumn.h> |
| |
27 |
| |
28 G_BEGIN_DECLS |
| |
29 |
| |
30 #define GTK_TYPE_CELL_LAYOUT (gtk_cell_layout_get_type ()) |
| |
31 #define GTK_CELL_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_LAYOUT, GtkCellLayout)) |
| |
32 #define GTK_IS_CELL_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_LAYOUT)) |
| |
33 #define GTK_CELL_LAYOUT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_CELL_LAYOUT, GtkCellLayoutIface)) |
| |
34 |
| |
35 typedef struct _GtkCellLayout GtkCellLayout; /* dummy typedef */ |
| |
36 typedef struct _GtkCellLayoutIface GtkCellLayoutIface; |
| |
37 |
| |
38 /* keep in sync with GtkTreeCellDataFunc */ |
| |
39 typedef void (* GtkCellLayoutDataFunc) (GtkCellLayout *cell_layout, |
| |
40 GtkCellRenderer *cell, |
| |
41 GtkTreeModel *tree_model, |
| |
42 GtkTreeIter *iter, |
| |
43 gpointer data); |
| |
44 |
| |
45 struct _GtkCellLayoutIface |
| |
46 { |
| |
47 GTypeInterface g_iface; |
| |
48 |
| |
49 /* Virtual Table */ |
| |
50 void (* pack_start) (GtkCellLayout *cell_layout, |
| |
51 GtkCellRenderer *cell, |
| |
52 gboolean expand); |
| |
53 void (* pack_end) (GtkCellLayout *cell_layout, |
| |
54 GtkCellRenderer *cell, |
| |
55 gboolean expand); |
| |
56 void (* clear) (GtkCellLayout *cell_layout); |
| |
57 void (* add_attribute) (GtkCellLayout *cell_layout, |
| |
58 GtkCellRenderer *cell, |
| |
59 const gchar *attribute, |
| |
60 gint column); |
| |
61 void (* set_cell_data_func) (GtkCellLayout *cell_layout, |
| |
62 GtkCellRenderer *cell, |
| |
63 GtkCellLayoutDataFunc func, |
| |
64 gpointer func_data, |
| |
65 GDestroyNotify destroy); |
| |
66 void (* clear_attributes) (GtkCellLayout *cell_layout, |
| |
67 GtkCellRenderer *cell); |
| |
68 void (* reorder) (GtkCellLayout *cell_layout, |
| |
69 GtkCellRenderer *cell, |
| |
70 gint position); |
| |
71 }; |
| |
72 |
| |
73 GType gtk_cell_layout_get_type (void); |
| |
74 void gtk_cell_layout_pack_start (GtkCellLayout *cell_layout, |
| |
75 GtkCellRenderer *cell, |
| |
76 gboolean expand); |
| |
77 void gtk_cell_layout_pack_end (GtkCellLayout *cell_layout, |
| |
78 GtkCellRenderer *cell, |
| |
79 gboolean expand); |
| |
80 void gtk_cell_layout_clear (GtkCellLayout *cell_layout); |
| |
81 void gtk_cell_layout_set_attributes (GtkCellLayout *cell_layout, |
| |
82 GtkCellRenderer *cell, |
| |
83 ...); |
| |
84 void gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout, |
| |
85 GtkCellRenderer *cell, |
| |
86 const gchar *attribute, |
| |
87 gint column); |
| |
88 void gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout, |
| |
89 GtkCellRenderer *cell, |
| |
90 GtkCellLayoutDataFunc func, |
| |
91 gpointer func_data, |
| |
92 GDestroyNotify destroy); |
| |
93 void gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout, |
| |
94 GtkCellRenderer *cell); |
| |
95 void gtk_cell_layout_reorder (GtkCellLayout *cell_layout, |
| |
96 GtkCellRenderer *cell, |
| |
97 gint position); |
| |
98 |
| |
99 |
| |
100 G_END_DECLS |
| |
101 |
| |
102 #endif /* __GTK_CELL_LAYOUT_H__ */ |