|
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) ![]() |
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 //