X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-var-info.c;h=9c7d4fd3e2b374d6632408aa42362afecf115977;hb=5b6f8f94c5f47443e7afe4cb4c38348d374b7dfa;hp=dd2c9aefd213724a5e8413ad811c2718dc6a03b9;hpb=a43514a9292ea34b14f1ed79c1f95bc1b5c63628;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-var-info.c b/src/ui/gui/psppire-dialog-action-var-info.c index dd2c9aefd2..9c7d4fd3e2 100644 --- a/src/ui/gui/psppire-dialog-action-var-info.c +++ b/src/ui/gui/psppire-dialog-action-var-info.c @@ -165,49 +165,42 @@ jump_to (PsppireDialog *d, gint response, gpointer data) g_free (vars); } -static void -psppire_dialog_action_var_info_activate (PsppireDialogAction *a) +static GtkBuilder * +psppire_dialog_action_var_info_activate (PsppireDialogAction *a, GVariant *param) { PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a); PsppireDialogActionVarInfo *act = PSPPIRE_DIALOG_ACTION_VAR_INFO (pda); - GHashTable *thing = psppire_dialog_action_get_hash_table (pda); - GtkBuilder *xml = g_hash_table_lookup (thing, a); - if (!xml) - { - xml = builder_new ("variable-info.ui"); - g_hash_table_insert (thing, a, xml); + GtkBuilder *xml = builder_new ( "variable-info.ui"); + + act->output = + psppire_output_view_new (GTK_LAYOUT (get_widget_assert (xml, "layout1")), + NULL); - act->output = - psppire_output_view_new (GTK_LAYOUT (get_widget_assert (xml, "layout1")), - NULL, NULL, NULL); - - pda->dialog = get_widget_assert (xml, "variable-info-dialog"); - pda->source = get_widget_assert (xml, "treeview2"); + pda->dialog = get_widget_assert (xml, "variable-info-dialog"); + pda->source = get_widget_assert (xml, "treeview2"); - g_object_set (pda->source, - "selection-mode", GTK_SELECTION_MULTIPLE, - NULL); + g_object_set (pda->source, + "selection-mode", GTK_SELECTION_MULTIPLE, + NULL); - g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (pda->source)), - "changed", G_CALLBACK (populate_output), - act); + g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (pda->source)), + "changed", G_CALLBACK (populate_output), + act); - g_signal_connect (pda->dialog, "response", G_CALLBACK (jump_to), - pda); + g_signal_connect (pda->dialog, "response", G_CALLBACK (jump_to), + pda); - psppire_dialog_action_set_valid_predicate (pda, - treeview_item_selected); - } - - if (PSPPIRE_DIALOG_ACTION_CLASS (psppire_dialog_action_var_info_parent_class)->activate) - PSPPIRE_DIALOG_ACTION_CLASS (psppire_dialog_action_var_info_parent_class)->activate (pda); + psppire_dialog_action_set_valid_predicate (pda, + treeview_item_selected); + + return xml; } static void psppire_dialog_action_var_info_class_init (PsppireDialogActionVarInfoClass *class) { - psppire_dialog_action_set_activation (class, psppire_dialog_action_var_info_activate); + PSPPIRE_DIALOG_ACTION_CLASS (class)->initial_activate = psppire_dialog_action_var_info_activate; PSPPIRE_DIALOG_ACTION_CLASS (class)->generate_syntax = generate_syntax; }