# data file for the Fltk User Interface Designer (fluid)
version 1.0310
header_name {.h}
code_name {.cxx}
comment {//
// "$Id$"
//
// Code dialogs for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2023 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file.  If this
// file is missing or damaged, see the license at:
//
//     http://www.fltk.org/COPYING.php
//
// Please report all bugs and problems on the following page:
//
//     http://www.fltk.org/str.php
//
} {in_source in_header
}

decl {\#include <FL/Fl_Pixmap.H>} {private local
}

decl {\#include "Fl_Type.h"} {private local
}

decl {\#include "undo.h"} {private local
}

decl {extern class Fl_Pixmap *pixmap[];} {private local
}

decl {extern class Fl_Type *Fl_Type_make(const char*);} {private local
}

decl {extern void select_only(Fl_Type*);} {private local
}

decl {extern void exit_cb(Fl_Widget*, void*);} {private global
}

decl {extern void toggle_widgetbin_cb(Fl_Widget*, void*);} {private global
}

Function {use_tab_navigation(int, Fl_Text_Editor*)} {
  comment {Allow widget navigation on text fields with Tab.} private return_type int
} {
  code {return 0;} {}
}

Function {make_function_panel()} {} {
  Fl_Window function_panel {
    label {Function/Method Properties} open
    xywh {557 523 343 232} type Double hide resizable modal
  } {
    Fl_Group {} {open
      xywh {10 10 270 20}
    } {
      Fl_Choice f_public_member_choice {
        tooltip {Change member access attribute.} xywh {10 10 75 20} down_box BORDER_BOX labelsize 11 when 1 textsize 11
      } {
        MenuItem {} {
          label private
          user_data 0 user_data_type long
          xywh {5 5 100 20} labelsize 11
        }
        MenuItem {} {
          label public
          user_data 1 user_data_type long
          xywh {5 5 100 20} labelsize 11
        }
        MenuItem {} {
          label protected
          user_data 2 user_data_type long
          xywh {5 5 100 20} labelsize 11
        }
      }
      Fl_Choice f_public_choice {
        tooltip {Change widget accessibility.} xywh {10 10 75 20} down_box BORDER_BOX labelsize 11 when 1 textsize 11
      } {
        MenuItem {} {
          label local
          user_data 0 user_data_type long
          xywh {15 15 100 20} labelsize 11
        }
        MenuItem {} {
          label global
          user_data 1 user_data_type long
          xywh {15 15 100 20} labelsize 11
        }
      }
      Fl_Light_Button f_c_button {
        label {C declaration}
        tooltip {Declare with a C interface instead of C++.} xywh {95 10 120 20} labelsize 11
      }
      Fl_Box {} {
        xywh {235 10 45 20} resizable
      }
    }
    Fl_Input f_name_input {
      label {Name(args): (blank for main())}
      tooltip {The name of the function or method.} xywh {10 50 320 20} labelfont 1 labelsize 11 align 5 when 0 textfont 4 textsize 11
    }
    Fl_Input f_return_type_input {
      label {Return Type: (blank to return outermost widget)}
      tooltip {The return type of the function or method.} xywh {10 90 320 20} labelfont 1 labelsize 11 align 5 when 0 textfont 4 textsize 11
    }
    Fl_Text_Editor f_comment_input {
      label {Comment:}
      tooltip {Function comment in Doxygen format} xywh {10 125 320 65} box DOWN_BOX labelfont 1 labelsize 11 align 5 textfont 4 textsize 11 resizable
      code0 {f_comment_input->buffer(new Fl_Text_Buffer());}
      code1 {f_comment_input->add_key_binding(FL_Tab, 0, use_tab_navigation);}
    }
    Fl_Group {} {open
      xywh {10 200 320 20}
    } {
      Fl_Return_Button f_panel_ok {
        label OK
        tooltip {Apply the changes.} xywh {220 200 50 20} labelsize 11 hotspot
      }
      Fl_Button f_panel_cancel {
        label Cancel
        tooltip {Cancel the changes.} xywh {280 200 50 20} labelsize 11
      }
      Fl_Box {} {
        xywh {10 200 205 20} resizable
      }
    }
  }
}

Function {make_code_panel()} {} {
  Fl_Window code_panel {
    label {Code Properties}
    callback {if (Fl::event()==FL_SHORTCUT && Fl::event_key()==FL_Escape) 
    return; // ignore Escape
code_panel->hide(); // otherwise hide..} open
    xywh {503 450 540 180} type Double labelsize 11 hide resizable
    code0 {o->size_range(200, 150);} modal
  } {
    Fl_Text_Editor code_input {
      xywh {10 10 520 130} box DOWN_BOX labelsize 11 textfont 4 textsize 11 resizable
      code0 {o->when(FL_WHEN_ENTER_KEY_CHANGED|FL_WHEN_RELEASE);}
      code1 {\#include "CodeEditor.h"}
      class CodeEditor
    }
    Fl_Group {} {open
      xywh {10 150 520 20} labelsize 11
    } {
      Fl_Return_Button code_panel_ok {
        label OK
        xywh {400 150 60 20} labelsize 11 hotspot
      }
      Fl_Button code_panel_cancel {
        label Cancel
        xywh {470 150 60 20} labelsize 11
      }
      Fl_Box {} {
        xywh {10 150 380 20} labelsize 11 resizable
      }
    }
  }
  code {// Enable line numbers
code_input->linenumber_width(60);
code_input->linenumber_size(code_input->Fl_Text_Display::textsize());} {}
}

Function {make_codeblock_panel()} {} {
  Fl_Window codeblock_panel {
    label {Code Block Properties} open
    xywh {468 221 300 115} type Double labelsize 11 hide resizable
    code0 {o->size_range(o->w(), o->h(), Fl::w(), o->h());} modal
  } {
    Fl_Input code_before_input {
      label {Conditional code block}
      tooltip {\#ifdef or similar conditional code block.} xywh {10 15 280 20} labelsize 11 align 5 when 0 textfont 4 textsize 11
    }
    Fl_Input code_after_input {
      label {"{...child code...}" is inserted here}
      tooltip {\#endif or similar conditional code block.} xywh {10 55 280 20} labelsize 11 align 5 when 0 textfont 4 textsize 11 resizable
    }
    Fl_Group {} {open
      xywh {10 85 280 20}
    } {
      Fl_Return_Button codeblock_panel_ok {
        label OK
        xywh {160 85 60 20} labelsize 11 hotspot
      }
      Fl_Button codeblock_panel_cancel {
        label Cancel
        xywh {230 85 60 20} shortcut 0xff1b labelsize 11
      }
      Fl_Box {} {
        xywh {10 85 140 20} resizable
      }
    }
  }
}

Function {make_declblock_panel()} {} {
  Fl_Window declblock_panel {
    label {Declaration Block Properties} open
    xywh {428 215 300 135} type Double labelsize 11 hide resizable
    code0 {o->size_range(o->w(), o->h(), Fl::w(), o->h());} modal
  } {
    Fl_Group {} {open
      xywh {10 10 280 20}
    } {
      Fl_Choice declblock_public_choice {open
        tooltip {Change widget accessibility.} xywh {10 10 140 20} down_box BORDER_BOX labelsize 11 when 0 textsize 11
      } {
        MenuItem {} {
          label {in source code only}
          user_data 0 user_data_type long
          xywh {25 25 100 20} labelsize 11
        }
        MenuItem {} {
          label {in header and source}
          user_data 1 user_data_type long
          xywh {25 25 100 20} labelsize 11
        }
      }
      Fl_Light_Button declblock_public_button_x {
        label public
        tooltip {Make the declaration publicly accessible.} xywh {10 10 60 20} labelsize 11 when 0 hide
      }
      Fl_Box {} {
        xywh {155 10 135 20} resizable
      }
    }
    Fl_Input decl_before_input {
      tooltip {\#ifdef or similar conditional declaration block.} xywh {10 40 280 20} labelsize 11 align 5 when 0 textfont 4 textsize 11 resizable
    }
    Fl_Input decl_after_input {
      label {"\\n...child code...\\n" is inserted here}
      tooltip {\#endif or similar declaration code block.} xywh {10 75 280 20} labelsize 11 align 5 when 0 textfont 4 textsize 11
    }
    Fl_Group {} {open
      xywh {10 105 280 20}
    } {
      Fl_Return_Button declblock_panel_ok {
        label OK
        xywh {160 105 60 20} labelsize 11 hotspot
      }
      Fl_Button declblock_panel_cancel {
        label Cancel
        xywh {230 105 60 20} shortcut 0xff1b labelsize 11
      }
      Fl_Box {} {
        xywh {10 105 140 20} resizable
      }
    }
  }
}

Function {make_decl_panel()} {} {
  Fl_Window decl_panel {
    label {Declaration Properties} open
    xywh {480 333 343 237} type Double align 80 hide resizable size_range {343 237 0 0}
  } {
    Fl_Group {} {open
      xywh {10 10 270 20}
    } {
      Fl_Box {} {
        xywh {200 10 80 20} resizable
      }
      Fl_Choice decl_choice {
        xywh {10 10 185 20} down_box BORDER_BOX labelsize 11 textsize 11
      } {
        MenuItem {} {
          label {in source file only}
          xywh {0 0 100 20} labelsize 11
        }
        MenuItem {} {
          label {in header file only}
          xywh {0 0 100 20} labelsize 11
        }
        MenuItem {} {
          label {"static" in source file}
          xywh {0 0 100 20} labelsize 11
        }
        MenuItem {} {
          label {in source and "extern" in header}
          xywh {0 0 100 20} labelsize 11
        }
      }
      Fl_Choice decl_class_choice {
        xywh {10 10 75 20} down_box BORDER_BOX labelsize 11 textsize 11
      } {
        MenuItem {} {
          label private
          xywh {10 10 100 20} labelsize 11
        }
        MenuItem {} {
          label public
          xywh {10 10 100 20} labelsize 11
        }
        MenuItem {} {
          label protected
          xywh {10 10 100 20} labelsize 11
        }
      }
    }
    Fl_Input decl_input {
      label {This can be any declaration, like "int x;", an external symbol like "extern int foo();", a \#directive like "\#include <foo.h>", a comment like "//foo" or "/*foo*/", or typedef like "typedef char byte;" or "using std::list;".}
      tooltip {Declaration text.} xywh {10 40 320 20} labelsize 11 align 134 when 0 textfont 4 textsize 11
    }
    Fl_Text_Editor decl_comment_input {
      label {Comment:}
      tooltip {Declaration comment in Doxygen format} xywh {10 130 320 65} box DOWN_BOX labelfont 1 labelsize 11 align 5 textfont 4 textsize 11 resizable
      code0 {decl_comment_input->buffer(new Fl_Text_Buffer());}
      code1 {decl_comment_input->add_key_binding(FL_Tab, 0, use_tab_navigation);}
    }
    Fl_Group {} {open
      xywh {10 205 320 20}
    } {
      Fl_Return_Button decl_panel_ok {
        label OK
        xywh {200 205 60 20} labelsize 11 hotspot
      }
      Fl_Button decl_panel_cancel {
        label Cancel
        xywh {270 205 60 20} shortcut 0xff1b labelsize 11
      }
      Fl_Box {} {
        xywh {10 205 185 20} resizable
      }
    }
  }
}

Function {make_data_panel()} {} {
  Fl_Window data_panel {
    label {Binary Data Properties} open
    xywh {595 352 343 237} type Double align 80 hide resizable size_range {343 237 0 0}
  } {
    Fl_Group {} {open
      xywh {10 10 270 20}
    } {
      Fl_Box {} {
        xywh {200 10 80 20} resizable
      }
      Fl_Choice data_choice {open
        xywh {10 10 185 20} down_box BORDER_BOX labelsize 11 textsize 11
      } {
        MenuItem {} {
          label {in source file only}
          xywh {0 0 100 20} labelsize 11
        }
        MenuItem {} {
          label {in header file only}
          xywh {0 0 100 20} labelsize 11 hide
        }
        MenuItem {} {
          label {"static" in source file}
          xywh {0 0 100 20} labelsize 11
        }
        MenuItem {} {
          label {in source and "extern" in header}
          xywh {0 0 100 20} labelsize 11
        }
      }
      Fl_Choice data_class_choice {open
        xywh {10 10 75 20} down_box BORDER_BOX labelsize 11 textsize 11
      } {
        MenuItem {} {
          label private
          xywh {10 10 100 20} labelsize 11
        }
        MenuItem {} {
          label public
          xywh {10 10 100 20} labelsize 11
        }
        MenuItem {} {
          label protected
          xywh {10 10 100 20} labelsize 11
        }
      }
    }
    Fl_Input data_input {
      label {Variable Name:}
      tooltip {Binary Data variables are declared "const unsigned char []".} xywh {10 52 320 20} labelfont 1 labelsize 11 align 133 when 0 textfont 4 textsize 11
    }
    Fl_Input data_filename {
      label {Filename:}
      tooltip {Name and path of binary file that will be included.} xywh {10 90 280 20} labelfont 1 labelsize 11 align 133 when 0 textfont 4 textsize 11
    }
    Fl_Button data_filebrowser {
      label {@fileopen}
      xywh {290 90 40 20} labelcolor 134
    }
    Fl_Text_Editor data_comment_input {
      label {Comment:}
      tooltip {Declaration comment in Doxygen format} xywh {10 130 320 65} box DOWN_BOX labelfont 1 labelsize 11 align 5 textfont 4 textsize 11 resizable
      code0 {data_comment_input->buffer(new Fl_Text_Buffer());}
      code1 {data_comment_input->add_key_binding(FL_Tab, 0, use_tab_navigation);}
    }
    Fl_Group {} {open
      xywh {10 205 320 20}
    } {
      Fl_Return_Button data_panel_ok {
        label OK
        xywh {200 205 60 20} labelsize 11 hotspot
      }
      Fl_Button data_panel_cancel {
        label Cancel
        xywh {270 205 60 20} shortcut 0xff1b labelsize 11
      }
      Fl_Box {} {
        xywh {10 205 185 20} resizable
      }
    }
  }
}

Function {make_class_panel()} {open
} {
  Fl_Window class_panel {
    label {Class Properties} open
    xywh {497 585 342 196} type Double labelsize 11 hide resizable modal size_range {343 188 0 0}
  } {
    Fl_Group {} {open
      xywh {10 10 280 20} hide
    } {
      Fl_Light_Button c_public_button {
        label public
        tooltip {Make the class publicly accessible.} xywh {10 10 60 20} labelsize 11 when 0 hide
      }
      Fl_Box {} {
        xywh {80 10 210 20} resizable
      }
    }
    Fl_Input c_name_input {
      label {Name:}
      tooltip {Name of class.} xywh {10 20 320 20} labelfont 1 labelsize 11 align 5 when 0 textfont 4 textsize 11
    }
    Fl_Input c_subclass_input {
      label {Subclass of (text between : and \{)}
      tooltip {Name of subclass.} xywh {10 55 320 20} labelfont 1 labelsize 11 align 5 when 0 textfont 4 textsize 11
    }
    Fl_Text_Editor c_comment_input {
      label {Comment:} selected
      tooltip {Class comment in Doxygen format} xywh {10 90 320 65} box DOWN_BOX labelfont 1 labelsize 11 align 5 textfont 4 textsize 11 resizable
      code0 {c_comment_input->buffer(new Fl_Text_Buffer());}
      code1 {c_comment_input->add_key_binding(FL_Tab, 0, use_tab_navigation);}
    }
    Fl_Group {} {open
      xywh {10 165 320 20}
    } {
      Fl_Return_Button c_panel_ok {
        label OK
        xywh {200 165 60 20} labelsize 11 hotspot
      }
      Fl_Button c_panel_cancel {
        label Cancel
        xywh {270 165 60 20} shortcut 0xff1b labelsize 11
      }
      Fl_Box {} {
        xywh {10 165 185 20} resizable
      }
    }
  }
}

Function {make_comment_panel()} {} {
  Fl_Window comment_panel {
    label {Comment Properties} open
    xywh {780 296 550 280} type Double labelsize 11 hide resizable
    code0 {o->size_range(320, 180);} modal
  } {
    Fl_Text_Editor comment_input {
      xywh {110 10 430 230} box DOWN_BOX labelsize 11 textfont 4 textsize 11 resizable
      code0 {o->when(FL_WHEN_ENTER_KEY_CHANGED|FL_WHEN_RELEASE);}
      class CodeEditor
    }
    Fl_Group {} {open
      xywh {110 250 430 20} labelsize 11
    } {
      Fl_Return_Button comment_panel_ok {
        label OK
        xywh {370 250 80 20} labelsize 11 hotspot
      }
      Fl_Button comment_panel_cancel {
        label Cancel
        xywh {460 250 80 20} shortcut 0xff1b labelsize 11
      }
      Fl_Box {} {
        xywh {110 250 250 20} labelsize 11 resizable
      }
    }
    Fl_Group {} {open
      xywh {10 10 90 243} labelsize 11
    } {
      Fl_Light_Button comment_in_source {
        label {In Source}
        tooltip {Put the comment into the source (.cxx) file.} xywh {10 10 90 20} labelsize 11 when 0
      }
      Fl_Light_Button comment_in_header {
        label {In Header}
        tooltip {Put the comment into the header (.h) file.} xywh {10 40 90 20} labelsize 11 when 0
      }
      Fl_Menu_Button comment_predefined {
        label Predefined open
        xywh {10 70 90 20} labelsize 11 textsize 11
      } {}
      Fl_Button comment_load {
        label {Import...}
        xywh {10 100 90 20} labelsize 11
      }
      Fl_Box {} {
        xywh {10 132 90 121} labelsize 11 resizable
      }
    }
  }
}

Function {type_make_cb(Fl_Widget*,void*d)} {return_type void
} {
  code {undo_checkpoint();
  Fl_Type *t = Fl_Type_make((char*)d);
  if (t) {
    select_only(t);
    set_modflag(1);
    t->open();
  } else {
    undo_current --;
    undo_last --;
  }} {}
}

Function {make_widgetbin()} {} {
  Fl_Window widgetbin_panel {
    label {Widget Bin}
    callback {if (Fl::event()==FL_SHORTCUT && Fl::event_key()==FL_Escape)
  exit_cb((Fl_Widget*)o, v);
else  
  toggle_widgetbin_cb((Fl_Widget*)o, v);} open
    xywh {410 171 574 85} type Single align 80 hide non_modal
  } {
    Fl_Group {} {
      xywh {3 3 79 79}
    } {
      Fl_Button {} {
        user_data {"Function"}
        callback type_make_cb
        tooltip Function xywh {5 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[7]);}
      }
      Fl_Button {} {
        user_data {"Class"}
        callback type_make_cb
        tooltip Class xywh {30 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[12]);}
      }
      Fl_Button {} {
        user_data {"comment"}
        callback type_make_cb
        tooltip Comment xywh {55 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[46]);}
      }
      Fl_Button {} {
        user_data {"Code"}
        callback type_make_cb
        tooltip Code xywh {5 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[8]);}
      }
      Fl_Button {} {
        user_data {"CodeBlock"}
        callback type_make_cb
        tooltip {Code Block} xywh {30 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[9]);}
      }
      Fl_Button {} {
        user_data {"widget_class"}
        callback type_make_cb
        tooltip {Widget Class} xywh {55 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[48]);}
      }
      Fl_Button {} {
        user_data {"decl"}
        callback type_make_cb
        tooltip Declaration xywh {5 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[10]);}
      }
      Fl_Button {} {
        user_data {"declblock"}
        callback type_make_cb
        tooltip {Declaration Block} xywh {30 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[11]);}
      }
      Fl_Button {} {
        user_data {"data"}
        callback type_make_cb
        tooltip {Binary Data} xywh {55 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[49]);}
      }
    }
    Fl_Group {} {
      xywh {87 3 79 79}
    } {
      Fl_Button {} {
        user_data {"Fl_Window"}
        callback type_make_cb
        tooltip Window xywh {89 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[1]);}
      }
      Fl_Button {} {
        user_data {"Fl_Group"}
        callback type_make_cb
        tooltip Group xywh {114 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[6]);}
      }
      Fl_Button {} {
        user_data {"Fl_Pack"}
        callback type_make_cb
        tooltip Pack xywh {139 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[22]);}
      }
      Fl_Button {} {
        user_data {"Fl_Tabs"}
        callback type_make_cb
        tooltip Tabs xywh {89 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[13]);}
      }
      Fl_Button {} {
        user_data {"Fl_Scroll"}
        callback type_make_cb
        tooltip Scroll xywh {114 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[19]);}
      }
      Fl_Button {} {
        user_data {"Fl_Table"}
        callback type_make_cb
        tooltip Table xywh {139 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[51]);}
      }
      Fl_Button {} {
        user_data {"Fl_Tile"}
        callback type_make_cb
        tooltip Tile xywh {89 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[20]);}
      }
      Fl_Button {} {
        user_data {"Fl_Wizard"}
        callback type_make_cb
        tooltip Wizard xywh {114 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[21]);}
      }
    }
    Fl_Group {} {
      xywh {171 3 54 79}
    } {
      Fl_Button {} {
        user_data {"Fl_Button"}
        callback type_make_cb
        tooltip Button xywh {173 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[2]);}
      }
      Fl_Button {} {
        user_data {"Fl_Return_Button"}
        callback type_make_cb
        tooltip {Return Button} xywh {198 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[23]);}
      }
      Fl_Button {} {
        user_data {"Fl_Light_Button"}
        callback type_make_cb
        tooltip {Light Button} xywh {173 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[24]);}
      }
      Fl_Button {} {
        user_data {"Fl_Repeat_Button"}
        callback type_make_cb
        tooltip {Repeat Button} xywh {198 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[25]);}
      }
      Fl_Button {} {
        user_data {"Fl_Check_Button"}
        callback type_make_cb
        tooltip {Check Button} xywh {173 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[3]);}
      }
      Fl_Button {} {
        user_data {"Fl_Round_Button"}
        callback type_make_cb
        tooltip {Round Button} xywh {198 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[4]);}
      }
    }
    Fl_Group {} {
      xywh {230 3 104 79}
    } {
      Fl_Button {} {
        user_data {"Fl_Slider"}
        callback type_make_cb
        tooltip Slider xywh {232 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[37]);}
      }
      Fl_Button {} {
        user_data {"Fl_Scrollbar"}
        callback type_make_cb
        tooltip {Scroll Bar} xywh {257 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[38]);}
      }
      Fl_Button {} {
        user_data {"Fl_Value_Slider"}
        callback type_make_cb
        tooltip {Value Slider} xywh {282 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[39]);}
      }
      Fl_Button {} {
        user_data {"Fl_Value_Output"}
        callback type_make_cb
        tooltip {Value Output} xywh {307 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[45]);}
      }
      Fl_Button {} {
        user_data {"Fl_Adjuster"}
        callback type_make_cb
        tooltip Adjuster xywh {232 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[40]);}
      }
      Fl_Button {} {
        user_data {"Fl_Counter"}
        callback type_make_cb
        tooltip Counter xywh {257 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[41]);}
      }
      Fl_Button {} {
        user_data {"Fl_Dial"}
        callback type_make_cb
        tooltip Dial xywh {282 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[42]);}
      }
      Fl_Button {} {
        user_data {"Fl_Roller"}
        callback type_make_cb
        tooltip Roller xywh {232 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[43]);}
      }
      Fl_Button {} {
        user_data {"Fl_Spinner"}
        callback type_make_cb
        tooltip Spinner xywh {257 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[47]);}
      }
      Fl_Button {} {
        user_data {"Fl_Value_Input"}
        callback type_make_cb
        tooltip {Value Input} xywh {282 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[44]);}
      }
    }
    Fl_Group {} {
      xywh {339 3 54 79}
    } {
      Fl_Button {} {
        user_data {"Fl_Input"}
        callback type_make_cb
        tooltip Input xywh {341 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[14]);}
      }
      Fl_Button {} {
        user_data {"Fl_Output"}
        callback type_make_cb
        tooltip Output xywh {366 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[27]);}
      }
      Fl_Button {} {
        user_data {"Fl_Text_Editor"}
        callback type_make_cb
        tooltip {Text Edit} xywh {341 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[29]);}
      }
      Fl_Button {} {
        user_data {"Fl_Text_Display"}
        callback type_make_cb
        tooltip {Text Display} xywh {366 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[28]);}
      }
      Fl_Button {} {
        user_data {"Fl_File_Input"}
        callback type_make_cb
        tooltip {File Input} xywh {341 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[30]);}
      }
    }
    Fl_Group {} {
      xywh {398 3 54 79}
    } {
      Fl_Button {} {
        user_data {"Fl_Menu_Bar"}
        callback type_make_cb
        tooltip {Menu Bar} xywh {400 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[17]);}
      }
      Fl_Button {} {
        user_data {"Fl_Input_Choice"}
        callback type_make_cb
        tooltip {Input Choice} xywh {425 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[15]);}
      }
      Fl_Button {} {
        user_data {"Fl_Menu_Button"}
        callback type_make_cb
        tooltip {Menu Button} xywh {400 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[26]);}
      }
      Fl_Button {} {
        user_data {"menuitem"}
        callback type_make_cb
        tooltip {Menu Item} xywh {425 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[16]);}
      }
      Fl_Button {} {
        user_data {"Fl_Choice"}
        callback type_make_cb
        tooltip Choice xywh {400 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[15]);}
      }
      Fl_Button {} {
        user_data {"submenu"}
        callback type_make_cb
        tooltip {Sub Menu} xywh {425 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[18]);}
      }
    }
    Fl_Group {} {
      xywh {457 3 54 79}
    } {
      Fl_Button {} {
        user_data {"Fl_Browser"}
        callback type_make_cb
        tooltip Browser xywh {459 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[31]);}
      }
      Fl_Button {} {
        user_data {"Fl_Tree"}
        callback type_make_cb
        tooltip Tree xywh {484 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[50]);}
      }
      Fl_Button {} {
        user_data {"Fl_Check_Browser"}
        callback type_make_cb
        tooltip {Check Browser} xywh {459 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[32]);}
      }
      Fl_Button {} {
        user_data {"Fl_File_Browser"}
        callback type_make_cb
        tooltip {File Browser} xywh {459 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[33]);}
      }
    }
    Fl_Group {} {
      xywh {515 3 55 79}
    } {
      Fl_Button {} {
        user_data {"Fl_Box"}
        callback type_make_cb
        tooltip Box xywh {517 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[5]);}
      }
      Fl_Button {} {
        user_data {"Fl_Clock"}
        callback type_make_cb
        tooltip Clock xywh {542 5 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[34]);}
      }
      Fl_Button {} {
        user_data {"Fl_Help_View"}
        callback type_make_cb
        tooltip {Help Browser} xywh {517 30 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[35]);}
      }
      Fl_Button {} {
        user_data {"Fl_Progress"}
        callback type_make_cb
        tooltip Progress xywh {517 55 24 24} box THIN_UP_BOX
        code0 {o->image(pixmap[36]);}
      }
    }
  }
}

Function {make_sourceview()} {} {
  Fl_Window sourceview_panel {
    label {Code View}
    callback toggle_sourceview_cb
    xywh {430 273 520 490} type Double align 80 hide resizable size_range {384 120 0 0}
  } {
    Fl_Tabs sv_tab {
      callback update_sourceview_position_cb
      xywh {10 10 500 440} selection_color 4 labelcolor 7 resizable
    } {
      Fl_Group {} {
        label Source open
        xywh {10 35 500 415} labelsize 13 resizable
      } {
        Fl_Text_Editor sv_source {
          xywh {20 50 480 390} textfont 4 textsize 11 resizable
          code0 {\#include "CodeEditor.h"}
          code1 {o->linenumber_width(60);}
          code2 {o->linenumber_size(o->Fl_Text_Display::textsize());}
          class CodeViewer
        }
      }
      Fl_Group {} {
        label Header open
        xywh {10 35 500 415} labelsize 13 hide
      } {
        Fl_Text_Editor sv_header {
          xywh {20 50 480 390} textfont 4 textsize 11 resizable
          code0 {\#include "CodeEditor.h"}
          code1 {o->linenumber_width(60);}
          code2 {o->linenumber_size(o->Fl_Text_Display::textsize());}
          class CodeViewer
        }
      }
    }
    Fl_Group {} {
      xywh {10 460 500 20}
    } {
      Fl_Button {} {
        label Refresh
        callback update_sourceview_cb
        xywh {10 460 61 20} labelsize 11
      }
      Fl_Light_Button sv_autorefresh {
        label {Auto-Refresh}
        xywh {76 460 91 20} labelsize 11
        code0 {o->callback((Fl_Callback*)update_sourceview_cb);}
      }
      Fl_Light_Button sv_autoposition {
        label {Auto-Position}
        xywh {172 460 89 20} labelsize 11
      }
      Fl_Button {} {
        label Close
        callback toggle_sourceview_b_cb
        xywh {460 460 50 20} labelsize 11
      }
      Fl_Box {} {
        xywh {265 460 190 20} resizable
      }
    }
  }
}

comment {
//
// End of "$Id$".
//} {in_source in_header
}
