From a544da2cdf98dc1763a84626e13a1e2e5da98e83 Mon Sep 17 00:00:00 2001 From: Cody Russell Date: Wed, 12 May 2010 23:21:36 +0200 Subject: IdoMessageDialog - a morphing message dialog. --- example/Makefile.am | 15 ++++++++++++- example/messagedialog.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 example/messagedialog.c (limited to 'example') diff --git a/example/Makefile.am b/example/Makefile.am index c7f9c15..bd96642 100644 --- a/example/Makefile.am +++ b/example/Makefile.am @@ -1,9 +1,21 @@ noinst_PROGRAMS = \ + messagedialog \ menus +messagedialog_SOURCES = \ + messagedialog.c + menus_SOURCES = \ menus.c +messagedialog_CPPFLAGS = \ + -I$(top_srcdir) \ + -I$(top_srcdir)/src \ + -I$(top_builddir)/src \ + $(GCC_FLAGS) \ + $(GTK_CFLAGS) \ + $(MAINTAINER_CFLAGS) + menus_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_srcdir)/src \ @@ -12,5 +24,6 @@ menus_CPPFLAGS = \ $(GTK_CFLAGS) \ $(MAINTAINER_CFLAGS) -menus_LDADD = $(top_builddir)/src/libido-0.1.la +messagedialog_LDADD = $(top_builddir)/src/libido-0.1.la +menus_LDADD = $(top_builddir)/src/libido-0.1.la diff --git a/example/messagedialog.c b/example/messagedialog.c new file mode 100644 index 0000000..bc24aff --- /dev/null +++ b/example/messagedialog.c @@ -0,0 +1,57 @@ +#include + +#include "idomessagedialog.h" + +static void +response_cb (GtkDialog *dialog, + gint response, + gpointer user_data) +{ + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + +static void +button_clicked_cb (GtkWidget *button, gpointer data) +{ + GtkWidget *window = (GtkWidget *) data; + GtkWidget *dialog = ido_message_dialog_new (GTK_WINDOW (window), + GTK_DIALOG_MODAL, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_CLOSE, + "This is a test of the emergency broadcasting system"); + gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG (dialog), + "If this had been an actual emergency, you'd be dead already"); + g_signal_connect (G_OBJECT (dialog), + "response", + G_CALLBACK (response_cb), NULL); + gtk_widget_show (dialog); +} + +int +main (int argc, char *argv[]) +{ + GtkWidget *window; + GtkWidget *vbox; + GtkWidget *button; + + gtk_init (&argc, &argv); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (window), "Message Dialogs"); + g_signal_connect (window, "destroy", gtk_main_quit, NULL); + + vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (window), vbox); + + button = gtk_button_new_with_label ("Confirmation dialog"); + g_signal_connect (button, "clicked", + G_CALLBACK (button_clicked_cb), + window); + gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); + + gtk_widget_show_all (window); + + gtk_main (); + + return 0; +} -- cgit v1.2.3