+
+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;
+}
+
+
+static gchar *
+geometry_get_button_label (const GSheetRow *geom, gint unit, gpointer data)
+{
+ gchar *label = g_strdup_printf (_("%d"), unit);
+
+ return label;
+}
+
+
+static void
+psppire_var_store_sheet_row_init (GSheetRowIface *iface)
+{
+ iface->get_row_count = geometry_get_row_count;
+ iface->get_height = geometry_get_height;
+ iface->set_height = 0;
+ iface->get_visibility = always_true;
+ iface->get_sensitivity = geometry_is_sensitive;
+
+ iface->get_button_label = geometry_get_button_label;
+}