/* PSPPIRE - a graphical user interface for PSPP.
- Copyrigght (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008 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
#include <config.h>
#include <gtk/gtksignal.h>
#include <gtk/gtk.h>
-#include <gtksheet/gtksheet.h>
+#include <gtksheet/gtkextra-sheet.h>
#include "psppire-data-editor.h"
#include "psppire-var-sheet.h"
-#include <gtksheet/gsheet-hetero-column.h>
#include <language/syntax-string-source.h>
#include "psppire-data-store.h"
#include "helper.h"
}
+
+
+
/* Callback which occurs when the var sheet's row title
button is double clicked */
static gboolean
}
+/* Moves the focus to a new cell.
+ Returns TRUE iff the move should be disallowed */
+static gboolean
+traverse_cell_callback (GtkSheet *sheet,
+ GtkSheetCell *existing_cell,
+ GtkSheetCell *new_cell,
+ gpointer data)
+{
+ PsppireDataEditor *de = PSPPIRE_DATA_EDITOR (data);
+ const PsppireDict *dict = de->data_store->dict;
+
+ if ( new_cell->col >= psppire_dict_get_var_cnt (dict))
+ return TRUE;
+
+ return FALSE;
+}
+
enum
{
for (i = 0 ; i < 4 ; ++i )
g_object_set (de->data_sheet[i],
"row-geometry", de->data_store,
- "column-geometry", de->data_store,
"model", de->data_store,
NULL);
break;
init_sheet (PsppireDataEditor *de, int i,
GtkAdjustment *hadj, GtkAdjustment *vadj)
{
+ PsppireAxis *haxis = psppire_axis_new (100);
de->sheet_bin[i] = gtk_scrolled_window_new (hadj, vadj);
de->data_sheet[i] = gtk_sheet_new (NULL, NULL, NULL);
"shadow-type", GTK_SHADOW_ETCHED_IN,
NULL);
+ g_object_set (de->data_sheet[i],
+ "horizontal-axis", haxis,
+ NULL);
+
gtk_container_add (GTK_CONTAINER (de->sheet_bin[i]), de->data_sheet[i]);
+ g_signal_connect (de->data_sheet[i], "traverse",
+ G_CALLBACK (traverse_cell_callback), de);
+
gtk_widget_show (de->sheet_bin[i]);
}