-/* Returns the "active" data sheet in DE. If DE is in single-paned mode, this
- is the only data sheet. If DE is in split mode (showing four data sheets),
- this is the focused data sheet or, if none is focused, the data sheet with
- selected cells or, if none has selected cells, the upper-left data sheet. */
-PsppireDataSheet *
-psppire_data_editor_get_active_data_sheet (PsppireDataEditor *de)
-{
- if (de->split)
- {
- PsppireDataSheet *data_sheet;
- GtkWidget *scroller;
- int i;
-
- /* If one of the datasheet's scrollers is focused, choose that one. */
- scroller = gtk_container_get_focus_child (
- GTK_CONTAINER (de->datasheet_vbox_widget));
- if (scroller != NULL)
- return PSPPIRE_DATA_SHEET (gtk_bin_get_child (GTK_BIN (scroller)));
-
- /* Otherwise if there's a nonempty selection in some data sheet, choose
- that one. */
- FOR_EACH_DATA_SHEET (data_sheet, i, de)
- {
- PsppSheetSelection *selection;
-
- selection = pspp_sheet_view_get_selection (
- PSPP_SHEET_VIEW (data_sheet));
- if (pspp_sheet_selection_count_selected_rows (selection)
- && pspp_sheet_selection_count_selected_columns (selection))
- return data_sheet;
- }
- }
-
- return PSPPIRE_DATA_SHEET (de->data_sheets[0]);
-}
-
-/* Returns the UI manager that should be merged into DE's toplevel widget's UI
- manager to display menu items and toolbar items specific to DE's current
- page and data sheet.
-
- DE's toplevel widget can watch for changes by connecting to DE's
- notify::ui-manager signal. */
-GtkUIManager *
-psppire_data_editor_get_ui_manager (PsppireDataEditor *de)
+/* Set the datum at COL, ROW, to that contained in VALUE.
+ */
+static void
+store_set_datum (GtkTreeModel *model, gint col, gint row,
+ const GValue *value)