/* * ECell::new_view method */ static ECellView * ecv_new_view (ECell *ecell, ETableModel *table_model, void *e_table_item_view) { ECellHbox *ecv = E_CELL_HBOX (ecell); ECellHboxView *hbox_view = g_new0 (ECellHboxView, 1); int i; hbox_view->cell_view.ecell = ecell; hbox_view->cell_view.e_table_model = table_model; hbox_view->cell_view.e_table_item_view = e_table_item_view; hbox_view->cell_view.kill_view_cb = NULL; hbox_view->cell_view.kill_view_cb_data = NULL; /* create our subcell view */ hbox_view->subcell_view_count = ecv->subcell_count; hbox_view->subcell_views = g_new (ECellView *, hbox_view->subcell_view_count); hbox_view->model_cols = g_new (int, hbox_view->subcell_view_count); hbox_view->def_size_cols = g_new (int, hbox_view->subcell_view_count); for (i = 0; i < hbox_view->subcell_view_count; i++) { hbox_view->subcell_views[i] = e_cell_new_view (ecv->subcells[i], table_model, e_table_item_view /* XXX */); hbox_view->model_cols[i] = ecv->model_cols[i]; hbox_view->def_size_cols[i] = ecv->def_size_cols[i]; } return (ECellView *)hbox_view; }
/* * ECell::new_view method */ static ECellView * ecv_new_view (ECell *ecell, ETableModel *table_model, gpointer e_table_item_view) { ECellVbox *ecv = E_CELL_VBOX (ecell); ECellVboxView *vbox_view = g_new0 (ECellVboxView, 1); gint i; vbox_view->cell_view.ecell = ecell; vbox_view->cell_view.e_table_model = table_model; vbox_view->cell_view.e_table_item_view = e_table_item_view; vbox_view->cell_view.kill_view_cb = NULL; vbox_view->cell_view.kill_view_cb_data = NULL; /* create our subcell view */ vbox_view->subcell_view_count = ecv->subcell_count; vbox_view->subcell_views = g_new (ECellView *, vbox_view->subcell_view_count); vbox_view->model_cols = g_new (int, vbox_view->subcell_view_count); for (i = 0; i < vbox_view->subcell_view_count; i++) { vbox_view->subcell_views[i] = e_cell_new_view (ecv->subcells[i], table_model, e_table_item_view /* XXX */); vbox_view->model_cols[i] = ecv->model_cols[i]; } return (ECellView *) vbox_view; }
/* * ECell::new_view method */ static ECellView * ect_new_view (ECell *ecell, ETableModel *table_model, gpointer e_table_item_view) { ECellTree *ect = E_CELL_TREE (ecell); ECellTreeView *tree_view = g_new0 (ECellTreeView, 1); GnomeCanvas *canvas = GNOME_CANVAS_ITEM (e_table_item_view)->canvas; tree_view->cell_view.ecell = ecell; tree_view->cell_view.e_table_model = table_model; tree_view->cell_view.e_table_item_view = e_table_item_view; tree_view->cell_view.kill_view_cb = NULL; tree_view->cell_view.kill_view_cb_data = NULL; /* create our subcell view */ tree_view->subcell_view = e_cell_new_view (ect->subcell, table_model, e_table_item_view /* XXX */); tree_view->canvas = canvas; return (ECellView *) tree_view; }