diff options
author | Miguel de Icaza <miguel@gnu.org> | 1999-12-31 10:23:37 +0800 |
---|---|---|
committer | Arturo Espinosa <unammx@src.gnome.org> | 1999-12-31 10:23:37 +0800 |
commit | f55c64565cd6b2820652b09cd647581067e4c188 (patch) | |
tree | d7c39cd75444e9454480d84662ffb76ed9949d9a /widgets/table/e-cell.c | |
parent | d0606659a4bb08bdb635fea2b702856b2fabb480 (diff) | |
download | gsoc2013-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/table/e-cell.c')
-rw-r--r-- | widgets/table/e-cell.c | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/widgets/table/e-cell.c b/widgets/table/e-cell.c index 4495bbb1a7..0f9297ecba 100644 --- a/widgets/table/e-cell.c +++ b/widgets/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 |