BTW, just made this little test program which seems to show
the absolute value() method works OK; I added three buttons
along the bottom of the window that let you jump to any one
of the three pages:
#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;
Fl_Group *G_grp1 = 0;
Fl_Group *G_grp2 = 0;
Fl_Group *G_grp3 = 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); }
void absolute_cb(Fl_Widget*,void*grp) { G_wiz->value((Fl_Group*)grp); }
int main(int argc, char **argv) {
G_win = new Fl_Window(400,350,"Example Wizard");
G_wiz = new Fl_Wizard(0,0,400,300);
// Wizard: page 1
{
G_grp1 = 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_grp1->end();
}
// Wizard: page 2
{
G_grp2 = 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_grp2->end();
}
// Wizard: page 3
{
G_grp3 = 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_grp3->end();
}
G_win->begin();
Fl_Button *b1 = new Fl_Button(10, 310,50,25,"1"); b1->callback(absolute_cb, (void*)G_grp1);
Fl_Button *b2 = new Fl_Button(70, 310,50,25,"2"); b2->callback(absolute_cb, (void*)G_grp2);
Fl_Button *b3 = new Fl_Button(130,310,50,25,"3"); b3->callback(absolute_cb, (void*)G_grp3);
G_wiz->end();
G_win->end();
G_win->show(argc, argv);
return Fl::run();
}