/** * e_table_group_container_construct * @parent: The %GnomeCanvasGroup to create a child of. * @etgc: The %ETableGroupContainer. * @full_header: The full header of the %ETable. * @header: The current header of the %ETable. * @model: The %ETableModel of the %ETable. * @sort_info: The %ETableSortInfo of the %ETable. * @n: Which grouping level this is (Starts at 0 and sends n + 1 to any child %ETableGroups. * * This routine constructs the new %ETableGroupContainer. */ void e_table_group_container_construct (GnomeCanvasGroup *parent, ETableGroupContainer *etgc, ETableHeader *full_header, ETableHeader *header, ETableModel *model, ETableSortInfo *sort_info, int n) { ETableCol *col; ETableSortColumn column = e_table_sort_info_grouping_get_nth(sort_info, n); GtkStyle *style; col = e_table_header_get_column_by_col_idx(full_header, column.column); if (col == NULL) col = e_table_header_get_column (full_header, e_table_header_count (full_header) - 1); e_table_group_construct (parent, E_TABLE_GROUP (etgc), full_header, header, model); etgc->ecol = col; g_object_ref (etgc->ecol); etgc->sort_info = sort_info; g_object_ref (etgc->sort_info); etgc->n = n; etgc->ascending = column.ascending; style = GTK_WIDGET (GNOME_CANVAS_ITEM (etgc)->canvas)->style; etgc->font_desc = pango_font_description_copy (style->font_desc); etgc->open = TRUE; }
static void e_table_group_leaf_construct (GnomeCanvasGroup *parent, ETableGroupLeaf *etgl, ETableHeader *full_header, ETableHeader *header, ETableModel *model, ETableSortInfo *sort_info) { etgl->is_grouped = (e_table_sort_info_grouping_get_count (sort_info) > 0); if (etgl->is_grouped) etgl->ets = e_table_sorted_variable_new ( model, full_header, sort_info); else etgl->ets = e_table_sorted_new ( model, full_header, sort_info); e_table_group_construct ( parent, E_TABLE_GROUP (etgl), full_header, header, model); }