diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-06-18 21:25:40 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-06-19 08:31:50 +0800 |
commit | c6ccd45a0ef07b12a0313deb3abee032d89eec0a (patch) | |
tree | 41f67ea66ada4bf9a1b109236194386dc1292f7e /e-util/e-table-item.c | |
parent | 96acf4fa41260e7917ae1a794bb4b636e6c398cc (diff) | |
download | gsoc2013-evolution-c6ccd45a0ef07b12a0313deb3abee032d89eec0a.tar.gz gsoc2013-evolution-c6ccd45a0ef07b12a0313deb3abee032d89eec0a.tar.zst gsoc2013-evolution-c6ccd45a0ef07b12a0313deb3abee032d89eec0a.zip |
ETable-related cleanups.
Diffstat (limited to 'e-util/e-table-item.c')
-rw-r--r-- | e-util/e-table-item.c | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/e-util/e-table-item.c b/e-util/e-table-item.c index de749ead68..289d26d973 100644 --- a/e-util/e-table-item.c +++ b/e-util/e-table-item.c @@ -49,9 +49,10 @@ #include "gal-a11y-e-table-item-factory.h" #include "gal-a11y-e-table-item.h" -/* workaround for avoiding API breakage */ -#define eti_get_type e_table_item_get_type -G_DEFINE_TYPE (ETableItem, eti, GNOME_TYPE_CANVAS_ITEM) +G_DEFINE_TYPE ( + ETableItem, + e_table_item, + GNOME_TYPE_CANVAS_ITEM) #define FOCUSED_BORDER 2 @@ -168,21 +169,18 @@ inline static gint model_to_view_row (ETableItem *eti, gint row) { - gint i; if (row == -1) return -1; if (eti->uses_source_model) { - ETableSubset *etss = E_TABLE_SUBSET (eti->table_model); - if (eti->row_guess >= 0 && eti->row_guess < etss->n_map) { - if (etss->map_table[eti->row_guess] == row) { - return eti->row_guess; - } - } - for (i = 0; i < etss->n_map; i++) { - if (etss->map_table[i] == row) - return i; - } - return -1; + gint model_row; + + model_row = e_table_subset_view_to_model_row ( + E_TABLE_SUBSET (eti->table_model), eti->row_guess); + if (model_row >= 0 && model_row == row) + return eti->row_guess; + + return e_table_subset_model_to_view_row ( + E_TABLE_SUBSET (eti->table_model), row); } else return row; } @@ -192,12 +190,15 @@ view_to_model_row (ETableItem *eti, gint row) { if (eti->uses_source_model) { - ETableSubset *etss = E_TABLE_SUBSET (eti->table_model); - if (row >= 0 && row < etss->n_map) { + gint model_row; + + model_row = e_table_subset_view_to_model_row ( + E_TABLE_SUBSET (eti->table_model), row); + + if (model_row >= 0) eti->row_guess = row; - return etss->map_table[row]; - } else - return -1; + + return model_row; } else return row; } @@ -559,8 +560,8 @@ eti_update (GnomeCanvasItem *item, ETableItem *eti = E_TABLE_ITEM (item); gdouble x1, x2, y1, y2; - if (GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->update) - (*GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->update)(item, i2c, flags); + if (GNOME_CANVAS_ITEM_CLASS (e_table_item_parent_class)->update) + (*GNOME_CANVAS_ITEM_CLASS (e_table_item_parent_class)->update)(item, i2c, flags); x1 = item->x1; y1 = item->y1; @@ -1432,7 +1433,8 @@ eti_add_table_model (ETableItem *eti, if (E_IS_TABLE_SUBSET (table_model)) { eti->uses_source_model = 1; - eti->source_model = E_TABLE_SUBSET (table_model)->source; + eti->source_model = e_table_subset_get_source_model ( + E_TABLE_SUBSET (table_model)); if (eti->source_model) g_object_ref (eti->source_model); } @@ -1576,7 +1578,7 @@ eti_dispose (GObject *object) eti->height_cache = NULL; /* Chain up to parent's dispose() method. */ - G_OBJECT_CLASS (eti_parent_class)->dispose (object); + G_OBJECT_CLASS (e_table_item_parent_class)->dispose (object); } static void @@ -1704,7 +1706,7 @@ eti_get_property (GObject *object, } static void -eti_init (ETableItem *eti) +e_table_item_init (ETableItem *eti) { eti->motion_row = -1; eti->motion_col = -1; @@ -1795,8 +1797,8 @@ eti_realize (GnomeCanvasItem *item) { ETableItem *eti = E_TABLE_ITEM (item); - if (GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->realize) - (*GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->realize)(item); + if (GNOME_CANVAS_ITEM_CLASS (e_table_item_parent_class)->realize) + (*GNOME_CANVAS_ITEM_CLASS (e_table_item_parent_class)->realize)(item); eti->rows = e_table_model_row_count (eti->table_model); @@ -1857,8 +1859,8 @@ eti_unrealize (GnomeCanvasItem *item) eti->height = 0; - if (GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->unrealize) - (*GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->unrealize)(item); + if (GNOME_CANVAS_ITEM_CLASS (e_table_item_parent_class)->unrealize) + (*GNOME_CANVAS_ITEM_CLASS (e_table_item_parent_class)->unrealize)(item); } static void @@ -3104,7 +3106,7 @@ eti_style_set (ETableItem *eti, } static void -eti_class_init (ETableItemClass *class) +e_table_item_class_init (ETableItemClass *class) { GnomeCanvasItemClass *item_class = GNOME_CANVAS_ITEM_CLASS (class); GObjectClass *object_class = G_OBJECT_CLASS (class); |