X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog.c;h=de2490a016e5f3862d9ed32170404c8de5381e21;hb=73a2e47de094934075e66d1e5185fce93d47fe5e;hp=99d32197ec28551e6e20f1d2ce6acaa543640f21;hpb=f5ae39af68c25bc004a8a43b288ebc6e00165b03;p=pspp-builds.git diff --git a/src/ui/gui/psppire-dialog.c b/src/ui/gui/psppire-dialog.c index 99d32197..de2490a0 100644 --- a/src/ui/gui/psppire-dialog.c +++ b/src/ui/gui/psppire-dialog.c @@ -24,6 +24,7 @@ #include "psppire-conf.h" #include #include "helper.h" +#include "help-menu.h" static void psppire_dialog_class_init (PsppireDialogClass *); static void psppire_dialog_init (PsppireDialog *); @@ -31,6 +32,7 @@ static void psppire_dialog_init (PsppireDialog *); enum {DIALOG_REFRESH, VALIDITY_CHANGED, + DIALOG_HELP, n_SIGNALS}; static guint signals [n_SIGNALS]; @@ -223,8 +225,6 @@ psppire_dialog_class_init (PsppireDialogClass *class) FALSE, G_PARAM_CONSTRUCT_ONLY |G_PARAM_READWRITE); - - object_class->set_property = psppire_dialog_set_property; object_class->get_property = psppire_dialog_get_property; @@ -237,8 +237,6 @@ psppire_dialog_class_init (PsppireDialogClass *class) PROP_SLIDING, sliding_spec); - - signals [DIALOG_REFRESH] = g_signal_new ("refresh", G_TYPE_FROM_CLASS (class), @@ -262,6 +260,18 @@ psppire_dialog_class_init (PsppireDialogClass *class) G_TYPE_BOOLEAN); + signals [DIALOG_HELP] = + g_signal_new ("help", + G_TYPE_FROM_CLASS (class), + G_SIGNAL_RUN_FIRST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, + 1, + G_TYPE_STRING); + + object_class->finalize = psppire_dialog_finalize; } @@ -393,8 +403,6 @@ connect_notify_signal (GtkWidget *w, gpointer data) if ( PSPPIRE_IS_BUTTONBOX (w)) return; - - if ( GTK_IS_CONTAINER (w)) { gtk_container_foreach (GTK_CONTAINER (w), @@ -527,6 +535,16 @@ psppire_dialog_reload (PsppireDialog *dialog) } +void +psppire_dialog_help (PsppireDialog *dialog) +{ + char *name = NULL; + g_object_get (dialog, "name", &name, NULL); + + online_help (name); + + g_signal_emit (dialog, signals [DIALOG_HELP], 0, name); +} GType