aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-01-14 01:50:49 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-06-16 02:46:02 +0800
commitc2c89fcb8cfa5661e94de5e57c7dbc80c3342ede (patch)
tree6af964bb15322661d28181dc00310e3afe618f46 /widgets/table
parent333897772f2cf3251915800aff2c836f02095c84 (diff)
downloadgsoc2013-evolution-c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede.tar
gsoc2013-evolution-c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede.tar.gz
gsoc2013-evolution-c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede.tar.bz2
gsoc2013-evolution-c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede.tar.lz
gsoc2013-evolution-c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede.tar.xz
gsoc2013-evolution-c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede.tar.zst
gsoc2013-evolution-c2c89fcb8cfa5661e94de5e57c7dbc80c3342ede.zip
Fix all remaining GTK3 issues.
Work around the issue of GnomeCanvasItem amending its own flags to GtkObject::flags (which is sealed) by giving it its own flags field. This breaks libgnomecanvas ABI and API, but I see no other way. This commit didn't work the first time because gnome-pilot libraries were still pulling in the system-wide libgnomecanvas, and that was interfereing with our bundled version which has a different ABI. But gnome-pilot integration was dropped in the previous commit, so everything is now using the bundled libgnomecanvas.
Diffstat (limited to 'widgets/table')
-rw-r--r--widgets/table/e-table-group-container.c2
-rw-r--r--widgets/table/e-table-item.c79
2 files changed, 52 insertions, 29 deletions
diff --git a/widgets/table/e-table-group-container.c b/widgets/table/e-table-group-container.c
index cf8aae1aff..0af5dc8b98 100644
--- a/widgets/table/e-table-group-container.c
+++ b/widgets/table/e-table-group-container.c
@@ -1040,7 +1040,7 @@ etgc_reflow (GnomeCanvasItem *item, gint flags)
if (frozen)
return;
- if (GTK_OBJECT_FLAGS(etgc)& GNOME_CANVAS_ITEM_REALIZED) {
+ if (item->flags & GNOME_CANVAS_ITEM_REALIZED) {
gdouble running_height = 0;
gdouble running_width = 0;
gdouble old_height;
diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c
index 381f0cd24c..2d88258be9 100644
--- a/widgets/table/e-table-item.c
+++ b/widgets/table/e-table-item.c
@@ -343,12 +343,15 @@ eti_free_save_state (ETableItem *eti)
static void
eti_realize_cell_views ( ETableItem *eti)
{
+ GnomeCanvasItem *item;
gint i;
+ item = GNOME_CANVAS_ITEM (eti);
+
if (eti->cell_views_realized)
return;
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED))
return;
for (i = 0; i < eti->n_cells; i++)
@@ -673,7 +676,11 @@ height_cache_idle(ETableItem *eti)
static void
free_height_cache (ETableItem *eti)
{
- if (GNOME_CANVAS_ITEM_REALIZED & GTK_OBJECT_FLAGS (eti)) {
+ GnomeCanvasItem *item;
+
+ item = GNOME_CANVAS_ITEM (eti);
+
+ if (item->flags & GNOME_CANVAS_ITEM_REALIZED) {
if (eti->height_cache)
g_free (eti->height_cache);
eti->height_cache = NULL;
@@ -909,9 +916,12 @@ eti_request_region_show (ETableItem *eti,
static void
eti_show_cursor (ETableItem *eti, gint delay)
{
+ GnomeCanvasItem *item;
gint cursor_row;
- if (!((GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED) && eti->cell_views_realized))
+ item = GNOME_CANVAS_ITEM (eti);
+
+ if (!((item->flags & GNOME_CANVAS_ITEM_REALIZED) && eti->cell_views_realized))
return;
if (eti->frozen_count > 0) {
@@ -940,17 +950,13 @@ eti_show_cursor (ETableItem *eti, gint delay)
static void
eti_check_cursor_bounds (ETableItem *eti)
{
+ GnomeCanvasItem *item;
gint x1, y1, x2, y2;
gint cursor_row;
- if (!((GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED) && eti->cell_views_realized))
- return;
-
- if (eti->frozen_count > 0) {
- return;
- }
+ item = GNOME_CANVAS_ITEM (eti);
- if (!((GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED) && eti->cell_views_realized))
+ if (!((item->flags & GNOME_CANVAS_ITEM_REALIZED) && eti->cell_views_realized))
return;
if (eti->frozen_count > 0) {
@@ -1089,7 +1095,9 @@ eti_table_model_no_change (ETableModel *table_model, ETableItem *eti)
static void
eti_table_model_changed (ETableModel *table_model, ETableItem *eti)
{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED)) {
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
+
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED)) {
eti_unfreeze (eti);
return;
}
@@ -1111,7 +1119,9 @@ eti_table_model_changed (ETableModel *table_model, ETableItem *eti)
static void
eti_table_model_row_changed (ETableModel *table_model, gint row, ETableItem *eti)
{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED)) {
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
+
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED)) {
eti_unfreeze (eti);
return;
}
@@ -1129,7 +1139,9 @@ eti_table_model_row_changed (ETableModel *table_model, gint row, ETableItem *eti
static void
eti_table_model_cell_changed (ETableModel *table_model, gint col, gint row, ETableItem *eti)
{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED)) {
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
+
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED)) {
eti_unfreeze (eti);
return;
}
@@ -1147,7 +1159,9 @@ eti_table_model_cell_changed (ETableModel *table_model, gint col, gint row, ETab
static void
eti_table_model_rows_inserted (ETableModel *table_model, gint row, gint count, ETableItem *eti)
{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED)) {
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
+
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED)) {
eti_unfreeze (eti);
return;
}
@@ -1174,7 +1188,9 @@ eti_table_model_rows_inserted (ETableModel *table_model, gint row, gint count, E
static void
eti_table_model_rows_deleted (ETableModel *table_model, gint row, gint count, ETableItem *eti)
{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED)) {
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
+
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED)) {
eti_unfreeze (eti);
return;
}
@@ -1428,11 +1444,10 @@ eti_dispose (GObject *object)
static void
eti_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
- ETableItem *eti;
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (object);
+ ETableItem *eti = E_TABLE_ITEM (object);
gint cursor_col;
- eti = E_TABLE_ITEM (object);
-
switch (prop_id) {
case PROP_TABLE_HEADER:
eti_remove_header_model (eti);
@@ -1481,7 +1496,7 @@ eti_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpe
if ((eti->minimum_width == eti->width && g_value_get_double(value) > eti->width) ||
g_value_get_double(value) < eti->width) {
eti->needs_compute_width = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM(eti));
+ e_canvas_item_request_reflow (item);
}
eti->minimum_width = g_value_get_double (value);
break;
@@ -1495,18 +1510,18 @@ eti_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpe
case PROP_UNIFORM_ROW_HEIGHT:
if (eti->uniform_row_height != g_value_get_boolean (value)) {
eti->uniform_row_height = g_value_get_boolean (value);
- if (GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED) {
+ if (item->flags & GNOME_CANVAS_ITEM_REALIZED) {
free_height_cache(eti);
eti->needs_compute_height = 1;
- e_canvas_item_request_reflow (GNOME_CANVAS_ITEM (eti));
+ e_canvas_item_request_reflow (item);
eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (eti));
+ gnome_canvas_item_request_update (item);
}
}
break;
}
eti->needs_redraw = 1;
- gnome_canvas_item_request_update (GNOME_CANVAS_ITEM(eti));
+ gnome_canvas_item_request_update (item);
}
static void
@@ -2765,7 +2780,9 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e)
static void
eti_style_set (ETableItem *eti, GtkStyle *previous_style)
{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
+
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED))
return;
if (eti->cell_views_realized) {
@@ -3074,9 +3091,10 @@ e_table_item_get_focused_column (ETableItem *eti)
static void
eti_cursor_change (ESelectionModel *selection, gint row, gint col, ETableItem *eti)
{
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
gint view_row;
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED))
return;
view_row = model_to_view_row(eti, row);
@@ -3112,10 +3130,11 @@ eti_cursor_change (ESelectionModel *selection, gint row, gint col, ETableItem *e
static void
eti_cursor_activated (ESelectionModel *selection, gint row, gint col, ETableItem *eti)
{
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
gint view_row;
gint view_col;
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED))
return;
view_row = model_to_view_row(eti, row);
@@ -3143,7 +3162,9 @@ eti_cursor_activated (ESelectionModel *selection, gint row, gint col, ETableItem
static void
eti_selection_change (ESelectionModel *selection, ETableItem *eti)
{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
+
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED))
return;
eti->needs_redraw = TRUE;
@@ -3153,7 +3174,9 @@ eti_selection_change (ESelectionModel *selection, ETableItem *eti)
static void
eti_selection_row_change (ESelectionModel *selection, gint row, ETableItem *eti)
{
- if (!(GTK_OBJECT_FLAGS(eti) & GNOME_CANVAS_ITEM_REALIZED))
+ GnomeCanvasItem *item = GNOME_CANVAS_ITEM (eti);
+
+ if (!(item->flags & GNOME_CANVAS_ITEM_REALIZED))
return;
if (!eti->needs_redraw) {