2 * e-table-specification.h
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
10 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program; if not, see <http://www.gnu.org/licenses/>.
18 #if !defined (__E_UTIL_H_INSIDE__) && !defined (LIBEUTIL_COMPILATION)
19 #error "Only <e-util/e-util.h> should be included directly."
22 #ifndef E_TABLE_SPECIFICATION_H
23 #define E_TABLE_SPECIFICATION_H
25 #include <e-util/e-selection-model.h>
26 #include <e-util/e-table-column-specification.h>
27 #include <e-util/e-table-defines.h>
28 #include <e-util/e-table-state.h>
30 /* Standard GObject macros */
31 #define E_TYPE_TABLE_SPECIFICATION \
32 (e_table_specification_get_type ())
33 #define E_TABLE_SPECIFICATION(obj) \
34 (G_TYPE_CHECK_INSTANCE_CAST \
35 ((obj), E_TYPE_TABLE_SPECIFICATION, ETableSpecification))
36 #define E_TABLE_SPECIFICATION_CLASS(cls) \
37 (G_TYPE_CHECK_CLASS_CAST \
38 ((cls), E_TYPE_TABLE_SPECIFICATION, ETableSpecificationClass))
39 #define E_IS_TABLE_SPECIFICATION(obj) \
40 (G_TYPE_CHECK_INSTANCE_TYPE \
41 ((obj), E_TYPE_TABLE_SPECIFICATION))
42 #define E_IS_TABLE_SPECIFICATION_CLASS(cls) \
43 (G_TYPE_CHECK_CLASS_TYPE \
44 ((cls), E_TYPE_TABLE_SPECIFICATION))
45 #define E_TABLE_SPECIFICATION_GET_CLASS(obj) \
46 (G_TYPE_INSTANCE_GET_CLASS \
47 ((obj), E_TYPE_TABLE_SPECIFICATION, ETableSpecificationClass))
51 typedef struct _ETableSpecification ETableSpecification
;
52 typedef struct _ETableSpecificationClass ETableSpecificationClass
;
53 typedef struct _ETableSpecificationPrivate ETableSpecificationPrivate
;
55 struct _ETableSpecification
{
57 ETableSpecificationPrivate
*priv
;
61 gboolean alternating_row_colors
;
63 gboolean click_to_add
;
64 gboolean click_to_add_end
;
65 gboolean horizontal_draw_grid
;
66 gboolean vertical_draw_grid
;
68 gboolean horizontal_scrolling
;
69 gboolean horizontal_resize
;
70 gboolean allow_grouping
;
71 GtkSelectionMode selection_mode
;
72 ECursorMode cursor_mode
;
74 gchar
*click_to_add_message
;
78 struct _ETableSpecificationClass
{
79 GObjectClass parent_class
;
82 GType
e_table_specification_get_type (void) G_GNUC_CONST
;
84 e_table_specification_new (const gchar
*filename
,
86 const gchar
* e_table_specification_get_filename
87 (ETableSpecification
*specification
);
88 GPtrArray
* e_table_specification_ref_columns
89 (ETableSpecification
*specification
);
90 gint e_table_specification_get_column_index
91 (ETableSpecification
*specification
,
92 ETableColumnSpecification
*column_spec
);
96 #endif /* E_TABLE_SPECIFICATION_H */