- {
- gint width = atoi (gtk_entry_get_text
- (GTK_ENTRY (dialog->entry_width)));
-
- gint decimals = atoi (gtk_entry_get_text
- (GTK_ENTRY (dialog->entry_decimals)));
-
- gint new_width = 0;
- bool result = false;
- struct fmt_spec spec;
- switch (dialog->active_button)
- {
- case BUTTON_STRING:
- new_width = width;
- result = make_output_format_try (&spec, FMT_A, width, 0);
- break;
- case BUTTON_NUMERIC:
- result = make_output_format_try (&spec, FMT_F, width, decimals);
- break;
- case BUTTON_COMMA:
- result = make_output_format_try (&spec, FMT_COMMA, width, decimals);
- break;
- case BUTTON_DOT:
- result = make_output_format_try (&spec, FMT_DOT, width, decimals);
- break;
- case BUTTON_SCIENTIFIC:
- result = make_output_format_try (&spec, FMT_E, width, decimals);
- break;
- case BUTTON_DATE:
- case BUTTON_CUSTOM:
- if (! fmt_check_output (&dialog->fmt_l))
- g_critical ("Invalid variable format");
- else
- result = memcpy (&spec, &dialog->fmt_l, sizeof (struct fmt_spec));
- break;
- case BUTTON_DOLLAR:
- result = make_output_format_try (&spec, FMT_DOLLAR, width, decimals);
- break;
- default:
- g_critical ("Unknown variable type: %d", dialog->active_button) ;
- result = false;
- break;
- }
-
- if ( result == true )
- {
- var_set_width (dialog->pv, new_width);
- var_set_both_formats (dialog->pv, &spec);
- }
-
- }