X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-barchart.c;h=8858e8b4368bc921fbf932fb32b18722692c094b;hb=ff72dea565ea406e17beccc051d50e40e9294b08;hp=ee85831b6472c92097bc8ef98eb861af49e577e2;hpb=7293c1a383d325c371bd708401e5a1d7586a4d90;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-barchart.c b/src/ui/gui/psppire-dialog-action-barchart.c index ee85831b64..8858e8b436 100644 --- a/src/ui/gui/psppire-dialog-action-barchart.c +++ b/src/ui/gui/psppire-dialog-action-barchart.c @@ -42,7 +42,7 @@ dialog_state_valid (gpointer rd_) { PsppireDialogActionBarchart *rd = PSPPIRE_DIALOG_ACTION_BARCHART (rd_); - if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->button_summary_func)) ) + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->button_summary_func))) { if (0 == g_strcmp0 ("", gtk_entry_get_text (GTK_ENTRY (rd->var)))) return FALSE; @@ -67,7 +67,7 @@ refresh (PsppireDialogAction *rd_) This ensures that the signal handler gets called. */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rd->button_summary_func), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rd->button_freq_func[0]), TRUE); - + gtk_widget_set_sensitive (rd->combobox, FALSE); gtk_combo_box_set_active (GTK_COMBO_BOX (rd->combobox), 0); @@ -114,45 +114,40 @@ populate_combo_model (GtkComboBox *cb) } -static void -psppire_dialog_action_barchart_activate (PsppireDialogAction *a) +static GtkBuilder * +psppire_dialog_action_barchart_activate (PsppireDialogAction *a, GVariant *param) { PsppireDialogActionBarchart *act = PSPPIRE_DIALOG_ACTION_BARCHART (a); PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a); - GHashTable *thing = psppire_dialog_action_get_hash_table (pda); - GtkBuilder *xml = g_hash_table_lookup (thing, a); - if (!xml) - { - xml = builder_new ("barchart.ui"); - g_hash_table_insert (thing, a, xml); - - pda->dialog = get_widget_assert (xml, "barchart-dialog"); - pda->source = get_widget_assert (xml, "dict-view"); - - act->variable_xaxis = get_widget_assert (xml, "entry1"); - act->variable_cluster = get_widget_assert (xml, "entry3"); - act->var = get_widget_assert (xml, "entry2"); - act->button_freq_func[0] = get_widget_assert (xml, "radiobutton-count"); - act->button_freq_func[1] = get_widget_assert (xml, "radiobutton-percent"); - act->button_freq_func[2] = get_widget_assert (xml, "radiobutton-cum-count"); - act->button_freq_func[3] = get_widget_assert (xml, "radiobutton-cum-percent"); - - act->button_summary_func = get_widget_assert (xml, "radiobutton3"); - act->summary_variables = get_widget_assert (xml, "hbox1"); - act->combobox = get_widget_assert (xml, "combobox1"); - - populate_combo_model (GTK_COMBO_BOX(act->combobox)); - - g_signal_connect_swapped (act->button_summary_func, "toggled", - G_CALLBACK (on_summary_toggle), act); - - psppire_dialog_action_set_refresh (pda, refresh); - - psppire_dialog_action_set_valid_predicate (pda, - dialog_state_valid); - } + GtkBuilder *xml = builder_new ("barchart.ui"); + + pda->dialog = get_widget_assert (xml, "barchart-dialog"); + pda->source = get_widget_assert (xml, "dict-view"); + + act->variable_xaxis = get_widget_assert (xml, "entry1"); + act->variable_cluster = get_widget_assert (xml, "entry3"); + act->var = get_widget_assert (xml, "entry2"); + act->button_freq_func[0] = get_widget_assert (xml, "radiobutton-count"); + act->button_freq_func[1] = get_widget_assert (xml, "radiobutton-percent"); + act->button_freq_func[2] = get_widget_assert (xml, "radiobutton-cum-count"); + act->button_freq_func[3] = get_widget_assert (xml, "radiobutton-cum-percent"); + act->button_summary_func = get_widget_assert (xml, "radiobutton3"); + act->summary_variables = get_widget_assert (xml, "hbox1"); + act->combobox = get_widget_assert (xml, "combobox1"); + + populate_combo_model (GTK_COMBO_BOX(act->combobox)); + + g_signal_connect_swapped (act->button_summary_func, "toggled", + G_CALLBACK (on_summary_toggle), act); + + psppire_dialog_action_set_refresh (pda, refresh); + + psppire_dialog_action_set_valid_predicate (pda, + dialog_state_valid); + + return xml; } static char * @@ -216,7 +211,7 @@ generate_syntax (const PsppireDialogAction *a) g_string_append (string, " BY "); g_string_append (string, var_name_cluster); } - + g_string_append (string, ".\n"); text = string->str; @@ -229,7 +224,7 @@ generate_syntax (const PsppireDialogAction *a) static void psppire_dialog_action_barchart_class_init (PsppireDialogActionBarchartClass *class) { - psppire_dialog_action_set_activation (class, psppire_dialog_action_barchart_activate); + PSPPIRE_DIALOG_ACTION_CLASS (class)->initial_activate = psppire_dialog_action_barchart_activate; PSPPIRE_DIALOG_ACTION_CLASS (class)->generate_syntax = generate_syntax; }