FLTK logo

[Library] r4522 - in branches/branch-1.1: . fluid

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Library      Forums      Links      Apps     Login 
 All Forums  |  Back to fltk.commit  ]
 
Previous Message ]Next Message ]

[Library] r4522 - in branches/branch-1.1: . fluid fltk-dev Aug 17, 2005  
 
Author: matt
Date: 2005-08-17 07:33:12 -0400 (Wed, 17 Aug 2005)
New Revision: 4522

Modified:
   branches/branch-1.1/CHANGES
   branches/branch-1.1/fluid/widget_panel.cxx
   branches/branch-1.1/fluid/widget_panel.fl
Log:
#959: outside labels in fluid moved, so that they refresh correctly even when previously clipped. Remove superfluous grouping. Using contrasting color for label of selected Tabs. MUST GET 1.1.7 OUT SOON! ;-)

Modified: branches/branch-1.1/CHANGES
===================================================================
--- branches/branch-1.1/CHANGES	2005-08-17 03:44:27 UTC (rev 4521)
+++ branches/branch-1.1/CHANGES	2005-08-17 11:33:12 UTC (rev 4522)
@@ -3,6 +3,7 @@
 	- Documentation fixes (STR #571, STR #648, STR #692, STR
 	  #730, STR #744, STR #745, STR #931, STR #942, STR #960,
 	  STR #969)
+	- FLUID group labels redraw correctly (STR #959)
 	- FLUID now updates color of Fl_Tabs children (STR #979)
 	- FLUID now supports 'size_range()' (STR #851)
 	- FLUID selection boxes now synchronised (STR #964)

Modified: branches/branch-1.1/fluid/widget_panel.cxx
===================================================================
--- branches/branch-1.1/fluid/widget_panel.cxx	2005-08-17 03:44:27 UTC (rev 4521)
+++ branches/branch-1.1/fluid/widget_panel.cxx	2005-08-17 11:33:12 UTC (rev 4522)
@@ -51,513 +51,514 @@
     w = o;
     o->labelsize(11);
     w->hotspot(o);
-    { Fl_Tabs* o = new Fl_Tabs(3, 5, 402, 310);
+    { Fl_Tabs* o = new Fl_Tabs(5, 5, 400, 310);
       o->selection_color((Fl_Color)4);
       o->labelsize(11);
+      o->labelcolor(FL_BACKGROUND2_COLOR);
       o->callback((Fl_Callback*)cb_);
       o->when(FL_WHEN_NEVER);
-      { Fl_Group* o = new Fl_Group(3, 25, 402, 290, "GUI");
+      { Fl_Group* o = new Fl_Group(5, 25, 400, 290, "GUI");
         o->labelsize(11);
         o->callback((Fl_Callback*)propagate_load);
         o->when(FL_WHEN_NEVER);
-        { Fl_Group* o = new Fl_Group(3, 25, 396, 285);
+        { Fl_Group* o = new Fl_Group(90, 35, 300, 20, "Label:");
+          o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          { Fl_Group* o = new Fl_Group(90, 35, 300, 20);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Input* o = new Fl_Input(90, 35, 180, 20);
+            o->tooltip("The label text for the widget.");
+            o->labelfont(1);
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            { Fl_Input* o = new Fl_Input(90, 35, 180, 20, "Label:");
-              o->tooltip("The label text for the widget.");
-              o->labelfont(1);
-              o->labelsize(11);
-              o->textsize(11);
-              o->callback((Fl_Callback*)label_cb);
-              o->when(FL_WHEN_CHANGED);
-              Fl_Group::current()->resizable(o);
-            }
-            { Fl_Choice* o = new Fl_Choice(270, 35, 120, 20);
-              o->tooltip("The label style for the widget.");
-              o->box(FL_THIN_UP_BOX);
-              o->down_box(FL_BORDER_BOX);
-              o->labelsize(11);
-              o->textsize(11);
-              o->callback((Fl_Callback*)labeltype_cb);
-              o->menu(labeltypemenu);
-            }
-            o->end();
+            o->textsize(11);
+            o->callback((Fl_Callback*)label_cb);
+            o->when(FL_WHEN_CHANGED);
+            Fl_Group::current()->resizable(o);
           }
-          { Fl_Group* o = new Fl_Group(90, 60, 300, 20);
+          { Fl_Choice* o = new Fl_Choice(270, 35, 120, 20);
+            o->tooltip("The label style for the widget.");
+            o->box(FL_THIN_UP_BOX);
+            o->down_box(FL_BORDER_BOX);
+            o->labelfont(1);
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            { Fl_Input* o = new Fl_Input(90, 60, 230, 20, "Image:");
-              o->tooltip("The active image for the widget.");
-              o->labelfont(1);
-              o->labelsize(11);
-              o->textsize(11);
-              o->callback((Fl_Callback*)image_cb);
-              Fl_Group::current()->resizable(o);
-            }
-            { Fl_Button* o = new Fl_Button(320, 60, 70, 20, "Browse...");
-              o->tooltip("Click to choose the active image.");
-              o->labelsize(11);
-              o->callback((Fl_Callback*)image_browse_cb);
-            }
-            o->end();
+            o->textsize(11);
+            o->callback((Fl_Callback*)labeltype_cb);
+            o->menu(labeltypemenu);
           }
-          { Fl_Group* o = new Fl_Group(90, 85, 300, 20);
+          o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 60, 300, 20, "Image:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Input* o = new Fl_Input(90, 60, 230, 20);
+            o->tooltip("The active image for the widget.");
+            o->labelfont(1);
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            { Fl_Input* o = new Fl_Input(90, 85, 230, 20, "Inactive:");
-              o->tooltip("The inactive image for the widget.");
-              o->labelfont(1);
-              o->labelsize(11);
-              o->textsize(11);
-              o->callback((Fl_Callback*)inactive_cb);
-              Fl_Group::current()->resizable(o);
-            }
-            { Fl_Button* o = new Fl_Button(320, 85, 70, 20, "Browse...");
-              o->tooltip("Click to choose the inactive image.");
-              o->labelsize(11);
-              o->callback((Fl_Callback*)inactive_browse_cb);
-            }
-            o->end();
+            o->textsize(11);
+            o->callback((Fl_Callback*)image_cb);
+            Fl_Group::current()->resizable(o);
           }
-          { Fl_Group* o = new Fl_Group(90, 110, 300, 20, "Alignment:");
-            o->labelfont(1);
+          { Fl_Button* o = new Fl_Button(320, 60, 70, 20, "Browse...");
+            o->tooltip("Click to choose the active image.");
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            o->align(FL_ALIGN_LEFT);
-            { Fl_Button* o = new Fl_Button(90, 110, 45, 20, "Clip");
-              o->tooltip("Clip the label to the inside of the widget.");
-              o->type(1);
-              o->selection_color(FL_INACTIVE_COLOR);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_CLIP));
-              o->align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE);
-            }
-            { Fl_Button* o = new Fl_Button(140, 110, 50, 20, "Wrap");
-              o->tooltip("Wrap the label text.");
-              o->type(1);
-              o->selection_color(FL_INACTIVE_COLOR);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_WRAP));
-            }
-            { Fl_Button* o = new Fl_Button(195, 110, 65, 20, "Text/Image");
-              o->tooltip("Show the label text over the image.");
-              o->type(1);
-              o->selection_color(FL_INACTIVE_COLOR);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_TEXT_OVER_IMAGE));
-            }
-            { Fl_Button* o = new Fl_Button(265, 110, 20, 20, "@-1<-");
-              o->tooltip("Left-align the label.");
-              o->type(1);
-              o->selection_color(FL_INACTIVE_COLOR);
-              o->labelsize(11);
-              o->labelcolor(FL_INACTIVE_COLOR);
-              o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_LEFT));
-            }
-            { Fl_Button* o = new Fl_Button(290, 110, 20, 20, "@-1->");
-              o->tooltip("Right-align the label.");
-              o->type(1);
-              o->selection_color(FL_INACTIVE_COLOR);
-              o->labelsize(11);
-              o->labelcolor(FL_INACTIVE_COLOR);
-              o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_RIGHT));
-            }
-            { Fl_Button* o = new Fl_Button(315, 110, 20, 20, "@-18");
-              o->tooltip("Top-align the label.");
-              o->type(1);
-              o->selection_color(FL_INACTIVE_COLOR);
-              o->labelsize(11);
-              o->labelcolor(FL_INACTIVE_COLOR);
-              o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_TOP));
-            }
-            { Fl_Button* o = new Fl_Button(340, 110, 20, 20, "@-12");
-              o->tooltip("Bottom-align the label.");
-              o->type(1);
-              o->selection_color(FL_INACTIVE_COLOR);
-              o->labelsize(11);
-              o->labelcolor(FL_INACTIVE_COLOR);
-              o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_BOTTOM));
-            }
-            { Fl_Button* o = new Fl_Button(365, 110, 20, 20, "@-3square");
-              o->tooltip("Show the label inside the widget.");
-              o->type(1);
-              o->selection_color(FL_INACTIVE_COLOR);
-              o->labelsize(11);
-              o->labelcolor(FL_INACTIVE_COLOR);
-              o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_INSIDE));
-            }
-            { Fl_Box* o = new Fl_Box(390, 110, 0, 20);
-              o->labelsize(11);
-              Fl_Group::current()->resizable(o);
-            }
-            o->end();
+            o->callback((Fl_Callback*)image_browse_cb);
           }
-          { Fl_Group* o = new Fl_Group(90, 145, 300, 20, "Position:");
+          o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 85, 300, 20, "Inactive:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Input* o = new Fl_Input(90, 85, 230, 20);
+            o->tooltip("The inactive image for the widget.");
             o->labelfont(1);
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            o->align(FL_ALIGN_LEFT);
-            { Fl_Value_Input* o = widget_x_input = new Fl_Value_Input(90, 145, 55, 20, "X:");
-              o->tooltip("The X position of the widget.");
-              o->labelsize(11);
-              o->maximum(2048);
-              o->step(1);
-              o->textsize(11);
-              o->callback((Fl_Callback*)x_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Value_Input* o = widget_y_input = new Fl_Value_Input(150, 145, 55, 20, "Y:");
-              o->tooltip("The Y position of the widget.");
-              o->labelsize(11);
-              o->maximum(2048);
-              o->step(1);
-              o->textsize(11);
-              o->callback((Fl_Callback*)y_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Value_Input* o = widget_w_input = new Fl_Value_Input(210, 145, 55, 20, "Width:");
-              o->tooltip("The width of the widget.");
-              o->labelsize(11);
-              o->maximum(2048);
-              o->step(1);
-              o->textsize(11);
-              o->callback((Fl_Callback*)w_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Value_Input* o = widget_h_input = new Fl_Value_Input(270, 145, 55, 20, "Height:");
-              o->tooltip("The height of the widget.");
-              o->labelsize(11);
-              o->maximum(2048);
-              o->step(1);
-              o->textsize(11);
-              o->callback((Fl_Callback*)h_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Box* o = new Fl_Box(330, 145, 60, 20);
-              Fl_Group::current()->resizable(o);
-            }
-            o->end();
+            o->textsize(11);
+            o->callback((Fl_Callback*)inactive_cb);
+            Fl_Group::current()->resizable(o);
           }
-          { Fl_Group* o = new Fl_Group(90, 180, 300, 20, "Values:");
-            o->labelfont(1);
+          { Fl_Button* o = new Fl_Button(320, 85, 70, 20, "Browse...");
+            o->tooltip("Click to choose the inactive image.");
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            o->align(FL_ALIGN_LEFT);
-            { Fl_Value_Input* o = new Fl_Value_Input(90, 180, 55, 20, "Size:");
-              o->tooltip("The size of the slider.");
-              o->labelsize(11);
-              o->step(0.010101);
-              o->textsize(11);
-              o->callback((Fl_Callback*)slider_size_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Value_Input* o = new Fl_Value_Input(150, 180, 55, 20, "Minimum:");
-              o->tooltip("The minimum value of the widget.");
-              o->labelsize(11);
-              o->textsize(11);
-              o->callback((Fl_Callback*)min_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Value_Input* o = new Fl_Value_Input(210, 180, 55, 20, "Maximum:");
-              o->tooltip("The maximum value of the widget.");
-              o->labelsize(11);
-              o->value(1);
-              o->textsize(11);
-              o->callback((Fl_Callback*)max_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Value_Input* o = new Fl_Value_Input(270, 180, 55, 20, "Step:");
-              o->tooltip("The resolution of the widget value.");
-              o->labelsize(11);
-              o->textsize(11);
-              o->callback((Fl_Callback*)step_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Value_Input* o = new Fl_Value_Input(330, 180, 55, 20, "Value:");
-              o->tooltip("The current widget value.");
-              o->labelsize(11);
-              o->textsize(11);
-              o->callback((Fl_Callback*)value_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Box* o = new Fl_Box(390, 180, 0, 20);
-              Fl_Group::current()->resizable(o);
-            }
-            o->end();
+            o->callback((Fl_Callback*)inactive_browse_cb);
           }
-          { Fl_Group* o = new Fl_Group(90, 180, 300, 20, "Size Range:");
-            o->labelfont(1);
+          o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 110, 300, 20, "Alignment:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Button* o = new Fl_Button(90, 110, 45, 20, "Clip");
+            o->tooltip("Clip the label to the inside of the widget.");
+            o->type(1);
+            o->selection_color(FL_INACTIVE_COLOR);
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            o->align(FL_ALIGN_LEFT);
-            o->hide();
-            { Fl_Value_Input* o = new Fl_Value_Input(90, 180, 55, 20, "Minimum Size:");
-              o->tooltip("The size of the slider.");
-              o->labelsize(11);
-              o->maximum(2048);
-              o->step(1);
-              o->textsize(11);
-              o->callback((Fl_Callback*)min_w_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Value_Input* o = new Fl_Value_Input(150, 180, 55, 20);
-              o->tooltip("The minimum value of the widget.");
-              o->labelsize(11);
-              o->maximum(2048);
-              o->step(1);
-              o->textsize(11);
-              o->callback((Fl_Callback*)min_h_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Button* o = new Fl_Button(210, 180, 25, 20, "set");
-              o->labelsize(11);
-              o->callback((Fl_Callback*)set_min_size_cb);
-            }
-            { Fl_Value_Input* o = new Fl_Value_Input(240, 180, 55, 20, "Maximum Size:");
-              o->tooltip("The maximum value of the widget.");
-              o->labelsize(11);
-              o->maximum(2048);
-              o->step(1);
-              o->textsize(11);
-              o->callback((Fl_Callback*)max_w_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Value_Input* o = new Fl_Value_Input(300, 180, 55, 20);
-              o->tooltip("The resolution of the widget value.");
-              o->labelsize(11);
-              o->maximum(2048);
-              o->step(1);
-              o->textsize(11);
-              o->callback((Fl_Callback*)max_h_cb);
-              o->align(FL_ALIGN_TOP_LEFT);
-            }
-            { Fl_Button* o = new Fl_Button(360, 180, 25, 20, "set");
-              o->labelsize(11);
-              o->callback((Fl_Callback*)set_max_size_cb);
-            }
-            { Fl_Box* o = new Fl_Box(390, 180, 0, 20);
-              Fl_Group::current()->resizable(o);
-            }
-            o->end();
+            o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_CLIP));
+            o->align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE);
           }
-          { Shortcut_Button* o = new Shortcut_Button(90, 205, 300, 20, "Shortcut:");
-            o->tooltip("The shortcut key for the widget.");
-            o->box(FL_DOWN_BOX);
-            o->color(FL_BACKGROUND2_COLOR);
-            o->selection_color(FL_BACKGROUND2_COLOR);
-            o->labeltype(FL_NORMAL_LABEL);
-            o->labelfont(1);
+          { Fl_Button* o = new Fl_Button(140, 110, 50, 20, "Wrap");
+            o->tooltip("Wrap the label text.");
+            o->type(1);
+            o->selection_color(FL_INACTIVE_COLOR);
             o->labelsize(11);
-            o->labelcolor(FL_BLACK);
-            o->callback((Fl_Callback*)shortcut_in_cb);
-            o->align(FL_ALIGN_LEFT);
-            o->when(FL_WHEN_RELEASE);
+            o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_WRAP));
           }
-          { Fl_Group* o = new Fl_Group(90, 230, 300, 20);
+          { Fl_Button* o = new Fl_Button(195, 110, 65, 20, "Text/Image");
+            o->tooltip("Show the label text over the image.");
+            o->type(1);
+            o->selection_color(FL_INACTIVE_COLOR);
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            { Fl_Input* o = new Fl_Input(90, 230, 95, 20, "X Class:");
-              o->tooltip("The X resource class.");
-              o->labelfont(1);
-              o->labelsize(11);
-              o->textsize(11);
-              o->callback((Fl_Callback*)xclass_cb);
-              Fl_Group::current()->resizable(o);
-            }
-            { Fl_Light_Button* o = new Fl_Light_Button(190, 230, 60, 20, "Border");
-              o->tooltip("Add a border around the window.");
-              o->selection_color((Fl_Color)1);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)border_cb);
-            }
-            { Fl_Light_Button* o = new Fl_Light_Button(255, 230, 55, 20, "Modal");
-              o->tooltip("Make the window modal.");
-              o->selection_color((Fl_Color)1);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)modal_cb);
-            }
-            { Fl_Light_Button* o = new Fl_Light_Button(315, 230, 75, 20, "Nonmodal");
-              o->tooltip("Make the window non-modal.");
-              o->selection_color((Fl_Color)1);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)non_modal_cb);
-              o->align(132|FL_ALIGN_INSIDE);
-            }
-            o->end();
+            o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_TEXT_OVER_IMAGE));
           }
-          { Fl_Group* o = new Fl_Group(87, 255, 307, 20, "Attributes:");
-            o->labelfont(1);
+          { Fl_Button* o = new Fl_Button(265, 110, 20, 20, "@-1<-");
+            o->tooltip("Left-align the label.");
+            o->type(1);
+            o->selection_color(FL_INACTIVE_COLOR);
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            o->align(FL_ALIGN_LEFT);
-            { Fl_Light_Button* o = new Fl_Light_Button(90, 255, 60, 20, "Visible");
-              o->tooltip("Show the widget.");
-              o->selection_color((Fl_Color)1);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)visible_cb);
-            }
-            { Fl_Light_Button* o = new Fl_Light_Button(155, 255, 60, 20, "Active");
-              o->tooltip("Activate the widget.");
-              o->selection_color((Fl_Color)1);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)active_cb);
-            }
-            { Fl_Light_Button* o = new Fl_Light_Button(220, 255, 75, 20, "Resizable");
-              o->tooltip("Make the widget resizable.");
-              o->selection_color((Fl_Color)1);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)resizable_cb);
-              o->when(FL_WHEN_CHANGED);
-            }
-            { Fl_Light_Button* o = new Fl_Light_Button(300, 255, 70, 20, "Hotspot");
-              o->tooltip("Center the window under this widget.");
-              o->selection_color((Fl_Color)1);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)hotspot_cb);
-              o->when(FL_WHEN_CHANGED);
-            }
-            { Fl_Box* o = new Fl_Box(390, 255, 0, 20);
-              o->labelsize(11);
-              Fl_Group::current()->resizable(o);
-            }
-            o->end();
+            o->labelcolor(FL_INACTIVE_COLOR);
+            o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_LEFT));
           }
-          { Fl_Input* o = new Fl_Input(90, 280, 300, 20, "Tooltip:");
-            o->tooltip("The tooltip text for the widget.");
+          { Fl_Button* o = new Fl_Button(290, 110, 20, 20, "@-1->");
+            o->tooltip("Right-align the label.");
+            o->type(1);
+            o->selection_color(FL_INACTIVE_COLOR);
+            o->labelsize(11);
+            o->labelcolor(FL_INACTIVE_COLOR);
+            o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_RIGHT));
+          }
+          { Fl_Button* o = new Fl_Button(315, 110, 20, 20, "@-18");
+            o->tooltip("Top-align the label.");
+            o->type(1);
+            o->selection_color(FL_INACTIVE_COLOR);
+            o->labelsize(11);
+            o->labelcolor(FL_INACTIVE_COLOR);
+            o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_TOP));
+          }
+          { Fl_Button* o = new Fl_Button(340, 110, 20, 20, "@-12");
+            o->tooltip("Bottom-align the label.");
+            o->type(1);
+            o->selection_color(FL_INACTIVE_COLOR);
+            o->labelsize(11);
+            o->labelcolor(FL_INACTIVE_COLOR);
+            o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_BOTTOM));
+          }
+          { Fl_Button* o = new Fl_Button(365, 110, 20, 20, "@-3square");
+            o->tooltip("Show the label inside the widget.");
+            o->type(1);
+            o->selection_color(FL_INACTIVE_COLOR);
+            o->labelsize(11);
+            o->labelcolor(FL_INACTIVE_COLOR);
+            o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_INSIDE));
+          }
+          { Fl_Box* o = new Fl_Box(390, 110, 0, 20);
+            o->labelsize(11);
+            Fl_Group::current()->resizable(o);
+          }
+          o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 145, 300, 20, "Position:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Value_Input* o = widget_x_input = new Fl_Value_Input(90, 145, 55, 20, "X:");
+            o->tooltip("The X position of the widget.");
+            o->labelsize(11);
+            o->maximum(2048);
+            o->step(1);
+            o->textsize(11);
+            o->callback((Fl_Callback*)x_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Value_Input* o = widget_y_input = new Fl_Value_Input(150, 145, 55, 20, "Y:");
+            o->tooltip("The Y position of the widget.");
+            o->labelsize(11);
+            o->maximum(2048);
+            o->step(1);
+            o->textsize(11);
+            o->callback((Fl_Callback*)y_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Value_Input* o = widget_w_input = new Fl_Value_Input(210, 145, 55, 20, "Width:");
+            o->tooltip("The width of the widget.");
+            o->labelsize(11);
+            o->maximum(2048);
+            o->step(1);
+            o->textsize(11);
+            o->callback((Fl_Callback*)w_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Value_Input* o = widget_h_input = new Fl_Value_Input(270, 145, 55, 20, "Height:");
+            o->tooltip("The height of the widget.");
+            o->labelsize(11);
+            o->maximum(2048);
+            o->step(1);
+            o->textsize(11);
+            o->callback((Fl_Callback*)h_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Box* o = new Fl_Box(330, 145, 60, 20);
+            Fl_Group::current()->resizable(o);
+          }
+          o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 180, 300, 20, "Values:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Value_Input* o = new Fl_Value_Input(90, 180, 55, 20, "Size:");
+            o->tooltip("The size of the slider.");
+            o->labelsize(11);
+            o->step(0.010101);
+            o->textsize(11);
+            o->callback((Fl_Callback*)slider_size_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Value_Input* o = new Fl_Value_Input(150, 180, 55, 20, "Minimum:");
+            o->tooltip("The minimum value of the widget.");
+            o->labelsize(11);
+            o->textsize(11);
+            o->callback((Fl_Callback*)min_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Value_Input* o = new Fl_Value_Input(210, 180, 55, 20, "Maximum:");
+            o->tooltip("The maximum value of the widget.");
+            o->labelsize(11);
+            o->value(1);
+            o->textsize(11);
+            o->callback((Fl_Callback*)max_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Value_Input* o = new Fl_Value_Input(270, 180, 55, 20, "Step:");
+            o->tooltip("The resolution of the widget value.");
+            o->labelsize(11);
+            o->textsize(11);
+            o->callback((Fl_Callback*)step_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Value_Input* o = new Fl_Value_Input(330, 180, 55, 20, "Value:");
+            o->tooltip("The current widget value.");
+            o->labelsize(11);
+            o->textsize(11);
+            o->callback((Fl_Callback*)value_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Box* o = new Fl_Box(390, 180, 0, 20);
+            Fl_Group::current()->resizable(o);
+          }
+          o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 180, 300, 20, "Size Range:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          o->hide();
+          { Fl_Value_Input* o = new Fl_Value_Input(90, 180, 55, 20, "Minimum Size:");
+            o->tooltip("The size of the slider.");
+            o->labelsize(11);
+            o->maximum(2048);
+            o->step(1);
+            o->textsize(11);
+            o->callback((Fl_Callback*)min_w_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Value_Input* o = new Fl_Value_Input(150, 180, 55, 20);
+            o->tooltip("The minimum value of the widget.");
+            o->labelsize(11);
+            o->maximum(2048);
+            o->step(1);
+            o->textsize(11);
+            o->callback((Fl_Callback*)min_h_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Button* o = new Fl_Button(210, 180, 25, 20, "set");
+            o->labelsize(11);
+            o->callback((Fl_Callback*)set_min_size_cb);
+          }
+          { Fl_Value_Input* o = new Fl_Value_Input(240, 180, 55, 20, "Maximum Size:");
+            o->tooltip("The maximum value of the widget.");
+            o->labelsize(11);
+            o->maximum(2048);
+            o->step(1);
+            o->textsize(11);
+            o->callback((Fl_Callback*)max_w_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Value_Input* o = new Fl_Value_Input(300, 180, 55, 20);
+            o->tooltip("The resolution of the widget value.");
+            o->labelsize(11);
+            o->maximum(2048);
+            o->step(1);
+            o->textsize(11);
+            o->callback((Fl_Callback*)max_h_cb);
+            o->align(FL_ALIGN_TOP_LEFT);
+          }
+          { Fl_Button* o = new Fl_Button(360, 180, 25, 20, "set");
+            o->labelsize(11);
+            o->callback((Fl_Callback*)set_max_size_cb);
+          }
+          { Fl_Box* o = new Fl_Box(390, 180, 0, 20);
+            Fl_Group::current()->resizable(o);
+          }
+          o->end();
+        }
+        { Shortcut_Button* o = new Shortcut_Button(90, 205, 300, 20, "Shortcut:");
+          o->tooltip("The shortcut key for the widget.");
+          o->box(FL_DOWN_BOX);
+          o->color(FL_BACKGROUND2_COLOR);
+          o->selection_color(FL_BACKGROUND2_COLOR);
+          o->labeltype(FL_NORMAL_LABEL);
+          o->labelfont(1);
+          o->labelsize(11);
+          o->labelcolor(FL_BLACK);
+          o->callback((Fl_Callback*)shortcut_in_cb);
+          o->align(FL_ALIGN_LEFT);
+          o->when(FL_WHEN_RELEASE);
+        }
+        { Fl_Group* o = new Fl_Group(90, 230, 300, 20, "X Class:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Input* o = new Fl_Input(90, 230, 95, 20, ":");
+            o->tooltip("The X resource class.");
             o->labelfont(1);
             o->labelsize(11);
             o->textsize(11);
-            o->callback((Fl_Callback*)tooltip_cb);
+            o->callback((Fl_Callback*)xclass_cb);
+            Fl_Group::current()->resizable(o);
           }
-          { Fl_Box* o = new Fl_Box(90, 300, 300, 5);
+          { Fl_Light_Button* o = new Fl_Light_Button(190, 230, 60, 20, "Border");
+            o->tooltip("Add a border around the window.");
+            o->selection_color((Fl_Color)1);
             o->labelsize(11);
+            o->callback((Fl_Callback*)border_cb);
+          }
+          { Fl_Light_Button* o = new Fl_Light_Button(255, 230, 55, 20, "Modal");
+            o->tooltip("Make the window modal.");
+            o->selection_color((Fl_Color)1);
+            o->labelsize(11);
+            o->callback((Fl_Callback*)modal_cb);
+          }
+          { Fl_Light_Button* o = new Fl_Light_Button(315, 230, 75, 20, "Nonmodal");
+            o->tooltip("Make the window non-modal.");
+            o->selection_color((Fl_Color)1);
+            o->labelsize(11);
+            o->callback((Fl_Callback*)non_modal_cb);
+            o->align(132|FL_ALIGN_INSIDE);
+          }
+          o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 255, 305, 20, "Attributes:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Light_Button* o = new Fl_Light_Button(90, 255, 60, 20, "Visible");
+            o->tooltip("Show the widget.");
+            o->selection_color((Fl_Color)1);
+            o->labelsize(11);
+            o->callback((Fl_Callback*)visible_cb);
+          }
+          { Fl_Light_Button* o = new Fl_Light_Button(155, 255, 60, 20, "Active");
+            o->tooltip("Activate the widget.");
+            o->selection_color((Fl_Color)1);
+            o->labelsize(11);
+            o->callback((Fl_Callback*)active_cb);
+          }
+          { Fl_Light_Button* o = new Fl_Light_Button(220, 255, 75, 20, "Resizable");
+            o->tooltip("Make the widget resizable.");
+            o->selection_color((Fl_Color)1);
+            o->labelsize(11);
+            o->callback((Fl_Callback*)resizable_cb);
+            o->when(FL_WHEN_CHANGED);
+          }
+          { Fl_Light_Button* o = new Fl_Light_Button(300, 255, 70, 20, "Hotspot");
+            o->tooltip("Center the window under this widget.");
+            o->selection_color((Fl_Color)1);
+            o->labelsize(11);
+            o->callback((Fl_Callback*)hotspot_cb);
+            o->when(FL_WHEN_CHANGED);
+          }
+          { Fl_Box* o = new Fl_Box(390, 255, 0, 20);
+            o->labelsize(11);
             Fl_Group::current()->resizable(o);
           }
           o->end();
+        }
+        { Fl_Input* o = new Fl_Input(90, 280, 300, 20, "Tooltip:");
+          o->tooltip("The tooltip text for the widget.");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->textsize(11);
+          o->callback((Fl_Callback*)tooltip_cb);
+        }
+        { Fl_Box* o = new Fl_Box(90, 300, 300, 5);
+          o->labelsize(11);
           Fl_Group::current()->resizable(o);
         }
         o->end();
         Fl_Group::current()->resizable(o);
       }
-      { Fl_Group* o = new Fl_Group(3, 25, 402, 290, "Style");
+      { Fl_Group* o = new Fl_Group(5, 25, 400, 290, "Style");
         o->labelsize(11);
         o->callback((Fl_Callback*)propagate_load);
         o->when(FL_WHEN_NEVER);
         o->hide();
-        { Fl_Group* o = new Fl_Group(3, 25, 396, 178);
+        { Fl_Group* o = new Fl_Group(90, 35, 300, 20, "Label Font:");
+          o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          { Fl_Group* o = new Fl_Group(90, 35, 300, 95);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Choice* o = new Fl_Choice(90, 35, 160, 20);
+            o->tooltip("The style of the label text.");
+            o->box(FL_THIN_UP_BOX);
+            o->down_box(FL_BORDER_BOX);
+            o->labelfont(1);
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            { Fl_Group* o = new Fl_Group(90, 35, 300, 20);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)propagate_load);
-              { Fl_Choice* o = new Fl_Choice(90, 35, 160, 20, "Label Font:");
-                o->tooltip("The style of the label text.");
-                o->box(FL_THIN_UP_BOX);
-                o->down_box(FL_BORDER_BOX);
-                o->labelfont(1);
-                o->labelsize(11);
-                o->callback((Fl_Callback*)labelfont_cb);
-                Fl_Group::current()->resizable(o);
-                o->menu(fontmenu);
-              }
-              { Fl_Value_Input* o = new Fl_Value_Input(250, 35, 50, 20);
-                o->tooltip("The size of the label text.");
-                o->labelsize(11);
-                o->maximum(100);
-                o->step(1);
-                o->value(14);
-                o->textsize(11);
-                o->callback((Fl_Callback*)labelsize_cb);
-              }
-              { Fl_Button* o = new Fl_Button(300, 35, 90, 20, "Label Color");
-                o->tooltip("The color of the label text.");
-                o->labelsize(11);
-                o->callback((Fl_Callback*)labelcolor_cb);
-              }
-              o->end();
-            }
-            { Fl_Group* o = new Fl_Group(90, 60, 300, 20);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)propagate_load);
-              { Fl_Choice* o = new Fl_Choice(90, 60, 210, 20, "Box:");
-                o->tooltip("The \"up\" box of the widget.");
-                o->box(FL_THIN_UP_BOX);
-                o->down_box(FL_BORDER_BOX);
-                o->labelfont(1);
-                o->labelsize(11);
-                o->callback((Fl_Callback*)box_cb);
-                Fl_Group::current()->resizable(o);
-                o->menu(boxmenu);
-              }
-              { Fl_Button* o = new Fl_Button(300, 60, 90, 20, "Color");
-                o->tooltip("The background color of the widget.");
-                o->labelsize(11);
-                o->callback((Fl_Callback*)color_cb);
-              }
-              o->end();
-            }
-            { Fl_Group* o = new Fl_Group(90, 85, 300, 20);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)propagate_load);
-              { Fl_Choice* o = new Fl_Choice(90, 85, 210, 20, "Down Box:");
-                o->tooltip("The \"down\" box of the widget.");
-                o->box(FL_THIN_UP_BOX);
-                o->down_box(FL_BORDER_BOX);
-                o->labelfont(1);
-                o->labelsize(11);
-                o->callback((Fl_Callback*)down_box_cb);
-                Fl_Group::current()->resizable(o);
-                o->menu(boxmenu);
-              }
-              { Fl_Button* o = new Fl_Button(300, 85, 90, 20, "Select Color");
-                o->tooltip("The selection color of the widget.");
-                o->labelsize(11);
-                o->callback((Fl_Callback*)color2_cb);
-              }
-              o->end();
-            }
-            { Fl_Group* o = new Fl_Group(90, 110, 300, 20);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)propagate_load);
-              { Fl_Choice* o = new Fl_Choice(90, 110, 160, 20, "Text Font:");
-                o->tooltip("The value text style.");
-                o->box(FL_DOWN_BOX);
-                o->down_box(FL_BORDER_BOX);
-                o->labelfont(1);
-                o->labelsize(11);
-                o->callback((Fl_Callback*)textfont_cb);
-                Fl_Group::current()->resizable(o);
-                o->menu(fontmenu);
-              }
-              { Fl_Value_Input* o = new Fl_Value_Input(250, 110, 50, 20);
-                o->tooltip("The value text size.");
-                o->labelsize(11);
-                o->maximum(100);
-                o->step(1);
-                o->value(14);
-                o->textsize(11);
-                o->callback((Fl_Callback*)textsize_cb);
-              }
-              { Fl_Button* o = new Fl_Button(300, 110, 90, 20, "Text Color");
-                o->tooltip("The value text color.");
-                o->labelsize(11);
-                o->callback((Fl_Callback*)textcolor_cb);
-              }
-              o->end();
-            }
-            o->end();
+            o->callback((Fl_Callback*)labelfont_cb);
+            Fl_Group::current()->resizable(o);
+            o->menu(fontmenu);
           }
-          { Fl_Box* o = new Fl_Box(90, 135, 300, 40);
+          { Fl_Value_Input* o = new Fl_Value_Input(250, 35, 50, 20);
+            o->tooltip("The size of the label text.");
             o->labelsize(11);
+            o->maximum(100);
+            o->step(1);
+            o->value(14);
+            o->textsize(11);
+            o->callback((Fl_Callback*)labelsize_cb);
+          }
+          { Fl_Button* o = new Fl_Button(300, 35, 90, 20, "Label Color");
+            o->tooltip("The color of the label text.");
+            o->labelsize(11);
+            o->callback((Fl_Callback*)labelcolor_cb);
+          }
+          o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 60, 300, 20, "Box:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Choice* o = new Fl_Choice(90, 60, 210, 20);
+            o->tooltip("The \"up\" box of the widget.");
+            o->box(FL_THIN_UP_BOX);
+            o->down_box(FL_BORDER_BOX);
+            o->labelfont(1);
+            o->labelsize(11);
+            o->callback((Fl_Callback*)box_cb);
             Fl_Group::current()->resizable(o);
+            o->menu(boxmenu);
           }
+          { Fl_Button* o = new Fl_Button(300, 60, 90, 20, "Color");
+            o->tooltip("The background color of the widget.");
+            o->labelsize(11);
+            o->callback((Fl_Callback*)color_cb);
+          }
           o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 85, 300, 20, "Down Box:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Choice* o = new Fl_Choice(90, 85, 210, 20);
+            o->tooltip("The \"down\" box of the widget.");
+            o->box(FL_THIN_UP_BOX);
+            o->down_box(FL_BORDER_BOX);
+            o->labelfont(1);
+            o->labelsize(11);
+            o->callback((Fl_Callback*)down_box_cb);
+            Fl_Group::current()->resizable(o);
+            o->menu(boxmenu);
+          }
+          { Fl_Button* o = new Fl_Button(300, 85, 90, 20, "Select Color");
+            o->tooltip("The selection color of the widget.");
+            o->labelsize(11);
+            o->callback((Fl_Callback*)color2_cb);
+          }
+          o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 110, 300, 20, "Text Font:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Choice* o = new Fl_Choice(90, 110, 160, 20);
+            o->tooltip("The value text style.");
+            o->box(FL_DOWN_BOX);
+            o->down_box(FL_BORDER_BOX);
+            o->labelfont(1);
+            o->labelsize(11);
+            o->callback((Fl_Callback*)textfont_cb);
+            Fl_Group::current()->resizable(o);
+            o->menu(fontmenu);
+          }
+          { Fl_Value_Input* o = new Fl_Value_Input(250, 110, 50, 20);
+            o->tooltip("The value text size.");
+            o->labelsize(11);
+            o->maximum(100);
+            o->step(1);
+            o->value(14);
+            o->textsize(11);
+            o->callback((Fl_Callback*)textsize_cb);
+          }
+          { Fl_Button* o = new Fl_Button(300, 110, 90, 20, "Text Color");
+            o->tooltip("The value text color.");
+            o->labelsize(11);
+            o->callback((Fl_Callback*)textcolor_cb);
+          }
+          o->end();
+        }
+        { Fl_Box* o = new Fl_Box(90, 135, 300, 40);
+          o->labelsize(11);
           Fl_Group::current()->resizable(o);
         }
         o->end();
@@ -567,81 +568,80 @@
         o->callback((Fl_Callback*)propagate_load);
         o->when(FL_WHEN_NEVER);
         o->hide();
-        { Fl_Group* o = new Fl_Group(90, 35, 300, 130);
+        { Fl_Group* o = new Fl_Group(90, 35, 300, 20, "Class:");
+          o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          { Fl_Group* o = new Fl_Group(90, 35, 300, 20);
-            o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            { Fl_Input* o = new Fl_Input(90, 35, 160, 20, "Class:");
-              o->tooltip("The widget subclass.");
-              o->labelfont(1);
-              o->labelsize(11);
-              o->textfont(4);
-              o->textsize(11);
-              o->callback((Fl_Callback*)subclass_cb, (void*)(4));
-              Fl_Group::current()->resizable(o);
-            }
-            { Fl_Choice* o = new Fl_Choice(250, 35, 140, 20);
-              o->tooltip("The widget subtype.");
-              o->box(FL_THIN_UP_BOX);
-              o->down_box(FL_BORDER_BOX);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)subtype_cb);
-            }
-            o->end();
-          }
-          { Fl_Group* o = new Fl_Group(90, 60, 300, 20);
-            o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            { Fl_Input* o = new Fl_Input(90, 60, 240, 20, "Name:");
-              o->tooltip("The name of the widget.");
-              o->labelfont(1);
-              o->labelsize(11);
-              o->textsize(11);
-              o->callback((Fl_Callback*)name_cb);
-              Fl_Group::current()->resizable(o);
-            }
-            { Fl_Light_Button* o = new Fl_Light_Button(330, 60, 60, 20, "public");
-              o->tooltip("Make the widget publicly accessible.");
-              o->selection_color((Fl_Color)1);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)name_public_cb);
-              o->when(FL_WHEN_CHANGED);
-            }
-            o->end();
-          }
-          { Fl_Input* o = v_input[0] = new Fl_Input(90, 85, 300, 20, "Extra Code:");
-            o->tooltip("Extra initialization code for the widget.");
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Input* o = new Fl_Input(90, 35, 160, 20);
+            o->tooltip("The widget subclass.");
             o->labelfont(1);
             o->labelsize(11);
             o->textfont(4);
             o->textsize(11);
-            o->callback((Fl_Callback*)v_input_cb, (void*)(0));
+            o->callback((Fl_Callback*)subclass_cb, (void*)(4));
+            Fl_Group::current()->resizable(o);
           }
-          { Fl_Input* o = v_input[1] = new Fl_Input(90, 105, 300, 20);
-            o->tooltip("Extra initialization code for the widget.");
+          { Fl_Choice* o = new Fl_Choice(250, 35, 140, 20);
+            o->tooltip("The widget subtype.");
+            o->box(FL_THIN_UP_BOX);
+            o->down_box(FL_BORDER_BOX);
             o->labelsize(11);
-            o->textfont(4);
-            o->textsize(11);
-            o->callback((Fl_Callback*)v_input_cb, (void*)(1));
+            o->callback((Fl_Callback*)subtype_cb);
           }
-          { Fl_Input* o = v_input[2] = new Fl_Input(90, 125, 300, 20);
-            o->tooltip("Extra initialization code for the widget.");
+          o->end();
+        }
+        { Fl_Group* o = new Fl_Group(90, 60, 300, 20, "Name:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Input* o = new Fl_Input(90, 60, 240, 20);
+            o->tooltip("The name of the widget.");
+            o->labelfont(1);
             o->labelsize(11);
-            o->textfont(4);
             o->textsize(11);
-            o->callback((Fl_Callback*)v_input_cb, (void*)(2));
+            o->callback((Fl_Callback*)name_cb);
+            Fl_Group::current()->resizable(o);
           }
-          { Fl_Input* o = v_input[3] = new Fl_Input(90, 145, 300, 20);
-            o->tooltip("Extra initialization code for the widget.");
+          { Fl_Light_Button* o = new Fl_Light_Button(330, 60, 60, 20, "public");
+            o->tooltip("Make the widget publicly accessible.");
+            o->selection_color((Fl_Color)1);
             o->labelsize(11);
-            o->textfont(4);
-            o->textsize(11);
-            o->callback((Fl_Callback*)v_input_cb, (void*)(3));
+            o->callback((Fl_Callback*)name_public_cb);
+            o->when(FL_WHEN_CHANGED);
           }
           o->end();
         }
+        { Fl_Input* o = v_input[0] = new Fl_Input(90, 85, 300, 20, "Extra Code:");
+          o->tooltip("Extra initialization code for the widget.");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->textfont(4);
+          o->textsize(11);
+          o->callback((Fl_Callback*)v_input_cb, (void*)(0));
+        }
+        { Fl_Input* o = v_input[1] = new Fl_Input(90, 105, 300, 20);
+          o->tooltip("Extra initialization code for the widget.");
+          o->labelsize(11);
+          o->textfont(4);
+          o->textsize(11);
+          o->callback((Fl_Callback*)v_input_cb, (void*)(1));
+        }
+        { Fl_Input* o = v_input[2] = new Fl_Input(90, 125, 300, 20);
+          o->tooltip("Extra initialization code for the widget.");
+          o->labelsize(11);
+          o->textfont(4);
+          o->textsize(11);
+          o->callback((Fl_Callback*)v_input_cb, (void*)(2));
+        }
+        { Fl_Input* o = v_input[3] = new Fl_Input(90, 145, 300, 20);
+          o->tooltip("Extra initialization code for the widget.");
+          o->labelsize(11);
+          o->textfont(4);
+          o->textsize(11);
+          o->callback((Fl_Callback*)v_input_cb, (void*)(3));
+        }
         { CodeEditor* o = new CodeEditor(90, 170, 300, 90, "Callback:");
           o->tooltip("The callback function or code for the widget.");
           o->box(FL_DOWN_BOX);
@@ -658,55 +658,54 @@
           o->when(FL_WHEN_RELEASE);
           Fl_Group::current()->resizable(o);
         }
-        { Fl_Group* o = new Fl_Group(90, 265, 300, 45);
+        { Fl_Group* o = new Fl_Group(90, 265, 300, 20, "User Data:");
+          o->labelfont(1);
           o->labelsize(11);
           o->callback((Fl_Callback*)propagate_load);
-          { Fl_Group* o = new Fl_Group(90, 265, 300, 20);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Input* o = new Fl_Input(90, 265, 140, 20);
+            o->tooltip("The user data to pass into the callback code.");
+            o->labelfont(1);
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            { Fl_Input* o = new Fl_Input(90, 265, 140, 20, "User Data:");
-              o->tooltip("The user data to pass into the callback code.");
-              o->labelfont(1);
-              o->labelsize(11);
-              o->textfont(4);
-              o->textsize(11);
-              o->callback((Fl_Callback*)user_data_cb);
-              Fl_Group::current()->resizable(o);
-            }
-            { Fl_Choice* o = new Fl_Choice(285, 265, 105, 20, "When:");
-              o->tooltip("When to call the callback function.");
-              o->box(FL_THIN_UP_BOX);
-              o->down_box(FL_BORDER_BOX);
-              o->labelfont(1);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)when_cb);
-              o->when(FL_WHEN_CHANGED);
-              o->menu(whenmenu);
-            }
-            o->end();
+            o->textfont(4);
+            o->textsize(11);
+            o->callback((Fl_Callback*)user_data_cb);
+            Fl_Group::current()->resizable(o);
           }
-          { Fl_Group* o = new Fl_Group(90, 290, 300, 20);
+          { Fl_Choice* o = new Fl_Choice(285, 265, 105, 20, "When:");
+            o->tooltip("When to call the callback function.");
+            o->box(FL_THIN_UP_BOX);
+            o->down_box(FL_BORDER_BOX);
+            o->labelfont(1);
             o->labelsize(11);
-            o->callback((Fl_Callback*)propagate_load);
-            { Fl_Input* o = new Fl_Input(90, 290, 140, 20, "Type:");
-              o->tooltip("The type of the user data.");
-              o->labelfont(1);
-              o->labelsize(11);
-              o->textfont(4);
-              o->textsize(11);
-              o->callback((Fl_Callback*)user_data_type_cb);
-              Fl_Group::current()->resizable(o);
-            }
-            { Fl_Light_Button* o = new Fl_Light_Button(285, 290, 105, 20, "No Change");
-              o->tooltip("Call the callback even if the value has not changed.");
-              o->selection_color((Fl_Color)1);
-              o->labelsize(11);
-              o->callback((Fl_Callback*)when_button_cb);
-            }
-            o->end();
+            o->callback((Fl_Callback*)when_cb);
+            o->when(FL_WHEN_CHANGED);
+            o->menu(whenmenu);
           }
           o->end();
         }
+        { Fl_Group* o = new Fl_Group(90, 290, 300, 20, "Type:");
+          o->labelfont(1);
+          o->labelsize(11);
+          o->callback((Fl_Callback*)propagate_load);
+          o->align(FL_ALIGN_LEFT);
+          { Fl_Input* o = new Fl_Input(90, 290, 140, 20);
+            o->tooltip("The type of the user data.");
+            o->labelfont(1);
+            o->labelsize(11);
+            o->textfont(4);
+            o->textsize(11);
+            o->callback((Fl_Callback*)user_data_type_cb);
+            Fl_Group::current()->resizable(o);
+          }
+          { Fl_Light_Button* o = new Fl_Light_Button(285, 290, 105, 20, "No Change");
+            o->tooltip("Call the callback even if the value has not changed.");
+            o->selection_color((Fl_Color)1);
+            o->labelsize(11);
+            o->callback((Fl_Callback*)when_button_cb);
+          }
+          o->end();
+        }
         o->end();
       }
       o->end();

Modified: branches/branch-1.1/fluid/widget_panel.fl
===================================================================
--- branches/branch-1.1/fluid/widget_panel.fl	2005-08-17 03:44:27 UTC (rev 4521)
+++ branches/branch-1.1/fluid/widget_panel.fl	2005-08-17 11:33:12 UTC (rev 4522)
@@ -39,385 +39,371 @@
   } {
     Fl_Tabs {} {
       callback {propagate_load((Fl_Group *)o,v);} open
-      xywh {3 5 402 310} selection_color 4 labelsize 11 when 0 resizable
+      xywh {5 5 400 310} selection_color 4 labelsize 11 labelcolor 7 when 0 resizable
     } {
       Fl_Group {} {
         label GUI
-        callback propagate_load open
-        xywh {3 25 402 290} labelsize 11 when 0 resizable
+        callback propagate_load selected
+        xywh {5 25 400 290} labelsize 11 when 0 resizable
       } {
         Fl_Group {} {
-          callback propagate_load open
-          xywh {3 25 396 285} labelsize 11 resizable
+          label {Label:}
+          callback propagate_load
+          xywh {90 35 300 20} labelfont 1 labelsize 11 align 4
         } {
-          Fl_Group {} {
-            callback propagate_load
-            xywh {90 35 300 20} labelsize 11
-          } {
-            Fl_Input {} {
-              label {Label:}
-              callback label_cb
-              tooltip {The label text for the widget.} xywh {90 35 180 20} labelfont 1 labelsize 11 when 1 textsize 11 resizable
-            }
-            Fl_Choice {} {
-              callback labeltype_cb open
-              tooltip {The label style for the widget.} xywh {270 35 120 20} box THIN_UP_BOX down_box BORDER_BOX labelsize 11 textsize 11
-              code0 {extern Fl_Menu_Item labeltypemenu[];}
-              code1 {o->menu(labeltypemenu);}
-            } {}
+          Fl_Input {} {
+            callback label_cb
+            tooltip {The label text for the widget.} xywh {90 35 180 20} labelfont 1 labelsize 11 when 1 textsize 11 resizable
           }
-          Fl_Group {} {
-            callback propagate_load
-            xywh {90 60 300 20} labelsize 11
-          } {
-            Fl_Input {} {
-              label {Image:}
-              callback image_cb
-              tooltip {The active image for the widget.} xywh {90 60 230 20} labelfont 1 labelsize 11 textsize 11 resizable
-            }
-            Fl_Button {} {
-              label {Browse...}
-              callback image_browse_cb
-              tooltip {Click to choose the active image.} xywh {320 60 70 20} labelsize 11
-            }
+          Fl_Choice {} {
+            callback labeltype_cb open
+            tooltip {The label style for the widget.} xywh {270 35 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 {90 60 300 20} labelfont 1 labelsize 11 align 4
+        } {
+          Fl_Input {} {
+            callback image_cb
+            tooltip {The active image for the widget.} xywh {90 60 230 20} labelfont 1 labelsize 11 textsize 11 resizable
           }
-          Fl_Group {} {
-            callback propagate_load
-            xywh {90 85 300 20} labelsize 11
-          } {
-            Fl_Input {} {
-              label {Inactive:}
-              callback inactive_cb
-              tooltip {The inactive image for the widget.} xywh {90 85 230 20} labelfont 1 labelsize 11 textsize 11 resizable
-            }
-            Fl_Button {} {
-              label {Browse...}
-              callback inactive_browse_cb
-              tooltip {Click to choose the inactive image.} xywh {320 85 70 20} labelsize 11
-            }
+          Fl_Button {} {
+            label {Browse...}
+            callback image_browse_cb
+            tooltip {Click to choose the active image.} xywh {320 60 70 20} labelsize 11
           }
-          Fl_Group {} {
-            label {Alignment:}
-            callback propagate_load
-            xywh {90 110 300 20} labelfont 1 labelsize 11 align 4
-          } {
-            Fl_Button {} {
-              label Clip
-              user_data FL_ALIGN_CLIP
-              callback align_cb
-              tooltip {Clip the label to the inside of the widget.} xywh {90 110 45 20} type Toggle selection_color 8 labelsize 11 align 16
-            }
-            Fl_Button {} {
-              label Wrap
-              user_data FL_ALIGN_WRAP
-              callback align_cb
-              tooltip {Wrap the label text.} xywh {140 110 50 20} type Toggle selection_color 8 labelsize 11
-            }
-            Fl_Button {} {
-              label {Text/Image}
-              user_data FL_ALIGN_TEXT_OVER_IMAGE
-              callback align_cb
-              tooltip {Show the label text over the image.} xywh {195 110 65 20} type Toggle selection_color 8 labelsize 11
-            }
-            Fl_Button {} {
-              label {@-1<-}
-              user_data FL_ALIGN_LEFT
-              callback align_cb
-              tooltip {Left-align the label.} xywh {265 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8
-            }
-            Fl_Button {} {
-              label {@-1->}
-              user_data FL_ALIGN_RIGHT
-              callback align_cb
-              tooltip {Right-align the label.} xywh {290 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8
-            }
-            Fl_Button {} {
-              label {@-18}
-              user_data FL_ALIGN_TOP
-              callback align_cb
-              tooltip {Top-align the label.} xywh {315 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8
-            }
-            Fl_Button {} {
-              label {@-12}
-              user_data FL_ALIGN_BOTTOM
-              callback align_cb
-              tooltip {Bottom-align the label.} xywh {340 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8
-            }
-            Fl_Button {} {
-              label {@-3square}
-              user_data FL_ALIGN_INSIDE
-              callback align_cb
-              tooltip {Show the label inside the widget.} xywh {365 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8
-            }
-            Fl_Box {} {
-              xywh {390 110 0 20} labelsize 11 resizable
-            }
+        }
+        Fl_Group {} {
+          label {Inactive:}
+          callback propagate_load
+          xywh {90 85 300 20} labelfont 1 labelsize 11 align 4
+        } {
+          Fl_Input {} {
+            callback inactive_cb
+            tooltip {The inactive image for the widget.} xywh {90 85 230 20} labelfont 1 labelsize 11 textsize 11 resizable
           }
-          Fl_Group {} {
-            label {Position:}
-            callback propagate_load
-            xywh {90 145 300 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 {90 145 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 {150 145 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 {210 145 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 {270 145 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11
-            }
-            Fl_Box {} {
-              xywh {330 145 60 20} resizable
-            }
+          Fl_Button {} {
+            label {Browse...}
+            callback inactive_browse_cb
+            tooltip {Click to choose the inactive image.} xywh {320 85 70 20} labelsize 11
           }
-          Fl_Group {} {
-            label {Values:}
-            callback propagate_load selected
-            xywh {90 180 300 20} labelfont 1 labelsize 11 align 4
-          } {
-            Fl_Value_Input {} {
-              label {Size:}
-              callback slider_size_cb
-              tooltip {The size of the slider.} xywh {90 180 55 20} labelsize 11 align 5 step 0.010101 textsize 11
-            }
-            Fl_Value_Input {} {
-              label {Minimum:}
-              callback min_cb
-              tooltip {The minimum value of the widget.} xywh {150 180 55 20} labelsize 11 align 5 textsize 11
-            }
-            Fl_Value_Input {} {
-              label {Maximum:}
-              callback max_cb
-              tooltip {The maximum value of the widget.} xywh {210 180 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 {270 180 55 20} labelsize 11 align 5 textsize 11
-            }
-            Fl_Value_Input {} {
-              label {Value:}
-              callback value_cb
-              tooltip {The current widget value.} xywh {330 180 55 20} labelsize 11 align 5 textsize 11
-            }
-            Fl_Box {} {
-              xywh {390 180 0 20} resizable
-            }
+        }
+        Fl_Group {} {
+          label {Alignment:}
+          callback propagate_load
+          xywh {90 110 300 20} labelfont 1 labelsize 11 align 4
+        } {
+          Fl_Button {} {
+            label Clip
+            user_data FL_ALIGN_CLIP
+            callback align_cb
+            tooltip {Clip the label to the inside of the widget.} xywh {90 110 45 20} type Toggle selection_color 8 labelsize 11 align 16
           }
-          Fl_Group {} {
-            label {Size Range:}
-            callback propagate_load
-            xywh {90 180 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 {90 180 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 {150 180 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11
-            }
-            Fl_Button {} {
-              label set
-              callback set_min_size_cb
-              xywh {210 180 25 20} labelsize 11
-            }
-            Fl_Value_Input {} {
-              label {Maximum Size:}
-              callback max_w_cb
-              tooltip {The maximum value of the widget.} xywh {240 180 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 {300 180 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11
-            }
-            Fl_Button {} {
-              label set
-              callback set_max_size_cb
-              xywh {360 180 25 20} labelsize 11
-            }
-            Fl_Box {} {
-              xywh {390 180 0 20} resizable
-            }
+          Fl_Button {} {
+            label Wrap
+            user_data FL_ALIGN_WRAP
+            callback align_cb
+            tooltip {Wrap the label text.} xywh {140 110 50 20} type Toggle selection_color 8 labelsize 11
           }
           Fl_Button {} {
-            label {Shortcut:}
-            callback shortcut_in_cb
-            tooltip {The shortcut key for the widget.} xywh {90 205 300 20} box DOWN_BOX color 7 selection_color 7 labelfont 1 labelsize 11 align 4
-            code0 {\#include "Shortcut_Button.h"}
-            class Shortcut_Button
+            label {Text/Image}
+            user_data FL_ALIGN_TEXT_OVER_IMAGE
+            callback align_cb
+            tooltip {Show the label text over the image.} xywh {195 110 65 20} type Toggle selection_color 8 labelsize 11
           }
-          Fl_Group {} {
-            callback propagate_load
-            xywh {90 230 300 20} labelsize 11
-          } {
-            Fl_Input {} {
-              label {X Class:}
-              callback xclass_cb
-              tooltip {The X resource class.} xywh {90 230 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 {190 230 60 20} selection_color 1 labelsize 11
-            }
-            Fl_Light_Button {} {
-              label Modal
-              callback modal_cb
-              tooltip {Make the window modal.} xywh {255 230 55 20} selection_color 1 labelsize 11
-            }
-            Fl_Light_Button {} {
-              label Nonmodal
-              callback non_modal_cb
-              tooltip {Make the window non-modal.} xywh {315 230 75 20} selection_color 1 labelsize 11 align 148
-            }
+          Fl_Button {} {
+            label {@-1<-}
+            user_data FL_ALIGN_LEFT
+            callback align_cb
+            tooltip {Left-align the label.} xywh {265 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8
           }
-          Fl_Group {} {
-            label {Attributes:}
-            callback propagate_load
-            xywh {87 255 307 20} labelfont 1 labelsize 11 align 4
-          } {
-            Fl_Light_Button {} {
-              label Visible
-              callback visible_cb
-              tooltip {Show the widget.} xywh {90 255 60 20} selection_color 1 labelsize 11
-            }
-            Fl_Light_Button {} {
-              label Active
-              callback active_cb
-              tooltip {Activate the widget.} xywh {155 255 60 20} selection_color 1 labelsize 11
-            }
-            Fl_Light_Button {} {
-              label Resizable
-              callback resizable_cb
-              tooltip {Make the widget resizable.} xywh {220 255 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 {300 255 70 20} selection_color 1 labelsize 11 when 1
-            }
-            Fl_Box {} {
-              xywh {390 255 0 20} labelsize 11 resizable
-            }
+          Fl_Button {} {
+            label {@-1->}
+            user_data FL_ALIGN_RIGHT
+            callback align_cb
+            tooltip {Right-align the label.} xywh {290 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8
           }
+          Fl_Button {} {
+            label {@-18}
+            user_data FL_ALIGN_TOP
+            callback align_cb
+            tooltip {Top-align the label.} xywh {315 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8
+          }
+          Fl_Button {} {
+            label {@-12}
+            user_data FL_ALIGN_BOTTOM
+            callback align_cb
+            tooltip {Bottom-align the label.} xywh {340 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8
+          }
+          Fl_Button {} {
+            label {@-3square}
+            user_data FL_ALIGN_INSIDE
+            callback align_cb
+            tooltip {Show the label inside the widget.} xywh {365 110 20 20} type Toggle selection_color 8 labelsize 11 labelcolor 8
+          }
+          Fl_Box {} {
+            xywh {390 110 0 20} labelsize 11 resizable
+          }
+        }
+        Fl_Group {} {
+          label {Position:}
+          callback propagate_load
+          xywh {90 145 300 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 {90 145 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 {150 145 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 {210 145 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 {270 145 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11
+          }
+          Fl_Box {} {
+            xywh {330 145 60 20} resizable
+          }
+        }
+        Fl_Group {} {
+          label {Values:}
+          callback propagate_load
+          xywh {90 180 300 20} labelfont 1 labelsize 11 align 4
+        } {
+          Fl_Value_Input {} {
+            label {Size:}
+            callback slider_size_cb
+            tooltip {The size of the slider.} xywh {90 180 55 20} labelsize 11 align 5 step 0.010101 textsize 11
+          }
+          Fl_Value_Input {} {
+            label {Minimum:}
+            callback min_cb
+            tooltip {The minimum value of the widget.} xywh {150 180 55 20} labelsize 11 align 5 textsize 11
+          }
+          Fl_Value_Input {} {
+            label {Maximum:}
+            callback max_cb
+            tooltip {The maximum value of the widget.} xywh {210 180 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 {270 180 55 20} labelsize 11 align 5 textsize 11
+          }
+          Fl_Value_Input {} {
+            label {Value:}
+            callback value_cb
+            tooltip {The current widget value.} xywh {330 180 55 20} labelsize 11 align 5 textsize 11
+          }
+          Fl_Box {} {
+            xywh {390 180 0 20} resizable
+          }
+        }
+        Fl_Group {} {
+          label {Size Range:}
+          callback propagate_load
+          xywh {90 180 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 {90 180 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 {150 180 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11
+          }
+          Fl_Button {} {
+            label set
+            callback set_min_size_cb
+            xywh {210 180 25 20} labelsize 11
+          }
+          Fl_Value_Input {} {
+            label {Maximum Size:}
+            callback max_w_cb
+            tooltip {The maximum value of the widget.} xywh {240 180 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 {300 180 55 20} labelsize 11 align 5 maximum 2048 step 1 textsize 11
+          }
+          Fl_Button {} {
+            label set
+            callback set_max_size_cb
+            xywh {360 180 25 20} labelsize 11
+          }
+          Fl_Box {} {
+            xywh {390 180 0 20} resizable
+          }
+        }
+        Fl_Button {} {
+          label {Shortcut:}
+          callback shortcut_in_cb
+          tooltip {The shortcut key for the widget.} xywh {90 205 300 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 {90 230 300 20} labelfont 1 labelsize 11 align 4
+        } {
           Fl_Input {} {
-            label {Tooltip:}
-            callback tooltip_cb
-            tooltip {The tooltip text for the widget.} xywh {90 280 300 20} labelfont 1 labelsize 11 textsize 11
+            label {:}
+            callback xclass_cb
+            tooltip {The X resource class.} xywh {90 230 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 {190 230 60 20} selection_color 1 labelsize 11
+          }
+          Fl_Light_Button {} {
+            label Modal
+            callback modal_cb
+            tooltip {Make the window modal.} xywh {255 230 55 20} selection_color 1 labelsize 11
+          }
+          Fl_Light_Button {} {
+            label Nonmodal
+            callback non_modal_cb
+            tooltip {Make the window non-modal.} xywh {315 230 75 20} selection_color 1 labelsize 11 align 148
+          }
+        }
+        Fl_Group {} {
+          label {Attributes:}
+          callback propagate_load
+          xywh {90 255 305 20} labelfont 1 labelsize 11 align 4
+        } {
+          Fl_Light_Button {} {
+            label Visible
+            callback visible_cb
+            tooltip {Show the widget.} xywh {90 255 60 20} selection_color 1 labelsize 11
+          }
+          Fl_Light_Button {} {
+            label Active
+            callback active_cb
+            tooltip {Activate the widget.} xywh {155 255 60 20} selection_color 1 labelsize 11
+          }
+          Fl_Light_Button {} {
+            label Resizable
+            callback resizable_cb
+            tooltip {Make the widget resizable.} xywh {220 255 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 {300 255 70 20} selection_color 1 labelsize 11 when 1
+          }
           Fl_Box {} {
-            xywh {90 300 300 5} labelsize 11 resizable
+            xywh {390 255 0 20} labelsize 11 resizable
           }
         }
+        Fl_Input {} {
+          label {Tooltip:}
+          callback tooltip_cb
+          tooltip {The tooltip text for the widget.} xywh {90 280 300 20} labelfont 1 labelsize 11 textsize 11
+        }
+        Fl_Box {} {
+          xywh {90 300 300 5} labelsize 11 resizable
+        }
       }
       Fl_Group {} {
         label Style
         callback propagate_load
-        xywh {3 25 402 290} labelsize 11 when 0 hide
+        xywh {5 25 400 290} labelsize 11 when 0 hide
       } {
         Fl_Group {} {
-          callback propagate_load
-          xywh {3 25 396 178} labelsize 11 resizable
+          label {Label Font:}
+          callback propagate_load open
+          xywh {90 35 300 20} labelfont 1 labelsize 11 align 4
         } {
-          Fl_Group {} {
-            callback propagate_load
-            xywh {90 35 300 95} labelsize 11
-          } {
-            Fl_Group {} {
-              callback propagate_load
-              xywh {90 35 300 20} labelsize 11
-            } {
-              Fl_Choice {} {
-                label {Label Font:}
-                callback labelfont_cb open
-                tooltip {The style of the label text.} xywh {90 35 160 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 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 {250 35 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 {300 35 90 20} labelsize 11
-              }
-            }
-            Fl_Group {} {
-              callback propagate_load
-              xywh {90 60 300 20} labelsize 11
-            } {
-              Fl_Choice {} {
-                label {Box:}
-                callback box_cb open
-                tooltip {The "up" box of the widget.} xywh {90 60 210 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 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 {300 60 90 20} labelsize 11
-              }
-            }
-            Fl_Group {} {
-              callback propagate_load
-              xywh {90 85 300 20} labelsize 11
-            } {
-              Fl_Choice {} {
-                label {Down Box:}
-                callback down_box_cb open
-                tooltip {The "down" box of the widget.} xywh {90 85 210 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 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 {300 85 90 20} labelsize 11
-              }
-            }
-            Fl_Group {} {
-              callback propagate_load
-              xywh {90 110 300 20} labelsize 11
-            } {
-              Fl_Choice {} {
-                label {Text Font:}
-                callback textfont_cb open
-                tooltip {The value text style.} xywh {90 110 160 20} box DOWN_BOX down_box BORDER_BOX labelfont 1 labelsize 11 resizable
-                code0 {extern Fl_Menu_Item fontmenu[];}
-                code1 {o->menu(fontmenu);}
-              } {}
-              Fl_Value_Input {} {
-                callback textsize_cb
-                tooltip {The value text size.} xywh {250 110 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 {300 110 90 20} labelsize 11
-              }
-            }
+          Fl_Choice {} {
+            callback labelfont_cb open
+            tooltip {The style of the label text.} xywh {90 35 160 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 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 {250 35 50 20} labelsize 11 maximum 100 step 1 value 14 textsize 11
           }
-          Fl_Box {} {
-            xywh {90 135 300 40} labelsize 11 resizable
+          Fl_Button {} {
+            label {Label Color}
+            callback labelcolor_cb
+            tooltip {The color of the label text.} xywh {300 35 90 20} labelsize 11
           }
         }
+        Fl_Group {} {
+          label {Box:}
+          callback propagate_load open
+          xywh {90 60 300 20} labelfont 1 labelsize 11 align 4
+        } {
+          Fl_Choice {} {
+            callback box_cb open
+            tooltip {The "up" box of the widget.} xywh {90 60 210 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 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 {300 60 90 20} labelsize 11
+          }
+        }
+        Fl_Group {} {
+          label {Down Box:}
+          callback propagate_load open
+          xywh {90 85 300 20} labelfont 1 labelsize 11 align 4
+        } {
+          Fl_Choice {} {
+            callback down_box_cb open
+            tooltip {The "down" box of the widget.} xywh {90 85 210 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 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 {300 85 90 20} labelsize 11
+          }
+        }
+        Fl_Group {} {
+          label {Text Font:}
+          callback propagate_load open
+          xywh {90 110 300 20} labelfont 1 labelsize 11 align 4
+        } {
+          Fl_Choice {} {
+            callback textfont_cb open
+            tooltip {The value text style.} xywh {90 110 160 20} box DOWN_BOX down_box BORDER_BOX labelfont 1 labelsize 11 resizable
+            code0 {extern Fl_Menu_Item fontmenu[];}
+            code1 {o->menu(fontmenu);}
+          } {}
+          Fl_Value_Input {} {
+            callback textsize_cb
+            tooltip {The value text size.} xywh {250 110 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 {300 110 90 20} labelsize 11
+          }
+        }
+        Fl_Box {} {
+          xywh {90 135 300 40} labelsize 11 resizable
+        }
       }
       Fl_Group {} {
         label {C++}
@@ -425,61 +411,56 @@
         xywh {5 25 400 290} labelsize 11 when 0 hide
       } {
         Fl_Group {} {
+          label {Class:}
           callback propagate_load
-          xywh {90 35 300 130} labelsize 11
+          xywh {90 35 300 20} labelfont 1 labelsize 11 align 4
         } {
-          Fl_Group {} {
-            callback propagate_load open
-            xywh {90 35 300 20} labelsize 11
-          } {
-            Fl_Input {} {
-              label {Class:}
-              user_data 4
-              callback subclass_cb
-              tooltip {The widget subclass.} xywh {90 35 160 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable
-            }
-            Fl_Choice {} {
-              callback subtype_cb open
-              tooltip {The widget subtype.} xywh {250 35 140 20} box THIN_UP_BOX down_box BORDER_BOX labelsize 11
-            } {}
+          Fl_Input {} {
+            user_data 4
+            callback subclass_cb
+            tooltip {The widget subclass.} xywh {90 35 160 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable
           }
-          Fl_Group {} {
-            callback propagate_load open
-            xywh {90 60 300 20} labelsize 11
-          } {
-            Fl_Input {} {
-              label {Name:}
-              callback name_cb
-              tooltip {The name of the widget.} xywh {90 60 240 20} labelfont 1 labelsize 11 textsize 11 resizable
-            }
-            Fl_Light_Button {} {
-              label public
-              callback name_public_cb
-              tooltip {Make the widget publicly accessible.} xywh {330 60 60 20} selection_color 1 labelsize 11 when 1
-            }
+          Fl_Choice {} {
+            callback subtype_cb open
+            tooltip {The widget subtype.} xywh {250 35 140 20} box THIN_UP_BOX down_box BORDER_BOX labelsize 11
+          } {}
+        }
+        Fl_Group {} {
+          label {Name:}
+          callback propagate_load
+          xywh {90 60 300 20} labelfont 1 labelsize 11 align 4
+        } {
+          Fl_Input {} {
+            callback name_cb
+            tooltip {The name of the widget.} xywh {90 60 240 20} labelfont 1 labelsize 11 textsize 11 resizable
           }
-          Fl_Input {v_input[0]} {
-            label {Extra Code:}
-            user_data 0
-            callback v_input_cb
-            tooltip {Extra initialization code for the widget.} xywh {90 85 300 20} labelfont 1 labelsize 11 textfont 4 textsize 11
+          Fl_Light_Button {} {
+            label public
+            callback name_public_cb
+            tooltip {Make the widget publicly accessible.} xywh {330 60 60 20} selection_color 1 labelsize 11 when 1
           }
-          Fl_Input {v_input[1]} {
-            user_data 1
-            callback v_input_cb
-            tooltip {Extra initialization code for the widget.} xywh {90 105 300 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 {90 125 300 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 {90 145 300 20} labelsize 11 textfont 4 textsize 11
-          }
         }
+        Fl_Input {v_input[0]} {
+          label {Extra Code:}
+          user_data 0
+          callback v_input_cb
+          tooltip {Extra initialization code for the widget.} xywh {90 85 300 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 {90 105 300 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 {90 125 300 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 {90 145 300 20} labelsize 11 textfont 4 textsize 11
+        }
         Fl_Text_Editor {} {
           label {Callback:}
           callback callback_cb
@@ -488,41 +469,36 @@
           class CodeEditor
         }
         Fl_Group {} {
-          callback propagate_load open
-          xywh {90 265 300 45} labelsize 11
+          label {User Data:}
+          callback propagate_load
+          xywh {90 265 300 20} labelfont 1 labelsize 11 align 4
         } {
-          Fl_Group {} {
-            callback propagate_load open
-            xywh {90 265 300 20} labelsize 11
-          } {
-            Fl_Input {} {
-              label {User Data:}
-              callback user_data_cb
-              tooltip {The user data to pass into the callback code.} xywh {90 265 140 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 {285 265 105 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 when 1
-              code0 {extern Fl_Menu_Item whenmenu[];}
-              code1 {o->menu(whenmenu);}
-            } {}
+          Fl_Input {} {
+            callback user_data_cb
+            tooltip {The user data to pass into the callback code.} xywh {90 265 140 20} labelfont 1 labelsize 11 textfont 4 textsize 11 resizable
           }
-          Fl_Group {} {
-            callback propagate_load open
-            xywh {90 290 300 20} labelsize 11
-          } {
-            Fl_Input {} {
-              label {Type:}
-              callback user_data_type_cb
-              tooltip {The type of the user data.} xywh {90 290 140 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 {285 290 105 20} selection_color 1 labelsize 11
-            }
+          Fl_Choice {} {
+            label {When:}
+            callback when_cb open
+            tooltip {When to call the callback function.} xywh {285 265 105 20} box THIN_UP_BOX down_box BORDER_BOX labelfont 1 labelsize 11 when 1
+            code0 {extern Fl_Menu_Item whenmenu[];}
+            code1 {o->menu(whenmenu);}
+          } {}
+        }
+        Fl_Group {} {
+          label {Type:}
+          callback propagate_load
+          xywh {90 290 300 20} labelfont 1 labelsize 11 align 4
+        } {
+          Fl_Input {} {
+            callback user_data_type_cb
+            tooltip {The type of the user data.} xywh {90 290 140 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 {285 290 105 20} selection_color 1 labelsize 11
+          }
         }
       }
     }

Direct Link to Message ]
 
     
Previous Message ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2025 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.