# data file for the Fltk User Interface Designer (fluid)
version 1.0401
header_name {.h}
code_name {.cxx}
Function {} {open
} {
  Fl_Window foo_window {
    label {Comparison of Fl_Tab (left) vs. Fl_Wizard (right)} open
    xywh {330 402 660 400} type Double resizable visible
  } {
    Fl_Box {} {
      label {class Fl_Tabs}
      xywh {95 0 130 35} labeltype ENGRAVED_LABEL labelfont 1
    }
    Fl_Tabs tabs_group {
      callback {Fl_Widget *sel_tab = o->value();
if (sel_tab) {
  printf("Callback called for tab \\"%s\\"\\n", sel_tab->label());
} else {
  printf("Callback called\\n");
}} open selected
      tooltip {the various index cards test different aspects of the Fl_Tabs widget} xywh {10 35 315 260} selection_color 4 labelcolor 7 resizable
      code0 {// tabs_group->handle_overflow(Fl_Tabs::OVERFLOW_PULLDOWN);}
    } {
      Fl_Group {} {
        label {Label&1}
        callback {if (Fl::callback_reason()==FL_REASON_CLOSED)
  o->parent()->remove(o);}
        tooltip {this tab tests correct keyboard navigation between text input fields} xywh {10 60 315 235} selection_color 1 when 16 resizable
      } {
        Fl_Input {} {
          label {input:}
          tooltip {This is the first input field} xywh {70 80 240 40}
        }
        Fl_Input {} {
          label {input2:}
          xywh {70 120 240 30}
          code0 {o->tooltip("");}
        }
        Fl_Input {} {
          label {input3:}
          xywh {70 150 240 80}
        }
      }
      Fl_Group {} {
        label {tab&2}
        callback {if (Fl::callback_reason()==FL_REASON_CLOSED)
  o->parent()->remove(o);}
        tooltip {tab2 tests among other things the cooperation of modal windows and tabs} xywh {10 60 315 235} selection_color 2 when 16 hide
      } {
        Fl_Button {} {
          label button1
          callback {fl_message("Test to see if this modal window prevents you from "
           "changing the tabs. It should.");}
          xywh {20 85 100 30}
          code0 {\#include <FL/fl_ask.H>}
        }
        Fl_Input {} {
          label {input in box2}
          xywh {130 130 175 30}
        }
        Fl_Button {} {
          label {This is stuff inside the Fl_Group "tab2"}
          xywh {25 170 280 30}
        }
        Fl_Button {} {
          label {Test event blocking by modal window}
          callback {fl_message("Make sure you cannot change the tabs while this modal window is up");}
          xywh {25 200 280 30}
          code0 {\#include <FL/fl_ask.H>}
        }
      }
      Fl_Group {} {
        label {tab&3}
        callback {if (Fl::callback_reason()==FL_REASON_CLOSED)
  o->parent()->remove(o);}
        tooltip {tab3 checks for correct keyboard navigation} xywh {10 60 315 235} selection_color 3 when 16 hide
      } {
        Fl_Button {} {
          label button2
          xywh {20 80 60 80}
        }
        Fl_Button {} {
          label button
          xywh {80 80 60 80}
        }
        Fl_Button {} {
          label button
          xywh {140 80 60 80}
        }
      }
      Fl_Group {} {
        label {&tab4}
        callback {if (Fl::callback_reason()==FL_REASON_CLOSED)
  o->parent()->remove(o);}
        tooltip {this tab shows the issue of indicating a selected tab if the tab layouts are very similar} xywh {10 60 315 235} selection_color 5 labeltype ENGRAVED_LABEL labelfont 2 when 16 hide
      } {
        Fl_Button {} {
          label button2
          xywh {20 80 60 120}
        }
        Fl_Button {} {
          label button
          xywh {80 80 60 120}
        }
        Fl_Button {} {
          label button
          xywh {140 80 60 120}
        }
      }
      Fl_Group {} {
        label {@fileprint  &print}
        tooltip {tab5 verifies if visibility requests are handled correctly} xywh {10 60 315 235} hide
      } {
        Fl_Button {} {
          label button2
          tooltip {button2 has a different tooltip than tab5} xywh {20 80 60 80}
        }
        Fl_Button {} {
          label button
          xywh {90 80 60 80}
        }
        Fl_Clock {} {
          label {Make sure this clock does not use processor time when this tab is hidden or window is iconized}
          xywh {185 80 120 120} box OSHADOW_BOX color 238 selection_color 0 labelfont 8 labelsize 10 align 130
        }
        Fl_Group {} {open
          xywh {20 190 40 55} box THIN_DOWN_BOX color 173 align 16
          class Fl_Window
        } {}
        Fl_Group {} {
          label {subwindows:} open
          xywh {65 190 40 55} box THIN_DOWN_BOX color 167
          class Fl_Window
        } {}
        Fl_Group {} {open
          xywh {110 190 40 55} box THIN_DOWN_BOX color 239 align 16
          class Fl_Window
        } {}
      }
    }
    Fl_Box {} {
      label {class Fl_Wizard}
      xywh {410 0 130 35} labeltype ENGRAVED_LABEL labelfont 1
    }
    Fl_Wizard wWizard {open
      xywh {330 35 320 260}
    } {
      Fl_Group {} {
        label Label1
        tooltip {this tab tests correct keyboard navigation between text input fields} xywh {330 60 320 235} selection_color 1 hide resizable
      } {
        Fl_Input {} {
          label {input:}
          tooltip {This is the first input field} xywh {390 80 240 40}
        }
        Fl_Input {} {
          label {input2:}
          xywh {390 120 240 30}
          code0 {o->tooltip("");}
        }
        Fl_Input {} {
          label {input3:}
          xywh {390 150 240 80}
        }
      }
      Fl_Group {} {
        label tab2
        tooltip {tab2 tests among other things the cooperation of modal windows and tabs} xywh {330 60 320 235} selection_color 2
      } {
        Fl_Button {} {
          label button1
          callback {fl_message("Test to see if this modal window prevents you from "
           "changing the tabs. It should.");}
          xywh {350 85 100 30}
          code0 {\#include <FL/fl_ask.H>}
        }
        Fl_Input {} {
          label {input in box2}
          xywh {455 130 175 30}
        }
        Fl_Button {} {
          label {This is stuff inside the Fl_Group "tab2"}
          xywh {350 170 280 30}
        }
        Fl_Button {} {
          label {Test event blocking by modal window}
          callback {fl_message("Make sure you cannot change the tabs while this modal window is up");}
          xywh {350 200 280 30}
          code0 {\#include <FL/fl_ask.H>}
        }
      }
      Fl_Group {} {
        label tab3
        tooltip {tab3 checks for correct keyboard navigation} xywh {330 60 320 235} selection_color 3 hide
      } {
        Fl_Button {} {
          label button2
          xywh {350 80 60 80}
        }
        Fl_Button {} {
          label button
          xywh {410 80 60 80}
        }
        Fl_Button {} {
          label button
          xywh {470 80 60 80}
        }
      }
      Fl_Group {} {
        label tab4
        tooltip {this tab shows the issue of indicating a selected tab if the tab layouts are very similar} xywh {330 60 320 235} selection_color 5 labelfont 2 hide
      } {
        Fl_Button {} {
          label button2
          xywh {350 80 60 120}
        }
        Fl_Button {} {
          label button
          xywh {410 80 60 120}
        }
        Fl_Button {} {
          label button
          xywh {470 80 60 120}
        }
      }
      Fl_Group {} {
        label {     tab5      } open
        tooltip {tab5 verifies if visibility requests are handled correctly} xywh {330 60 320 235} labeltype ENGRAVED_LABEL hide
      } {
        Fl_Button {} {
          label button2
          tooltip {button2 has a different tooltip than tab5} xywh {350 80 60 80}
        }
        Fl_Button {} {
          label button
          xywh {420 80 60 80}
        }
        Fl_Clock {} {
          label {Make sure this clock does not use processor time when this tab is hidden or window is iconized}
          xywh {510 80 120 120} box OSHADOW_BOX color 238 selection_color 0 labelfont 8 labelsize 10 align 130
        }
        Fl_Group {} {open
          xywh {350 190 40 55} box THIN_DOWN_BOX color 173 align 16
          class Fl_Window
        } {}
        Fl_Group {} {
          label {subwindows:} open
          xywh {395 190 40 55} box THIN_DOWN_BOX color 167
          class Fl_Window
        } {}
        Fl_Group {} {open
          xywh {440 190 40 55} box THIN_DOWN_BOX color 239 align 16
          class Fl_Window
        } {}
      }
    }
    Fl_Group {} {
      xywh {410 305 130 25}
    } {
      Fl_Button {} {
        label {@|<}
        callback {wWizard->value(wWizard->child(0));}
        tooltip {go to first page [Home]} xywh {410 305 30 25} shortcut 0xff50
      }
      Fl_Button {} {
        label {@<}
        callback {wWizard->prev();}
        tooltip {go to previous page [left arrow]} xywh {440 305 30 25} shortcut 0xff51
      }
      Fl_Button {} {
        label {@>}
        callback {wWizard->next();}
        tooltip {go to next page in wizard [right arrow]} xywh {480 305 30 25} shortcut 0xff53
      }
      Fl_Button {} {
        label {@>|}
        callback {int last = wWizard->children()-1;
wWizard->value(wWizard->child(last));}
        tooltip {go to last page [End]} xywh {510 305 30 25} shortcut 0xff57
      }
    }
    Fl_Button {} {
      label {add tab}
      callback {static int n = 6;
int X = tabs_group->x(), Y = tabs_group->y()+25;
int W = tabs_group->w(), H = tabs_group->h()-25;
Fl_Group::current(NULL);
char buf[64];
snprintf(buf, 62, "tab%d", n);
Fl_Group* new_tab = new Fl_Group(X, Y, W, H);
new_tab->copy_label(buf);
new_tab->when(FL_WHEN_CLOSED);
new_tab->callback((Fl_Callback*)cb_tab);
snprintf(buf, 62, "Empty tab %d.", n);
Fl_Box* box = new Fl_Box(X+5, Y+5, W-10, H-10);
box->copy_label(buf);
box->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
tabs_group->add(new_tab);
n++;}
      tooltip {Add more tabs to check overflow handling.} xywh {60 309 70 25}
    }
    Fl_Choice {} {
      label {overflow:} open
      tooltip {Change how Fl_Tabs handles more tabs than fit into the tabs space.} xywh {212 309 95 25} down_box BORDER_BOX
    } {
      MenuItem {} {
        label compress
        callback {tabs_group->handle_overflow(Fl_Tabs::OVERFLOW_COMPRESS);}
        xywh {0 0 31 20}
      }
      MenuItem {} {
        label clip
        callback {tabs_group->handle_overflow(Fl_Tabs::OVERFLOW_CLIP);}
        xywh {0 0 31 20}
      }
      MenuItem {} {
        label pulldown
        callback {tabs_group->handle_overflow(Fl_Tabs::OVERFLOW_PULLDOWN);}
        xywh {0 0 31 20}
      }
      MenuItem {} {
        label drag
        callback {tabs_group->handle_overflow(Fl_Tabs::OVERFLOW_DRAG);}
        xywh {0 0 31 20}
      }
    }
    Fl_Input {} {
      label {input:}
      xywh {60 345 250 25}
    }
    Fl_Button {} {
      label cancel
      callback {exit(1);}
      xywh {490 345 70 30}
      code0 {\#include <stdlib.h>}
    }
    Fl_Return_Button {} {
      label OK
      callback {exit(0);}
      xywh {570 345 70 30}
      code0 {\#include <stdlib.h>}
    }
  }
}
