![Matthias Melcher](/assets/img/avatar_default.png)
* this commit introduces a few FIXMEs and TODOs that probably can't be solved until we do some major refactoring. They work for now, but adding more layout controlling widgets will be hard.
1550 lines
52 KiB
Plaintext
1550 lines
52 KiB
Plaintext
# 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 1
|
|
}
|
|
comment {//
|
|
// Widget panel for the Fast Light Tool Kit (FLTK).
|
|
//
|
|
// Copyright 1998-2021 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 {\#include "undo.h"} {private global
|
|
}
|
|
|
|
decl {\#include "Fl_Widget_Type.h"} {private global
|
|
}
|
|
|
|
decl {\#include "Fl_Grid_Type.h"} {private global
|
|
}
|
|
|
|
decl {\#include <FL/Fl_Grid.H>} {private global
|
|
}
|
|
|
|
decl {\#include "custom_widgets.h"} {public global
|
|
}
|
|
|
|
decl {extern void set_modflag(int mf, int mfc=-1);} {private local
|
|
}
|
|
|
|
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 {430 248 420 400} type Double labelsize 11 align 80 resizable hotspot
|
|
code0 {o->size_range(o->w(), o->h());} size_range {420 400 0 0} visible
|
|
} {
|
|
Fl_Tabs widget_tabs {
|
|
callback {propagate_load((Fl_Group *)o,v);} open
|
|
xywh {10 10 400 350} selection_color 12 labelsize 11 labelcolor 7 when 0 resizable
|
|
code0 {o->show();}
|
|
} {
|
|
Fl_Group {} {
|
|
label GUI
|
|
callback propagate_load
|
|
xywh {10 30 400 330} labelsize 11 when 0 hide 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 15 textsize 11 resizable
|
|
}
|
|
Fl_Choice {} {
|
|
callback labeltype_cb open
|
|
tooltip {The label style for the widget.} xywh {285 40 119 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 open
|
|
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 200 20} labelfont 1 labelsize 11 textsize 11 resizable
|
|
}
|
|
Fl_Button {} {
|
|
label {Browse...}
|
|
callback image_browse_cb
|
|
tooltip {Click to choose the active image.} xywh {295 65 69 20} labelsize 11
|
|
}
|
|
Fl_Button {} {
|
|
callback compress_image_cb
|
|
tooltip {store image uncompressed as RGBA data
|
|
or compressed in the original file format} xywh {364 65 20 20} type Toggle
|
|
code0 {o->image(compressed_pixmap);}
|
|
code3 {\#include "pixmaps.h"}
|
|
}
|
|
Fl_Button {} {
|
|
callback bind_image_cb
|
|
tooltip {bind the image to the widget, so it will be deleted automatically} xywh {384 65 20 20} type Toggle
|
|
code0 {o->image(bind_pixmap);}
|
|
code3 {\#include "pixmaps.h"}
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {Inactive:}
|
|
callback propagate_load open
|
|
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 200 20} labelfont 1 labelsize 11 textsize 11 resizable
|
|
}
|
|
Fl_Button {} {
|
|
label {Browse...}
|
|
callback inactive_browse_cb
|
|
tooltip {Click to choose the inactive image.} xywh {295 90 69 20} labelsize 11
|
|
}
|
|
Fl_Button {} {
|
|
callback compress_deimage_cb
|
|
tooltip {store image uncompressed as RGBA data
|
|
or compressed in the original file format} xywh {364 90 20 20} type Toggle
|
|
code0 {o->image(compressed_pixmap);}
|
|
code3 {\#include "pixmaps.h"}
|
|
}
|
|
Fl_Button {} {
|
|
callback bind_deimage_cb
|
|
tooltip {bind the image to the widget, so it will be deleted automatically} xywh {384 90 20 20} type Toggle
|
|
code0 {o->image(bind_pixmap);}
|
|
code3 {\#include "pixmaps.h"}
|
|
}
|
|
}
|
|
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 {(fl_intptr_t)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 {(fl_intptr_t)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
|
|
}
|
|
MenuItem {} {
|
|
label { Outside Alignment }
|
|
user_data {(fl_intptr_t)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 position_group_cb
|
|
xywh {95 150 314 20} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Input widget_x_input {
|
|
label {X:}
|
|
callback x_cb
|
|
tooltip {The X position of the widget as a number or formula.
|
|
Formulas can be simple math, including the variables
|
|
x, px, sx, cx, and i} xywh {95 150 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Input widget_y_input {
|
|
label {Y:}
|
|
callback y_cb
|
|
tooltip {The Y position of the widget as a number or formula.
|
|
Formulas can be simple math, including the variables
|
|
y, py, sy, cy, and i} xywh {155 150 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Input widget_w_input {
|
|
label {Width:}
|
|
callback w_cb
|
|
tooltip {The width of the widget as a number or formula.
|
|
Formulas can be simple math, including the variables
|
|
w, pw, sw, cw, and i} xywh {215 150 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Input widget_h_input {
|
|
label {Height:}
|
|
callback h_cb
|
|
tooltip {The height of the widget as a number or formula.
|
|
Formulas can be simple math, including the variables
|
|
h, ph, sh, ch, and i} xywh {275 150 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Choice {} {
|
|
label {Children:}
|
|
callback wc_relative_cb open
|
|
tooltip {When instantiating a widget class, the children can either be fixed in their original position, automatically be repositioned, or both repsositioned and resized to fit the container.} xywh {335 150 64 20} down_box BORDER_BOX labelsize 11 align 5 textsize 11
|
|
} {
|
|
MenuItem {} {
|
|
label Fixed
|
|
xywh {0 0 31 20} labelsize 11
|
|
}
|
|
MenuItem {} {
|
|
label Reposition
|
|
xywh {0 0 31 20} labelsize 11
|
|
}
|
|
MenuItem {} {
|
|
label Resize
|
|
xywh {0 0 31 20} labelsize 11
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
xywh {399 150 1 20} hide resizable
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {Flex Parent:}
|
|
callback flex_size_group_cb
|
|
comment {This group is only visible if the parent is an Fl_Flex widget}
|
|
xywh {95 150 314 20} labelfont 1 labelsize 11 align 4 hide
|
|
} {
|
|
Fl_Value_Input widget_flex_size {
|
|
label {Size:}
|
|
callback flex_size_cb
|
|
tooltip {Fixed Width or Height for a horizontal or vertical Fl_Flex Parent.} xywh {95 150 55 20} labelsize 11 align 5 textsize 11
|
|
}
|
|
Fl_Check_Button widget_flex_fixed {
|
|
label fixed
|
|
callback flex_fixed_cb
|
|
tooltip {If checked, the size of the widget stays fixed.} xywh {155 150 55 20} down_box DOWN_BOX labelsize 11
|
|
}
|
|
Fl_Box {} {
|
|
xywh {398 150 1 20} resizable
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {Values:}
|
|
callback values_group_cb open
|
|
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 {Margins:}
|
|
callback flex_margin_group_cb
|
|
comment {This group is only visible for Fl_Flex widgets}
|
|
xywh {95 185 300 20} labelfont 1 labelsize 11 align 4 hide
|
|
} {
|
|
Fl_Value_Input {} {
|
|
label {Left:}
|
|
callback flex_margin_left_cb
|
|
tooltip {Left margin in group.} xywh {95 185 55 20} labelsize 11 align 5 textsize 11
|
|
}
|
|
Fl_Value_Input {} {
|
|
label {Top:}
|
|
callback flex_margin_top_cb
|
|
tooltip {Top margin in group.} xywh {155 185 55 20} labelsize 11 align 5 textsize 11
|
|
}
|
|
Fl_Value_Input {} {
|
|
label {Right:}
|
|
callback flex_margin_right_cb
|
|
tooltip {Right margin in group.} xywh {215 185 55 20} labelsize 11 align 5 textsize 11
|
|
}
|
|
Fl_Value_Input {} {
|
|
label {Bottom:}
|
|
callback flex_margin_bottom_cb
|
|
tooltip {Bottom margin in group.} xywh {275 185 55 20} labelsize 11 align 5 textsize 11
|
|
}
|
|
Fl_Value_Input {} {
|
|
label {Gap:}
|
|
callback flex_margin_gap_cb
|
|
tooltip {Gap between children.} 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 size_range_group_cb open
|
|
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_Group {} {
|
|
label {Shortcut:}
|
|
callback propagate_load
|
|
xywh {95 210 310 20} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Button {} {
|
|
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 12 labelsize 11 when 1
|
|
code0 {\#include <FL/Fl_Shortcut_Button.H>}
|
|
class Fl_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} hide resizable
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label Style
|
|
callback propagate_load open
|
|
xywh {10 30 400 330} labelsize 11 when 0 hide
|
|
} {
|
|
Fl_Group {} {
|
|
label {Label Font:}
|
|
callback propagate_load open
|
|
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 152 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 {247 40 49 20} labelsize 11 maximum 100 step 1 value 14 textsize 11
|
|
}
|
|
Fl_Button w_labelcolor {
|
|
label {Label Color}
|
|
callback labelcolor_cb
|
|
tooltip {The color of the label text.} xywh {296 40 90 20} labelsize 11
|
|
}
|
|
Fl_Menu_Button {} {
|
|
callback labelcolor_menu_cb open
|
|
xywh {386 40 18 20}
|
|
code0 {extern Fl_Menu_Item colormenu[];}
|
|
code1 {o->menu(colormenu);}
|
|
} {}
|
|
}
|
|
Fl_Group {} {
|
|
label {Box:}
|
|
callback propagate_load open
|
|
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 201 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 w_color {
|
|
label Color
|
|
callback color_cb
|
|
tooltip {The background color of the widget.} xywh {296 65 90 20} labelsize 11
|
|
}
|
|
Fl_Menu_Button {} {
|
|
callback color_menu_cb open
|
|
xywh {386 65 18 20}
|
|
code0 {extern Fl_Menu_Item colormenu[];}
|
|
code1 {o->menu(colormenu);}
|
|
} {}
|
|
}
|
|
Fl_Group {} {
|
|
label {Down Box:}
|
|
callback propagate_load open
|
|
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 201 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 labelcolor 45 textsize 11 resizable
|
|
code0 {extern Fl_Menu_Item boxmenu[];}
|
|
code1 {o->menu(boxmenu);}
|
|
} {}
|
|
Fl_Button w_selectcolor {
|
|
label {Select Color}
|
|
callback color2_cb
|
|
tooltip {The selection color of the widget.} xywh {296 90 90 20} labelsize 11
|
|
}
|
|
Fl_Menu_Button {} {
|
|
callback color2_menu_cb open
|
|
xywh {386 90 18 20}
|
|
code0 {extern Fl_Menu_Item colormenu[];}
|
|
code1 {o->menu(colormenu);}
|
|
} {}
|
|
}
|
|
Fl_Group {} {
|
|
label {Text Font:}
|
|
callback propagate_load open
|
|
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 152 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 {247 115 49 20} labelsize 11 maximum 100 step 1 value 14 textsize 11
|
|
}
|
|
Fl_Button w_textcolor {
|
|
label {Text Color}
|
|
callback textcolor_cb
|
|
tooltip {The value text color.} xywh {296 115 90 20} labelsize 11
|
|
}
|
|
Fl_Menu_Button {} {
|
|
callback textcolor_menu_cb open
|
|
xywh {386 115 18 20}
|
|
code0 {extern Fl_Menu_Item colormenu[];}
|
|
code1 {o->menu(colormenu);}
|
|
} {}
|
|
}
|
|
Fl_Box {} {
|
|
xywh {95 165 300 40} labelsize 11 resizable
|
|
}
|
|
Fl_Light_Button {} {
|
|
label Compact
|
|
callback compact_cb
|
|
tooltip {use compact box types for closely set buttons} xywh {95 140 90 20} selection_color 1 labelsize 11
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {C++}
|
|
callback propagate_load
|
|
xywh {10 30 400 330} labelsize 11 when 0 hide
|
|
} {
|
|
Fl_Group {} {
|
|
label {Class:}
|
|
callback propagate_load open
|
|
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 {267 40 138 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 hide
|
|
} {
|
|
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_Menu_Button {} {
|
|
label When
|
|
callback when_cb open
|
|
tooltip {When to call the callback function.} xywh {260 310 145 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 332 310 26} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Input_Choice {} {
|
|
callback user_data_type_cb open
|
|
tooltip {The type of the user data.} xywh {95 335 158 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable
|
|
} {
|
|
MenuItem {} {
|
|
label {void*}
|
|
xywh {0 0 31 20} labelfont 4 labelsize 11
|
|
}
|
|
MenuItem {} {
|
|
label long
|
|
xywh {0 0 31 20} labelfont 4 labelsize 11
|
|
}
|
|
}
|
|
Fl_Box w_when_box {
|
|
label FL_WHEN_NEVER
|
|
xywh {260 332 145 26} box FLAT_BOX selection_color 1 labelsize 8 align 209
|
|
}
|
|
}
|
|
}
|
|
Fl_Group widget_tab_grid_child {
|
|
label {Grid Child}
|
|
callback propagate_load open
|
|
xywh {10 30 400 330} labelsize 11
|
|
} {
|
|
Fl_Group {} {
|
|
label {Location:}
|
|
callback propagate_load open
|
|
xywh {95 60 315 20} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Input widget_grid_row_input {
|
|
label {Row:}
|
|
callback grid_set_row_cb
|
|
xywh {95 60 40 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Group {} {open
|
|
xywh {135 60 30 20}
|
|
} {
|
|
Fl_Button {} {
|
|
label {-}
|
|
callback grid_dec_row_cb
|
|
xywh {135 60 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
Fl_Button {} {
|
|
label {+}
|
|
callback grid_inc_row_cb
|
|
xywh {150 60 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
}
|
|
Fl_Input widget_grid_col_input {
|
|
label {Column:}
|
|
callback grid_set_col_cb
|
|
xywh {175 60 40 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Group {} {open
|
|
xywh {215 60 30 20}
|
|
} {
|
|
Fl_Button {} {
|
|
label {-}
|
|
callback grid_dec_col_cb
|
|
xywh {215 60 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
Fl_Button {} {
|
|
label {+}
|
|
callback grid_inc_col_cb
|
|
xywh {230 60 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
xywh {395 60 1 20} hide resizable
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {Align:}
|
|
callback propagate_load open
|
|
xywh {95 90 315 30} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Choice {} {
|
|
label Horizontal
|
|
callback grid_align_horizontal_cb open
|
|
xywh {95 100 115 20} down_box BORDER_BOX labelsize 11 align 5 textsize 11
|
|
} {
|
|
MenuItem {} {
|
|
label GRID_LEFT
|
|
user_data FL_GRID_LEFT user_data_type long
|
|
xywh {10 10 31 20} labelsize 11
|
|
}
|
|
MenuItem {} {
|
|
label GRID_CENTER
|
|
user_data FL_GRID_CENTER user_data_type long
|
|
xywh {10 10 31 20} labelsize 11
|
|
}
|
|
MenuItem {} {
|
|
label GRID_RIGHT
|
|
user_data FL_GRID_RIGHT user_data_type long
|
|
xywh {10 10 31 20} labelsize 11
|
|
}
|
|
MenuItem {} {
|
|
label GRID_FILL
|
|
user_data FL_GRID_HORIZONTAL user_data_type long
|
|
xywh {10 10 31 20} labelsize 11
|
|
}
|
|
}
|
|
Fl_Choice {} {
|
|
label Vertical
|
|
callback grid_align_vertical_cb open
|
|
xywh {215 100 115 20} down_box BORDER_BOX labelsize 11 align 5 textsize 11
|
|
} {
|
|
MenuItem {} {
|
|
label GRID_TOP
|
|
user_data FL_GRID_TOP user_data_type long
|
|
xywh {10 10 31 20} labelsize 11
|
|
}
|
|
MenuItem {} {
|
|
label GRID_CENTER
|
|
user_data FL_GRID_CENTER user_data_type long
|
|
xywh {10 10 31 20} labelsize 11
|
|
}
|
|
MenuItem {} {
|
|
label GRID_BOTTOM
|
|
user_data FL_GRID_BOTTOM user_data_type long
|
|
xywh {10 10 31 20} labelsize 11
|
|
}
|
|
MenuItem {} {
|
|
label GRID_FILL
|
|
user_data FL_GRID_VERTICAL user_data_type long selected
|
|
xywh {10 10 31 20} labelsize 11
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
xywh {395 90 1 20} hide resizable
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {Min. Size:}
|
|
callback propagate_load open
|
|
xywh {95 125 315 30} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Input {} {
|
|
label {Width:}
|
|
callback grid_set_min_wdt_cb
|
|
xywh {95 135 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Input {} {
|
|
label {Height:}
|
|
callback grid_set_min_hgt_cb
|
|
xywh {155 135 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Box {} {
|
|
xywh {395 125 1 20} hide resizable
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {Span:}
|
|
callback propagate_load open
|
|
xywh {95 160 315 30} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Input widget_grid_rowspan_input {
|
|
label {Row Span:}
|
|
callback grid_set_rowspan_cb
|
|
xywh {95 170 40 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Group {} {open
|
|
xywh {135 170 30 20}
|
|
} {
|
|
Fl_Button {} {
|
|
label {-}
|
|
callback grid_dec_rowspan_cb
|
|
xywh {135 170 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
Fl_Button {} {
|
|
label {+}
|
|
callback grid_inc_rowspan_cb
|
|
xywh {150 170 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
}
|
|
Fl_Input widget_grid_colspan_input {
|
|
label {Col. Span:}
|
|
callback grid_set_colspan_cb
|
|
xywh {175 170 40 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Group {} {open
|
|
xywh {215 170 30 20}
|
|
} {
|
|
Fl_Button {} {
|
|
label {-}
|
|
callback grid_dec_colspan_cb
|
|
xywh {215 170 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
Fl_Button {} {
|
|
label {+}
|
|
callback grid_inc_colspan_cb
|
|
xywh {230 170 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
xywh {395 160 1 20} hide resizable
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
xywh {95 350 300 5} labelsize 11 hide resizable
|
|
}
|
|
}
|
|
Fl_Group widget_tab_grid {
|
|
label Grid
|
|
callback propagate_load open
|
|
xywh {10 30 400 330} labelsize 11 hide
|
|
} {
|
|
Fl_Group {} {
|
|
label {Grid Layout:}
|
|
callback propagate_load open
|
|
xywh {95 60 315 20} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Input widget_grid_rows {
|
|
label {Rows:}
|
|
callback {// grid_rows_cb
|
|
Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
if (v == LOAD) {
|
|
o->value(grid->rows());
|
|
} else {
|
|
int m = o->value(), old_m = grid->rows();
|
|
if (m < 1) {
|
|
m = 1;
|
|
o->value(m);
|
|
}
|
|
if (m < old_m) {
|
|
// TODO: verify that this will not unlink existings cells
|
|
// Offer a dialog with "delete children", "unlink cells", "cancel"
|
|
}
|
|
if (m != old_m) {
|
|
undo_checkpoint();
|
|
grid->layout(m, grid->cols());
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
widget_tab_grid->do_callback(widget_tab_grid, LOAD);
|
|
}
|
|
}}
|
|
tooltip {Number of horizontal rows in the Grid group} xywh {95 60 40 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Group {} {open
|
|
xywh {135 60 30 20}
|
|
} {
|
|
Fl_Button {} {
|
|
label {-}
|
|
callback {if (v != LOAD) {
|
|
widget_grid_rows->value( widget_grid_rows->value()-1 );
|
|
widget_grid_rows->do_callback();
|
|
}}
|
|
xywh {135 60 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
Fl_Button {} {
|
|
label {+}
|
|
callback {if (v != LOAD) {
|
|
widget_grid_rows->value( widget_grid_rows->value()+1 );
|
|
widget_grid_rows->do_callback();
|
|
}}
|
|
xywh {150 60 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
}
|
|
Fl_Input widget_grid_cols {
|
|
label {Columns:}
|
|
callback {// grid_rows_cb
|
|
Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
if (v == LOAD) {
|
|
o->value(grid->cols());
|
|
} else {
|
|
int m = o->value(), old_m = grid->cols();
|
|
if (m < 1) {
|
|
m = 1;
|
|
o->value(m);
|
|
}
|
|
if (m < old_m) {
|
|
// TODO: verify that this will not unlink existings cells
|
|
// Offer a dialog with "delete children", "unlink cells", "cancel"
|
|
}
|
|
if (m != old_m) {
|
|
undo_checkpoint();
|
|
grid->layout(grid->rows(), m);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
widget_tab_grid->do_callback(widget_tab_grid, LOAD);
|
|
}
|
|
}}
|
|
tooltip {Number of vertical columns in the Grid group} xywh {175 60 40 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Group {} {open
|
|
xywh {215 60 30 20}
|
|
} {
|
|
Fl_Button {} {
|
|
label {-}
|
|
callback {if (v != LOAD) {
|
|
widget_grid_cols->value( widget_grid_cols->value()-1 );
|
|
widget_grid_cols->do_callback();
|
|
}}
|
|
xywh {215 60 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
Fl_Button {} {
|
|
label {+}
|
|
callback {if (v != LOAD) {
|
|
widget_grid_cols->value( widget_grid_cols->value()+1 );
|
|
widget_grid_cols->do_callback();
|
|
}}
|
|
xywh {230 60 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
xywh {396 60 0 20} resizable
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {Margin:}
|
|
callback propagate_load open
|
|
xywh {95 100 315 20} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Value_Input {} {
|
|
label {Left:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int m = 0;
|
|
if (v == LOAD) {
|
|
grid->margin(&m, NULL, NULL, NULL);
|
|
o->value(m);
|
|
} else {
|
|
int m = (int)o->value(), old_m;
|
|
grid->margin(&old_m, NULL, NULL, NULL);
|
|
if (m != old_m) {
|
|
grid->margin(m, -1, -1, -1);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
tooltip {Left margin in group.} xywh {95 100 55 20} labelsize 11 align 5 maximum 1000 step 1 textsize 11
|
|
}
|
|
Fl_Value_Input {} {
|
|
label {Top:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int m = 0;
|
|
if (v == LOAD) {
|
|
grid->margin(NULL, &m, NULL, NULL);
|
|
o->value(m);
|
|
} else {
|
|
int m = (int)o->value(), old_m;
|
|
grid->margin(NULL, &old_m, NULL, NULL);
|
|
if (m != old_m) {
|
|
grid->margin(-1, m, -1, -1);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
tooltip {Top margin in group.} xywh {155 100 55 20} labelsize 11 align 5 maximum 1000 step 1 textsize 11
|
|
}
|
|
Fl_Value_Input {} {
|
|
label {Right:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int m = 0;
|
|
if (v == LOAD) {
|
|
grid->margin(NULL, NULL, &m, NULL);
|
|
o->value(m);
|
|
} else {
|
|
int m = (int)o->value(), old_m;
|
|
grid->margin(NULL, NULL, &old_m, NULL);
|
|
if (m != old_m) {
|
|
grid->margin(-1, -1, m, -1);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
tooltip {Right margin in group.} xywh {215 100 55 20} labelsize 11 align 5 maximum 1000 step 1 textsize 11
|
|
}
|
|
Fl_Value_Input {} {
|
|
label {Bottom:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int m = 0;
|
|
if (v == LOAD) {
|
|
grid->margin(NULL, NULL, NULL, &m);
|
|
o->value(m);
|
|
} else {
|
|
int m = (int)o->value(), old_m;
|
|
grid->margin(NULL, NULL, NULL, &old_m);
|
|
if (m != old_m) {
|
|
grid->margin(-1, -1, -1, m);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
tooltip {Bottom margin in group.} xywh {275 100 55 20} labelsize 11 align 5 maximum 1000 step 1 textsize 11
|
|
}
|
|
Fl_Box {} {
|
|
xywh {396 100 0 20} resizable
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {Gaps:}
|
|
callback propagate_load open
|
|
xywh {95 135 315 20} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Value_Input {} {
|
|
label {Row:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
if (v == LOAD) {
|
|
int m = 0;
|
|
grid->gap(&m, NULL);
|
|
o->value(m);
|
|
} else {
|
|
int m = (int)o->value(), old_m, m2;
|
|
grid->gap(&old_m, &m2);
|
|
if (m != old_m) {
|
|
grid->gap(m, m2);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
tooltip {Gap between children.} xywh {95 135 55 20} labelsize 11 align 5 maximum 1000 step 1 textsize 11
|
|
}
|
|
Fl_Value_Input {} {
|
|
label {Col:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
if (v == LOAD) {
|
|
int m = 0;
|
|
grid->gap(NULL, &m);
|
|
o->value(m);
|
|
} else {
|
|
int m = (int)o->value(), old_m, m2;
|
|
grid->gap(&m2, &old_m);
|
|
if (m != old_m) {
|
|
grid->gap(m2, m);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
tooltip {Gap between children.} xywh {155 135 55 20} labelsize 11 align 5 maximum 1000 step 1 textsize 11
|
|
}
|
|
Fl_Box {} {
|
|
xywh {396 135 0 20} resizable
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {Row:}
|
|
callback {if (v == LOAD) {
|
|
Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (grid)
|
|
o->activate();
|
|
else
|
|
o->deactivate();
|
|
propagate_load(o, v);
|
|
}} open
|
|
xywh {95 175 315 20} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Input widget_grid_curr_row {
|
|
label Index
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int r = o->value(), old_r = r;
|
|
if (r < 0) r = 0;
|
|
if (r >= grid->rows()) r = grid->rows()-1;
|
|
if (r != old_r) o->value(r);
|
|
if (v == LOAD) {
|
|
// will automatically propagate
|
|
} else {
|
|
widget_grid_curr_row_attributes->do_callback(widget_grid_curr_row_attributes, LOAD);
|
|
}}
|
|
xywh {95 175 40 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Group {} {
|
|
callback propagate_load open
|
|
xywh {135 175 30 20}
|
|
} {
|
|
Fl_Button {} {
|
|
label {-}
|
|
callback {if (v != LOAD) {
|
|
widget_grid_curr_row->value( widget_grid_curr_row->value()-1 );
|
|
widget_grid_curr_row->do_callback();
|
|
}}
|
|
xywh {135 175 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
Fl_Button {} {
|
|
label {+}
|
|
callback {if (v != LOAD) {
|
|
widget_grid_curr_row->value( widget_grid_curr_row->value()+1 );
|
|
widget_grid_curr_row->do_callback();
|
|
}}
|
|
xywh {150 175 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
label {:}
|
|
xywh {165 175 15 20} labelsize 11
|
|
}
|
|
Fl_Group widget_grid_curr_row_attributes {
|
|
callback propagate_load open
|
|
xywh {180 175 175 20}
|
|
} {
|
|
Fl_Input {} {
|
|
label {Height:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int r = widget_grid_curr_row->value();
|
|
if (v == LOAD) {
|
|
o->value(grid->row_height(r));
|
|
} else {
|
|
int h = o->value(), old_h = grid->row_height(r);
|
|
if (h < 0) h = 0;
|
|
if (h != old_h) {
|
|
grid->row_height(r, h);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
xywh {180 175 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Input {} {
|
|
label {Weight:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int r = widget_grid_curr_row->value();
|
|
if (v == LOAD) {
|
|
o->value(grid->row_weight(r));
|
|
} else {
|
|
int h = o->value(), old_h = grid->row_weight(r);
|
|
if (h < 0) h = 0;
|
|
if (h != old_h) {
|
|
grid->row_weight(r, h);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
xywh {240 175 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Input {} {
|
|
label {Gap:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int r = widget_grid_curr_row->value();
|
|
if (v == LOAD) {
|
|
o->value(grid->row_gap(r));
|
|
} else {
|
|
int h = o->value(), old_h = grid->row_gap(r);
|
|
if (h < -1) h = -1;
|
|
if (h != old_h) {
|
|
grid->row_gap(r, h);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
xywh {300 175 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
xywh {400 175 1 20} hide resizable
|
|
}
|
|
}
|
|
Fl_Group {} {
|
|
label {Column:}
|
|
callback propagate_load open
|
|
xywh {95 210 315 20} labelfont 1 labelsize 11 align 4
|
|
} {
|
|
Fl_Input widget_grid_curr_col {
|
|
label Index
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int c = o->value(), old_c = c;
|
|
if (c < 0) c = 0;
|
|
if (c >= grid->cols()) c = grid->cols()-1;
|
|
if (c != old_c) o->value(c);
|
|
if (v == LOAD) {
|
|
// will automatically propagate
|
|
} else {
|
|
widget_grid_curr_col_attributes->do_callback(widget_grid_curr_col_attributes, LOAD);
|
|
}}
|
|
xywh {95 210 40 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Group {} {open
|
|
xywh {135 210 30 20}
|
|
} {
|
|
Fl_Button {} {
|
|
label {-}
|
|
callback {if (v != LOAD) {
|
|
widget_grid_curr_col->value( widget_grid_curr_col->value()-1 );
|
|
widget_grid_curr_col->do_callback();
|
|
}}
|
|
xywh {135 210 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
Fl_Button {} {
|
|
label {+}
|
|
callback {if (v != LOAD) {
|
|
widget_grid_curr_col->value( widget_grid_curr_col->value()+1 );
|
|
widget_grid_curr_col->do_callback();
|
|
}}
|
|
xywh {150 210 15 20} labelsize 11
|
|
code0 {o->clear_visible_focus();} compact 1
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
label {:}
|
|
xywh {165 210 15 20} labelsize 11
|
|
}
|
|
Fl_Group widget_grid_curr_col_attributes {
|
|
callback propagate_load open
|
|
xywh {180 210 175 20}
|
|
} {
|
|
Fl_Input {} {
|
|
label {Width:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int c = widget_grid_curr_col->value();
|
|
if (v == LOAD) {
|
|
o->value(grid->col_width(c));
|
|
} else {
|
|
int h = o->value(), old_h = grid->col_width(c);
|
|
if (h < 0) h = 0;
|
|
if (h != old_h) {
|
|
grid->col_width(c, h);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
xywh {180 210 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Input {} {
|
|
label {Weight:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int c = widget_grid_curr_col->value();
|
|
if (v == LOAD) {
|
|
o->value(grid->col_weight(c));
|
|
} else {
|
|
int h = o->value(), old_h = grid->col_weight(c);
|
|
if (h < 0) h = 0;
|
|
if (h != old_h) {
|
|
grid->col_weight(c, h);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
xywh {240 210 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
Fl_Input {} {
|
|
label {Gap:}
|
|
callback {Fl_Grid *grid = Fl_Grid_Type::selected();
|
|
if (!grid) return;
|
|
int c = widget_grid_curr_col->value();
|
|
if (v == LOAD) {
|
|
o->value(grid->col_gap(c));
|
|
} else {
|
|
int h = o->value(), old_h = grid->col_gap(c);
|
|
if (h < -1) h = -1;
|
|
if (h != old_h) {
|
|
grid->col_gap(c, h);
|
|
grid->need_layout(true);
|
|
set_modflag(1);
|
|
}
|
|
}}
|
|
xywh {300 210 55 20} labelsize 11 align 5 textsize 11
|
|
class Fluid_Coord_Input
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
xywh {400 210 1 20} hide resizable
|
|
}
|
|
}
|
|
Fl_Box {} {
|
|
xywh {95 350 300 5} labelsize 11 hide resizable
|
|
}
|
|
}
|
|
}
|
|
Fl_Tabs widget_tabs_repo {
|
|
xywh {10 10 400 350} hide
|
|
code0 {o->hide();}
|
|
} {
|
|
Fl_Group {} {open
|
|
xywh {10 30 400 330} resizable
|
|
} {}
|
|
}
|
|
Fl_Group {} {
|
|
xywh {10 370 400 20} labelsize 11
|
|
} {
|
|
Fl_Button wLiveMode {
|
|
label {Live &Resize}
|
|
callback live_mode_cb
|
|
tooltip {Create a live duplicate of the selected widgets to test resizing and menu behavior.} xywh {10 370 80 20} type Toggle labelsize 11
|
|
}
|
|
Fl_Button overlay_button {
|
|
label {Hide &Overlays}
|
|
callback overlay_cb
|
|
tooltip {Hide the widget overlay box.} xywh {94 370 80 20} labelsize 11
|
|
}
|
|
Fl_Box {} {
|
|
comment {Hidden resizable box}
|
|
xywh {258 370 72 20} labelsize 11 hide resizable
|
|
}
|
|
Fl_Return_Button {} {
|
|
label Close
|
|
callback ok_cb
|
|
xywh {330 370 80 20} labelsize 11
|
|
}
|
|
}
|
|
}
|
|
}
|