Adding example for hildon note. Fixing buggy code in hildon-note new object creation.
authorMichael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
Wed, 10 Jan 2007 15:52:54 +0000 (15:52 +0000)
committerMichael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
Wed, 10 Jan 2007 15:52:54 +0000 (15:52 +0000)
ChangeLog
examples/Makefile.am
examples/hildon-note/hildon-note-example.c [new file with mode: 0644]
src/hildon-note.c
src/hildon-note.h

index 322c5ec..f2696a1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,15 @@
 2007-01-10  Michael Dominic Kostrzewa  <michael.kostrzewa@nokia.com> 
 
        * examples/Makefile.am:
+       * examples/hildon-note:
+       * examples/hildon-note/hildon-note-example.c: Example for hildon note.
+
+       * src/hildon-note.c:
+       * src/hildon-note.h: Fixing buggy code in new object creation.
+
+2007-01-10  Michael Dominic Kostrzewa  <michael.kostrzewa@nokia.com> 
+
+       * examples/Makefile.am:
        * examples/hildon-controlbar:
        * examples/hildon-controlbar/hildon-controlbar-example.c: Adding an
        example for the HildonControlBar.
index fb720b5..223fdbf 100644 (file)
@@ -5,7 +5,8 @@ noinst_PROGRAMS                         = hildon-window-example         \
                                          hildon-caption-example        \
                                          hildon-weekday-picker-example \
                                          hildon-sort-dialog-example    \
-                                         hildon-controlbar-example
+                                         hildon-controlbar-example     \
+                                         hildon-note-example
 
 # HIldon window
 hildon_window_example_LDADD            = $(HILDON_WIDGETS_OBJ_LIBS)
@@ -37,3 +38,8 @@ hildon_controlbar_example_LDADD               = $(HILDON_WIDGETS_OBJ_LIBS)
 hildon_controlbar_example_CFLAGS       = $(HILDON_WIDGETS_OBJ_CFLAGS)
 hildon_controlbar_example_SOURCES      = hildon-controlbar/hildon-controlbar-example.c
 
+# Hildon note example
+hildon_note_example_LDADD              = $(HILDON_WIDGETS_OBJ_LIBS)
+hildon_note_example_CFLAGS             = $(HILDON_WIDGETS_OBJ_CFLAGS)
+hildon_note_example_SOURCES            = hildon-note/hildon-note-example.c
+
diff --git a/examples/hildon-note/hildon-note-example.c b/examples/hildon-note/hildon-note-example.c
new file mode 100644 (file)
index 0000000..b71eb5a
--- /dev/null
@@ -0,0 +1,85 @@
+#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-note.h"
+
+static gboolean
+on_information_clicked (GtkWidget *widget)
+{
+    HildonNote* note = HILDON_NOTE (hildon_note_new_information (NULL, 
+            "This is a really really really long text that should " 
+            "get wrapped but never truncated because truncating stuff "
+            "automatically is really really bad! Blah blah blah!"));
+
+    gtk_dialog_run (GTK_DIALOG (note));
+    gtk_object_destroy (GTK_OBJECT (note));
+    
+    return TRUE;
+}
+
+static gboolean
+on_confirmation_clicked (GtkWidget *widget)
+{
+    HildonNote* note = HILDON_NOTE (hildon_note_new_confirmation (NULL, 
+            "Do you want to confirm?!"));
+
+    gtk_dialog_run (GTK_DIALOG (note));
+    gtk_object_destroy (GTK_OBJECT (note));
+    
+    return TRUE;
+}
+
+static gboolean
+on_progress_clicked (GtkWidget *widget)
+{
+    GtkProgressBar *bar = GTK_PROGRESS_BAR (gtk_progress_bar_new ());
+    HildonNote *note = HILDON_NOTE (hildon_note_new_cancel_with_progress_bar (NULL, 
+                "Do you want to foo bar?", bar));
+
+    gtk_dialog_run (GTK_DIALOG (note));
+    gtk_object_destroy (GTK_OBJECT (note));
+
+    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 note"));
+    g_signal_connect (G_OBJECT (button1), "clicked", G_CALLBACK (on_information_clicked), NULL);
+
+    GtkButton *button2 = GTK_BUTTON (gtk_button_new_with_label ("Confirmation note"));
+    g_signal_connect (G_OBJECT (button2), "clicked", G_CALLBACK (on_confirmation_clicked), NULL);
+
+    GtkButton *button3 = GTK_BUTTON (gtk_button_new_with_label ("Progress note"));
+    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 60c6849..536faf1 100644 (file)
@@ -523,7 +523,7 @@ hildon_note_new_confirmation_add_buttons        (GtkWindow *parent,
     char *message;
     int value;
 
-    g_return_val_if_fail (GTK_IS_WINDOW (parent), NULL);
+    g_return_val_if_fail (description != NULL, NULL);
 
     GtkWidget *conf_note =
         g_object_new (HILDON_TYPE_NOTE,
@@ -599,7 +599,7 @@ hildon_note_new_confirmation_with_icon_name     (GtkWindow *parent,
 {
     GtkWidget *dialog = NULL;
 
-    g_return_val_if_fail (GTK_IS_WINDOW (parent), NULL);
+    g_return_val_if_fail (description != NULL, NULL);
 
     dialog = g_object_new (HILDON_TYPE_NOTE,
             "note_type",
@@ -657,7 +657,8 @@ hildon_note_new_information_with_icon_name      (GtkWindow * parent,
 {
     GtkWidget *dialog = NULL;
 
-    g_return_val_if_fail (GTK_IS_WINDOW (parent), NULL);
+    g_return_val_if_fail (description != NULL, NULL);
+    g_return_val_if_fail (icon_name != NULL, NULL);
 
     dialog = g_object_new (HILDON_TYPE_NOTE,
             "note_type",
@@ -671,6 +672,8 @@ hildon_note_new_information_with_icon_name      (GtkWindow * parent,
     return dialog;
 }
 
+/* FIXME This documentation string LIES! */
+
 /**
  * hildon_note_new_cancel_with_progress_bar:
  * @parent: the parent window. The X window ID of the parent window
@@ -697,7 +700,7 @@ hildon_note_new_cancel_with_progress_bar        (GtkWindow *parent,
 {
     GtkWidget *dialog = NULL;
 
-    g_return_val_if_fail (GTK_IS_WINDOW (parent), NULL);
+    g_return_val_if_fail (description != NULL, NULL);
 
     dialog = g_object_new (HILDON_TYPE_NOTE,
             "note_type",
index d740579..4434fdb 100644 (file)
@@ -93,7 +93,7 @@ hildon_note_new_cancel_with_progress_bar        (GtkWindow *parent,
 
 GtkWidget*
 hildon_note_new_information                     (GtkWindow *parent,
-                                                 const gchar * description);
+                                                 const gchar *description);
                                        
 GtkWidget*
 hildon_note_new_information_with_icon_name      (GtkWindow *parent,