X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=examples%2Fhildon-wizard-dialog-example.c;h=e54222102516d5f46002dfbb8067bc24d5272996;hb=HEAD;hp=baf4d49fdc0db04ea8454a7a2377edbffbc24459;hpb=8350a6fa4b0e3cf6a73df3644a8ddebf48dc05a1;p=hildon diff --git a/examples/hildon-wizard-dialog-example.c b/examples/hildon-wizard-dialog-example.c index baf4d49..e542221 100644 --- a/examples/hildon-wizard-dialog-example.c +++ b/examples/hildon-wizard-dialog-example.c @@ -1,7 +1,7 @@ /* * This file is a part of hildon examples * - * Copyright (C) 2005, 2006, 2007 Nokia Corporation, all rights reserved. + * Copyright (C) 2005, 2006, 2007, 2009 Nokia Corporation, all rights reserved. * * Author: Michael Dominic Kostrzewa * @@ -24,9 +24,10 @@ #include #include +#include #include #include -#include "hildon.h" +#include gboolean on_page_switch (GtkNotebook *notebook, @@ -43,29 +44,51 @@ on_page_switch (GtkNotebook *notebook, g_debug ("Page %d", num); if (num == 1) { - g_debug ("Making next insensitive! %d", num); - gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), HILDON_WIZARD_DIALOG_NEXT, FALSE); + /* g_debug ("Making next insensitive! %d", num); */ + /* gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), HILDON_WIZARD_DIALOG_NEXT, FALSE); */ } - + + return TRUE; +} + +static gboolean +some_page_func (GtkNotebook *nb, + gint current, + gpointer userdata) +{ + GtkEntry *entry; + + /* Validate data only for the third page. */ + switch (current) { + case 2: + entry = GTK_ENTRY (gtk_notebook_get_nth_page (nb, current)); + return (strlen (gtk_entry_get_text (entry)) != 0); + default: return TRUE; + } } int -main (int argc, char **args) +main (int argc, char **argv) { - gtk_init (&argc, &args); - + hildon_gtk_init (&argc, &argv); + GtkWidget *notebook = gtk_notebook_new (); GtkWidget *label_1 = gtk_label_new ("Page 1"); GtkWidget *label_2 = gtk_label_new ("Page 2"); - GtkWidget *label_3 = gtk_label_new ("Page 3"); + GtkWidget *entry_3 = hildon_entry_new (HILDON_SIZE_AUTO); + hildon_gtk_entry_set_placeholder_text (GTK_ENTRY (entry_3), " Write something to continue"); + GtkWidget *label_4 = gtk_label_new ("Page 4"); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_1, NULL); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_2, NULL); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_3, NULL); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), entry_3, NULL); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_4, NULL); GtkWidget *dialog = hildon_wizard_dialog_new (NULL, "Wizard", GTK_NOTEBOOK (notebook)); g_signal_connect (G_OBJECT (notebook), "switch-page", G_CALLBACK (on_page_switch), dialog); + hildon_wizard_dialog_set_forward_page_func (HILDON_WIZARD_DIALOG (dialog), + some_page_func, NULL, NULL); gtk_widget_show_all (dialog); gtk_dialog_run (GTK_DIALOG (dialog));