X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fui%2Fgui%2Fpsppire-data-editor.c;h=916c8838a05a3fff8b8221b623c291e4c631b420;hb=47aaa033c935d0427abd7cbb591a35450eb7db81;hp=3a6152a587b3021615c62fd1b18edf22f5adec64;hpb=00f87914f662b50bcb9eaf432e10ef5c3f486086;p=pspp diff --git a/src/ui/gui/psppire-data-editor.c b/src/ui/gui/psppire-data-editor.c index 3a6152a587..916c8838a0 100644 --- a/src/ui/gui/psppire-data-editor.c +++ b/src/ui/gui/psppire-data-editor.c @@ -562,6 +562,19 @@ on_map (GtkWidget *w) g_signal_connect (clip, "owner-change", G_CALLBACK (on_owner_change), w); } +static gboolean +traverse_cell_callback (GtkSheet *sheet, + gint row, gint column, + gint *new_row, gint *new_column, + gpointer data) +{ + PsppireDataStore *data_store = PSPPIRE_DATA_STORE (data); + + if ( *new_column >= psppire_dict_get_var_cnt (data_store->dict)) + return FALSE; + + return TRUE; +} static void psppire_data_editor_init (PsppireDataEditor *de) @@ -670,6 +683,9 @@ psppire_data_editor_new (PsppireVarStore *var_store, "data-store", data_store, NULL); + g_signal_connect (PSPPIRE_DATA_EDITOR(widget)->data_sheet, "traverse", + G_CALLBACK (traverse_cell_callback), data_store); + return widget; }