gchar * missing_values_to_string (const struct variable *pv, GError **err);
-static gchar *psppire_var_store_get_string (const GSheetModel *sheet_model, gint row, gint column);
+static gchar *psppire_var_store_get_string (const GSheetModel *sheet_model, glong row, glong column);
-static gboolean psppire_var_store_clear (GSheetModel *model, gint row, gint col);
+static gboolean psppire_var_store_clear (GSheetModel *model, glong row, glong col);
static gboolean psppire_var_store_set_string (GSheetModel *model,
- const gchar *text, gint row, gint column);
+ const gchar *text, glong row, glong column);
-static gint psppire_var_store_get_row_count (const GSheetModel * model);
+static glong psppire_var_store_get_row_count (const GSheetModel * model);
+static glong psppire_var_store_get_column_count (const GSheetModel * model);
static gchar *text_for_column (const struct variable *pv, gint c, GError **err);
}
static gboolean
-psppire_var_store_item_editable (PsppireVarStore *var_store, gint row, gint column)
+psppire_var_store_item_editable (PsppireVarStore *var_store, glong row, glong column)
{
const struct fmt_spec *write_spec ;
struct variable *
-psppire_var_store_get_var (PsppireVarStore *store, gint row)
+psppire_var_store_get_var (PsppireVarStore *store, glong row)
{
return psppire_dict_get_variable (store->dict, row);
}
static gboolean
-psppire_var_store_is_editable (const GSheetModel *model, gint row, gint column)
+psppire_var_store_is_editable (const GSheetModel *model, glong row, glong column)
{
PsppireVarStore *store = PSPPIRE_VAR_STORE (model);
return psppire_var_store_item_editable (store, row, column);
static const GdkColor *
-psppire_var_store_get_foreground (const GSheetModel *model, gint row, gint column)
+psppire_var_store_get_foreground (const GSheetModel *model, glong row, glong column)
{
PsppireVarStore *store = PSPPIRE_VAR_STORE (model);
const PangoFontDescription *
psppire_var_store_get_font_desc (const GSheetModel *model,
- gint row, gint column)
+ glong row, glong column)
{
PsppireVarStore *store = PSPPIRE_VAR_STORE (model);
+
static void
psppire_var_store_sheet_model_init (GSheetModelIface *iface)
{
iface->get_row_count = psppire_var_store_get_row_count;
+ iface->get_column_count = psppire_var_store_get_column_count;
iface->free_strings = TRUE;
iface->get_string = psppire_var_store_get_string;
iface->set_string = psppire_var_store_set_string;
static void
-var_delete_callback (GtkWidget *w, gint first, gint n, gpointer data)
+var_delete_callback (GtkWidget *w, gint dict_idx, gint case_idx, gint val_cnt, gpointer data)
{
GSheetModel *model = G_SHEET_MODEL (data);
- g_sheet_model_rows_deleted (model, first, n);
+ g_sheet_model_rows_deleted (model, dict_idx, 1);
}
static void
-var_insert_callback (GtkWidget *w, gint row, gpointer data)
+var_insert_callback (GtkWidget *w, glong row, gpointer data)
{
GSheetModel *model = G_SHEET_MODEL (data);
g_sheet_model_rows_inserted (model, row, 1);
}
+static void
+refresh (PsppireDict *d, gpointer data)
+{
+ PsppireVarStore *vs = data;
+ g_sheet_model_range_changed (G_SHEET_MODEL (vs), -1, -1, -1, -1);
+}
/**
* psppire_var_store_replace_set_dictionary:
g_signal_connect (dict, "variable-changed", G_CALLBACK (var_change_callback),
var_store);
- g_signal_connect (dict, "variables-deleted", G_CALLBACK (var_delete_callback),
+ g_signal_connect (dict, "variable-deleted", G_CALLBACK (var_delete_callback),
var_store);
- g_signal_connect (dict, "variable-inserted", G_CALLBACK (var_insert_callback),
- var_store);
+ g_signal_connect (dict, "variable-inserted",
+ G_CALLBACK (var_insert_callback), var_store);
+ g_signal_connect (dict, "backend-changed", G_CALLBACK (refresh),
+ var_store);
/* The entire model has changed */
g_sheet_model_range_changed (G_SHEET_MODEL (var_store), -1, -1, -1, -1);
}
static gchar *
-psppire_var_store_get_string (const GSheetModel *model, gint row, gint column)
+psppire_var_store_get_string (const GSheetModel *model, glong row, glong column)
{
PsppireVarStore *store = PSPPIRE_VAR_STORE (model);
Returns true if anything was updated, false otherwise.
*/
static gboolean
-psppire_var_store_clear (GSheetModel *model, gint row, gint col)
+psppire_var_store_clear (GSheetModel *model, glong row, glong col)
{
struct variable *pv ;
*/
static gboolean
psppire_var_store_set_string (GSheetModel *model,
- const gchar *text, gint row, gint col)
+ const gchar *text, glong row, glong col)
{
struct variable *pv ;
}
-static gint
+static glong
psppire_var_store_get_row_count (const GSheetModel * model)
{
gint rows = 0;
return rows ;
}
+static glong
+psppire_var_store_get_column_count (const GSheetModel * model)
+{
+ return n_COLS ;
+}
+
+
/* Row related funcs */
-static gint
+static glong
geometry_get_row_count (const GSheetRow *geom, gpointer data)
{
gint rows = 0;
static gint
-geometry_get_height (const GSheetRow *geom, gint row, gpointer data)
+geometry_get_height (const GSheetRow *geom, glong row, gpointer data)
{
return 25;
}
static gboolean
-geometry_is_sensitive (const GSheetRow *geom, gint row, gpointer data)
+geometry_is_sensitive (const GSheetRow *geom, glong row, gpointer data)
{
PsppireVarStore *vs = PSPPIRE_VAR_STORE (geom);
static gchar *
-geometry_get_button_label (const GSheetRow *geom, gint unit, gpointer data)
+geometry_get_button_label (const GSheetRow *geom, glong unit, gpointer data)
{
- gchar *label = g_strdup_printf (_("%d"), unit);
+ gchar *label = g_strdup_printf (_("%ld"), unit);
return label;
}
-
static void
psppire_var_store_sheet_row_init (GSheetRowIface *iface)
{