+ GtkEntry *entry = data;
+ gtk_entry_set_text (entry, "");
+}
+
+
+static void
+on_entry_change (GtkEntry *entry, PsppireAcr *acr)
+{
+ gtk_widget_set_sensitive (acr->add_button, acr->enabled (entry));
+
+ gtk_widget_set_sensitive (acr->change_button, acr->enabled (entry)
+ && row_is_selected (acr));
+}
+
+void
+psppire_acr_set_entry (PsppireAcr *acr, GtkEntry *entry)
+{
+ acr->get_value = value_from_entry;
+ acr->get_value_data = entry;
+ acr->enabled = entry_not_empty;
+ acr->enabled_data = entry;
+ acr->update = clear_entry;
+ acr->update_data = entry;
+
+ g_signal_connect (entry, "changed", G_CALLBACK (on_entry_change), acr);
+}