aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/e-table/e-cell.c
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnu.org>1999-11-25 16:02:13 +0800
committerArturo Espinosa <unammx@src.gnome.org>1999-11-25 16:02:13 +0800
commit385ccbd512c4c43305dee900f86d0f51f94b1200 (patch)
tree81920b9b2281f21a55ccd417895d0bd3a271cff7 /widgets/e-table/e-cell.c
parent858500c40a2bf4485e75e1a056d0310b92625929 (diff)
downloadgsoc2013-evolution-385ccbd512c4c43305dee900f86d0f51f94b1200.tar.gz
gsoc2013-evolution-385ccbd512c4c43305dee900f86d0f51f94b1200.tar.zst
gsoc2013-evolution-385ccbd512c4c43305dee900f86d0f51f94b1200.zip
Realize cells.
1999-11-25 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_realize): Realize cells. * e-table-item.c (eti_header_dim_changed): redraw before and after. * e-table-header-item.c (ethi_event): Add continuous resizing. 1999-11-24 Miguel de Icaza <miguel@gnu.org> * e-table-subset.h, e-table-subset.c: New files, used to implement subset tables. * e-table-sorted.h, e-table-sorted.c: Now they derive from e-table-subset. * e-cell.c, e-cell.h: realize method now return per view instance data. svn path=/trunk/; revision=1434
Diffstat (limited to 'widgets/e-table/e-cell.c')
-rw-r--r--widgets/e-table/e-cell.c71
1 files changed, 66 insertions, 5 deletions
diff --git a/widgets/e-table/e-cell.c b/widgets/e-table/e-cell.c
index e5ceb0fe8a..bff0fb88f2 100644
--- a/widgets/e-table/e-cell.c
+++ b/widgets/e-table/e-cell.c
@@ -12,24 +12,49 @@
#define PARENT_TYPE gtk_object_get_type()
-static void
+static ECellView *
ec_realize (ECell *e_cell, GnomeCanvas *canvas)
{
+ return NULL;
}
static void
-ec_unrealize (ECell *e_cell)
+ec_unrealize (ECellView *e_cell)
{
}
static void
-ec_draw (ECell *ecell, int x1, int y1, int x2, int y2)
+ec_draw (ECellView *ecell_view, GdkDrawable *drawable, int col, int row, int x1, int y1, int x2, int y2)
{
+ g_warning ("e-cell-draw invoked\n");
}
static gint
-ec_event (ECell *ecell, GdkEvent *event)
+ec_event (ECellView *ecell_view, GdkEvent *event, int col, int row)
{
+ g_warning ("e-cell-event invoked\n");
+}
+
+static void
+ec_focus (ECellView *ecell_view, int col, int row, int x1, int y1, int x2, int y2)
+{
+ ecell_view->focus_col = col;
+ ecell_view->focus_row = row;
+ ecell_view->focus_x1 = x1;
+ ecell_view->focus_y1 = y1;
+ ecell_view->focus_x2 = x2;
+ ecell_view->focus_y2 = y2;
+}
+
+static void
+ec_unfocus (ECellView *ecell_view)
+{
+ ecell_view->focus_col = -1;
+ ecell_view->focus_row = -1;
+ ecell_view->focus_x1 = -1;
+ ecell_view->focus_y1 = -1;
+ ecell_view->focus_x2 = -1;
+ ecell_view->focus_y2 = -1;
}
static void
@@ -41,8 +66,44 @@ e_cell_class_init (GtkObjectClass *object_class)
ecc->unrealize = ec_unrealize;
ecc->draw = ec_draw;
ecc->event = ec_event;
+ ecc->focus = ec_focus;
+ ecc->unfocus = ec_unfocus;
+}
+
+static void
+e_cell_init (GtkObject *object)
+{
+ ECell *e_cell = E_CELL (object);
}
-E_MAKE_TYPE(e_cell, "ECell", ECell, e_cell_class_init, NULL, PARENT_TYPE);
+E_MAKE_TYPE(e_cell, "ECell", ECell, e_cell_class_init, e_cell_init, PARENT_TYPE);
+void
+e_cell_event (ECellView *ecell_view, GdkEvent *event, int col, int row)
+{
+ E_CELL_CLASS (GTK_OBJECT (ecell_view->ecell)->klass)->event (
+ ecell_view, event, col, row);
+}
+
+ECellView *
+e_cell_realize (ECell *ecell, GnomeCanvas *canvas)
+{
+ return E_CELL_CLASS (GTK_OBJECT (ecell)->klass)->realize (
+ ecell, canvas);
+}
+
+void
+e_cell_unrealize (ECellView *ecell_view)
+{
+ E_CELL_CLASS (GTK_OBJECT (ecell_view->ecell)->klass)->unrealize (ecell_view);
+}
+
+void
+e_cell_draw (ECellView *ecell_view, GdkDrawable *drawable,
+ int col, int row, int x1, int y1, int x2, int y2)
+{
+ E_CELL_CLASS (GTK_OBJECT (ecell_view->ecell)->klass)->draw (
+ ecell_view, drawable, col, row, x1, y1, x2, y2);
+}
+