1 /*
2  *
3  * This program is free software; you can redistribute it and/or modify it
4  * under the terms of the GNU Lesser General Public License as published by
5  * the Free Software Foundation.
6  *
7  * This program is distributed in the hope that it will be useful, but
8  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
9  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
10  * for more details.
11  *
12  * You should have received a copy of the GNU Lesser General Public License
13  * along with this program; if not, see <http://www.gnu.org/licenses/>.
14  *
15  *
16  * Authors:
17  *		Chris Lahey <clahey@ximian.com>
18  *
19  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
20  *
21  */
22 
23 #if !defined (__E_UTIL_H_INSIDE__) && !defined (LIBEUTIL_COMPILATION)
24 #error "Only <e-util/e-util.h> should be included directly."
25 #endif
26 
27 #ifndef E_TABLE_EXTRAS_H
28 #define E_TABLE_EXTRAS_H
29 
30 #include <gdk-pixbuf/gdk-pixbuf.h>
31 #include <e-util/e-cell.h>
32 
33 /* Standard GObject macros */
34 #define E_TYPE_TABLE_EXTRAS \
35 	(e_table_extras_get_type ())
36 #define E_TABLE_EXTRAS(obj) \
37 	(G_TYPE_CHECK_INSTANCE_CAST \
38 	((obj), E_TYPE_TABLE_EXTRAS, ETableExtras))
39 #define E_TABLE_EXTRAS_CLASS(cls) \
40 	(G_TYPE_CHECK_CLASS_CAST \
41 	((cls), E_TYPE_TABLE_EXTRAS, ETableExtrasClass))
42 #define E_IS_TABLE_EXTRAS(obj) \
43 	(G_TYPE_CHECK_INSTANCE_TYPE \
44 	((obj), E_TYPE_TABLE_EXTRAS))
45 #define E_IS_TABLE_EXTRAS_CLASS(cls) \
46 	(G_TYPE_CHECK_CLASS_TYPE \
47 	((cls), E_TYPE_TABLE_EXTRAS))
48 #define E_TABLE_EXTRAS_GET_CLASS(obj) \
49 	(G_TYPE_INSTANCE_GET_CLASS \
50 	((obj), E_TYPE_TABLE_EXTRAS, ETableExtrasClass))
51 
52 G_BEGIN_DECLS
53 
54 typedef struct _ETableExtras ETableExtras;
55 typedef struct _ETableExtrasClass ETableExtrasClass;
56 typedef struct _ETableExtrasPrivate ETableExtrasPrivate;
57 
58 struct _ETableExtras {
59 	GObject parent;
60 	ETableExtrasPrivate *priv;
61 };
62 
63 struct _ETableExtrasClass {
64 	GObjectClass parent_class;
65 };
66 
67 GType		e_table_extras_get_type		(void) G_GNUC_CONST;
68 ETableExtras *	e_table_extras_new		(void);
69 void		e_table_extras_add_cell		(ETableExtras *extras,
70 						 const gchar *id,
71 						 ECell *cell);
72 ECell *		e_table_extras_get_cell		(ETableExtras *extras,
73 						 const gchar *id);
74 void		e_table_extras_add_compare	(ETableExtras *extras,
75 						 const gchar *id,
76 						 GCompareDataFunc compare);
77 GCompareDataFunc
78 		e_table_extras_get_compare	(ETableExtras *extras,
79 						 const gchar *id);
80 void		e_table_extras_add_search	(ETableExtras *extras,
81 						 const gchar *id,
82 						 ETableSearchFunc search);
83 ETableSearchFunc
84 		e_table_extras_get_search	(ETableExtras *extras,
85 						 const gchar *id);
86 void		e_table_extras_add_icon_name	(ETableExtras *extras,
87 						 const gchar *id,
88 						 const gchar *icon_name);
89 const gchar *	e_table_extras_get_icon_name	(ETableExtras *extras,
90 						 const gchar *id);
91 
92 G_END_DECLS
93 
94 #endif /* E_TABLE_EXTRAS_H */
95