2006-11-20 Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
authorMichael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
Mon, 20 Nov 2006 11:00:36 +0000 (11:00 +0000)
committerMichael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
Mon, 20 Nov 2006 11:00:36 +0000 (11:00 +0000)
* examples/Makefile.am:
* examples/hildon-banner:
* examples/hildon-banner/hildon-banner-example.c: Adding a hildon-banner example.

* examples/hildon-window/hildon-window-example.c: Addin the quit
function.

ChangeLog
examples/Makefile.am
examples/hildon-banner/hildon-banner-example.c [new file with mode: 0644]
examples/hildon-window/hildon-window-example.c

index bcb4951..2c0d789 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-11-20  Michael Dominic Kostrzewa  <michael.kostrzewa@nokia.com> 
+
+       * examples/Makefile.am:
+       * examples/hildon-banner:
+       * examples/hildon-banner/hildon-banner-example.c: Adding a hildon-banner example. 
+       
+       * examples/hildon-window/hildon-window-example.c: Addin the quit
+       function.
+
 2006-11-17  Michael Dominic Kostrzewa  <michael.kostrzewa@nokia.com> 
 
        * Makefile.am:
index 6b7d4d7..69b3a3f 100644 (file)
@@ -1,7 +1,13 @@
 MAINTAINERCLEANFILES                   = Makefile.in
 
-noinst_PROGRAMS                                = hildon-window-example
+noinst_PROGRAMS                                = hildon-window-example hildon-banner-example
 
+# HIldon window
 hildon_window_example_LDADD            = $(HILDON_WIDGETS_OBJ_LIBS)
 hildon_window_example_CFLAGS           = $(HILDON_WIDGETS_OBJ_CFLAGS)
 hildon_window_example_SOURCES          = hildon-window/hildon-window-example.c
+
+# Hildon banner
+hildon_banner_example_LDADD            = $(HILDON_WIDGETS_OBJ_LIBS)
+hildon_banner_example_CFLAGS           = $(HILDON_WIDGETS_OBJ_CFLAGS)
+hildon_banner_example_SOURCES          = hildon-banner/hildon-banner-example.c
diff --git a/examples/hildon-banner/hildon-banner-example.c b/examples/hildon-banner/hildon-banner-example.c
new file mode 100644 (file)
index 0000000..d79a53d
--- /dev/null
@@ -0,0 +1,81 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <glib.h>
+#include <gtk/gtk.h>
+#include "hildon-widgets/hildon-window.h"
+#include "hildon-widgets/hildon-program.h"
+#include "hildon-widgets/hildon-banner.h"
+
+static gboolean
+on_animation_idle (GtkWidget *banner)
+{
+    gtk_widget_destroy (banner);
+    return FALSE;
+}
+
+static gboolean
+on_progress_idle (GtkWidget *banner)
+{
+    gtk_widget_destroy (banner);
+    return FALSE;
+}
+
+static gboolean
+on_information_clicked (GtkWidget *widget)
+{
+    hildon_banner_show_information (widget, NULL, "Information banner"); 
+    return TRUE;
+}
+
+static gboolean
+on_animation_clicked (GtkWidget *widget)
+{
+    GtkWidget *banner = hildon_banner_show_animation (widget, NULL, "Animation banner"); 
+    g_timeout_add (2000, (gpointer) on_animation_idle, banner);
+    return TRUE;
+}
+
+static gboolean
+on_progress_clicked (GtkWidget *widget)
+{
+    GtkWidget *banner = hildon_banner_show_progress (widget, NULL, "Progress banner"); 
+    g_timeout_add (2000, (gpointer) on_progress_idle, banner);
+    return TRUE;
+}
+
+int
+main (int argc, char **args)
+{
+    gtk_init (&argc, &args);
+    
+    HildonProgram *program = hildon_program_get_instance ();
+
+    GtkWidget *window = hildon_window_new ();
+    hildon_program_add_window (program, HILDON_WINDOW (window));    
+
+    gtk_container_set_border_width (GTK_CONTAINER (window), 6);
+
+    GtkVBox *vbox = GTK_VBOX (gtk_vbox_new (6, FALSE));
+    GtkButton *button1 = GTK_BUTTON (gtk_button_new_with_label ("Information"));
+    g_signal_connect (G_OBJECT (button1), "clicked", G_CALLBACK (on_information_clicked), NULL);
+
+    GtkButton *button2 = GTK_BUTTON (gtk_button_new_with_label ("Animation"));
+    g_signal_connect (G_OBJECT (button2), "clicked", G_CALLBACK (on_animation_clicked), NULL);
+
+    GtkButton *button3 = GTK_BUTTON (gtk_button_new_with_label ("Progress"));
+    g_signal_connect (G_OBJECT (button3), "clicked", G_CALLBACK (on_progress_clicked), NULL);
+
+    g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (gtk_main_quit), NULL);
+
+    gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button1), TRUE, TRUE, 0);
+    gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button2), TRUE, TRUE, 0);
+    gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button3), TRUE, TRUE, 0);
+    gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (vbox));
+
+    gtk_widget_show_all (GTK_WIDGET (window));
+    
+    gtk_main ();
+    return 0;
+}
+
+
index f153896..e980820 100644 (file)
@@ -11,13 +11,15 @@ main (int argc, char **args)
     gtk_init (&argc, &args);
     
     HildonProgram *program = hildon_program_get_instance ();
+
     GtkWidget *window = hildon_window_new ();
     hildon_program_add_window (program, HILDON_WINDOW (window));    
 
     gtk_container_set_border_width (GTK_CONTAINER (window), 6);
     
     GtkWidget *label = GTK_WIDGET (gtk_label_new ("Hello world!"));
-    
+
+    g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (gtk_main_quit), NULL);
     gtk_container_add (GTK_CONTAINER (window), label);
     gtk_widget_show_all (GTK_WIDGET (window));