fltk 1.3.0rc3
About: FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. Release candidate.
  SfR Fresh Dox: fltk-1.3.0rc3-source.tar.gz ("inofficial" and yet experimental doxygen-generated source code documentation)  

widget_panel.cxx

Go to the documentation of this file.
00001 //
00002 // "$Id: widget_panel.cxx 7903 2010-11-28 21:06:39Z matt $"
00003 //
00004 // Widget panel for the Fast Light Tool Kit (FLTK).
00005 //
00006 // Copyright 1998-2010 by Bill Spitzak and others.
00007 //
00008 // This library is free software; you can redistribute it and/or
00009 // modify it under the terms of the GNU Library General Public
00010 // License as published by the Free Software Foundation; either
00011 // version 2 of the License, or (at your option) any later version.
00012 //
00013 // This library is distributed in the hope that it will be useful,
00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016 // Library General Public License for more details.
00017 //
00018 // You should have received a copy of the GNU Library General Public
00019 // License along with this library; if not, write to the Free Software
00020 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00021 // USA.
00022 //
00023 // Please report all bugs and problems on the following page:
00024 //
00025 //     http://www.fltk.org/str.php
00026 //
00027 
00028 // generated by Fast Light User Interface Designer (fluid) version 1.0300
00029 
00030 #include "widget_panel.h"
00031 
00032 static void cb_(Fl_Tabs* o, void* v) {
00033   propagate_load((Fl_Group *)o,v);
00034 }
00035 
00036 Fl_Menu_Item menu_[] = {
00037  {"   Image Alignment   ", 0,  0, (void*)(0xFFFFFFFF), 1, FL_NORMAL_LABEL, 2, 11, 0},
00038  {"image over text", 0,  0, (void*)(FL_ALIGN_IMAGE_OVER_TEXT), 0, FL_NORMAL_LABEL, 0, 11, 0},
00039  {"text over image", 0,  0, (void*)(FL_ALIGN_TEXT_OVER_IMAGE), 0, FL_NORMAL_LABEL, 0, 11, 0},
00040  {"text next to image", 0,  0, (void*)(FL_ALIGN_TEXT_NEXT_TO_IMAGE), 0, FL_NORMAL_LABEL, 0, 11, 0},
00041  {"image next to text", 0,  0, (void*)(FL_ALIGN_IMAGE_NEXT_TO_TEXT), 0, FL_NORMAL_LABEL, 0, 11, 0},
00042  {"image is backdrop", 0,  0, (void*)(FL_ALIGN_IMAGE_BACKDROP), 0, FL_NORMAL_LABEL, 0, 11, 0},
00043  {0,0,0,0,0,0,0,0,0}
00044 };
00045 
00046 Fl_Menu_Item menu_1[] = {
00047  {"   Inside && Outside   ", 0,  0, (void*)(0xFFFFFFFF), 1, FL_NORMAL_LABEL, 2, 11, 0},
00048  {"top left", 0,  0, (void*)(FL_ALIGN_TOP_LEFT), 0, FL_NORMAL_LABEL, 0, 11, 0},
00049  {"top", 0,  0, (void*)(FL_ALIGN_TOP), 0, FL_NORMAL_LABEL, 0, 11, 0},
00050  {"top right", 0,  0, (void*)(FL_ALIGN_TOP_RIGHT), 0, FL_NORMAL_LABEL, 0, 11, 0},
00051  {"left", 0,  0, (void*)(FL_ALIGN_LEFT), 0, FL_NORMAL_LABEL, 0, 11, 0},
00052  {"center", 0,  0, (void*)(FL_ALIGN_CENTER), 0, FL_NORMAL_LABEL, 0, 11, 0},
00053  {"right", 0,  0, (void*)(FL_ALIGN_RIGHT), 0, FL_NORMAL_LABEL, 0, 11, 0},
00054  {"bottom left", 0,  0, (void*)(FL_ALIGN_BOTTOM_LEFT), 0, FL_NORMAL_LABEL, 0, 11, 0},
00055  {"bottom", 0,  0, (void*)(FL_ALIGN_BOTTOM), 0, FL_NORMAL_LABEL, 0, 11, 0},
00056  {"bottom right", 0,  0, (void*)(FL_ALIGN_BOTTOM_RIGHT), 128, FL_NORMAL_LABEL, 0, 11, 0},
00057  {"   Outside Alignment   ", 0,  0, (void*)(0xFFFFFFFF), 1, FL_NORMAL_LABEL, 2, 11, 0},
00058  {"left top", 0,  0, (void*)(FL_ALIGN_LEFT_TOP), 0, FL_NORMAL_LABEL, 0, 11, 0},
00059  {"right top", 0,  0, (void*)(FL_ALIGN_RIGHT_TOP), 0, FL_NORMAL_LABEL, 0, 11, 0},
00060  {"left bottom", 0,  0, (void*)(FL_ALIGN_LEFT_BOTTOM), 0, FL_NORMAL_LABEL, 0, 11, 0},
00061  {"right bottom", 0,  0, (void*)(FL_ALIGN_RIGHT_BOTTOM), 0, FL_NORMAL_LABEL, 0, 11, 0},
00062  {0,0,0,0,0,0,0,0,0}
00063 };
00064 
00065 Fl_Value_Input *widget_x_input=(Fl_Value_Input *)0;
00066 
00067 Fl_Value_Input *widget_y_input=(Fl_Value_Input *)0;
00068 
00069 Fl_Value_Input *widget_w_input=(Fl_Value_Input *)0;
00070 
00071 Fl_Value_Input *widget_h_input=(Fl_Value_Input *)0;
00072 
00073 Fl_Menu_Item menu_2[] = {
00074  {"private", 0,  0, (void*)(0), 0, FL_NORMAL_LABEL, 0, 11, 0},
00075  {"public", 0,  0, (void*)(1), 0, FL_NORMAL_LABEL, 0, 11, 0},
00076  {"protected", 0,  0, (void*)(2), 0, FL_NORMAL_LABEL, 0, 11, 0},
00077  {0,0,0,0,0,0,0,0,0}
00078 };
00079 
00080 Fl_Menu_Item menu_3[] = {
00081  {"local", 0,  0, (void*)(0), 0, FL_NORMAL_LABEL, 0, 11, 0},
00082  {"global", 0,  0, (void*)(1), 0, FL_NORMAL_LABEL, 0, 11, 0},
00083  {0,0,0,0,0,0,0,0,0}
00084 };
00085 
00086 Fl_Input *v_input[4]={(Fl_Input *)0};
00087 
00088 Fl_Button *wLiveMode=(Fl_Button *)0;
00089 
00090 Fl_Double_Window* make_widget_panel() {
00091   Fl_Double_Window* w;
00092   { Fl_Double_Window* o = new Fl_Double_Window(420, 360);
00093     w = o;
00094     o->labelsize(11);
00095     o->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
00096     o->hotspot(o);
00097     { Fl_Tabs* o = new Fl_Tabs(10, 10, 400, 310);
00098       o->selection_color((Fl_Color)12);
00099       o->labelsize(11);
00100       o->labelcolor(FL_BACKGROUND2_COLOR);
00101       o->callback((Fl_Callback*)cb_);
00102       o->when(FL_WHEN_NEVER);
00103       { Fl_Group* o = new Fl_Group(10, 30, 400, 290, "GUI");
00104         o->labelsize(11);
00105         o->callback((Fl_Callback*)propagate_load);
00106         o->when(FL_WHEN_NEVER);
00107         { Fl_Group* o = new Fl_Group(95, 40, 309, 20, "Label:");
00108           o->labelfont(1);
00109           o->labelsize(11);
00110           o->callback((Fl_Callback*)propagate_load);
00111           o->align(Fl_Align(FL_ALIGN_LEFT));
00112           { Fl_Input* o = new Fl_Input(95, 40, 190, 20);
00113             o->tooltip("The label text for the widget.\nUse Ctrl-J for newlines.");
00114             o->labelfont(1);
00115             o->labelsize(11);
00116             o->textsize(11);
00117             o->callback((Fl_Callback*)label_cb);
00118             o->when(FL_WHEN_CHANGED);
00119             Fl_Group::current()->resizable(o);
00120           } // Fl_Input* o
00121           { Fl_Choice* o = new Fl_Choice(284, 40, 120, 20);
00122             o->tooltip("The label style for the widget.");
00123             o->box(FL_THIN_UP_BOX);
00124             o->down_box(FL_BORDER_BOX);
00125             o->labelfont(1);
00126             o->labelsize(11);
00127             o->textsize(11);
00128             o->callback((Fl_Callback*)labeltype_cb);
00129             o->menu(labeltypemenu);
00130           } // Fl_Choice* o
00131           o->end();
00132         } // Fl_Group* o
00133         { Fl_Group* o = new Fl_Group(95, 65, 309, 20, "Image:");
00134           o->labelfont(1);
00135           o->labelsize(11);
00136           o->callback((Fl_Callback*)propagate_load);
00137           o->align(Fl_Align(FL_ALIGN_LEFT));
00138           { Fl_Input* o = new Fl_Input(95, 65, 240, 20);
00139             o->tooltip("The active image for the widget.");
00140             o->labelfont(1);
00141             o->labelsize(11);
00142             o->textsize(11);
00143             o->callback((Fl_Callback*)image_cb);
00144             Fl_Group::current()->resizable(o);
00145           } // Fl_Input* o
00146           { Fl_Button* o = new Fl_Button(334, 65, 70, 20, "Browse...");
00147             o->tooltip("Click to choose the active image.");
00148             o->labelsize(11);
00149             o->callback((Fl_Callback*)image_browse_cb);
00150           } // Fl_Button* o
00151           o->end();
00152         } // Fl_Group* o
00153         { Fl_Group* o = new Fl_Group(95, 90, 309, 20, "Inactive:");
00154           o->labelfont(1);
00155           o->labelsize(11);
00156           o->callback((Fl_Callback*)propagate_load);
00157           o->align(Fl_Align(FL_ALIGN_LEFT));
00158           { Fl_Input* o = new Fl_Input(95, 90, 240, 20);
00159             o->tooltip("The inactive image for the widget.");
00160             o->labelfont(1);
00161             o->labelsize(11);
00162             o->textsize(11);
00163             o->callback((Fl_Callback*)inactive_cb);
00164             Fl_Group::current()->resizable(o);
00165           } // Fl_Input* o
00166           { Fl_Button* o = new Fl_Button(334, 90, 70, 20, "Browse...");
00167             o->tooltip("Click to choose the inactive image.");
00168             o->labelsize(11);
00169             o->callback((Fl_Callback*)inactive_browse_cb);
00170           } // Fl_Button* o
00171           o->end();
00172         } // Fl_Group* o
00173         { Fl_Group* o = new Fl_Group(95, 115, 300, 20, "Alignment:");
00174           o->labelfont(1);
00175           o->labelsize(11);
00176           o->callback((Fl_Callback*)propagate_load);
00177           o->align(Fl_Align(FL_ALIGN_LEFT));
00178           { Fl_Button* o = new Fl_Button(95, 115, 30, 20, "Clip");
00179             o->tooltip("Clip the label to the inside of the widget.");
00180             o->type(1);
00181             o->selection_color(FL_INACTIVE_COLOR);
00182             o->labelsize(11);
00183             o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_CLIP));
00184             o->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
00185           } // Fl_Button* o
00186           { Fl_Button* o = new Fl_Button(130, 115, 30, 20, "Wrap");
00187             o->tooltip("Wrap the label text.");
00188             o->type(1);
00189             o->selection_color(FL_INACTIVE_COLOR);
00190             o->labelsize(11);
00191             o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_WRAP));
00192           } // Fl_Button* o
00193           { Fl_Button* o = new Fl_Button(270, 115, 20, 20, "@-1<-");
00194             o->tooltip("Left-align the label.");
00195             o->type(1);
00196             o->selection_color(FL_INACTIVE_COLOR);
00197             o->labelsize(11);
00198             o->labelcolor(FL_INACTIVE_COLOR);
00199             o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_LEFT));
00200             o->hide();
00201           } // Fl_Button* o
00202           { Fl_Button* o = new Fl_Button(295, 115, 20, 20, "@-1->");
00203             o->tooltip("Right-align the label.");
00204             o->type(1);
00205             o->selection_color(FL_INACTIVE_COLOR);
00206             o->labelsize(11);
00207             o->labelcolor(FL_INACTIVE_COLOR);
00208             o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_RIGHT));
00209             o->hide();
00210           } // Fl_Button* o
00211           { Fl_Button* o = new Fl_Button(320, 115, 20, 20, "@-18");
00212             o->tooltip("Top-align the label.");
00213             o->type(1);
00214             o->selection_color(FL_INACTIVE_COLOR);
00215             o->labelsize(11);
00216             o->labelcolor(FL_INACTIVE_COLOR);
00217             o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_TOP));
00218             o->hide();
00219           } // Fl_Button* o
00220           { Fl_Button* o = new Fl_Button(345, 115, 20, 20, "@-12");
00221             o->tooltip("Bottom-align the label.");
00222             o->type(1);
00223             o->selection_color(FL_INACTIVE_COLOR);
00224             o->labelsize(11);
00225             o->labelcolor(FL_INACTIVE_COLOR);
00226             o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_BOTTOM));
00227             o->hide();
00228           } // Fl_Button* o
00229           { Fl_Choice* o = new Fl_Choice(165, 115, 110, 20);
00230             o->down_box(FL_BORDER_BOX);
00231             o->labelsize(11);
00232             o->textsize(11);
00233             o->callback((Fl_Callback*)align_text_image_cb);
00234             o->menu(menu_);
00235           } // Fl_Choice* o
00236           { Fl_Choice* o = new Fl_Choice(280, 115, 85, 20);
00237             o->down_box(FL_BORDER_BOX);
00238             o->labelsize(11);
00239             o->textsize(11);
00240             o->callback((Fl_Callback*)align_position_cb);
00241             o->menu(menu_1);
00242           } // Fl_Choice* o
00243           { Fl_Button* o = new Fl_Button(370, 115, 20, 20, "@-3square");
00244             o->tooltip("Show the label inside the widget.");
00245             o->type(1);
00246             o->selection_color(FL_INACTIVE_COLOR);
00247             o->labelsize(11);
00248             o->labelcolor(FL_INACTIVE_COLOR);
00249             o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_INSIDE));
00250           } // Fl_Button* o
00251           { Fl_Box* o = new Fl_Box(395, 115, 0, 20);
00252             o->labelsize(11);
00253             Fl_Group::current()->resizable(o);
00254           } // Fl_Box* o
00255           o->end();
00256         } // Fl_Group* o
00257         { Fl_Group* o = new Fl_Group(95, 150, 300, 20, "Position:");
00258           o->labelfont(1);
00259           o->labelsize(11);
00260           o->callback((Fl_Callback*)propagate_load);
00261           o->align(Fl_Align(FL_ALIGN_LEFT));
00262           { widget_x_input = new Fl_Value_Input(95, 150, 55, 20, "X:");
00263             widget_x_input->tooltip("The X position of the widget.");
00264             widget_x_input->labelsize(11);
00265             widget_x_input->maximum(2048);
00266             widget_x_input->step(1);
00267             widget_x_input->textsize(11);
00268             widget_x_input->callback((Fl_Callback*)x_cb);
00269             widget_x_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00270           } // Fl_Value_Input* widget_x_input
00271           { widget_y_input = new Fl_Value_Input(155, 150, 55, 20, "Y:");
00272             widget_y_input->tooltip("The Y position of the widget.");
00273             widget_y_input->labelsize(11);
00274             widget_y_input->maximum(2048);
00275             widget_y_input->step(1);
00276             widget_y_input->textsize(11);
00277             widget_y_input->callback((Fl_Callback*)y_cb);
00278             widget_y_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00279           } // Fl_Value_Input* widget_y_input
00280           { widget_w_input = new Fl_Value_Input(215, 150, 55, 20, "Width:");
00281             widget_w_input->tooltip("The width of the widget.");
00282             widget_w_input->labelsize(11);
00283             widget_w_input->maximum(2048);
00284             widget_w_input->step(1);
00285             widget_w_input->textsize(11);
00286             widget_w_input->callback((Fl_Callback*)w_cb);
00287             widget_w_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00288           } // Fl_Value_Input* widget_w_input
00289           { widget_h_input = new Fl_Value_Input(275, 150, 55, 20, "Height:");
00290             widget_h_input->tooltip("The height of the widget.");
00291             widget_h_input->labelsize(11);
00292             widget_h_input->maximum(2048);
00293             widget_h_input->step(1);
00294             widget_h_input->textsize(11);
00295             widget_h_input->callback((Fl_Callback*)h_cb);
00296             widget_h_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00297           } // Fl_Value_Input* widget_h_input
00298           { Fl_Light_Button* o = new Fl_Light_Button(335, 150, 55, 20, "Relative");
00299             o->tooltip("If set, widgets inside a widget class of type Fl_Group are repositioned relat\
00300 ive to the origin at construction time");
00301             o->labelsize(11);
00302             o->callback((Fl_Callback*)wc_relative_cb);
00303           } // Fl_Light_Button* o
00304           { Fl_Box* o = new Fl_Box(394, 150, 1, 20);
00305             Fl_Group::current()->resizable(o);
00306           } // Fl_Box* o
00307           o->end();
00308         } // Fl_Group* o
00309         { Fl_Group* o = new Fl_Group(95, 185, 300, 20, "Values:");
00310           o->labelfont(1);
00311           o->labelsize(11);
00312           o->callback((Fl_Callback*)propagate_load);
00313           o->align(Fl_Align(FL_ALIGN_LEFT));
00314           { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Size:");
00315             o->tooltip("The size of the slider.");
00316             o->labelsize(11);
00317             o->step(0.010101);
00318             o->textsize(11);
00319             o->callback((Fl_Callback*)slider_size_cb);
00320             o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00321           } // Fl_Value_Input* o
00322           { Fl_Value_Input* o = new Fl_Value_Input(155, 185, 55, 20, "Minimum:");
00323             o->tooltip("The minimum value of the widget.");
00324             o->labelsize(11);
00325             o->textsize(11);
00326             o->callback((Fl_Callback*)min_cb);
00327             o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00328           } // Fl_Value_Input* o
00329           { Fl_Value_Input* o = new Fl_Value_Input(215, 185, 55, 20, "Maximum:");
00330             o->tooltip("The maximum value of the widget.");
00331             o->labelsize(11);
00332             o->value(1);
00333             o->textsize(11);
00334             o->callback((Fl_Callback*)max_cb);
00335             o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00336           } // Fl_Value_Input* o
00337           { Fl_Value_Input* o = new Fl_Value_Input(275, 185, 55, 20, "Step:");
00338             o->tooltip("The resolution of the widget value.");
00339             o->labelsize(11);
00340             o->textsize(11);
00341             o->callback((Fl_Callback*)step_cb);
00342             o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00343           } // Fl_Value_Input* o
00344           { Fl_Value_Input* o = new Fl_Value_Input(335, 185, 55, 20, "Value:");
00345             o->tooltip("The current widget value.");
00346             o->labelsize(11);
00347             o->textsize(11);
00348             o->callback((Fl_Callback*)value_cb);
00349             o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00350           } // Fl_Value_Input* o
00351           { Fl_Box* o = new Fl_Box(395, 185, 0, 20);
00352             Fl_Group::current()->resizable(o);
00353           } // Fl_Box* o
00354           o->end();
00355         } // Fl_Group* o
00356         { Fl_Group* o = new Fl_Group(95, 185, 300, 20, "Size Range:");
00357           o->labelfont(1);
00358           o->labelsize(11);
00359           o->callback((Fl_Callback*)propagate_load);
00360           o->align(Fl_Align(FL_ALIGN_LEFT));
00361           o->hide();
00362           { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Minimum Size:");
00363             o->tooltip("The size of the slider.");
00364             o->labelsize(11);
00365             o->maximum(2048);
00366             o->step(1);
00367             o->textsize(11);
00368             o->callback((Fl_Callback*)min_w_cb);
00369             o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00370           } // Fl_Value_Input* o
00371           { Fl_Value_Input* o = new Fl_Value_Input(155, 185, 55, 20);
00372             o->tooltip("The minimum value of the widget.");
00373             o->labelsize(11);
00374             o->maximum(2048);
00375             o->step(1);
00376             o->textsize(11);
00377             o->callback((Fl_Callback*)min_h_cb);
00378             o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00379           } // Fl_Value_Input* o
00380           { Fl_Button* o = new Fl_Button(215, 185, 25, 20, "set");
00381             o->labelsize(11);
00382             o->callback((Fl_Callback*)set_min_size_cb);
00383           } // Fl_Button* o
00384           { Fl_Value_Input* o = new Fl_Value_Input(245, 185, 55, 20, "Maximum Size:");
00385             o->tooltip("The maximum value of the widget.");
00386             o->labelsize(11);
00387             o->maximum(2048);
00388             o->step(1);
00389             o->textsize(11);
00390             o->callback((Fl_Callback*)max_w_cb);
00391             o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00392           } // Fl_Value_Input* o
00393           { Fl_Value_Input* o = new Fl_Value_Input(305, 185, 55, 20);
00394             o->tooltip("The resolution of the widget value.");
00395             o->labelsize(11);
00396             o->maximum(2048);
00397             o->step(1);
00398             o->textsize(11);
00399             o->callback((Fl_Callback*)max_h_cb);
00400             o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
00401           } // Fl_Value_Input* o
00402           { Fl_Button* o = new Fl_Button(365, 185, 25, 20, "set");
00403             o->labelsize(11);
00404             o->callback((Fl_Callback*)set_max_size_cb);
00405           } // Fl_Button* o
00406           { Fl_Box* o = new Fl_Box(395, 185, 0, 20);
00407             Fl_Group::current()->resizable(o);
00408           } // Fl_Box* o
00409           o->end();
00410         } // Fl_Group* o
00411         { Shortcut_Button* o = new Shortcut_Button(95, 210, 310, 20, "Shortcut:");
00412           o->tooltip("The shortcut key for the widget.");
00413           o->box(FL_DOWN_BOX);
00414           o->color(FL_BACKGROUND2_COLOR);
00415           o->selection_color(FL_BACKGROUND2_COLOR);
00416           o->labeltype(FL_NORMAL_LABEL);
00417           o->labelfont(1);
00418           o->labelsize(11);
00419           o->labelcolor(FL_FOREGROUND_COLOR);
00420           o->callback((Fl_Callback*)shortcut_in_cb);
00421           o->align(Fl_Align(FL_ALIGN_LEFT));
00422           o->when(FL_WHEN_RELEASE);
00423         } // Shortcut_Button* o
00424         { Fl_Group* o = new Fl_Group(95, 235, 300, 20, "X Class:");
00425           o->labelfont(1);
00426           o->labelsize(11);
00427           o->callback((Fl_Callback*)propagate_load);
00428           o->align(Fl_Align(FL_ALIGN_LEFT));
00429           { Fl_Input* o = new Fl_Input(95, 235, 95, 20, ":");
00430             o->tooltip("The X resource class.");
00431             o->labelfont(1);
00432             o->labelsize(11);
00433             o->textsize(11);
00434             o->callback((Fl_Callback*)xclass_cb);
00435             Fl_Group::current()->resizable(o);
00436           } // Fl_Input* o
00437           { Fl_Light_Button* o = new Fl_Light_Button(195, 235, 60, 20, "Border");
00438             o->tooltip("Add a border around the window.");
00439             o->selection_color((Fl_Color)1);
00440             o->labelsize(11);
00441             o->callback((Fl_Callback*)border_cb);
00442           } // Fl_Light_Button* o
00443           { Fl_Light_Button* o = new Fl_Light_Button(260, 235, 55, 20, "Modal");
00444             o->tooltip("Make the window modal.");
00445             o->selection_color((Fl_Color)1);
00446             o->labelsize(11);
00447             o->callback((Fl_Callback*)modal_cb);
00448           } // Fl_Light_Button* o
00449           { Fl_Light_Button* o = new Fl_Light_Button(320, 235, 75, 20, "Nonmodal");
00450             o->tooltip("Make the window non-modal.");
00451             o->selection_color((Fl_Color)1);
00452             o->labelsize(11);
00453             o->callback((Fl_Callback*)non_modal_cb);
00454             o->align(Fl_Align(132|FL_ALIGN_INSIDE));
00455           } // Fl_Light_Button* o
00456           o->end();
00457         } // Fl_Group* o
00458         { Fl_Group* o = new Fl_Group(95, 260, 305, 20, "Attributes:");
00459           o->labelfont(1);
00460           o->labelsize(11);
00461           o->callback((Fl_Callback*)propagate_load);
00462           o->align(Fl_Align(FL_ALIGN_LEFT));
00463           { Fl_Light_Button* o = new Fl_Light_Button(95, 260, 60, 20, "Visible");
00464             o->tooltip("Show the widget.");
00465             o->selection_color((Fl_Color)1);
00466             o->labelsize(11);
00467             o->callback((Fl_Callback*)visible_cb);
00468           } // Fl_Light_Button* o
00469           { Fl_Light_Button* o = new Fl_Light_Button(160, 260, 60, 20, "Active");
00470             o->tooltip("Activate the widget.");
00471             o->selection_color((Fl_Color)1);
00472             o->labelsize(11);
00473             o->callback((Fl_Callback*)active_cb);
00474           } // Fl_Light_Button* o
00475           { Fl_Light_Button* o = new Fl_Light_Button(225, 260, 75, 20, "Resizable");
00476             o->tooltip("Make the widget resizable.");
00477             o->selection_color((Fl_Color)1);
00478             o->labelsize(11);
00479             o->callback((Fl_Callback*)resizable_cb);
00480             o->when(FL_WHEN_CHANGED);
00481           } // Fl_Light_Button* o
00482           { Fl_Light_Button* o = new Fl_Light_Button(305, 260, 70, 20, "Hotspot");
00483             o->tooltip("Center the window under this widget.");
00484             o->selection_color((Fl_Color)1);
00485             o->labelsize(11);
00486             o->callback((Fl_Callback*)hotspot_cb);
00487             o->when(FL_WHEN_CHANGED);
00488           } // Fl_Light_Button* o
00489           { Fl_Box* o = new Fl_Box(395, 260, 0, 20);
00490             o->labelsize(11);
00491             Fl_Group::current()->resizable(o);
00492           } // Fl_Box* o
00493           o->end();
00494         } // Fl_Group* o
00495         { Fl_Input* o = new Fl_Input(95, 285, 310, 20, "Tooltip:");
00496           o->tooltip("The tooltip text for the widget.\nUse Ctrl-J for newlines.");
00497           o->labelfont(1);
00498           o->labelsize(11);
00499           o->textsize(11);
00500           o->callback((Fl_Callback*)tooltip_cb);
00501         } // Fl_Input* o
00502         { Fl_Box* o = new Fl_Box(95, 305, 300, 5);
00503           o->labelsize(11);
00504           Fl_Group::current()->resizable(o);
00505         } // Fl_Box* o
00506         o->end();
00507         Fl_Group::current()->resizable(o);
00508       } // Fl_Group* o
00509       { Fl_Group* o = new Fl_Group(10, 30, 400, 290, "Style");
00510         o->labelsize(11);
00511         o->callback((Fl_Callback*)propagate_load);
00512         o->when(FL_WHEN_NEVER);
00513         o->hide();
00514         { Fl_Group* o = new Fl_Group(95, 40, 309, 20, "Label Font:");
00515           o->labelfont(1);
00516           o->labelsize(11);
00517           o->callback((Fl_Callback*)propagate_load);
00518           o->align(Fl_Align(FL_ALIGN_LEFT));
00519           { Fl_Choice* o = new Fl_Choice(95, 40, 170, 20);
00520             o->tooltip("The style of the label text.");
00521             o->box(FL_THIN_UP_BOX);
00522             o->down_box(FL_BORDER_BOX);
00523             o->labelfont(1);
00524             o->labelsize(11);
00525             o->textsize(11);
00526             o->callback((Fl_Callback*)labelfont_cb);
00527             Fl_Group::current()->resizable(o);
00528             o->menu(fontmenu);
00529           } // Fl_Choice* o
00530           { Fl_Value_Input* o = new Fl_Value_Input(264, 40, 50, 20);
00531             o->tooltip("The size of the label text.");
00532             o->labelsize(11);
00533             o->maximum(100);
00534             o->step(1);
00535             o->value(14);
00536             o->textsize(11);
00537             o->callback((Fl_Callback*)labelsize_cb);
00538           } // Fl_Value_Input* o
00539           { Fl_Button* o = new Fl_Button(314, 40, 90, 20, "Label Color");
00540             o->tooltip("The color of the label text.");
00541             o->labelsize(11);
00542             o->callback((Fl_Callback*)labelcolor_cb);
00543           } // Fl_Button* o
00544           o->end();
00545         } // Fl_Group* o
00546         { Fl_Group* o = new Fl_Group(95, 65, 309, 20, "Box:");
00547           o->labelfont(1);
00548           o->labelsize(11);
00549           o->callback((Fl_Callback*)propagate_load);
00550           o->align(Fl_Align(FL_ALIGN_LEFT));
00551           { Fl_Choice* o = new Fl_Choice(95, 65, 219, 20);
00552             o->tooltip("The \"up\" box of the widget.");
00553             o->box(FL_THIN_UP_BOX);
00554             o->down_box(FL_BORDER_BOX);
00555             o->labelfont(1);
00556             o->labelsize(11);
00557             o->textsize(11);
00558             o->callback((Fl_Callback*)box_cb);
00559             Fl_Group::current()->resizable(o);
00560             o->menu(boxmenu);
00561           } // Fl_Choice* o
00562           { Fl_Button* o = new Fl_Button(314, 65, 90, 20, "Color");
00563             o->tooltip("The background color of the widget.");
00564             o->labelsize(11);
00565             o->callback((Fl_Callback*)color_cb);
00566           } // Fl_Button* o
00567           o->end();
00568         } // Fl_Group* o
00569         { Fl_Group* o = new Fl_Group(95, 90, 309, 20, "Down Box:");
00570           o->labelfont(1);
00571           o->labelsize(11);
00572           o->callback((Fl_Callback*)propagate_load);
00573           o->align(Fl_Align(FL_ALIGN_LEFT));
00574           { Fl_Choice* o = new Fl_Choice(95, 90, 219, 20);
00575             o->tooltip("The \"down\" box of the widget.");
00576             o->box(FL_THIN_UP_BOX);
00577             o->down_box(FL_BORDER_BOX);
00578             o->labelfont(1);
00579             o->labelsize(11);
00580             o->textsize(11);
00581             o->callback((Fl_Callback*)down_box_cb);
00582             Fl_Group::current()->resizable(o);
00583             o->menu(boxmenu);
00584           } // Fl_Choice* o
00585           { Fl_Button* o = new Fl_Button(314, 90, 90, 20, "Select Color");
00586             o->tooltip("The selection color of the widget.");
00587             o->labelsize(11);
00588             o->callback((Fl_Callback*)color2_cb);
00589           } // Fl_Button* o
00590           o->end();
00591         } // Fl_Group* o
00592         { Fl_Group* o = new Fl_Group(95, 115, 309, 20, "Text Font:");
00593           o->labelfont(1);
00594           o->labelsize(11);
00595           o->callback((Fl_Callback*)propagate_load);
00596           o->align(Fl_Align(FL_ALIGN_LEFT));
00597           { Fl_Choice* o = new Fl_Choice(95, 115, 170, 20);
00598             o->tooltip("The value text style.");
00599             o->box(FL_DOWN_BOX);
00600             o->down_box(FL_BORDER_BOX);
00601             o->labelfont(1);
00602             o->labelsize(11);
00603             o->textsize(11);
00604             o->callback((Fl_Callback*)textfont_cb);
00605             Fl_Group::current()->resizable(o);
00606             o->menu(fontmenu);
00607           } // Fl_Choice* o
00608           { Fl_Value_Input* o = new Fl_Value_Input(264, 115, 50, 20);
00609             o->tooltip("The value text size.");
00610             o->labelsize(11);
00611             o->maximum(100);
00612             o->step(1);
00613             o->value(14);
00614             o->textsize(11);
00615             o->callback((Fl_Callback*)textsize_cb);
00616           } // Fl_Value_Input* o
00617           { Fl_Button* o = new Fl_Button(314, 115, 90, 20, "Text Color");
00618             o->tooltip("The value text color.");
00619             o->labelsize(11);
00620             o->callback((Fl_Callback*)textcolor_cb);
00621           } // Fl_Button* o
00622           o->end();
00623         } // Fl_Group* o
00624         { Fl_Box* o = new Fl_Box(95, 140, 300, 40);
00625           o->labelsize(11);
00626           Fl_Group::current()->resizable(o);
00627         } // Fl_Box* o
00628         o->end();
00629       } // Fl_Group* o
00630       { Fl_Group* o = new Fl_Group(10, 30, 400, 290, "C++");
00631         o->labelsize(11);
00632         o->callback((Fl_Callback*)propagate_load);
00633         o->when(FL_WHEN_NEVER);
00634         o->hide();
00635         { Fl_Group* o = new Fl_Group(95, 40, 310, 20, "Class:");
00636           o->labelfont(1);
00637           o->labelsize(11);
00638           o->callback((Fl_Callback*)propagate_load);
00639           o->align(Fl_Align(FL_ALIGN_LEFT));
00640           { Fl_Input* o = new Fl_Input(95, 40, 172, 20);
00641             o->tooltip("The widget subclass.");
00642             o->labelfont(1);
00643             o->labelsize(11);
00644             o->textfont(4);
00645             o->textsize(11);
00646             o->callback((Fl_Callback*)subclass_cb, (void*)(4));
00647             Fl_Group::current()->resizable(o);
00648           } // Fl_Input* o
00649           { Fl_Choice* o = new Fl_Choice(265, 40, 140, 20);
00650             o->tooltip("The widget subtype.");
00651             o->box(FL_THIN_UP_BOX);
00652             o->down_box(FL_BORDER_BOX);
00653             o->labelsize(11);
00654             o->textsize(11);
00655             o->callback((Fl_Callback*)subtype_cb);
00656           } // Fl_Choice* o
00657           o->end();
00658         } // Fl_Group* o
00659         { Fl_Group* o = new Fl_Group(95, 65, 310, 20, "Name:");
00660           o->labelfont(1);
00661           o->labelsize(11);
00662           o->callback((Fl_Callback*)propagate_load);
00663           o->align(Fl_Align(FL_ALIGN_LEFT));
00664           { Fl_Input* o = new Fl_Input(95, 65, 235, 20);
00665             o->tooltip("The name of the widget.");
00666             o->labelfont(1);
00667             o->labelsize(11);
00668             o->textsize(11);
00669             o->callback((Fl_Callback*)name_cb);
00670             Fl_Group::current()->resizable(o);
00671           } // Fl_Input* o
00672           { Fl_Choice* o = new Fl_Choice(330, 65, 75, 20);
00673             o->tooltip("Change member access attribute.");
00674             o->down_box(FL_BORDER_BOX);
00675             o->labelsize(11);
00676             o->textsize(11);
00677             o->callback((Fl_Callback*)name_public_member_cb);
00678             o->when(FL_WHEN_CHANGED);
00679             o->menu(menu_2);
00680           } // Fl_Choice* o
00681           { Fl_Choice* o = new Fl_Choice(330, 65, 75, 20);
00682             o->tooltip("Change widget accessibility.");
00683             o->down_box(FL_BORDER_BOX);
00684             o->labelsize(11);
00685             o->textsize(11);
00686             o->callback((Fl_Callback*)name_public_cb);
00687             o->when(FL_WHEN_CHANGED);
00688             o->menu(menu_3);
00689           } // Fl_Choice* o
00690           o->end();
00691         } // Fl_Group* o
00692         { v_input[0] = new Fl_Input(95, 90, 310, 20, "Extra Code:");
00693           v_input[0]->tooltip("Extra initialization code for the widget.");
00694           v_input[0]->labelfont(1);
00695           v_input[0]->labelsize(11);
00696           v_input[0]->textfont(4);
00697           v_input[0]->textsize(11);
00698           v_input[0]->callback((Fl_Callback*)v_input_cb, (void*)(0));
00699         } // Fl_Input* v_input[0]
00700         { v_input[1] = new Fl_Input(95, 110, 310, 20);
00701           v_input[1]->tooltip("Extra initialization code for the widget.");
00702           v_input[1]->labelsize(11);
00703           v_input[1]->textfont(4);
00704           v_input[1]->textsize(11);
00705           v_input[1]->callback((Fl_Callback*)v_input_cb, (void*)(1));
00706         } // Fl_Input* v_input[1]
00707         { v_input[2] = new Fl_Input(95, 130, 310, 20);
00708           v_input[2]->tooltip("Extra initialization code for the widget.");
00709           v_input[2]->labelsize(11);
00710           v_input[2]->textfont(4);
00711           v_input[2]->textsize(11);
00712           v_input[2]->callback((Fl_Callback*)v_input_cb, (void*)(2));
00713         } // Fl_Input* v_input[2]
00714         { v_input[3] = new Fl_Input(95, 150, 310, 20);
00715           v_input[3]->tooltip("Extra initialization code for the widget.");
00716           v_input[3]->labelsize(11);
00717           v_input[3]->textfont(4);
00718           v_input[3]->textsize(11);
00719           v_input[3]->callback((Fl_Callback*)v_input_cb, (void*)(3));
00720         } // Fl_Input* v_input[3]
00721         { CodeEditor* o = new CodeEditor(95, 175, 310, 90, "Callback:");
00722           o->tooltip("The callback function or code for the widget. Use the variable name \'o\' to \
00723 access the Widget pointer and \'v\' to access the user value.");
00724           o->box(FL_DOWN_BOX);
00725           o->color(FL_BACKGROUND2_COLOR);
00726           o->selection_color(FL_SELECTION_COLOR);
00727           o->labeltype(FL_NORMAL_LABEL);
00728           o->labelfont(1);
00729           o->labelsize(11);
00730           o->labelcolor(FL_FOREGROUND_COLOR);
00731           o->textfont(4);
00732           o->textsize(11);
00733           o->callback((Fl_Callback*)callback_cb);
00734           o->align(Fl_Align(FL_ALIGN_LEFT));
00735           o->when(FL_WHEN_RELEASE);
00736           Fl_Group::current()->resizable(o);
00737         } // CodeEditor* o
00738         { Fl_Group* o = new Fl_Group(95, 270, 310, 20, "User Data:");
00739           o->labelfont(1);
00740           o->labelsize(11);
00741           o->callback((Fl_Callback*)propagate_load);
00742           o->align(Fl_Align(FL_ALIGN_LEFT));
00743           { Fl_Input* o = new Fl_Input(95, 270, 158, 20);
00744             o->tooltip("The user data to pass into the callback code.");
00745             o->labelfont(1);
00746             o->labelsize(11);
00747             o->textfont(4);
00748             o->textsize(11);
00749             o->callback((Fl_Callback*)user_data_cb);
00750             Fl_Group::current()->resizable(o);
00751           } // Fl_Input* o
00752           { Fl_Choice* o = new Fl_Choice(300, 270, 105, 20, "When:");
00753             o->tooltip("When to call the callback function.");
00754             o->box(FL_THIN_UP_BOX);
00755             o->down_box(FL_BORDER_BOX);
00756             o->labelfont(1);
00757             o->labelsize(11);
00758             o->textsize(11);
00759             o->callback((Fl_Callback*)when_cb);
00760             o->when(FL_WHEN_CHANGED);
00761             o->menu(whenmenu);
00762           } // Fl_Choice* o
00763           o->end();
00764         } // Fl_Group* o
00765         { Fl_Group* o = new Fl_Group(95, 295, 310, 20, "Type:");
00766           o->labelfont(1);
00767           o->labelsize(11);
00768           o->callback((Fl_Callback*)propagate_load);
00769           o->align(Fl_Align(FL_ALIGN_LEFT));
00770           { Fl_Input* o = new Fl_Input(95, 295, 158, 20);
00771             o->tooltip("The type of the user data.");
00772             o->labelfont(1);
00773             o->labelsize(11);
00774             o->textfont(4);
00775             o->textsize(11);
00776             o->callback((Fl_Callback*)user_data_type_cb);
00777             Fl_Group::current()->resizable(o);
00778           } // Fl_Input* o
00779           { Fl_Light_Button* o = new Fl_Light_Button(300, 295, 105, 20, "No Change");
00780             o->tooltip("Call the callback even if the value has not changed.");
00781             o->selection_color((Fl_Color)1);
00782             o->labelsize(11);
00783             o->callback((Fl_Callback*)when_button_cb);
00784           } // Fl_Light_Button* o
00785           o->end();
00786         } // Fl_Group* o
00787         o->end();
00788       } // Fl_Group* o
00789       o->end();
00790       Fl_Group::current()->resizable(o);
00791     } // Fl_Tabs* o
00792     { Fl_Group* o = new Fl_Group(9, 330, 400, 20);
00793       o->labelsize(11);
00794       { Fl_Box* o = new Fl_Box(9, 330, 20, 20);
00795         o->labelsize(11);
00796         Fl_Group::current()->resizable(o);
00797       } // Fl_Box* o
00798       { Fl_Button* o = new Fl_Button(240, 330, 99, 20, "Hide &Overlays");
00799         o->tooltip("Hide the widget overlay box.");
00800         o->labelsize(11);
00801         o->labelcolor((Fl_Color)1);
00802         o->callback((Fl_Callback*)overlay_cb);
00803       } // Fl_Button* o
00804       { Fl_Button* o = new Fl_Button(66, 330, 80, 20, "Revert");
00805         o->labelsize(11);
00806         o->callback((Fl_Callback*)revert_cb);
00807         o->hide();
00808       } // Fl_Button* o
00809       { Fl_Return_Button* o = new Fl_Return_Button(344, 330, 64, 20, "Close");
00810         o->labelsize(11);
00811         o->callback((Fl_Callback*)ok_cb);
00812       } // Fl_Return_Button* o
00813       { Fl_Button* o = new Fl_Button(339, 330, 70, 20, "Cancel");
00814         o->labelsize(11);
00815         o->callback((Fl_Callback*)cancel_cb);
00816         o->hide();
00817       } // Fl_Button* o
00818       { wLiveMode = new Fl_Button(151, 330, 84, 20, "Live &Mode");
00819         wLiveMode->tooltip("Create a live duplicate of the selected widgets to test resizing and menu beh\
00820 avior.");
00821         wLiveMode->type(1);
00822         wLiveMode->labelsize(11);
00823         wLiveMode->callback((Fl_Callback*)live_mode_cb);
00824       } // Fl_Button* wLiveMode
00825       o->end();
00826     } // Fl_Group* o
00827     o->size_range(o->w(), o->h());
00828     o->end();
00829   } // Fl_Double_Window* o
00830   return w;
00831 }
00832 
00833 //
00834 // End of "$Id: widget_panel.cxx 7903 2010-11-28 21:06:39Z matt $".
00835 //