aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-group.h
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-table-group.h')
-rw-r--r--widgets/table/e-table-group.h271
1 files changed, 163 insertions, 108 deletions
diff --git a/widgets/table/e-table-group.h b/widgets/table/e-table-group.h
index 157c70756a..5731dfdeaf 100644
--- a/widgets/table/e-table-group.h
+++ b/widgets/table/e-table-group.h
@@ -7,7 +7,7 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
@@ -32,15 +32,31 @@
#include <e-util/e-util.h>
#include <misc/e-printable.h>
+/* Standard GObject macros */
+#define E_TYPE_TABLE_GROUP \
+ (e_table_group_get_type ())
+#define E_TABLE_GROUP(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), E_TYPE_TABLE_GROUP, ETableGroup))
+#define E_TABLE_GROUP_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_CAST \
+ ((cls), E_TYPE_TABLE_GROUP, ETableGroupClass))
+#define E_IS_TABLE_GROUP(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), E_TYPE_TABLE_GROUP))
+#define E_IS_TABLE_GROUP_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_TYPE \
+ ((cls), E_TYPE_TABLE_GROUP))
+#define E_TABLE_GROUP_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), E_TYPE_TABLE_GROUP, ETableGroupClass))
+
G_BEGIN_DECLS
-#define E_TABLE_GROUP_TYPE (e_table_group_get_type ())
-#define E_TABLE_GROUP(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_GROUP_TYPE, ETableGroup))
-#define E_TABLE_GROUP_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TABLE_GROUP_TYPE, ETableGroupClass))
-#define E_IS_TABLE_GROUP(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TABLE_GROUP_TYPE))
-#define E_IS_TABLE_GROUP_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TABLE_GROUP_TYPE))
+typedef struct _ETableGroup ETableGroup;
+typedef struct _ETableGroupClass ETableGroupClass;
-typedef struct {
+struct _ETableGroup {
GnomeCanvasGroup group;
/*
@@ -63,119 +79,158 @@ typedef struct {
guint has_focus : 1;
guint frozen : 1;
-} ETableGroup;
+};
-typedef struct {
+struct _ETableGroupClass {
GnomeCanvasGroupClass parent_class;
/* Signals */
- void (*cursor_change) (ETableGroup *etg, gint row);
- void (*cursor_activated) (ETableGroup *etg, gint row);
- void (*double_click) (ETableGroup *etg, gint row, gint col, GdkEvent *event);
- gboolean (*right_click) (ETableGroup *etg, gint row, gint col, GdkEvent *event);
- gboolean (*click) (ETableGroup *etg, gint row, gint col, GdkEvent *event);
- gboolean (*key_press) (ETableGroup *etg, gint row, gint col, GdkEvent *event);
- gint (*start_drag) (ETableGroup *etg, gint row, gint col, GdkEvent *event);
+ void (*cursor_change) (ETableGroup *etg,
+ gint row);
+ void (*cursor_activated) (ETableGroup *etg,
+ gint row);
+ void (*double_click) (ETableGroup *etg,
+ gint row,
+ gint col,
+ GdkEvent *event);
+ gboolean (*right_click) (ETableGroup *etg,
+ gint row,
+ gint col,
+ GdkEvent *event);
+ gboolean (*click) (ETableGroup *etg,
+ gint row,
+ gint col,
+ GdkEvent *event);
+ gboolean (*key_press) (ETableGroup *etg,
+ gint row,
+ gint col,
+ GdkEvent *event);
+ gint (*start_drag) (ETableGroup *etg,
+ gint row,
+ gint col,
+ GdkEvent *event);
/* Virtual functions. */
- void (*add) (ETableGroup *etg, gint row);
- void (*add_array) (ETableGroup *etg, const gint *array, gint count);
- void (*add_all) (ETableGroup *etg);
- gboolean (*remove) (ETableGroup *etg, gint row);
- gint (*row_count) (ETableGroup *etg);
- void (*increment) (ETableGroup *etg, gint position, gint amount);
- void (*decrement) (ETableGroup *etg, gint position, gint amount);
- void (*set_focus) (ETableGroup *etg, EFocus direction, gint view_col);
- gboolean (*get_focus) (ETableGroup *etg);
- gint (*get_focus_column) (ETableGroup *etg);
- EPrintable *(*get_printable) (ETableGroup *etg);
- void (*compute_location) (ETableGroup *etg, gint *x, gint *y, gint *row, gint *col);
- void (*get_mouse_over) (ETableGroup *etg, gint *row, gint *col);
- void (*get_cell_geometry) (ETableGroup *etg, gint *row, gint *col, gint *x, gint *y, gint *width, gint *height);
-
-} ETableGroupClass;
+ void (*add) (ETableGroup *etg,
+ gint row);
+ void (*add_array) (ETableGroup *etg,
+ const gint *array,
+ gint count);
+ void (*add_all) (ETableGroup *etg);
+ gboolean (*remove) (ETableGroup *etg,
+ gint row);
+ gint (*row_count) (ETableGroup *etg);
+ void (*increment) (ETableGroup *etg,
+ gint position,
+ gint amount);
+ void (*decrement) (ETableGroup *etg,
+ gint position,
+ gint amount);
+ void (*set_focus) (ETableGroup *etg,
+ EFocus direction,
+ gint view_col);
+ gboolean (*get_focus) (ETableGroup *etg);
+ gint (*get_focus_column) (ETableGroup *etg);
+ EPrintable * (*get_printable) (ETableGroup *etg);
+ void (*compute_location) (ETableGroup *etg,
+ gint *x,
+ gint *y,
+ gint *row,
+ gint *col);
+ void (*get_mouse_over) (ETableGroup *etg,
+ gint *row,
+ gint *col);
+ void (*get_cell_geometry) (ETableGroup *etg,
+ gint *row,
+ gint *col,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height);
+};
+
+GType e_table_group_get_type (void) G_GNUC_CONST;
+ETableGroup * e_table_group_new (GnomeCanvasGroup *parent,
+ ETableHeader *full_header,
+ ETableHeader *header,
+ ETableModel *model,
+ ETableSortInfo *sort_info,
+ gint n);
+void e_table_group_construct (GnomeCanvasGroup *parent,
+ ETableGroup *etg,
+ ETableHeader *full_header,
+ ETableHeader *header,
+ ETableModel *model);
/* Virtual functions */
-void e_table_group_add (ETableGroup *etg,
- gint row);
-void e_table_group_add_array (ETableGroup *etg,
- const gint *array,
- gint count);
-void e_table_group_add_all (ETableGroup *etg);
-gboolean e_table_group_remove (ETableGroup *etg,
- gint row);
-void e_table_group_increment (ETableGroup *etg,
- gint position,
- gint amount);
-void e_table_group_decrement (ETableGroup *etg,
- gint position,
- gint amount);
-gint e_table_group_row_count (ETableGroup *etg);
-void e_table_group_set_focus (ETableGroup *etg,
- EFocus direction,
- gint view_col);
-gboolean e_table_group_get_focus (ETableGroup *etg);
-gint e_table_group_get_focus_column (ETableGroup *etg);
-ETableHeader *e_table_group_get_header (ETableGroup *etg);
-EPrintable *e_table_group_get_printable (ETableGroup *etg);
-void e_table_group_compute_location (ETableGroup *etg,
- gint *x,
- gint *y,
- gint *row,
- gint *col);
-void e_table_group_get_mouse_over (ETableGroup *etg,
- gint *row,
- gint *col);
-void e_table_group_get_cell_geometry (ETableGroup *etg,
- gint *row,
- gint *col,
- gint *x,
- gint *y,
- gint *width,
- gint *height);
-ETableGroup *e_table_group_new (GnomeCanvasGroup *parent,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model,
- ETableSortInfo *sort_info,
- gint n);
-void e_table_group_construct (GnomeCanvasGroup *parent,
- ETableGroup *etg,
- ETableHeader *full_header,
- ETableHeader *header,
- ETableModel *model);
+void e_table_group_add (ETableGroup *etg,
+ gint row);
+void e_table_group_add_array (ETableGroup *etg,
+ const gint *array,
+ gint count);
+void e_table_group_add_all (ETableGroup *etg);
+gboolean e_table_group_remove (ETableGroup *etg,
+ gint row);
+void e_table_group_increment (ETableGroup *etg,
+ gint position,
+ gint amount);
+void e_table_group_decrement (ETableGroup *etg,
+ gint position,
+ gint amount);
+gint e_table_group_row_count (ETableGroup *etg);
+void e_table_group_set_focus (ETableGroup *etg,
+ EFocus direction,
+ gint view_col);
+gboolean e_table_group_get_focus (ETableGroup *etg);
+gint e_table_group_get_focus_column (ETableGroup *etg);
+ETableHeader * e_table_group_get_header (ETableGroup *etg);
+EPrintable * e_table_group_get_printable (ETableGroup *etg);
+void e_table_group_compute_location (ETableGroup *etg,
+ gint *x,
+ gint *y,
+ gint *row,
+ gint *col);
+void e_table_group_get_mouse_over (ETableGroup *etg,
+ gint *row,
+ gint *col);
+void e_table_group_get_cell_geometry (ETableGroup *etg,
+ gint *row,
+ gint *col,
+ gint *x,
+ gint *y,
+ gint *width,
+ gint *height);
/* For emitting the signals */
-void e_table_group_cursor_change (ETableGroup *etg,
- gint row);
-void e_table_group_cursor_activated (ETableGroup *etg,
- gint row);
-void e_table_group_double_click (ETableGroup *etg,
- gint row,
- gint col,
- GdkEvent *event);
-gboolean e_table_group_right_click (ETableGroup *etg,
- gint row,
- gint col,
- GdkEvent *event);
-gboolean e_table_group_click (ETableGroup *etg,
- gint row,
- gint col,
- GdkEvent *event);
-gboolean e_table_group_key_press (ETableGroup *etg,
- gint row,
- gint col,
- GdkEvent *event);
-gint e_table_group_start_drag (ETableGroup *etg,
- gint row,
- gint col,
- GdkEvent *event);
-GType e_table_group_get_type (void);
+void e_table_group_cursor_change (ETableGroup *etg,
+ gint row);
+void e_table_group_cursor_activated (ETableGroup *etg,
+ gint row);
+void e_table_group_double_click (ETableGroup *etg,
+ gint row,
+ gint col,
+ GdkEvent *event);
+gboolean e_table_group_right_click (ETableGroup *etg,
+ gint row,
+ gint col,
+ GdkEvent *event);
+gboolean e_table_group_click (ETableGroup *etg,
+ gint row,
+ gint col,
+ GdkEvent *event);
+gboolean e_table_group_key_press (ETableGroup *etg,
+ gint row,
+ gint col,
+ GdkEvent *event);
+gint e_table_group_start_drag (ETableGroup *etg,
+ gint row,
+ gint col,
+ GdkEvent *event);
typedef void (*ETableGroupLeafFn) (gpointer e_table_item, gpointer closure);
-void e_table_group_apply_to_leafs (ETableGroup *etg,
- ETableGroupLeafFn fn,
- void *closure);
+void e_table_group_apply_to_leafs (ETableGroup *etg,
+ ETableGroupLeafFn fn,
+ gpointer closure);
G_END_DECLS