/* Re initialise HANDLE, by interrogating the user for a new file name */
-static void
+static gboolean
recreate_save_handle(struct file_handle **handle)
{
+ gint response;
GtkWidget *dialog;
GtkWidget *data_editor = get_widget_assert(xml, "data_editor");
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
NULL);
- if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
+ response = gtk_dialog_run (GTK_DIALOG (dialog));
+
+ if (response == GTK_RESPONSE_ACCEPT)
{
char *file_name = gtk_file_chooser_get_filename
(GTK_FILE_CHOOSER (dialog));
if ( *handle )
fh_free(*handle);
- *handle = fh_create_file (handle_name, file_name, fh_default_properties());
+ *handle = fh_create_file (handle_name, file_name,
+ fh_default_properties());
psppire_set_window_title(basename(file_name));
}
gtk_widget_destroy (dialog);
+
+ return ( response == GTK_RESPONSE_ACCEPT ) ;
}
void
PsppireDataStore *data_store ;
if ( ! psppire_handle )
- recreate_save_handle(&psppire_handle);
+ {
+ if ( ! recreate_save_handle(&psppire_handle) )
+ return;
+ }
data_sheet = GTK_SHEET(get_widget_assert(xml, "data_sheet"));
data_store = PSPPIRE_DATA_STORE(gtk_sheet_get_model(data_sheet));
GtkSheet *data_sheet ;
PsppireDataStore *data_store ;
- recreate_save_handle(&psppire_handle);
+ if ( ! recreate_save_handle(&psppire_handle) )
+ return ;
+
if ( ! psppire_handle )
return ;
switch (page)
{
+ case PAGE_VAR_SHEET:
+ break;
case PAGE_DATA_SHEET:
{
GtkSheet *data_sheet = GTK_SHEET(get_widget_assert(xml, "data_sheet"));
}
-void
-on_insert1_activate (GtkMenuItem *menuitem,
- gpointer user_data)
-{
- GtkNotebook *notebook = GTK_NOTEBOOK(get_widget_assert(xml, "notebook1"));
- gint page = -1;
-
- page = gtk_notebook_get_current_page(notebook);
-
- switch (page)
- {
- case PAGE_DATA_SHEET:
-#if 0
- {
- GtkSheet *data_sheet = GTK_SHEET(get_widget_assert(xml, "data_sheet"));
- PsppireDataStore *data_store =
- PSPPIRE_DATA_STORE(gtk_sheet_get_model(data_sheet));
-
- psppire_case_array_insert_case(data_store->cases,
- data_sheet->range.row0,
- blank_case, the_dictionary);
- }
- break;
-#endif
- case PAGE_VAR_SHEET:
- {
- GtkSheet *var_sheet =
- GTK_SHEET(get_widget_assert(xml, "variable_sheet"));
-
- PsppireVarStore *var_store =
- PSPPIRE_VAR_STORE(gtk_sheet_get_model(var_sheet));
-
- psppire_dict_insert_variable(var_store->dict, var_sheet->range.row0, 0);
- }
- break;
- }
-}
-
-#if 0
-void
-on_delete1_activate (GtkMenuItem *menuitem,
- gpointer user_data)
-{
- gint page = -1;
- GtkWidget *notebook = get_widget_assert(xml, "notebook1");
-
- page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook));
- switch ( page)
- {
-#if 0
- case PAGE_DATA_SHEET:
- {
- GtkSheet *data_sheet = GTK_SHEET(get_widget_assert(xml, "data_sheet"));
- PsppireDataStore *data_store =
- PSPPIRE_DATA_STORE(gtk_sheet_get_model(data_sheet));
-
- psppire_case_array_delete_cases(data_store->cases,
- data_sheet->range.row0,
- 1 + data_sheet->range.rowi
- - data_sheet->range.row0 );
- }
- break;
-#endif
- case PAGE_VAR_SHEET:
- {
- GtkSheet *var_sheet =
- GTK_SHEET(get_widget_assert(xml, "variable_sheet"));
-
- PsppireVarStore *var_store =
- PSPPIRE_VAR_STORE(gtk_sheet_get_model(var_sheet));
-
- psppire_dict_delete_variables(var_store->dict,
- var_sheet->range.row0,
- 1 + var_sheet->range.rowi
- - var_sheet->range.row0 );
- }
- break;
- }
-}
-#endif
-
void
on_about1_activate(GtkMenuItem *menuitem,
gpointer user_data)
gtk_sheet_get_active_cell(data_sheet, &row, &col);
- psppire_case_file_insert_case(data_store->case_file, row);
+ psppire_data_store_insert_new_case(data_store, row);
}
void