/*
* 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 <michael.kostrzewa@nokia.com>
*
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <glib.h>
#include <gtk/gtk.h>
-#include "hildon.h"
+#include <hildon/hildon.h>
gboolean
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));