- g_sheet_model_range_changed (G_SHEET_MODEL(store), -1, -1, -1, -1);
+ g_sheet_model_range_changed (G_SHEET_MODEL (store), -1, -1, -1, -1);
+}
+
+
+static gint
+psppire_var_store_get_row_count (const GSheetModel * model)
+{
+ gint rows = 0;
+ PsppireVarStore *vs = PSPPIRE_VAR_STORE (model);
+
+ if (vs->dict)
+ rows = psppire_dict_get_var_cnt (vs->dict);
+
+ return rows ;
+}
+
+/* Row related funcs */
+
+static gint
+geometry_get_row_count (const GSheetRow *geom, gpointer data)
+{
+ gint rows = 0;
+ PsppireVarStore *vs = PSPPIRE_VAR_STORE (geom);
+
+ if (vs->dict)
+ rows = psppire_dict_get_var_cnt (vs->dict);
+
+ return rows + TRAILING_ROWS;
+}
+
+
+static gint
+geometry_get_height (const GSheetRow *geom, gint row, gpointer data)
+{
+ return 25;
+}
+
+
+static gboolean
+geometry_is_sensitive (const GSheetRow *geom, gint row, gpointer data)
+{
+ PsppireVarStore *vs = PSPPIRE_VAR_STORE (geom);
+
+ if ( ! vs->dict)
+ return FALSE;
+
+ return row < psppire_dict_get_var_cnt (vs->dict);
+}
+
+static
+gboolean always_true ()
+{
+ return TRUE;