X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-split.c;h=5a0026e2133334e8782198eb9d3ca7e121fe1ed2;hb=e5ed663e9f1998c1c2409a668288d4e5d496beda;hp=f879a960e1e8832b7197fe0fe1e2dee42fd1f6f6;hpb=43f0e5bf6c53ee0ba31b259aab230861baa4eb7e;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-split.c b/src/ui/gui/psppire-dialog-action-split.c index f879a960e1..5a0026e213 100644 --- a/src/ui/gui/psppire-dialog-action-split.c +++ b/src/ui/gui/psppire-dialog-action-split.c @@ -36,7 +36,7 @@ G_DEFINE_TYPE (PsppireDialogActionSplit, psppire_dialog_action_split, PSPPIRE_TY static char * -generate_syntax (PsppireDialogAction *pda) +generate_syntax (const PsppireDialogAction *pda) { PsppireDialogActionSplit *act = PSPPIRE_DIALOG_ACTION_SPLIT (pda); gchar *text; @@ -136,50 +136,41 @@ on_off_toggled (GtkToggleButton *togglebutton, gtk_widget_set_sensitive (act->source, state); } -static void -psppire_dialog_action_split_activate (PsppireDialogAction *pda) +static GtkBuilder * +psppire_dialog_action_split_activate (PsppireDialogAction *pda, GVariant *param) { PsppireDialogActionSplit *act = PSPPIRE_DIALOG_ACTION_SPLIT (pda); - GHashTable *thing = psppire_dialog_action_get_hash_table (pda); - GtkBuilder *xml = g_hash_table_lookup (thing, pda); - if (!xml) - { - xml = builder_new ("split-file.ui"); - g_hash_table_insert (thing, pda, xml); + GtkBuilder *xml = builder_new ( "split-file.ui"); - pda->dialog = get_widget_assert (xml, "split-file-dialog"); - pda->source = get_widget_assert (xml, "split-file-dict-treeview"); - act->selector = get_widget_assert (xml, "split-file-selector"); + pda->dialog = get_widget_assert (xml, "split-file-dialog"); + pda->source = get_widget_assert (xml, "split-file-dict-treeview"); + act->selector = get_widget_assert (xml, "split-file-selector"); - act->dest = get_widget_assert (xml, "split-file-grouping-vars"); - act->source = get_widget_assert (xml, "split-file-dict-treeview"); - act->sort = get_widget_assert (xml, "split-sort"); + act->dest = get_widget_assert (xml, "split-file-grouping-vars"); + act->source = get_widget_assert (xml, "split-file-dict-treeview"); + act->sort = get_widget_assert (xml, "split-sort"); - act->off = get_widget_assert (xml, "split-off"); - act->layered = get_widget_assert (xml, "split-layered"); + act->off = get_widget_assert (xml, "split-off"); + act->layered = get_widget_assert (xml, "split-layered"); - act->tv = get_widget_assert (xml, "split-file-grouping-vars"); + act->tv = get_widget_assert (xml, "split-file-grouping-vars"); + + g_signal_connect (act->off, "toggled", G_CALLBACK (on_off_toggled), pda); + g_signal_connect_swapped (pda->dialog, "show", G_CALLBACK (refresh), pda); - g_signal_connect (act->off, "toggled", G_CALLBACK (on_off_toggled), pda); - g_signal_connect_swapped (pda->dialog, "show", G_CALLBACK (refresh), pda); - } - psppire_dialog_action_set_valid_predicate (pda, dialog_state_valid); psppire_dialog_action_set_refresh (pda, refresh); - - if (PSPPIRE_DIALOG_ACTION_CLASS (psppire_dialog_action_split_parent_class)->activate) - PSPPIRE_DIALOG_ACTION_CLASS (psppire_dialog_action_split_parent_class)->activate (pda); + return xml; } static void psppire_dialog_action_split_class_init (PsppireDialogActionSplitClass *class) { - psppire_dialog_action_set_activation (class, psppire_dialog_action_split_activate); + PSPPIRE_DIALOG_ACTION_CLASS (class)->initial_activate = psppire_dialog_action_split_activate; PSPPIRE_DIALOG_ACTION_CLASS (class)->generate_syntax = generate_syntax; } - static void psppire_dialog_action_split_init (PsppireDialogActionSplit *act) {