void CompressorInput::create_objects() { for(int i = 0; i < 3; i++) { add_item(new BC_MenuItem(value_to_text(i))); } }
int CompressorInput::text_to_value(char *text) { for(int i = 0; i < 3; i++) { if(!strcmp(value_to_text(i), text)) return i; } return CompressorConfig::TRIGGER; }
/* Shows the dialog box and sets default values */ void missing_val_dialog_show (struct missing_val_dialog *dialog) { gint i; g_return_if_fail (dialog); g_return_if_fail (dialog->pv); mv_copy (&dialog->mvl, var_get_missing_values (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), var_is_numeric (dialog->pv)); for (i = 0 ; i < 3 ; ++i ) { gtk_entry_set_text (GTK_ENTRY (dialog->mv[i]), ""); gtk_widget_set_sensitive (dialog->mv[i], FALSE); } if ( mv_has_range (&dialog->mvl)) { union value low, high; gchar *low_text; gchar *high_text; mv_get_range (&dialog->mvl, &low.f, &high.f); low_text = value_to_text (low, dialog->pv); high_text = value_to_text (high, dialog->pv); 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)) { gchar *text; text = value_to_text (*mv_get_value (&dialog->mvl, 0), dialog->pv); 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); } else if ( mv_has_value (&dialog->mvl)) { const int n = mv_n_values (&dialog->mvl); for (i = 0 ; i < 3 ; ++i ) { if ( i < n) { gchar *text ; text = value_to_text (*mv_get_value (&dialog->mvl, i), dialog->pv); gtk_entry_set_text (GTK_ENTRY (dialog->mv[i]), text); g_free (text); } gtk_widget_set_sensitive (dialog->mv[i], 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_widget_show (dialog->window); }