# data file for the Fltk User Interface Designer (fluid)
version 1.0400
header_name {.h}
code_name {.cxx}
snap {
  ver 1
  current_suite FLTK
  current_preset 0
}
decl {\#include <FL/Fl_Simple_Terminal.H>} {public global
}

Function {} {open
} {
  Fl_Window {} {
    label {Valuator classes, showing values for type()} open
    xywh {409 271 580 640} type Double color 43 selection_color 43
    code0 {\#include <stdio.h>} visible
  } {
    Fl_Group {} {
      label Fl_Slider
      xywh {10 10 280 210} box ENGRAVED_BOX labelfont 1 align 17
    } {
      Fl_Slider {} {
        label 0
        user_data {"Fl_Slider FL_VERT_SLIDER"}
        callback callback
        tooltip {Vertical Slider} xywh {30 45 20 145} selection_color 1 labelsize 8 align 1
      }
      Fl_Slider {} {
        label FL_VERT_FILL_SLIDER
        user_data {"Fl_Slider FL_VERT_FILL_SLIDER"}
        callback callback
        xywh {70 55 20 145} type {Vert Fill} selection_color 1 labelsize 8
      }
      Fl_Slider {} {
        label FL_VERT_NICE_SLIDER
        user_data {"Fl_Slider FL_VERT_NICE_SLIDER"}
        callback callback
        xywh {105 45 20 145} type {Vert Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8 align 1
      }
      Fl_Slider {} {
        label FL_HORIZONTAL
        user_data {"Fl_Slider FL_HORIZONTAL"}
        callback callback
        xywh {140 80 130 20} type Horizontal selection_color 1 labelsize 8
      }
      Fl_Slider {} {
        label FL_HOR_FILL_SLIDER
        user_data {"Fl_Slider FL_HOR_FILL_SLIDER"}
        callback callback
        xywh {140 120 130 20} type {Horz Fill} selection_color 1 labelsize 8
      }
      Fl_Slider {} {
        label FL_HOR_NICE_SLIDER
        user_data {"Fl_Slider FL_HOR_NICE_SLIDER"}
        callback callback
        xywh {140 160 130 20} type {Horz Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8
      }
    }
    Fl_Group {} {
      label Fl_Value_Slider
      xywh {10 230 280 210} box ENGRAVED_BOX labelfont 1 align 17
    } {
      Fl_Value_Slider {} {
        label 0
        user_data {"FL_VERT_SLIDER"}
        callback callback
        tooltip {Value Slider} xywh {30 260 30 145} selection_color 1 labelsize 8 align 1
      }
      Fl_Value_Slider {} {
        label FL_VERT_FILL_SLIDER
        user_data {"Fl_Value_Slider FL_VERT_FILL_SLIDER"}
        callback callback
        xywh {70 275 30 140} type {Vert Fill} selection_color 1 labelsize 8
      }
      Fl_Value_Slider {} {
        label FL_VERT_NICE_SLIDER
        user_data {"Fl_Value_Slider FL_VERT_NICE_SLIDER"}
        callback callback
        xywh {110 260 20 145} type {Vert Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8 align 1
      }
      Fl_Value_Slider {} {
        label FL_HOR_SLIDER
        user_data {"Fl_Value_Slider FL_HOR_SLIDER"}
        callback callback
        xywh {140 290 130 20} type Horizontal selection_color 1 labelsize 8
      }
      Fl_Value_Slider {} {
        label FL_HOR_FILL_SLIDER
        user_data {"Fl_Value_Slider FL_HOR_FILL_SLIDER"}
        callback callback
        xywh {140 330 130 20} type {Horz Fill} selection_color 1 labelsize 8
      }
      Fl_Value_Slider {} {
        label FL_HOR_NICE_SLIDER
        user_data {"Fl_Value_Slider FL_HOR_NICE_SLIDER"}
        callback callback
        xywh {140 370 130 20} type {Horz Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8
      }
    }
    Fl_Group {} {
      label Fl_Value_Input
      xywh {10 450 135 50} box ENGRAVED_BOX labelfont 1 align 17
    } {
      Fl_Value_Input {} {
        label 0
        user_data {"Fl_Value_Input"}
        callback callback
        tooltip {Value Input} xywh {30 470 105 25} labelsize 8 maximum 100 step 0.1
      }
    }
    Fl_Group {} {
      label Fl_Value_Output
      user_data {"Fl_Value_Output"}
      xywh {155 450 135 50} box ENGRAVED_BOX labelfont 1 align 17
    } {
      Fl_Value_Output {} {
        label 0
        callback callback
        tooltip {Value Output} xywh {170 470 105 25} labelsize 8 maximum 100 step 0.1
      }
    }
    Fl_Group {} {
      label {   Fl_Scrollbar}
      xywh {300 10 130 120} box ENGRAVED_BOX labelfont 1 align 21
    } {
      Fl_Scrollbar {} {
        label FL_HORIZONTAL
        user_data {"Fl_Scrollbar FL_HORIZONTAL"}
        callback callback
        tooltip {Horizontal Scrollbar} xywh {305 55 95 20} type Horizontal labelsize 8 maximum 100 value 20
      }
      Fl_Scrollbar {} {
        label {FL_VERTICAL (0) ->}
        user_data {"Fl_Scrollbar FL_VERTICAL"}
        callback callback
        tooltip {Vertical Scrollbar} xywh {405 30 20 90} labelsize 8 align 13 maximum 100 value 20
      }
    }
    Fl_Group {} {
      label Fl_Adjuster
      xywh {440 10 130 120} box ENGRAVED_BOX labelfont 1 align 17
    } {
      Fl_Adjuster {} {
        label {w()>h()}
        user_data {"Fl_Adjuster w()>h()"}
        callback callback
        tooltip {Horizontal Adjuster} xywh {450 60 75 25} labelsize 8
      }
      Fl_Adjuster {} {
        label {w()<h()}
        user_data {"Fl_Adjuster w()<h()"}
        callback callback
        tooltip {Vertical Adjuster} xywh {530 35 25 75} labelsize 8
      }
    }
    Fl_Group {} {
      label Fl_Counter
      xywh {300 140 130 120} box ENGRAVED_BOX labelfont 1 align 17
    } {
      Fl_Counter {} {
        label 0
        user_data {"Fl_Counter"}
        callback callback
        tooltip {Standard Counter} xywh {310 175 110 25} labelsize 8
      }
      Fl_Counter {} {
        label FL_SIMPLE_COUNTER
        user_data {"Fl_Counter FL_SIMPLE_COUNTER"}
        callback callback
        tooltip {Simple Counter} xywh {310 215 110 25} type Simple labelsize 8
      }
    }
    Fl_Group {} {
      label Fl_Spinner
      xywh {440 140 130 120} box ENGRAVED_BOX labelfont 1 align 17
    } {
      Fl_Spinner {} {
        label FL_INT_INPUT
        user_data {"Fl_Spinner FL_INT_INPUT"}
        callback callback_spinner
        xywh {465 176 80 24} labelsize 8 align 2 minimum -30 maximum 30 step 2 value 5
      }
      Fl_Spinner {} {
        label FL_FLOAT_INPUT
        user_data {"Fl_Spinner FL_FLOAT_INPUT"}
        callback callback_spinner
        xywh {465 216 80 24} type Float labelsize 8 align 2 minimum 0 maximum 1 step 0.01 value 0.05
        code0 {o->wrap(0); // disable wrap mode}
      }
    }
    Fl_Group {} {
      label Fl_Dial
      xywh {300 270 270 105} box ENGRAVED_BOX labelfont 1 align 17
    } {
      Fl_Dial {} {
        label 0
        user_data {"Fl_Dial"}
        callback callback
        tooltip {Standard Dial} xywh {320 295 65 65} color 10 selection_color 1 labelsize 8 value 0.5
        code0 {o->angles(0,315);}
      }
      Fl_Dial {} {
        label FL_LINE_DIAL
        user_data {"Fl_Dial FL_LINE_DIAL"}
        callback callback
        tooltip {Line Dial} xywh {400 295 65 65} type Line color 10 selection_color 1 labelsize 8 value 0.5
      }
      Fl_Dial {} {
        label FL_FILL_DIAL
        user_data {"Fl_Dial FL_FILL_DIAL"}
        callback callback
        tooltip {Fill Dial} xywh {480 295 65 65} type Fill color 10 selection_color 1 labelsize 8 value 1
        code0 {o->angles(0,360);}
      }
    }
    Fl_Group {} {
      label Fl_Roller
      xywh {300 385 150 115} box ENGRAVED_BOX labelfont 1 align 17
    } {
      Fl_Roller {} {
        label 0
        user_data {"Fl_Roller FL_VERTICAL"}
        callback callback
        tooltip {Vertical Roller} xywh {315 390 20 95} labelsize 8
      }
      Fl_Roller {} {
        label FL_HORIZONTAL
        user_data {"Fl_Roller FL_HORIZONTAL"}
        callback callback
        tooltip {Horizontal Roller} xywh {345 430 90 20} type Horizontal labelsize 8
      }
    }
    Fl_Box {} {
      label {Some widgets have color(FL_GREEN) and color2(FL_RED) to show the areas these effect.}
      xywh {460 385 110 115} box BORDER_FRAME color 0 selection_color 0 labelsize 11 align 128
    }
    Fl_Box tty {selected
      xywh {10 513 560 117} color 0
      code0 {o->ansi(true);}
      class Fl_Simple_Terminal
    }
  }
}

Function {callback(Fl_Widget* o, void*)} {open return_type void
} {
  code {const char *name = (const char*)(o->user_data() ? o->user_data() : "???");
tty->printf("callback(): %s value() = \\033[2m%g\\033[0m\\n",
            name, ((Fl_Valuator*)o)->value());} {}
}

Function {callback_spinner(Fl_Widget* o, void*)} {
  comment {Spinner doesn't derive from Fl_Valuator..} open return_type void
} {
  code {const char *name = (const char*)(o->user_data() ? o->user_data() : "???");
tty->printf("callback(): %s value() = \\033[2m%g\\033[0m\\n",
            name, ((Fl_Spinner*)o)->value());} {}
}
