- GtkBuilder *xml = builder_new ("crosstabs.ui");
-
- pda->dialog = get_widget_assert (xml, "crosstabs-dialog");
- pda->source = get_widget_assert (xml, "dict-treeview");
-
- act->dest_rows = get_widget_assert (xml, "rows");
- act->dest_cols = get_widget_assert (xml, "cols");
- act->format_button = get_widget_assert (xml, "format-button");
- act->stat_button = get_widget_assert (xml, "stats-button");
- act->cell_button = get_widget_assert (xml, "cell-button");
- act->stat_view = get_widget_assert (xml, "stats-view");
- act->cell_view = get_widget_assert (xml, "cell-view");
- act->cell_dialog = get_widget_assert (xml, "cell-dialog");
- act->stat_dialog = get_widget_assert (xml, "stat-dialog");
- act->format_dialog = get_widget_assert (xml, "format-dialog");
-
- act->avalue_button = get_widget_assert (xml, "ascending");
- act->table_button = get_widget_assert (xml, "print-tables");
- act->pivot_button = get_widget_assert (xml, "pivot");
+ GHashTable *thing = psppire_dialog_action_get_pointer (pda);
+ GtkBuilder *xml = g_hash_table_lookup (thing, a);
+ if (!xml)
+ {
+ xml = builder_new ("crosstabs.ui");
+ g_hash_table_insert (thing, a, xml);