[GTK+] GtkDialog, GtkMessage - jak używać?

Cześć,

Kontynuuję moją przygodę z GTK natknąłem się na problem wyświetlania pop-upów. Nie mogę znaleźć w sieci za wiele na ten temat, ale wpadłem na coś takiego: http://zetcode.com/tutorials/gtktutorial/gtkdialogs/, autor tutoriala opisuje jak tworzyć różne wyskakujące okienka. Nurtuje mnie jednak sposób jak dowiedzieć się co kliknął user.

Np. chcę utworzyć okienko “Czy na pewno chcesz zamknąć program? YES/NO”, a więc w funkcji zwrotnej dla sygnału delete_event wpisuję:

gboolean delete_event (GtkWidget* widget, GtkEvent* event gpointer window)

{

  GtkWidget *dialog;

  dialog = gtk_message_dialog_new(GTK_WINDOW(window),

            GTK_DIALOG_DESTROY_WITH_PARENT,

            GTK_MESSAGE_QUESTION,

            GTK_BUTTONS_YES_NO,

            "Are you sure to quit?");

  gtk_window_set_title(GTK_WINDOW(dialog), "Question");

  gtk_dialog_run(GTK_DIALOG(dialog));

  gtk_widget_destroy(dialog);

}

No i teraz jak mam rozpoznać co kliknął użytkownik? Muszę użyć g_signal_connect() do jakiegoś widgetu? Czytałem coś jeszcze o sygnale respond, ale nie wiem jak go odczytać.

Dokumentacja służy pomocą: http://developer.gnome.org/gtk3/3.2/GtkDialog.html

  1. gtk_dialog_run zwraca gint

  2. jest sygnał response

Przy czym w kodzie, który podałeś raczej wygodniej użyć 1 możliwości