- g_value_init (value, G_TYPE_STRING);
- if ( column > 0)
- g_value_set_string (value, "foo");
- else
- g_value_set_string (value, "bar");
+ switch (column)
+ {
+ case PSPPIRE_SPREADSHEET_MODEL_COL_NAME:
+ {
+ g_value_init (value, G_TYPE_STRING);
+ const char *x =
+ spreadsheet_get_sheet_name (spreadsheetModel->spreadsheet,
+ (intptr_t) iter->user_data);
+
+ g_value_set_string (value, x);
+ }
+ break;
+ case PSPPIRE_SPREADSHEET_MODEL_COL_RANGE:
+ {
+ g_value_init (value, G_TYPE_STRING);
+ char *x =
+ spreadsheet_get_sheet_range (spreadsheetModel->spreadsheet,
+ (intptr_t) iter->user_data);
+
+ g_value_set_string (value, x ? x : _("(empty)"));
+ g_free (x);
+ }
+ break;
+ case PSPPIRE_SPREADSHEET_MODEL_COL_SHEET_ROWS:
+ {
+ g_value_init (value, G_TYPE_UINT);
+ unsigned int rows =
+ spreadsheet_get_sheet_n_rows (spreadsheetModel->spreadsheet,
+ (intptr_t) iter->user_data);
+
+ g_value_set_uint (value, rows);
+ }
+ break;
+ case PSPPIRE_SPREADSHEET_MODEL_COL_SHEET_COLUMNS:
+ {
+ g_value_init (value, G_TYPE_UINT);
+ unsigned int columns =
+ spreadsheet_get_sheet_n_columns (spreadsheetModel->spreadsheet,
+ (intptr_t) iter->user_data);
+
+ g_value_set_uint (value, columns);
+ }
+ break;
+ default:
+ g_error ("%s:%d Invalid column in spreadsheet model",
+ __FILE__, __LINE__);
+ break;
+ }