psppire-dictview: Generalize psppire_dict_view_get_var_measurement_stock_id().
[pspp] / src / ui / gui / chi-square-dialog.c
index dfa39f06eba9df63651810834c535fd7a27e554a..df408921d1e72d08d188fef40b222baee2703098 100644 (file)
@@ -46,14 +46,6 @@ struct chisquare_dialog
   GtkListStore *expected_list;
 };
 
-static void
-set_sensitivity (GtkToggleButton *button, GtkWidget *w)
-{
-  gboolean state = gtk_toggle_button_get_active (button);
-  gtk_widget_set_sensitive (w, state);
-}
-
-
 static gboolean
 dialog_state_valid (gpointer data)
 {
@@ -90,40 +82,35 @@ static char *
 generate_syntax (const struct chisquare_dialog *scd)
 {
   gchar *text;
-  GString *string;
-
-
-  string = g_string_new ("NPAR TEST\n\t/CHISQUARE=");
+  struct string dss;
 
-  psppire_var_view_append_names (PSPPIRE_VAR_VIEW (scd->var_view), 0, string);
+  ds_init_cstr (&dss, "NPAR TEST\n\t/CHISQUARE=");
 
+  psppire_var_view_append_names_str (PSPPIRE_VAR_VIEW (scd->var_view), 0, &dss);
 
   if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->range_button)))
     {
-      g_string_append (string, "(");
+      ds_put_cstr (&dss, "(");
       
-      g_string_append (string
+      ds_put_cstr (&dss
                       gtk_entry_get_text (GTK_ENTRY (scd->value_lower)));
 
-      g_string_append (string, ", ");
+      ds_put_cstr (&dss, ", ");
 
-      g_string_append (string,
+      ds_put_cstr (&dss,
                       gtk_entry_get_text (GTK_ENTRY (scd->value_upper)));
 
-      g_string_append (string, ")");
+      ds_put_cstr (&dss, ")");
     }
 
-
-
-
   if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->values_button)))
     {
       GtkListStore *ls = scd->expected_list;
       GtkTreeIter iter;
       gboolean ok;
 
-      g_string_append (string, "\n\t");
-      g_string_append (string, "/EXPECTED = ");
+      ds_put_cstr (&dss, "\n\t");
+      ds_put_cstr (&dss, "/EXPECTED = ");
 
       
       for (ok = gtk_tree_model_get_iter_first (GTK_TREE_MODEL(ls),
@@ -135,18 +122,15 @@ generate_syntax (const struct chisquare_dialog *scd)
 
          gtk_tree_model_get (GTK_TREE_MODEL (ls), &iter, 0, &v, -1);
 
-         g_string_append_printf (string, " %g", v);
+         ds_put_c_format (&dss, " %g", v);
        }
-
-
-
     }
 
-  g_string_append (string, ".\n");
+  ds_put_cstr (&dss, ".\n");
 
-  text = string->str;
+  text = ds_steal_cstr (&dss);
 
-  g_string_free (string, FALSE);
+  ds_destroy (&dss);
 
   return text;
 }
@@ -162,7 +146,6 @@ chisquare_dialog (PsppireDataWindow *dw)
   struct chisquare_dialog csd;
 
   GtkBuilder *xml = builder_new ("chi-square.ui");
-  PsppireVarStore *vs;
 
   GtkWidget *dialog = get_widget_assert   (xml, "chisquare-dialog");
 
@@ -189,26 +172,24 @@ chisquare_dialog (PsppireDataWindow *dw)
 
   csd.values_button = get_widget_assert   (xml, "radiobutton2");
 
-  g_object_get (dw->data_editor, "var-store", &vs, NULL);
-
   gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (dw));
  
 
-  g_object_get (vs, "dictionary", &csd.dict, NULL);
+  g_object_get (dw->data_editor, "dictionary", &csd.dict, NULL);
   g_object_set (dict_view,
                "model", csd.dict, 
                "predicate", var_is_numeric,
                NULL);
 
 
-  g_signal_connect (csd.range_button, "toggled", G_CALLBACK (set_sensitivity), 
+  g_signal_connect (csd.range_button, "toggled", G_CALLBACK (set_sensitivity_from_toggle), 
                    range_table);
 
 
-  g_signal_connect (csd.values_button, "toggled", G_CALLBACK (set_sensitivity), 
+  g_signal_connect (csd.values_button, "toggled", G_CALLBACK (set_sensitivity_from_toggle), 
                    values_acr);
 
-  g_signal_connect (csd.values_button, "toggled", G_CALLBACK (set_sensitivity), 
+  g_signal_connect (csd.values_button, "toggled", G_CALLBACK (set_sensitivity_from_toggle), 
                    expected_value_entry);