- 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");
+ 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");