X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fmissing-val-dialog.c;h=351279883542e8206be470e549b59ba45a6cee65;hb=bc02bc027697df3207f827de722c26d8cc87e824;hp=3ffcda07855fe4283a8ce7dc80503c80b9c01139;hpb=cf63d499efd5e6ca3a7dcc6386b3b87bd31bfda9;p=pspp-builds.git diff --git a/src/ui/gui/missing-val-dialog.c b/src/ui/gui/missing-val-dialog.c index 3ffcda07..35127988 100644 --- a/src/ui/gui/missing-val-dialog.c +++ b/src/ui/gui/missing-val-dialog.c @@ -41,7 +41,7 @@ /* A simple (sub) dialog box for displaying user input errors */ static void -err_dialog(const gchar *msg, GtkWindow *window) +err_dialog (const gchar *msg, GtkWindow *window) { GtkWidget *hbox ; GtkWidget *label = gtk_label_new (msg); @@ -57,7 +57,7 @@ err_dialog(const gchar *msg, GtkWindow *window) NULL); - GtkWidget *icon = gtk_image_new_from_stock(GTK_STOCK_DIALOG_ERROR, + GtkWidget *icon = gtk_image_new_from_stock (GTK_STOCK_DIALOG_ERROR, GTK_ICON_SIZE_DIALOG); g_signal_connect_swapped (dialog, @@ -65,13 +65,13 @@ err_dialog(const gchar *msg, GtkWindow *window) G_CALLBACK (gtk_widget_destroy), dialog); - hbox = gtk_hbox_new(FALSE, 10); + hbox = gtk_hbox_new (FALSE, 10); gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), hbox); - gtk_box_pack_start(GTK_BOX(hbox), icon, TRUE, FALSE, 10); - gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 10); + gtk_box_pack_start (GTK_BOX(hbox), icon, TRUE, FALSE, 10); + gtk_box_pack_start (GTK_BOX(hbox), label, TRUE, TRUE, 10); gtk_widget_show_all (dialog); } @@ -79,99 +79,99 @@ err_dialog(const gchar *msg, GtkWindow *window) /* Callback which occurs when the OK button is clicked */ static void -missing_val_dialog_accept(GtkWidget *w, gpointer data) +missing_val_dialog_accept (GtkWidget *w, gpointer data) { struct missing_val_dialog *dialog = data; const struct fmt_spec *write_spec = var_get_write_format (dialog->pv); - if ( gtk_toggle_button_get_active(dialog->button_discrete)) + if ( gtk_toggle_button_get_active (dialog->button_discrete)) { gint nvals = 0; gint badvals = 0; gint i; - mv_clear(&dialog->mvl); - for(i = 0 ; i < 3 ; ++i ) + mv_clear (&dialog->mvl); + for (i = 0 ; i < 3 ; ++i ) { gchar *text = - g_strdup(gtk_entry_get_text(GTK_ENTRY(dialog->mv[i]))); + g_strdup (gtk_entry_get_text (GTK_ENTRY(dialog->mv[i]))); union value v; - if ( !text || strlen(g_strstrip(text)) == 0 ) + if ( !text || strlen (g_strstrip (text)) == 0 ) { - g_free(text); + g_free (text); continue; } - if ( text_to_value(text, &v, *write_spec)) + if ( text_to_value (text, &v, *write_spec)) { nvals++; mv_add_value (&dialog->mvl, &v); } else badvals++; - g_free(text); + g_free (text); } if ( nvals == 0 || badvals > 0 ) { - err_dialog(_("Incorrect value for variable type"), + err_dialog (_("Incorrect value for variable type"), GTK_WINDOW(dialog->window)); return ; } } - if (gtk_toggle_button_get_active(dialog->button_range)) + if (gtk_toggle_button_get_active (dialog->button_range)) { gchar *discrete_text ; union value low_val ; union value high_val; - const gchar *low_text = gtk_entry_get_text(GTK_ENTRY(dialog->low)); - const gchar *high_text = gtk_entry_get_text(GTK_ENTRY(dialog->high)); + const gchar *low_text = gtk_entry_get_text (GTK_ENTRY(dialog->low)); + const gchar *high_text = gtk_entry_get_text (GTK_ENTRY(dialog->high)); - if ( text_to_value(low_text, &low_val, *write_spec) + if ( text_to_value (low_text, &low_val, *write_spec) && - text_to_value(high_text, &high_val, *write_spec) ) + text_to_value (high_text, &high_val, *write_spec) ) { if ( low_val.f > high_val.f ) { - err_dialog(_("Incorrect range specification"), + err_dialog (_("Incorrect range specification"), GTK_WINDOW(dialog->window)); return ; } } else { - err_dialog(_("Incorrect range specification"), + err_dialog (_("Incorrect range specification"), GTK_WINDOW(dialog->window)); return; } discrete_text = - g_strdup(gtk_entry_get_text(GTK_ENTRY(dialog->discrete))); + g_strdup (gtk_entry_get_text (GTK_ENTRY(dialog->discrete))); - mv_clear(&dialog->mvl); - mv_add_num_range(&dialog->mvl, low_val.f, high_val.f); + mv_clear (&dialog->mvl); + mv_add_num_range (&dialog->mvl, low_val.f, high_val.f); - if ( discrete_text && strlen(g_strstrip(discrete_text)) > 0 ) + if ( discrete_text && strlen (g_strstrip (discrete_text)) > 0 ) { union value discrete_val; - if ( !text_to_value(discrete_text, &discrete_val, + if ( !text_to_value (discrete_text, &discrete_val, *write_spec)) { - err_dialog(_("Incorrect value for variable type"), + err_dialog (_("Incorrect value for variable type"), GTK_WINDOW(dialog->window) ); - g_free(discrete_text); + g_free (discrete_text); return; } - mv_add_value(&dialog->mvl, &discrete_val); + mv_add_value (&dialog->mvl, &discrete_val); } - g_free(discrete_text); + g_free (discrete_text); } - if (gtk_toggle_button_get_active(dialog->button_none)) - mv_clear(&dialog->mvl); + if (gtk_toggle_button_get_active (dialog->button_none)) + mv_clear (&dialog->mvl); var_set_missing_values (dialog->pv, &dialog->mvl); @@ -181,75 +181,75 @@ missing_val_dialog_accept(GtkWidget *w, gpointer data) /* Callback which occurs when the 'discrete' radiobutton is toggled */ static void -discrete(GtkToggleButton *button, gpointer data) +discrete (GtkToggleButton *button, gpointer data) { gint i; struct missing_val_dialog *dialog = data; - for(i = 0 ; i < 3 ; ++i ) + for (i = 0 ; i < 3 ; ++i ) { - gtk_widget_set_sensitive(dialog->mv[i], - gtk_toggle_button_get_active(button)); + gtk_widget_set_sensitive (dialog->mv[i], + gtk_toggle_button_get_active (button)); } } /* Callback which occurs when the 'range' radiobutton is toggled */ static void -range(GtkToggleButton *button, gpointer data) +range (GtkToggleButton *button, gpointer data) { struct missing_val_dialog *dialog = data; const gboolean active = gtk_toggle_button_get_active (button); - gtk_widget_set_sensitive(dialog->low, active); - gtk_widget_set_sensitive(dialog->high, active); - gtk_widget_set_sensitive(dialog->discrete, active); + gtk_widget_set_sensitive (dialog->low, active); + gtk_widget_set_sensitive (dialog->high, active); + gtk_widget_set_sensitive (dialog->discrete, active); } /* Creates the dialog structure from the xml */ struct missing_val_dialog * -missing_val_dialog_create(GladeXML *xml) +missing_val_dialog_create (GladeXML *xml) { - struct missing_val_dialog *dialog = g_malloc(sizeof(*dialog)); + struct missing_val_dialog *dialog = g_malloc (sizeof (*dialog)); - dialog->window = get_widget_assert(xml, "missing_values_dialog"); + dialog->window = get_widget_assert (xml, "missing_values_dialog"); gtk_window_set_transient_for (GTK_WINDOW(dialog->window), - GTK_WINDOW(get_widget_assert(xml, "data_editor"))); + GTK_WINDOW(get_widget_assert (xml, "data_editor"))); - g_signal_connect_swapped(get_widget_assert(xml, "missing_val_cancel"), + g_signal_connect_swapped (get_widget_assert (xml, "missing_val_cancel"), "clicked", G_CALLBACK(gtk_widget_hide), dialog->window); - g_signal_connect(get_widget_assert(xml, "missing_val_ok"), + g_signal_connect (get_widget_assert (xml, "missing_val_ok"), "clicked", G_CALLBACK(missing_val_dialog_accept), dialog); - dialog->mv[0] = get_widget_assert(xml, "mv0"); - dialog->mv[1] = get_widget_assert(xml, "mv1"); - dialog->mv[2] = get_widget_assert(xml, "mv2"); + dialog->mv[0] = get_widget_assert (xml, "mv0"); + dialog->mv[1] = get_widget_assert (xml, "mv1"); + dialog->mv[2] = get_widget_assert (xml, "mv2"); - dialog->low = get_widget_assert(xml, "mv-low"); - dialog->high = get_widget_assert(xml, "mv-high"); - dialog->discrete = get_widget_assert(xml, "mv-discrete"); + dialog->low = get_widget_assert (xml, "mv-low"); + dialog->high = get_widget_assert (xml, "mv-high"); + dialog->discrete = get_widget_assert (xml, "mv-discrete"); dialog->button_none = - GTK_TOGGLE_BUTTON(get_widget_assert(xml, "no_missing")); + GTK_TOGGLE_BUTTON(get_widget_assert (xml, "no_missing")); dialog->button_discrete = - GTK_TOGGLE_BUTTON(get_widget_assert(xml, "discrete_missing")); + GTK_TOGGLE_BUTTON(get_widget_assert (xml, "discrete_missing")); dialog->button_range = - GTK_TOGGLE_BUTTON(get_widget_assert(xml, "range_missing")); + GTK_TOGGLE_BUTTON(get_widget_assert (xml, "range_missing")); - g_signal_connect(G_OBJECT(dialog->button_discrete), "toggled", + g_signal_connect (G_OBJECT(dialog->button_discrete), "toggled", G_CALLBACK(discrete), dialog); - g_signal_connect(G_OBJECT(dialog->button_range), "toggled", + g_signal_connect (G_OBJECT(dialog->button_range), "toggled", G_CALLBACK(range), dialog); return dialog; @@ -257,34 +257,34 @@ missing_val_dialog_create(GladeXML *xml) /* Shows the dialog box and sets default values */ void -missing_val_dialog_show(struct missing_val_dialog *dialog) +missing_val_dialog_show (struct missing_val_dialog *dialog) { const struct fmt_spec *write_spec ; gint i; - g_return_if_fail(dialog); - g_return_if_fail(dialog->pv); + g_return_if_fail (dialog); + g_return_if_fail (dialog->pv); mv_copy (&dialog->mvl, var_get_missing_values (dialog->pv)); write_spec = var_get_write_format (dialog->pv); /* Blank all entry boxes and make them insensitive */ - gtk_entry_set_text(GTK_ENTRY(dialog->low), ""); - gtk_entry_set_text(GTK_ENTRY(dialog->high), ""); - gtk_entry_set_text(GTK_ENTRY(dialog->discrete), ""); - gtk_widget_set_sensitive(dialog->low, FALSE); - gtk_widget_set_sensitive(dialog->high, FALSE); - gtk_widget_set_sensitive(dialog->discrete, FALSE); - - gtk_widget_set_sensitive(GTK_WIDGET(dialog->button_range), + gtk_entry_set_text (GTK_ENTRY(dialog->low), ""); + gtk_entry_set_text (GTK_ENTRY(dialog->high), ""); + gtk_entry_set_text (GTK_ENTRY(dialog->discrete), ""); + gtk_widget_set_sensitive (dialog->low, FALSE); + gtk_widget_set_sensitive (dialog->high, FALSE); + gtk_widget_set_sensitive (dialog->discrete, FALSE); + + gtk_widget_set_sensitive (GTK_WIDGET(dialog->button_range), var_is_numeric (dialog->pv)); - for(i = 0 ; i < 3 ; ++i ) + for (i = 0 ; i < 3 ; ++i ) { - gtk_entry_set_text(GTK_ENTRY(dialog->mv[i]), ""); - gtk_widget_set_sensitive(dialog->mv[i], FALSE); + gtk_entry_set_text (GTK_ENTRY(dialog->mv[i]), ""); + gtk_widget_set_sensitive (dialog->mv[i], FALSE); } if ( mv_has_range (&dialog->mvl)) @@ -292,56 +292,56 @@ missing_val_dialog_show(struct missing_val_dialog *dialog) union value low, high; gchar *low_text; gchar *high_text; - mv_peek_range(&dialog->mvl, &low.f, &high.f); + mv_peek_range (&dialog->mvl, &low.f, &high.f); - low_text = value_to_text(low, *write_spec); - high_text = value_to_text(high, *write_spec); + low_text = value_to_text (low, *write_spec); + high_text = value_to_text (high, *write_spec); - gtk_entry_set_text(GTK_ENTRY(dialog->low), low_text); - gtk_entry_set_text(GTK_ENTRY(dialog->high), high_text); - g_free(low_text); - g_free(high_text); + gtk_entry_set_text (GTK_ENTRY(dialog->low), low_text); + gtk_entry_set_text (GTK_ENTRY(dialog->high), high_text); + g_free (low_text); + g_free (high_text); - if ( mv_has_value(&dialog->mvl)) + if ( mv_has_value (&dialog->mvl)) { gchar *text; union value value; - mv_peek_value(&dialog->mvl, &value, 0); - text = value_to_text(value, *write_spec); - gtk_entry_set_text(GTK_ENTRY(dialog->discrete), text); - g_free(text); + mv_peek_value (&dialog->mvl, &value, 0); + text = value_to_text (value, *write_spec); + gtk_entry_set_text (GTK_ENTRY(dialog->discrete), text); + g_free (text); } - gtk_toggle_button_set_active(dialog->button_range, TRUE); - gtk_widget_set_sensitive(dialog->low, TRUE); - gtk_widget_set_sensitive(dialog->high, TRUE); - gtk_widget_set_sensitive(dialog->discrete, TRUE); + gtk_toggle_button_set_active (dialog->button_range, TRUE); + gtk_widget_set_sensitive (dialog->low, TRUE); + gtk_widget_set_sensitive (dialog->high, TRUE); + gtk_widget_set_sensitive (dialog->discrete, TRUE); } else if ( mv_has_value (&dialog->mvl)) { const int n = mv_n_values (&dialog->mvl); - for(i = 0 ; i < 3 ; ++i ) + for (i = 0 ; i < 3 ; ++i ) { if ( i < n) { gchar *text ; union value value; - mv_peek_value(&dialog->mvl, &value, i); - text = value_to_text(value, *write_spec); - gtk_entry_set_text(GTK_ENTRY(dialog->mv[i]), text); - g_free(text); + mv_peek_value (&dialog->mvl, &value, i); + text = value_to_text (value, *write_spec); + gtk_entry_set_text (GTK_ENTRY(dialog->mv[i]), text); + g_free (text); } - gtk_widget_set_sensitive(dialog->mv[i], TRUE); + gtk_widget_set_sensitive (dialog->mv[i], TRUE); } - gtk_toggle_button_set_active(dialog->button_discrete, TRUE); + gtk_toggle_button_set_active (dialog->button_discrete, TRUE); } else if ( mv_is_empty (&dialog->mvl)) { - gtk_toggle_button_set_active(dialog->button_none, TRUE); + gtk_toggle_button_set_active (dialog->button_none, TRUE); } - gtk_widget_show(dialog->window); + gtk_widget_show (dialog->window); }