X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-var-sheet.c;h=920d84e4b36b1c3d9d29ed4595d46e058986e72f;hb=9ff56712d2c03adaf0fb23a501c3ba0e00471b20;hp=517a61e04b71924064ba4463aa695da111ff9e6b;hpb=d3181522c4d8e725d417cbae655e46f660fe168e;p=pspp-builds.git diff --git a/src/ui/gui/psppire-var-sheet.c b/src/ui/gui/psppire-var-sheet.c index 517a61e0..920d84e4 100644 --- a/src/ui/gui/psppire-var-sheet.c +++ b/src/ui/gui/psppire-var-sheet.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008, 2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ #include #include "psppire-var-sheet.h" -#include +#include #include "helper.h" @@ -251,6 +251,9 @@ traverse_cell_callback (PsppireSheet *sheet, gint n_vars = psppire_var_store_get_var_cnt (var_store); + if (new_cell->col >= PSPPIRE_VAR_STORE_n_COLS) + return TRUE; + if (new_cell->row >= n_vars && !var_sheet->may_create_vars) return TRUE; @@ -260,10 +263,10 @@ traverse_cell_callback (PsppireSheet *sheet, const gchar *name = gtk_entry_get_text (entry); - if (! psppire_dict_check_name (var_store->dict, name, TRUE)) + if (! psppire_dict_check_name (var_store->dictionary, name, TRUE)) return TRUE; - psppire_dict_insert_variable (var_store->dict, existing_cell->row, name); + psppire_dict_insert_variable (var_store->dictionary, existing_cell->row, name); return FALSE; } @@ -278,7 +281,7 @@ traverse_cell_callback (PsppireSheet *sheet, { gint i; for ( i = n_vars ; i <= new_cell->row; ++i ) - psppire_dict_insert_variable (var_store->dict, i, NULL); + psppire_dict_insert_variable (var_store->dictionary, i, NULL); } return FALSE; @@ -363,11 +366,6 @@ var_sheet_change_active_cell (PsppireVarSheet *vs, customEntry = PSPPIRE_CUSTOM_ENTRY (psppire_sheet_get_entry (sheet)); - if ( var_is_long_string (var)) - g_object_set (customEntry, - "editable", FALSE, - NULL); - val_labs_dialog_set_target_variable (vs->val_labs_dialog, var); g_signal_connect_swapped (customEntry, @@ -386,15 +384,11 @@ var_sheet_change_active_cell (PsppireVarSheet *vs, customEntry = PSPPIRE_CUSTOM_ENTRY (psppire_sheet_get_entry (sheet)); - if ( var_is_long_string (var)) - g_object_set (customEntry, - "editable", FALSE, - NULL); - - vs->missing_val_dialog->pv = psppire_var_store_get_var (var_store, row); + vs->missing_val_dialog->dict = var_store->dictionary; + g_signal_connect_swapped (customEntry, "clicked", G_CALLBACK (missing_val_dialog_show), @@ -459,9 +453,9 @@ var_sheet_change_active_cell (PsppireVarSheet *vs, } adj = gtk_adjustment_new (current_value, - r_min, r_max, - 1.0, 1.0, 1.0 /* steps */ - ); + r_min, r_max, + 1.0, 1.0, /* steps */ + 0); psppire_sheet_change_entry (sheet, GTK_TYPE_SPIN_BUTTON); @@ -489,7 +483,9 @@ psppire_var_sheet_realize (GtkWidget *w) GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (vs)); - vs->val_labs_dialog = val_labs_dialog_create (GTK_WINDOW (toplevel)); + vs->val_labs_dialog = val_labs_dialog_create (GTK_WINDOW (toplevel), + PSPPIRE_VAR_STORE (psppire_sheet_get_model (PSPPIRE_SHEET (vs)))); + vs->missing_val_dialog = missing_val_dialog_create (GTK_WINDOW (toplevel)); vs->var_type_dialog = var_type_dialog_create (GTK_WINDOW (toplevel)); @@ -550,13 +546,13 @@ GtkWidget* psppire_var_sheet_new (void) { gint i; - PsppireAxisImpl *ha = psppire_axis_impl_new (); - PsppireAxisImpl *va = psppire_axis_impl_new (); + PsppireAxis *ha = psppire_axis_new (); + PsppireAxis *va = psppire_axis_new (); GtkWidget *w = g_object_new (psppire_var_sheet_get_type (), NULL); for (i = 0 ; i < 10 ; ++i) - psppire_axis_impl_append (ha, column_def[i].width); + psppire_axis_append (ha, column_def[i].width); g_object_set (va, "default-size", 25,