aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/e-table/e-cell.c
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnu.org>1999-12-31 10:23:37 +0800
committerArturo Espinosa <unammx@src.gnome.org>1999-12-31 10:23:37 +0800
commitf55c64565cd6b2820652b09cd647581067e4c188 (patch)
treed7c39cd75444e9454480d84662ffb76ed9949d9a /widgets/e-table/e-cell.c
parentd0606659a4bb08bdb635fea2b702856b2fabb480 (diff)
downloadgsoc2013-evolution-f55c64565cd6b2820652b09cd647581067e4c188.tar.gz
gsoc2013-evolution-f55c64565cd6b2820652b09cd647581067e4c188.tar.zst
gsoc2013-evolution-f55c64565cd6b2820652b09cd647581067e4c188.zip
Ok, the restructuring of ETableItem to compute its size without hacks is
Ok, the restructuring of ETableItem to compute its size without hacks is in now. I am feeling better now. 1999-12-30 Miguel de Icaza <miguel@gnu.org> * e-table-item.c (eti_attach_cell_views): New routine, creates the cell views. (eti_detach_cell_views): Detaches the cell_views from the ETableItem. (eti_realize_cell_views, eti_unrealize_cell_views): Simplified to just do realize/unrealize notification. (eti_add_table_model): Only attach the cells when we have both the table model and the header model. * e-cell.h (ECellClass): Added two new methods: new_view and kill_view which drive the view process (instead of putting that on realize/unrealize). * e-cell.c: Adapt the code to use the new scheme for view instantiation. * e-cell-text.c, e-cell-toggle.c: Adapted to the new class changes. svn path=/trunk/; revision=1523
Diffstat (limited to 'widgets/e-table/e-cell.c')
-rw-r--r--widgets/e-table/e-cell.c32
1 files changed, 28 insertions, 4 deletions
diff --git a/widgets/e-table/e-cell.c b/widgets/e-table/e-cell.c
index 4495bbb1a7..0f9297ecba 100644
--- a/widgets/e-table/e-cell.c
+++ b/widgets/e-table/e-cell.c
@@ -13,12 +13,22 @@
#define PARENT_TYPE gtk_object_get_type()
static ECellView *
-ec_realize (ECell *e_cell, ETableModel *table_model, void *view)
+ec_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
{
return NULL;
}
static void
+ec_realize (ECellView *e_cell)
+{
+}
+
+static void
+ec_kill_view (ECellView *ecell_view)
+{
+}
+
+static void
ec_unrealize (ECellView *e_cell)
{
}
@@ -85,6 +95,8 @@ e_cell_class_init (GtkObjectClass *object_class)
ecc->realize = ec_realize;
ecc->unrealize = ec_unrealize;
+ ecc->new_view = ec_new_view;
+ ecc->kill_view = ec_kill_view;
ecc->draw = ec_draw;
ecc->event = ec_event;
ecc->focus = ec_focus;
@@ -110,10 +122,22 @@ e_cell_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_co
}
ECellView *
-e_cell_realize (ECell *ecell, ETableModel *table_model, void *view)
+e_cell_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view)
+{
+ return E_CELL_CLASS (GTK_OBJECT (ecell)->klass)->new_view (
+ ecell, table_model, e_table_item_view);
+}
+
+void
+e_cell_view_realize (ECellView *ecell_view)
+{
+ return E_CELL_CLASS (GTK_OBJECT (ecell_view->ecell)->klass)->realize (ecell_view);
+}
+
+void
+e_cell_kill_view (ECellView *ecell_view)
{
- return E_CELL_CLASS (GTK_OBJECT (ecell)->klass)->realize (
- ecell, table_model, view);
+ E_CELL_CLASS (GTK_OBJECT (ecell_view->ecell)->klass)->kill_view (ecell_view);
}
void