# data file for the Fltk User Interface Designer (fluid) version 1.0400 header_name {.h} code_name {.cxx} comment {// // Widget panel for the Fast Light Tool Kit (FLTK). // // Copyright 1998-2020 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: // // https://www.fltk.org/COPYING.php // // Please see the following page on how to report bugs and issues: // // https://www.fltk.org/bugs.php // } {in_source in_header } decl {extern void comment_cb(Fl_Text_Editor*, void*);} {private global } Function {make_widget_panel()} { comment {Create a panel that can be used with all known widgets} open } { Fl_Window {} { comment {Use a Double Window to avoid flickering.} open xywh {560 60 420 400} type Double labelsize 11 align 80 hide resizable hotspot code0 {o->size_range(o->w(), o->h());} size_range {420 400 0 0} } { Fl_Tabs {} { callback {propagate_load((Fl_Group *)o,v);} open xywh {10 10 400 350} selection_color 12 labelsize 11 labelcolor 7 when 0 resizable } { Fl_Group {} { label GUI callback propagate_load open xywh {10 30 400 330} labelsize 11 when 0 resizable } { Fl_Group {} { label {Label:} callback propagate_load open xywh {95 40 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback label_cb tooltip {The label text for the widget. Use Ctrl-J for newlines.} xywh {95 40 190 20} labelfont 1 labelsize 11 when 1 textsize 11 resizable } Fl_Choice {} { callback labeltype_cb open tooltip {The label style for the widget.} xywh {284 40 120 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 code0 {extern Fl_Menu_Item labeltypemenu[];} code1 {o->menu(labeltypemenu);} } {} } Fl_Group {} { label {Image:} callback propagate_load xywh {95 65 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback image_cb tooltip {The active image for the widget.} xywh {95 65 240 20} labelfont 1 labelsize 11 textsize 11 resizable } Fl_Button {} { label {Browse...} callback image_browse_cb tooltip {Click to choose the active image.} xywh {334 65 70 20} labelsize 11 } } Fl_Group {} { label {Inactive:} callback propagate_load xywh {95 90 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback inactive_cb tooltip {The inactive image for the widget.} xywh {95 90 240 20} labelfont 1 labelsize 11 textsize 11 resizable } Fl_Button {} { label {Browse...} callback inactive_browse_cb tooltip {Click to choose the inactive image.} xywh {334 90 70 20} labelsize 11 } } Fl_Group {} { label {Alignment:} callback propagate_load xywh {95 115 310 20} labelfont 1 labelsize 11 align 4 } { Fl_Button {} { label Clip user_data {(fl_intptr_t)FL_ALIGN_CLIP} callback align_cb tooltip {Clip the label to the inside of the widget.} xywh {95 115 30 20} type Toggle selection_color 8 labelsize 11 align 16 } Fl_Button {} { label Wrap user_data {(fl_intptr_t)FL_ALIGN_WRAP} callback align_cb tooltip {Wrap the label text.} xywh {130 115 38 20} type Toggle selection_color 8 labelsize 11 } Fl_Button {} { label {@-1<-} user_data {(fl_intptr_t)FL_ALIGN_LEFT} callback align_cb tooltip {Left-align the label.} xywh {278 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 hide } Fl_Button {} { label {@-1->} user_data {(fl_intptr_t)FL_ALIGN_RIGHT} callback align_cb tooltip {Right-align the label.} xywh {303 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 hide } Fl_Button {} { label {@-18} user_data {(fl_intptr_t)FL_ALIGN_TOP} callback align_cb tooltip {Top-align the label.} xywh {328 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 hide } Fl_Button {} { label {@-12} user_data {(fl_intptr_t)FL_ALIGN_BOTTOM} callback align_cb tooltip {Bottom-align the label.} xywh {353 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 hide } Fl_Choice {} { callback align_text_image_cb open xywh {172 115 110 20} down_box BORDER_BOX labelsize 11 textsize 11 } { MenuItem {} { label { Image Alignment } user_data 0xFFFFFFFF xywh {145 145 100 20} labelfont 2 labelsize 11 deactivate } MenuItem {} { label {image over text} user_data {(fl_intptr_t)FL_ALIGN_IMAGE_OVER_TEXT} xywh {25 25 100 20} labelsize 11 } MenuItem {} { label {text over image} user_data {(fl_intptr_t)FL_ALIGN_TEXT_OVER_IMAGE} xywh {15 15 100 20} labelsize 11 } MenuItem {} { label {text next to image} user_data {(fl_intptr_t)FL_ALIGN_TEXT_NEXT_TO_IMAGE} xywh {35 35 100 20} labelsize 11 } MenuItem {} { label {image next to text} user_data {(fl_intptr_t)FL_ALIGN_IMAGE_NEXT_TO_TEXT} xywh {45 45 100 20} labelsize 11 } MenuItem {} { label {image is backdrop} user_data {(fl_intptr_t)FL_ALIGN_IMAGE_BACKDROP} xywh {55 55 100 20} labelsize 11 } } Fl_Choice {} { callback align_position_cb open xywh {288 115 85 20} down_box BORDER_BOX labelsize 11 textsize 11 } { MenuItem {} { label { Inside && Outside } user_data 0xFFFFFFFF xywh {135 135 100 20} labelfont 2 labelsize 11 deactivate } MenuItem {} { label {top left} user_data {(fl_intptr_t)FL_ALIGN_TOP_LEFT} xywh {45 45 100 20} labelsize 11 } MenuItem {} { label top user_data {(fl_intptr_t)FL_ALIGN_TOP} xywh {55 55 100 20} labelsize 11 } MenuItem {} { label {top right} user_data {(fl_intptr_t)FL_ALIGN_TOP_RIGHT} xywh {65 65 100 20} labelsize 11 } MenuItem {} { label left user_data {(fl_intptr_t)FL_ALIGN_LEFT} xywh {75 75 100 20} labelsize 11 } MenuItem {} { label center user_data {(fl_intptr_t)FL_ALIGN_CENTER} xywh {35 35 100 20} labelsize 11 } MenuItem {} { label right user_data {(fl_intptr_t)FL_ALIGN_RIGHT} xywh {85 85 100 20} labelsize 11 } MenuItem {} { label {bottom left} user_data {(fl_intptr_t)FL_ALIGN_BOTTOM_LEFT} xywh {95 95 100 20} labelsize 11 } MenuItem {} { label bottom user_data {(fl_intptr_t)FL_ALIGN_BOTTOM} xywh {105 105 100 20} labelsize 11 } MenuItem {} { label {bottom right} user_data {(fl_intptr_t)FL_ALIGN_BOTTOM_RIGHT} xywh {115 115 100 20} labelsize 11 divider } MenuItem {} { label { Outside Alignment } user_data 0xFFFFFFFF xywh {125 125 100 20} labelfont 2 labelsize 11 deactivate } MenuItem {} { label {left top} user_data {(fl_intptr_t)FL_ALIGN_LEFT_TOP} xywh {135 135 100 20} labelsize 11 } MenuItem {} { label {right top} user_data {(fl_intptr_t)FL_ALIGN_RIGHT_TOP} xywh {145 145 100 20} labelsize 11 } MenuItem {} { label {left bottom} user_data {(fl_intptr_t)FL_ALIGN_LEFT_BOTTOM} xywh {155 155 100 20} labelsize 11 } MenuItem {} { label {right bottom} user_data {(fl_intptr_t)FL_ALIGN_RIGHT_BOTTOM} xywh {45 45 100 20} labelsize 11 } } Fl_Button {} { label {@-3square} user_data {(fl_intptr_t)FL_ALIGN_INSIDE} callback align_cb tooltip {Show the label inside the widget.} xywh {378 115 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8 } Fl_Box {} { xywh {404 115 0 20} labelsize 11 resizable } } Fl_Group {} { label {Position:} callback propagate_load xywh {95 150 314 20} labelfont 1 labelsize 11 align 4 } { Fl_Value_Input widget_x_input { label {X:} callback x_cb tooltip {The X position of the widget.} xywh {95 150 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Value_Input widget_y_input { label {Y:} callback y_cb tooltip {The Y position of the widget.} xywh {155 150 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Value_Input widget_w_input { label {Width:} callback w_cb tooltip {The width of the widget.} xywh {215 150 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Value_Input widget_h_input { label {Height:} callback h_cb tooltip {The height of the widget.} xywh {275 150 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Light_Button {} { label Relative callback wc_relative_cb tooltip {If set, widgets inside a widget class of type Fl_Group are repositioned relative to the origin at construction time} xywh {335 150 65 20} labelsize 11 } Fl_Box {} { xywh {398 150 1 20} resizable } } Fl_Group {} { label {Values:} callback propagate_load xywh {95 185 300 20} labelfont 1 labelsize 11 align 4 } { Fl_Value_Input {} { label {Size:} callback slider_size_cb tooltip {The size of the slider.} xywh {95 185 55 20} labelsize 11 align 5 textsize 11 } Fl_Value_Input {} { label {Minimum:} callback min_cb tooltip {The minimum value of the widget.} xywh {155 185 55 20} labelsize 11 align 5 textsize 11 } Fl_Value_Input {} { label {Maximum:} callback max_cb tooltip {The maximum value of the widget.} xywh {215 185 55 20} labelsize 11 align 5 value 1 textsize 11 } Fl_Value_Input {} { label {Step:} callback step_cb tooltip {The resolution of the widget value.} xywh {275 185 55 20} labelsize 11 align 5 textsize 11 } Fl_Value_Input {} { label {Value:} callback value_cb tooltip {The current widget value.} xywh {335 185 55 20} labelsize 11 align 5 textsize 11 } Fl_Box {} { xywh {395 185 0 20} resizable } } Fl_Group {} { label {Size Range:} callback propagate_load xywh {95 185 300 20} labelfont 1 labelsize 11 align 4 hide } { Fl_Value_Input {} { label {Minimum Size:} callback min_w_cb tooltip {The size of the slider.} xywh {95 185 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Value_Input {} { callback min_h_cb tooltip {The minimum value of the widget.} xywh {155 185 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Button {} { label set callback set_min_size_cb xywh {215 185 25 20} labelsize 11 } Fl_Value_Input {} { label {Maximum Size:} callback max_w_cb tooltip {The maximum value of the widget.} xywh {245 185 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Value_Input {} { callback max_h_cb tooltip {The resolution of the widget value.} xywh {305 185 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11 } Fl_Button {} { label set callback set_max_size_cb xywh {365 185 25 20} labelsize 11 } Fl_Box {} { xywh {395 185 0 20} resizable } } Fl_Button {} { label {Shortcut:} callback shortcut_in_cb comment {This is a special button that grabs keystrokes directly} tooltip {The shortcut key for the widget. Use 'Backspace' key to clear.} xywh {95 210 310 20} box DOWN_BOX color 7 selection_color 7 labelfont 1 labelsize 11 align 4 code0 {\#include "Shortcut_Button.h"} class Shortcut_Button } Fl_Group {} { label {X Class:} callback propagate_load xywh {95 235 300 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { label {:} callback xclass_cb tooltip {The X resource class.} xywh {95 235 95 20} labelfont 1 labelsize 11 textsize 11 resizable } Fl_Light_Button {} { label Border callback border_cb tooltip {Add a border around the window.} xywh {195 235 60 20} selection_color 1 labelsize 11 } Fl_Light_Button {} { label Modal callback modal_cb tooltip {Make the window modal.} xywh {260 235 55 20} selection_color 1 labelsize 11 } Fl_Light_Button {} { label Nonmodal callback non_modal_cb tooltip {Make the window non-modal.} xywh {320 235 75 20} selection_color 1 labelsize 11 align 148 } } Fl_Group {} { label {Attributes:} callback propagate_load xywh {95 260 305 20} labelfont 1 labelsize 11 align 4 } { Fl_Light_Button {} { label Visible callback visible_cb tooltip {Show the widget.} xywh {95 260 60 20} selection_color 1 labelsize 11 } Fl_Light_Button {} { label Active callback active_cb tooltip {Activate the widget.} xywh {160 260 60 20} selection_color 1 labelsize 11 } Fl_Light_Button {} { label Resizable callback resizable_cb tooltip {Make the widget resizable.} xywh {225 260 75 20} selection_color 1 labelsize 11 when 1 } Fl_Light_Button {} { label Hotspot callback hotspot_cb tooltip {Center the window under this widget.} xywh {305 260 70 20} selection_color 1 labelsize 11 when 1 } Fl_Box {} { xywh {395 260 0 20} labelsize 11 resizable } } Fl_Input {} { label {Tooltip:} callback tooltip_cb tooltip {The tooltip text for the widget. Use Ctrl-J for newlines.} xywh {95 285 310 20} labelfont 1 labelsize 11 textsize 11 } Fl_Box {} { xywh {95 305 300 5} labelsize 11 resizable } } Fl_Group {} { label Style callback propagate_load xywh {10 30 400 330} labelsize 11 when 0 hide } { Fl_Group {} { label {Label Font:} callback propagate_load xywh {95 40 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Choice {} { callback labelfont_cb open tooltip {The style of the label text.} xywh {95 40 170 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 resizable code0 {extern Fl_Menu_Item fontmenu[];} code1 {o->menu(fontmenu);} } {} Fl_Value_Input {} { callback labelsize_cb tooltip {The size of the label text.} xywh {264 40 50 20} labelsize 11 maximum 100 step 1 value 14 textsize 11 } Fl_Button {} { label {Label Color} callback labelcolor_cb tooltip {The color of the label text.} xywh {314 40 90 20} labelsize 11 } } Fl_Group {} { label {Box:} callback propagate_load xywh {95 65 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Choice {} { callback box_cb open tooltip {The "up" box of the widget.} xywh {95 65 219 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 resizable code0 {extern Fl_Menu_Item boxmenu[];} code1 {o->menu(boxmenu);} } {} Fl_Button {} { label Color callback color_cb tooltip {The background color of the widget.} xywh {314 65 90 20} labelsize 11 } } Fl_Group {} { label {Down Box:} callback propagate_load xywh {95 90 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Choice {} { callback down_box_cb open tooltip {The "down" box of the widget.} xywh {95 90 219 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 resizable code0 {extern Fl_Menu_Item boxmenu[];} code1 {o->menu(boxmenu);} } {} Fl_Button {} { label {Select Color} callback color2_cb tooltip {The selection color of the widget.} xywh {314 90 90 20} labelsize 11 } } Fl_Group {} { label {Text Font:} callback propagate_load xywh {95 115 309 20} labelfont 1 labelsize 11 align 4 } { Fl_Choice {} { callback textfont_cb open tooltip {The value text style.} xywh {95 115 170 20} box DOWN_BOX down_box BORDER_BOX labelfont 1 labelsize 11 textsize 11 resizable code0 {extern Fl_Menu_Item fontmenu[];} code1 {o->menu(fontmenu);} } {} Fl_Value_Input {} { callback textsize_cb tooltip {The value text size.} xywh {264 115 50 20} labelsize 11 maximum 100 step 1 value 14 textsize 11 } Fl_Button {} { label {Text Color} callback textcolor_cb tooltip {The value text color.} xywh {314 115 90 20} labelsize 11 } } Fl_Box {} { xywh {95 140 300 40} labelsize 11 resizable } } Fl_Group {} { label {C++} callback propagate_load xywh {10 30 400 330} labelsize 11 when 0 hide } { Fl_Group {} { label {Class:} callback propagate_load xywh {95 40 310 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { user_data 4 callback subclass_cb tooltip {The widget subclass.} xywh {95 40 172 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable } Fl_Choice {} { callback subtype_cb open tooltip {The widget subtype.} xywh {265 40 140 20} box THIN_UP_BOX down_box BORDER_BOX labelsize 11 textsize 11 } {} } Fl_Group {} { label {Name:} callback propagate_load open xywh {95 65 310 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback name_cb tooltip {The name of the widget.} xywh {95 65 235 20} labelfont 1 labelsize 11 textsize 11 resizable } Fl_Choice {} { callback name_public_member_cb open tooltip {Change member access attribute.} xywh {330 65 75 20} down_box BORDER_BOX labelsize 11 when 1 textsize 11 } { MenuItem {} { label private user_data 0 user_data_type long xywh {0 0 100 20} labelsize 11 } MenuItem {} { label public user_data 1 user_data_type long xywh {0 0 100 20} labelsize 11 } MenuItem {} { label protected user_data 2 user_data_type long xywh {0 0 100 20} labelsize 11 } } Fl_Choice {} { callback name_public_cb open tooltip {Change widget accessibility.} xywh {330 65 75 20} down_box BORDER_BOX labelsize 11 when 1 textsize 11 } { MenuItem {} { label local user_data 0 user_data_type long xywh {10 10 100 20} labelsize 11 } MenuItem {} { label global user_data 1 user_data_type long xywh {10 10 100 20} labelsize 11 } } } Fl_Input {v_input[0]} { label {Extra Code:} user_data 0 callback v_input_cb tooltip {Extra initialization code for the widget.} xywh {95 90 310 20} labelfont 1 labelsize 11 textfont 4 textsize 11 } Fl_Input {v_input[1]} { user_data 1 callback v_input_cb tooltip {Extra initialization code for the widget.} xywh {95 110 310 20} labelsize 11 textfont 4 textsize 11 } Fl_Input {v_input[2]} { user_data 2 callback v_input_cb tooltip {Extra initialization code for the widget.} xywh {95 130 310 20} labelsize 11 textfont 4 textsize 11 } Fl_Input {v_input[3]} { user_data 3 callback v_input_cb tooltip {Extra initialization code for the widget.} xywh {95 150 310 20} labelsize 11 textfont 4 textsize 11 } Fl_Tile {} { callback {wComment->do_callback(wComment, v); wCallback->do_callback(wCallback, v);} open xywh {95 175 310 130} resizable } { Fl_Group {} {open xywh {95 175 310 48} box FLAT_BOX } { Fl_Text_Editor wComment { label {Comment:} tooltip {Write a comment that will appear in the source code and in the widget tree overview.} xywh {95 175 310 45} box DOWN_BOX labelfont 1 labelsize 11 align 4 when 1 textfont 6 textsize 11 textcolor 59 resizable code0 {wComment->buffer(new Fl_Text_Buffer());} code1 {wComment->callback((Fl_Callback*)comment_cb);} } } Fl_Group {} {open xywh {95 223 310 82} box FLAT_BOX } { Fl_Text_Editor wCallback { label {Callback:} callback callback_cb tooltip {The callback function or code for the widget. Use the variable name 'o' to access the Widget pointer and 'v' to access the user value.} xywh {95 225 310 80} box DOWN_BOX labelfont 1 labelsize 11 align 4 textfont 4 textsize 11 resizable code0 {\#include "CodeEditor.h"} class CodeEditor } } } Fl_Group {} { label {User Data:} callback propagate_load open xywh {95 310 310 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback user_data_cb tooltip {The user data to pass into the callback code.} xywh {95 310 158 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable } Fl_Choice {} { label {When:} callback when_cb open tooltip {When to call the callback function.} xywh {300 310 105 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 when 1 textsize 11 code0 {extern Fl_Menu_Item whenmenu[];} code1 {o->menu(whenmenu);} } {} } Fl_Group {} { label {Type:} callback propagate_load open xywh {95 335 310 20} labelfont 1 labelsize 11 align 4 } { Fl_Input {} { callback user_data_type_cb tooltip {The type of the user data.} xywh {95 335 158 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable } Fl_Light_Button {} { label {No Change} callback when_button_cb tooltip {Call the callback even if the value has not changed.} xywh {300 335 105 20} selection_color 1 labelsize 11 } } } } Fl_Group {} {open xywh {10 370 400 20} labelsize 11 } { Fl_Box {} { comment {Hidden resizable box} xywh {10 370 75 20} labelsize 11 hide resizable } Fl_Button {} { label Revert callback revert_cb comment {Hidden Revert button} selected xywh {90 370 60 20} labelsize 11 hide } Fl_Button wLiveMode { label {Live &Mode} callback live_mode_cb tooltip {Create a live duplicate of the selected widgets to test resizing and menu behavior.} xywh {155 370 80 20} type Toggle labelsize 11 } Fl_Button {} { label {Hide &Overlays} callback overlay_cb tooltip {Hide the widget overlay box.} xywh {240 370 100 20} labelsize 11 labelcolor 1 } Fl_Return_Button {} { label Close callback ok_cb xywh {345 370 65 20} labelsize 11 } Fl_Button {} { label Cancel callback cancel_cb comment {Hidden cancel button} xywh {345 370 65 20} labelsize 11 hide } } } }