X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fdata-sheet.c;h=2a211ac7442271ab067bdd1a305162f89e208dd5;hb=26b8e68e01f3422f2f1be2469435d34d27635c44;hp=2145d0f71ae72d272bc51be2817d67b6f403db1a;hpb=1c08d9ea96f931ed4330ad2b432cdf950d5b75bf;p=pspp-builds.git diff --git a/src/ui/gui/data-sheet.c b/src/ui/gui/data-sheet.c index 2145d0f7..2a211ac7 100644 --- a/src/ui/gui/data-sheet.c +++ b/src/ui/gui/data-sheet.c @@ -36,36 +36,27 @@ static gboolean -traverse_callback (GtkSheet * sheet, +traverse_callback (GtkSheet *sheet, gint row, gint col, gint *new_row, gint *new_column ) { - gint case_count; - gint n_vars; + gint n_vars, n_cases; + GtkWidget *entry = gtk_sheet_get_entry (sheet); PsppireDataStore *data_store = PSPPIRE_DATA_STORE (gtk_sheet_get_model (sheet)); - g_assert (data_store); n_vars = psppire_dict_get_var_cnt (data_store->dict); - if ( *new_column >= n_vars ) - return FALSE; - - case_count = psppire_case_file_get_case_count (data_store->case_file); + n_cases = psppire_data_store_get_case_count (data_store); - if ( *new_row >= case_count ) - { - gint i; + g_object_set (entry, "editable", (*new_row < n_cases + 1), NULL); - for ( i = case_count ; i <= *new_row; ++i ) - psppire_data_store_insert_new_case (data_store, i); - - return TRUE; - } + if ( *new_column >= n_vars ) + return FALSE; return TRUE; }