static GnmValue * cb_collect_content (GnmCellIter const *iter, UniqueCollection *uc) { GnmCell const *cell = (iter->pp.sheet == uc->src_sheet) ? iter->cell : sheet_cell_get (uc->src_sheet, iter->pp.eval.col, iter->pp.eval.row); if (gnm_cell_is_blank (cell)) uc->has_blank = TRUE; else { GOFormat const *fmt = gnm_cell_get_format (cell); GnmValue const *v = cell->value; g_hash_table_replace (uc->hash, value_dup (v), format_value (fmt, v, -1, uc->date_conv)); } return NULL; }
static gchar * col_row_name (Sheet *sheet, int col, int row, gboolean header, gboolean is_cols) { GnmCell *cell; gchar *str = NULL; if (is_cols) str = g_strdup_printf (_("Column %s"), col_name (col)); else str = g_strdup_printf (_("Row %s"), row_name (row)); if (header) { cell = sheet_cell_get (sheet, col, row); if (cell && !gnm_cell_is_blank (cell)) { gchar *header_str, *generic_str = str; header_str = value_get_as_string (cell->value); str = g_strdup_printf (_("%s (%s)"), header_str, generic_str); g_free (header_str); g_free (generic_str); } } return str; }