summaryrefslogtreecommitdiff
path: root/examples/wizard-simple.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'examples/wizard-simple.cxx')
-rw-r--r--examples/wizard-simple.cxx85
1 files changed, 85 insertions, 0 deletions
diff --git a/examples/wizard-simple.cxx b/examples/wizard-simple.cxx
new file mode 100644
index 000000000..769c46df4
--- /dev/null
+++ b/examples/wizard-simple.cxx
@@ -0,0 +1,85 @@
+//
+// "$Id$"
+//
+// Simple Fl_Wizard widget example.
+// Originally from erco's cheat sheet 06/05/2010, permission by author.
+//
+// Copyright 1998-2010 by Bill Spitzak and others.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+// Please report all bugs and problems on the following page:
+//
+// http://www.fltk.org/str.php
+//
+#include <stdlib.h>
+#include <FL/Fl.H>
+#include <FL/Fl_Window.H>
+#include <FL/Fl_Group.H>
+#include <FL/Fl_Wizard.H>
+#include <FL/Fl_Button.H>
+#include <FL/Fl_Multiline_Output.H>
+//
+// Simple 'wizard' using fltk's new Fl_Wizard widget
+//
+Fl_Window *G_win = 0;
+Fl_Wizard *G_wiz = 0;
+
+void back_cb(Fl_Widget*,void*) { G_wiz->prev(); }
+void next_cb(Fl_Widget*,void*) { G_wiz->next(); }
+void done_cb(Fl_Widget*,void*) { exit(0); }
+
+int main(int argc, char **argv) {
+ G_win = new Fl_Window(400,300,"Example Wizard");
+ G_wiz = new Fl_Wizard(0,0,400,300);
+
+ // Wizard: page 1
+ {
+ Fl_Group *g = new Fl_Group(0,0,400,300);
+ Fl_Button *next = new Fl_Button(290,265,100,25,"Next"); next->callback(next_cb);
+ Fl_Multiline_Output *out = new Fl_Multiline_Output(10,30,400-20,300-80,"Welcome");
+ out->labelsize(20);
+ out->align(FL_ALIGN_TOP|FL_ALIGN_LEFT);
+ out->value("This is First page");
+ g->end();
+ }
+ // Wizard: page 2
+ {
+ Fl_Group *g = new Fl_Group(0,0,400,300);
+ Fl_Button *next = new Fl_Button(290,265,100,25,"Next"); next->callback(next_cb);
+ Fl_Button *back = new Fl_Button(180,265,100,25,"Back"); back->callback(back_cb);
+ Fl_Multiline_Output *out = new Fl_Multiline_Output(10,30,400-20,300-80,"Terms And Conditions");
+ out->labelsize(20);
+ out->align(FL_ALIGN_TOP|FL_ALIGN_LEFT);
+ out->value("This is the Second page");
+ g->end();
+ }
+ // Wizard: page 3
+ {
+ Fl_Group *g = new Fl_Group(0,0,400,300);
+ Fl_Button *done = new Fl_Button(290,265,100,25,"Finish"); done->callback(done_cb);
+ Fl_Button *back = new Fl_Button(180,265,100,25,"Back"); back->callback(back_cb);
+ Fl_Multiline_Output *out = new Fl_Multiline_Output(10,30,400-20,300-80,"Finish");
+ out->labelsize(20);
+ out->align(FL_ALIGN_TOP|FL_ALIGN_LEFT);
+ out->value("This is the Last page");
+ g->end();
+ }
+ G_wiz->end();
+ G_win->end();
+ G_win->show(argc, argv);
+ return Fl::run();
+}