[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 Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.commit  ]
 
Previous Message ]Next Message ]

[Library] r4522 - in branches/branch-1.1: . fluid fltk-dev Aug 17, 2005 top right image
 
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 ]
 
bottom left image   bottom right image
Previous Message ]Next Message ]
 
 

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