2 * This file is a part of hildon examples
4 * Copyright (C) 2005-2008 Nokia Corporation. All rights reserved.
6 * Author: Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; version 2.1 of
11 * the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
29 #include <hildon/hildon.h>
32 on_information_clicked (GtkWidget *widget, gpointer data)
34 GtkWidget *window = data;
36 HildonNote* note = HILDON_NOTE (hildon_note_new_information (NULL,
37 "This is a really really really long text that should "
38 "get wrapped but never truncated because truncating stuff "
39 "automatically is really really bad! Blah blah blah!"));
41 gtk_window_set_transient_for (GTK_WINDOW(note), GTK_WINDOW(window));
42 i = gtk_dialog_run (GTK_DIALOG (note));
43 if (i == GTK_RESPONSE_DELETE_EVENT)
44 g_debug ("%s: GTK_RESPONSE_DELETE_EVENT", __FUNCTION__);
45 gtk_object_destroy (GTK_OBJECT (note));
51 on_confirmation_clicked (GtkWidget *widget, gpointer data)
54 GtkWidget *window = data;
55 HildonNote* note = HILDON_NOTE (hildon_note_new_confirmation (NULL,
56 "Do you want to confirm?!"));
58 gtk_window_set_transient_for (GTK_WINDOW(note), GTK_WINDOW(window));
59 i = gtk_dialog_run (GTK_DIALOG (note));
60 gtk_object_destroy (GTK_OBJECT (note));
62 if (i == GTK_RESPONSE_OK)
63 g_debug ("Button 'OK' pressed");
64 else if (i == GTK_RESPONSE_DELETE_EVENT)
65 g_debug ("%s: GTK_RESPONSE_DELETE_EVENT", __FUNCTION__);
67 g_debug ("Button 'Cancel' pressed");
73 on_progress_clicked (GtkWidget *widget, gpointer data)
76 GtkWidget *window = data;
77 GtkProgressBar *bar = GTK_PROGRESS_BAR (gtk_progress_bar_new ());
78 HildonNote *note = HILDON_NOTE (hildon_note_new_cancel_with_progress_bar (NULL,
79 "Do you want to foo bar?", bar));
81 gtk_window_set_transient_for (GTK_WINDOW(note), GTK_WINDOW(window));
82 i = gtk_dialog_run (GTK_DIALOG (note));
83 if (i == GTK_RESPONSE_DELETE_EVENT)
84 g_debug ("%s: GTK_RESPONSE_DELETE_EVENT", __FUNCTION__);
86 g_debug ("Button 'Cancel' pressed");
87 gtk_object_destroy (GTK_OBJECT (note));
96 hildon_gtk_init (&argc, &argv);
98 HildonProgram *program = hildon_program_get_instance ();
100 GtkWidget *window = hildon_window_new ();
101 hildon_program_add_window (program, HILDON_WINDOW (window));
103 gtk_container_set_border_width (GTK_CONTAINER (window), 6);
105 GtkVBox *vbox = GTK_VBOX (gtk_vbox_new (6, FALSE));
106 GtkButton *button1 = GTK_BUTTON (gtk_button_new_with_label ("Information note"));
107 g_signal_connect (G_OBJECT (button1), "clicked", G_CALLBACK (on_information_clicked), window);
109 GtkButton *button2 = GTK_BUTTON (gtk_button_new_with_label ("Confirmation note"));
110 g_signal_connect (G_OBJECT (button2), "clicked", G_CALLBACK (on_confirmation_clicked), window);
112 GtkButton *button3 = GTK_BUTTON (gtk_button_new_with_label ("Progress note"));
113 g_signal_connect (G_OBJECT (button3), "clicked", G_CALLBACK (on_progress_clicked), window);
115 g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (gtk_main_quit), NULL);
117 gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button1), TRUE, TRUE, 0);
118 gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button2), TRUE, TRUE, 0);
119 gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button3), TRUE, TRUE, 0);
121 gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (vbox));
123 gtk_widget_show_all (GTK_WIDGET (window));