+ iter->user_data = (gpointer) n;
+
+ return TRUE;
+}
+
+static gint
+tree_model_n_children (GtkTreeModel * model, GtkTreeIter * iter)
+{
+ PsppireSpreadsheetModel *spreadsheetModel =
+ PSPPIRE_SPREADSHEET_MODEL (model);
+
+ if (iter == NULL)
+ return spreadsheetModel->spreadsheet->n_sheets;
+
+ return 0;
+}
+
+static gboolean
+tree_model_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter)
+{
+ return FALSE;
+}
+
+static GtkTreePath *
+tree_model_get_path (GtkTreeModel * model, GtkTreeIter * iter)
+{
+ PsppireSpreadsheetModel *spreadsheetModel =
+ PSPPIRE_SPREADSHEET_MODEL (model);
+ GtkTreePath *path;
+ gint index = (gint) iter->user_data;
+
+ g_return_val_if_fail (iter->stamp == spreadsheetModel->stamp, NULL);