From 4ff7ef7327102fdae408fe2308a2c9a4fd511148 Mon Sep 17 00:00:00 2001 From: Michael Dominic Kostrzewa Date: Wed, 10 Jan 2007 15:52:54 +0000 Subject: [PATCH] Adding example for hildon note. Fixing buggy code in hildon-note new object creation. --- ChangeLog | 9 +++ examples/Makefile.am | 8 ++- examples/hildon-note/hildon-note-example.c | 85 ++++++++++++++++++++++++++++ src/hildon-note.c | 11 ++-- src/hildon-note.h | 2 +- 5 files changed, 109 insertions(+), 6 deletions(-) create mode 100644 examples/hildon-note/hildon-note-example.c diff --git a/ChangeLog b/ChangeLog index 322c5ec..f2696a1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,15 @@ 2007-01-10 Michael Dominic Kostrzewa * 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 + + * examples/Makefile.am: * examples/hildon-controlbar: * examples/hildon-controlbar/hildon-controlbar-example.c: Adding an example for the HildonControlBar. diff --git a/examples/Makefile.am b/examples/Makefile.am index fb720b5..223fdbf 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -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 index 0000000..b71eb5a --- /dev/null +++ b/examples/hildon-note/hildon-note-example.c @@ -0,0 +1,85 @@ +#include +#include +#include +#include +#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; +} + + diff --git a/src/hildon-note.c b/src/hildon-note.c index 60c6849..536faf1 100644 --- a/src/hildon-note.c +++ b/src/hildon-note.c @@ -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", diff --git a/src/hildon-note.h b/src/hildon-note.h index d740579..4434fdb 100644 --- a/src/hildon-note.h +++ b/src/hildon-note.h @@ -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, -- 1.7.9.5