1 //
2 // "$Id: widget_panel.cxx 7903 2010-11-28 21:06:39Z matt $"
3 //
4 // Widget panel for the Fast Light Tool Kit (FLTK).
5 //
6 // Copyright 1998-2010 by Bill Spitzak and others.
7 //
8 // This library is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU Library General Public
10 // License as published by the Free Software Foundation; either
11 // version 2 of the License, or (at your option) any later version.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Library General Public License for more details.
17 //
18 // You should have received a copy of the GNU Library General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
21 // USA.
22 //
23 // Please report all bugs and problems on the following page:
24 //
25 // http://www.fltk.org/str.php
26 //
27
28 // generated by Fast Light User Interface Designer (fluid) version 1.0300
29
30 #include "widget_panel.h"
31
cb_(Fl_Tabs * o,void * v)32 static void cb_(Fl_Tabs* o, void* v) {
33 propagate_load((Fl_Group *)o,v);
34 }
35
36 Fl_Menu_Item menu_[] = {
37 {" Image Alignment ", 0, 0, (void*)(0xFFFFFFFF), 1, FL_NORMAL_LABEL, 2, 11, 0},
38 {"image over text", 0, 0, (void*)(FL_ALIGN_IMAGE_OVER_TEXT), 0, FL_NORMAL_LABEL, 0, 11, 0},
39 {"text over image", 0, 0, (void*)(FL_ALIGN_TEXT_OVER_IMAGE), 0, FL_NORMAL_LABEL, 0, 11, 0},
40 {"text next to image", 0, 0, (void*)(FL_ALIGN_TEXT_NEXT_TO_IMAGE), 0, FL_NORMAL_LABEL, 0, 11, 0},
41 {"image next to text", 0, 0, (void*)(FL_ALIGN_IMAGE_NEXT_TO_TEXT), 0, FL_NORMAL_LABEL, 0, 11, 0},
42 {"image is backdrop", 0, 0, (void*)(FL_ALIGN_IMAGE_BACKDROP), 0, FL_NORMAL_LABEL, 0, 11, 0},
43 {0,0,0,0,0,0,0,0,0}
44 };
45
46 Fl_Menu_Item menu_1[] = {
47 {" Inside && Outside ", 0, 0, (void*)(0xFFFFFFFF), 1, FL_NORMAL_LABEL, 2, 11, 0},
48 {"top left", 0, 0, (void*)(FL_ALIGN_TOP_LEFT), 0, FL_NORMAL_LABEL, 0, 11, 0},
49 {"top", 0, 0, (void*)(FL_ALIGN_TOP), 0, FL_NORMAL_LABEL, 0, 11, 0},
50 {"top right", 0, 0, (void*)(FL_ALIGN_TOP_RIGHT), 0, FL_NORMAL_LABEL, 0, 11, 0},
51 {"left", 0, 0, (void*)(FL_ALIGN_LEFT), 0, FL_NORMAL_LABEL, 0, 11, 0},
52 {"center", 0, 0, (void*)(FL_ALIGN_CENTER), 0, FL_NORMAL_LABEL, 0, 11, 0},
53 {"right", 0, 0, (void*)(FL_ALIGN_RIGHT), 0, FL_NORMAL_LABEL, 0, 11, 0},
54 {"bottom left", 0, 0, (void*)(FL_ALIGN_BOTTOM_LEFT), 0, FL_NORMAL_LABEL, 0, 11, 0},
55 {"bottom", 0, 0, (void*)(FL_ALIGN_BOTTOM), 0, FL_NORMAL_LABEL, 0, 11, 0},
56 {"bottom right", 0, 0, (void*)(FL_ALIGN_BOTTOM_RIGHT), 128, FL_NORMAL_LABEL, 0, 11, 0},
57 {" Outside Alignment ", 0, 0, (void*)(0xFFFFFFFF), 1, FL_NORMAL_LABEL, 2, 11, 0},
58 {"left top", 0, 0, (void*)(FL_ALIGN_LEFT_TOP), 0, FL_NORMAL_LABEL, 0, 11, 0},
59 {"right top", 0, 0, (void*)(FL_ALIGN_RIGHT_TOP), 0, FL_NORMAL_LABEL, 0, 11, 0},
60 {"left bottom", 0, 0, (void*)(FL_ALIGN_LEFT_BOTTOM), 0, FL_NORMAL_LABEL, 0, 11, 0},
61 {"right bottom", 0, 0, (void*)(FL_ALIGN_RIGHT_BOTTOM), 0, FL_NORMAL_LABEL, 0, 11, 0},
62 {0,0,0,0,0,0,0,0,0}
63 };
64
65 Fl_Value_Input *widget_x_input=(Fl_Value_Input *)0;
66
67 Fl_Value_Input *widget_y_input=(Fl_Value_Input *)0;
68
69 Fl_Value_Input *widget_w_input=(Fl_Value_Input *)0;
70
71 Fl_Value_Input *widget_h_input=(Fl_Value_Input *)0;
72
73 Fl_Menu_Item menu_2[] = {
74 {"private", 0, 0, (void*)(0), 0, FL_NORMAL_LABEL, 0, 11, 0},
75 {"public", 0, 0, (void*)(1), 0, FL_NORMAL_LABEL, 0, 11, 0},
76 {"protected", 0, 0, (void*)(2), 0, FL_NORMAL_LABEL, 0, 11, 0},
77 {0,0,0,0,0,0,0,0,0}
78 };
79
80 Fl_Menu_Item menu_3[] = {
81 {"local", 0, 0, (void*)(0), 0, FL_NORMAL_LABEL, 0, 11, 0},
82 {"global", 0, 0, (void*)(1), 0, FL_NORMAL_LABEL, 0, 11, 0},
83 {0,0,0,0,0,0,0,0,0}
84 };
85
86 Fl_Input *v_input[4]={(Fl_Input *)0};
87
88 Fl_Button *wLiveMode=(Fl_Button *)0;
89
make_widget_panel()90 Fl_Double_Window* make_widget_panel() {
91 Fl_Double_Window* w;
92 { Fl_Double_Window* o = new Fl_Double_Window(420, 360);
93 w = o;
94 o->labelsize(11);
95 o->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
96 o->hotspot(o);
97 { Fl_Tabs* o = new Fl_Tabs(10, 10, 400, 310);
98 o->selection_color((Fl_Color)12);
99 o->labelsize(11);
100 o->labelcolor(FL_BACKGROUND2_COLOR);
101 o->callback((Fl_Callback*)cb_);
102 o->when(FL_WHEN_NEVER);
103 { Fl_Group* o = new Fl_Group(10, 30, 400, 290, "GUI");
104 o->labelsize(11);
105 o->callback((Fl_Callback*)propagate_load);
106 o->when(FL_WHEN_NEVER);
107 { Fl_Group* o = new Fl_Group(95, 40, 309, 20, "Label:");
108 o->labelfont(1);
109 o->labelsize(11);
110 o->callback((Fl_Callback*)propagate_load);
111 o->align(Fl_Align(FL_ALIGN_LEFT));
112 { Fl_Input* o = new Fl_Input(95, 40, 190, 20);
113 o->tooltip("The label text for the widget.\nUse Ctrl-J for newlines.");
114 o->labelfont(1);
115 o->labelsize(11);
116 o->textsize(11);
117 o->callback((Fl_Callback*)label_cb);
118 o->when(FL_WHEN_CHANGED);
119 Fl_Group::current()->resizable(o);
120 } // Fl_Input* o
121 { Fl_Choice* o = new Fl_Choice(284, 40, 120, 20);
122 o->tooltip("The label style for the widget.");
123 o->box(FL_THIN_UP_BOX);
124 o->down_box(FL_BORDER_BOX);
125 o->labelfont(1);
126 o->labelsize(11);
127 o->textsize(11);
128 o->callback((Fl_Callback*)labeltype_cb);
129 o->menu(labeltypemenu);
130 } // Fl_Choice* o
131 o->end();
132 } // Fl_Group* o
133 { Fl_Group* o = new Fl_Group(95, 65, 309, 20, "Image:");
134 o->labelfont(1);
135 o->labelsize(11);
136 o->callback((Fl_Callback*)propagate_load);
137 o->align(Fl_Align(FL_ALIGN_LEFT));
138 { Fl_Input* o = new Fl_Input(95, 65, 240, 20);
139 o->tooltip("The active image for the widget.");
140 o->labelfont(1);
141 o->labelsize(11);
142 o->textsize(11);
143 o->callback((Fl_Callback*)image_cb);
144 Fl_Group::current()->resizable(o);
145 } // Fl_Input* o
146 { Fl_Button* o = new Fl_Button(334, 65, 70, 20, "Browse...");
147 o->tooltip("Click to choose the active image.");
148 o->labelsize(11);
149 o->callback((Fl_Callback*)image_browse_cb);
150 } // Fl_Button* o
151 o->end();
152 } // Fl_Group* o
153 { Fl_Group* o = new Fl_Group(95, 90, 309, 20, "Inactive:");
154 o->labelfont(1);
155 o->labelsize(11);
156 o->callback((Fl_Callback*)propagate_load);
157 o->align(Fl_Align(FL_ALIGN_LEFT));
158 { Fl_Input* o = new Fl_Input(95, 90, 240, 20);
159 o->tooltip("The inactive image for the widget.");
160 o->labelfont(1);
161 o->labelsize(11);
162 o->textsize(11);
163 o->callback((Fl_Callback*)inactive_cb);
164 Fl_Group::current()->resizable(o);
165 } // Fl_Input* o
166 { Fl_Button* o = new Fl_Button(334, 90, 70, 20, "Browse...");
167 o->tooltip("Click to choose the inactive image.");
168 o->labelsize(11);
169 o->callback((Fl_Callback*)inactive_browse_cb);
170 } // Fl_Button* o
171 o->end();
172 } // Fl_Group* o
173 { Fl_Group* o = new Fl_Group(95, 115, 300, 20, "Alignment:");
174 o->labelfont(1);
175 o->labelsize(11);
176 o->callback((Fl_Callback*)propagate_load);
177 o->align(Fl_Align(FL_ALIGN_LEFT));
178 { Fl_Button* o = new Fl_Button(95, 115, 30, 20, "Clip");
179 o->tooltip("Clip the label to the inside of the widget.");
180 o->type(1);
181 o->selection_color(FL_INACTIVE_COLOR);
182 o->labelsize(11);
183 o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_CLIP));
184 o->align(Fl_Align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE));
185 } // Fl_Button* o
186 { Fl_Button* o = new Fl_Button(130, 115, 30, 20, "Wrap");
187 o->tooltip("Wrap the label text.");
188 o->type(1);
189 o->selection_color(FL_INACTIVE_COLOR);
190 o->labelsize(11);
191 o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_WRAP));
192 } // Fl_Button* o
193 { Fl_Button* o = new Fl_Button(270, 115, 20, 20, "@-1<-");
194 o->tooltip("Left-align the label.");
195 o->type(1);
196 o->selection_color(FL_INACTIVE_COLOR);
197 o->labelsize(11);
198 o->labelcolor(FL_INACTIVE_COLOR);
199 o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_LEFT));
200 o->hide();
201 } // Fl_Button* o
202 { Fl_Button* o = new Fl_Button(295, 115, 20, 20, "@-1->");
203 o->tooltip("Right-align the label.");
204 o->type(1);
205 o->selection_color(FL_INACTIVE_COLOR);
206 o->labelsize(11);
207 o->labelcolor(FL_INACTIVE_COLOR);
208 o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_RIGHT));
209 o->hide();
210 } // Fl_Button* o
211 { Fl_Button* o = new Fl_Button(320, 115, 20, 20, "@-18");
212 o->tooltip("Top-align the label.");
213 o->type(1);
214 o->selection_color(FL_INACTIVE_COLOR);
215 o->labelsize(11);
216 o->labelcolor(FL_INACTIVE_COLOR);
217 o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_TOP));
218 o->hide();
219 } // Fl_Button* o
220 { Fl_Button* o = new Fl_Button(345, 115, 20, 20, "@-12");
221 o->tooltip("Bottom-align the label.");
222 o->type(1);
223 o->selection_color(FL_INACTIVE_COLOR);
224 o->labelsize(11);
225 o->labelcolor(FL_INACTIVE_COLOR);
226 o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_BOTTOM));
227 o->hide();
228 } // Fl_Button* o
229 { Fl_Choice* o = new Fl_Choice(165, 115, 110, 20);
230 o->down_box(FL_BORDER_BOX);
231 o->labelsize(11);
232 o->textsize(11);
233 o->callback((Fl_Callback*)align_text_image_cb);
234 o->menu(menu_);
235 } // Fl_Choice* o
236 { Fl_Choice* o = new Fl_Choice(280, 115, 85, 20);
237 o->down_box(FL_BORDER_BOX);
238 o->labelsize(11);
239 o->textsize(11);
240 o->callback((Fl_Callback*)align_position_cb);
241 o->menu(menu_1);
242 } // Fl_Choice* o
243 { Fl_Button* o = new Fl_Button(370, 115, 20, 20, "@-3square");
244 o->tooltip("Show the label inside the widget.");
245 o->type(1);
246 o->selection_color(FL_INACTIVE_COLOR);
247 o->labelsize(11);
248 o->labelcolor(FL_INACTIVE_COLOR);
249 o->callback((Fl_Callback*)align_cb, (void*)(FL_ALIGN_INSIDE));
250 } // Fl_Button* o
251 { Fl_Box* o = new Fl_Box(395, 115, 0, 20);
252 o->labelsize(11);
253 Fl_Group::current()->resizable(o);
254 } // Fl_Box* o
255 o->end();
256 } // Fl_Group* o
257 { Fl_Group* o = new Fl_Group(95, 150, 300, 20, "Position:");
258 o->labelfont(1);
259 o->labelsize(11);
260 o->callback((Fl_Callback*)propagate_load);
261 o->align(Fl_Align(FL_ALIGN_LEFT));
262 { widget_x_input = new Fl_Value_Input(95, 150, 55, 20, "X:");
263 widget_x_input->tooltip("The X position of the widget.");
264 widget_x_input->labelsize(11);
265 widget_x_input->maximum(2048);
266 widget_x_input->step(1);
267 widget_x_input->textsize(11);
268 widget_x_input->callback((Fl_Callback*)x_cb);
269 widget_x_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
270 } // Fl_Value_Input* widget_x_input
271 { widget_y_input = new Fl_Value_Input(155, 150, 55, 20, "Y:");
272 widget_y_input->tooltip("The Y position of the widget.");
273 widget_y_input->labelsize(11);
274 widget_y_input->maximum(2048);
275 widget_y_input->step(1);
276 widget_y_input->textsize(11);
277 widget_y_input->callback((Fl_Callback*)y_cb);
278 widget_y_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
279 } // Fl_Value_Input* widget_y_input
280 { widget_w_input = new Fl_Value_Input(215, 150, 55, 20, "Width:");
281 widget_w_input->tooltip("The width of the widget.");
282 widget_w_input->labelsize(11);
283 widget_w_input->maximum(2048);
284 widget_w_input->step(1);
285 widget_w_input->textsize(11);
286 widget_w_input->callback((Fl_Callback*)w_cb);
287 widget_w_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
288 } // Fl_Value_Input* widget_w_input
289 { widget_h_input = new Fl_Value_Input(275, 150, 55, 20, "Height:");
290 widget_h_input->tooltip("The height of the widget.");
291 widget_h_input->labelsize(11);
292 widget_h_input->maximum(2048);
293 widget_h_input->step(1);
294 widget_h_input->textsize(11);
295 widget_h_input->callback((Fl_Callback*)h_cb);
296 widget_h_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
297 } // Fl_Value_Input* widget_h_input
298 { Fl_Light_Button* o = new Fl_Light_Button(335, 150, 55, 20, "Relative");
299 o->tooltip("If set, widgets inside a widget class of type Fl_Group are repositioned relat\
300 ive to the origin at construction time");
301 o->labelsize(11);
302 o->callback((Fl_Callback*)wc_relative_cb);
303 } // Fl_Light_Button* o
304 { Fl_Box* o = new Fl_Box(394, 150, 1, 20);
305 Fl_Group::current()->resizable(o);
306 } // Fl_Box* o
307 o->end();
308 } // Fl_Group* o
309 { Fl_Group* o = new Fl_Group(95, 185, 300, 20, "Values:");
310 o->labelfont(1);
311 o->labelsize(11);
312 o->callback((Fl_Callback*)propagate_load);
313 o->align(Fl_Align(FL_ALIGN_LEFT));
314 { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Size:");
315 o->tooltip("The size of the slider.");
316 o->labelsize(11);
317 o->step(0.010101);
318 o->textsize(11);
319 o->callback((Fl_Callback*)slider_size_cb);
320 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
321 } // Fl_Value_Input* o
322 { Fl_Value_Input* o = new Fl_Value_Input(155, 185, 55, 20, "Minimum:");
323 o->tooltip("The minimum value of the widget.");
324 o->labelsize(11);
325 o->textsize(11);
326 o->callback((Fl_Callback*)min_cb);
327 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
328 } // Fl_Value_Input* o
329 { Fl_Value_Input* o = new Fl_Value_Input(215, 185, 55, 20, "Maximum:");
330 o->tooltip("The maximum value of the widget.");
331 o->labelsize(11);
332 o->value(1);
333 o->textsize(11);
334 o->callback((Fl_Callback*)max_cb);
335 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
336 } // Fl_Value_Input* o
337 { Fl_Value_Input* o = new Fl_Value_Input(275, 185, 55, 20, "Step:");
338 o->tooltip("The resolution of the widget value.");
339 o->labelsize(11);
340 o->textsize(11);
341 o->callback((Fl_Callback*)step_cb);
342 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
343 } // Fl_Value_Input* o
344 { Fl_Value_Input* o = new Fl_Value_Input(335, 185, 55, 20, "Value:");
345 o->tooltip("The current widget value.");
346 o->labelsize(11);
347 o->textsize(11);
348 o->callback((Fl_Callback*)value_cb);
349 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
350 } // Fl_Value_Input* o
351 { Fl_Box* o = new Fl_Box(395, 185, 0, 20);
352 Fl_Group::current()->resizable(o);
353 } // Fl_Box* o
354 o->end();
355 } // Fl_Group* o
356 { Fl_Group* o = new Fl_Group(95, 185, 300, 20, "Size Range:");
357 o->labelfont(1);
358 o->labelsize(11);
359 o->callback((Fl_Callback*)propagate_load);
360 o->align(Fl_Align(FL_ALIGN_LEFT));
361 o->hide();
362 { Fl_Value_Input* o = new Fl_Value_Input(95, 185, 55, 20, "Minimum Size:");
363 o->tooltip("The size of the slider.");
364 o->labelsize(11);
365 o->maximum(2048);
366 o->step(1);
367 o->textsize(11);
368 o->callback((Fl_Callback*)min_w_cb);
369 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
370 } // Fl_Value_Input* o
371 { Fl_Value_Input* o = new Fl_Value_Input(155, 185, 55, 20);
372 o->tooltip("The minimum value of the widget.");
373 o->labelsize(11);
374 o->maximum(2048);
375 o->step(1);
376 o->textsize(11);
377 o->callback((Fl_Callback*)min_h_cb);
378 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
379 } // Fl_Value_Input* o
380 { Fl_Button* o = new Fl_Button(215, 185, 25, 20, "set");
381 o->labelsize(11);
382 o->callback((Fl_Callback*)set_min_size_cb);
383 } // Fl_Button* o
384 { Fl_Value_Input* o = new Fl_Value_Input(245, 185, 55, 20, "Maximum Size:");
385 o->tooltip("The maximum value of the widget.");
386 o->labelsize(11);
387 o->maximum(2048);
388 o->step(1);
389 o->textsize(11);
390 o->callback((Fl_Callback*)max_w_cb);
391 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
392 } // Fl_Value_Input* o
393 { Fl_Value_Input* o = new Fl_Value_Input(305, 185, 55, 20);
394 o->tooltip("The resolution of the widget value.");
395 o->labelsize(11);
396 o->maximum(2048);
397 o->step(1);
398 o->textsize(11);
399 o->callback((Fl_Callback*)max_h_cb);
400 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
401 } // Fl_Value_Input* o
402 { Fl_Button* o = new Fl_Button(365, 185, 25, 20, "set");
403 o->labelsize(11);
404 o->callback((Fl_Callback*)set_max_size_cb);
405 } // Fl_Button* o
406 { Fl_Box* o = new Fl_Box(395, 185, 0, 20);
407 Fl_Group::current()->resizable(o);
408 } // Fl_Box* o
409 o->end();
410 } // Fl_Group* o
411 { Shortcut_Button* o = new Shortcut_Button(95, 210, 310, 20, "Shortcut:");
412 o->tooltip("The shortcut key for the widget.");
413 o->box(FL_DOWN_BOX);
414 o->color(FL_BACKGROUND2_COLOR);
415 o->selection_color(FL_BACKGROUND2_COLOR);
416 o->labeltype(FL_NORMAL_LABEL);
417 o->labelfont(1);
418 o->labelsize(11);
419 o->labelcolor(FL_FOREGROUND_COLOR);
420 o->callback((Fl_Callback*)shortcut_in_cb);
421 o->align(Fl_Align(FL_ALIGN_LEFT));
422 o->when(FL_WHEN_RELEASE);
423 } // Shortcut_Button* o
424 { Fl_Group* o = new Fl_Group(95, 235, 300, 20, "X Class:");
425 o->labelfont(1);
426 o->labelsize(11);
427 o->callback((Fl_Callback*)propagate_load);
428 o->align(Fl_Align(FL_ALIGN_LEFT));
429 { Fl_Input* o = new Fl_Input(95, 235, 95, 20, ":");
430 o->tooltip("The X resource class.");
431 o->labelfont(1);
432 o->labelsize(11);
433 o->textsize(11);
434 o->callback((Fl_Callback*)xclass_cb);
435 Fl_Group::current()->resizable(o);
436 } // Fl_Input* o
437 { Fl_Light_Button* o = new Fl_Light_Button(195, 235, 60, 20, "Border");
438 o->tooltip("Add a border around the window.");
439 o->selection_color((Fl_Color)1);
440 o->labelsize(11);
441 o->callback((Fl_Callback*)border_cb);
442 } // Fl_Light_Button* o
443 { Fl_Light_Button* o = new Fl_Light_Button(260, 235, 55, 20, "Modal");
444 o->tooltip("Make the window modal.");
445 o->selection_color((Fl_Color)1);
446 o->labelsize(11);
447 o->callback((Fl_Callback*)modal_cb);
448 } // Fl_Light_Button* o
449 { Fl_Light_Button* o = new Fl_Light_Button(320, 235, 75, 20, "Nonmodal");
450 o->tooltip("Make the window non-modal.");
451 o->selection_color((Fl_Color)1);
452 o->labelsize(11);
453 o->callback((Fl_Callback*)non_modal_cb);
454 o->align(Fl_Align(132|FL_ALIGN_INSIDE));
455 } // Fl_Light_Button* o
456 o->end();
457 } // Fl_Group* o
458 { Fl_Group* o = new Fl_Group(95, 260, 305, 20, "Attributes:");
459 o->labelfont(1);
460 o->labelsize(11);
461 o->callback((Fl_Callback*)propagate_load);
462 o->align(Fl_Align(FL_ALIGN_LEFT));
463 { Fl_Light_Button* o = new Fl_Light_Button(95, 260, 60, 20, "Visible");
464 o->tooltip("Show the widget.");
465 o->selection_color((Fl_Color)1);
466 o->labelsize(11);
467 o->callback((Fl_Callback*)visible_cb);
468 } // Fl_Light_Button* o
469 { Fl_Light_Button* o = new Fl_Light_Button(160, 260, 60, 20, "Active");
470 o->tooltip("Activate the widget.");
471 o->selection_color((Fl_Color)1);
472 o->labelsize(11);
473 o->callback((Fl_Callback*)active_cb);
474 } // Fl_Light_Button* o
475 { Fl_Light_Button* o = new Fl_Light_Button(225, 260, 75, 20, "Resizable");
476 o->tooltip("Make the widget resizable.");
477 o->selection_color((Fl_Color)1);
478 o->labelsize(11);
479 o->callback((Fl_Callback*)resizable_cb);
480 o->when(FL_WHEN_CHANGED);
481 } // Fl_Light_Button* o
482 { Fl_Light_Button* o = new Fl_Light_Button(305, 260, 70, 20, "Hotspot");
483 o->tooltip("Center the window under this widget.");
484 o->selection_color((Fl_Color)1);
485 o->labelsize(11);
486 o->callback((Fl_Callback*)hotspot_cb);
487 o->when(FL_WHEN_CHANGED);
488 } // Fl_Light_Button* o
489 { Fl_Box* o = new Fl_Box(395, 260, 0, 20);
490 o->labelsize(11);
491 Fl_Group::current()->resizable(o);
492 } // Fl_Box* o
493 o->end();
494 } // Fl_Group* o
495 { Fl_Input* o = new Fl_Input(95, 285, 310, 20, "Tooltip:");
496 o->tooltip("The tooltip text for the widget.\nUse Ctrl-J for newlines.");
497 o->labelfont(1);
498 o->labelsize(11);
499 o->textsize(11);
500 o->callback((Fl_Callback*)tooltip_cb);
501 } // Fl_Input* o
502 { Fl_Box* o = new Fl_Box(95, 305, 300, 5);
503 o->labelsize(11);
504 Fl_Group::current()->resizable(o);
505 } // Fl_Box* o
506 o->end();
507 Fl_Group::current()->resizable(o);
508 } // Fl_Group* o
509 { Fl_Group* o = new Fl_Group(10, 30, 400, 290, "Style");
510 o->labelsize(11);
511 o->callback((Fl_Callback*)propagate_load);
512 o->when(FL_WHEN_NEVER);
513 o->hide();
514 { Fl_Group* o = new Fl_Group(95, 40, 309, 20, "Label Font:");
515 o->labelfont(1);
516 o->labelsize(11);
517 o->callback((Fl_Callback*)propagate_load);
518 o->align(Fl_Align(FL_ALIGN_LEFT));
519 { Fl_Choice* o = new Fl_Choice(95, 40, 170, 20);
520 o->tooltip("The style of the label text.");
521 o->box(FL_THIN_UP_BOX);
522 o->down_box(FL_BORDER_BOX);
523 o->labelfont(1);
524 o->labelsize(11);
525 o->textsize(11);
526 o->callback((Fl_Callback*)labelfont_cb);
527 Fl_Group::current()->resizable(o);
528 o->menu(fontmenu);
529 } // Fl_Choice* o
530 { Fl_Value_Input* o = new Fl_Value_Input(264, 40, 50, 20);
531 o->tooltip("The size of the label text.");
532 o->labelsize(11);
533 o->maximum(100);
534 o->step(1);
535 o->value(14);
536 o->textsize(11);
537 o->callback((Fl_Callback*)labelsize_cb);
538 } // Fl_Value_Input* o
539 { Fl_Button* o = new Fl_Button(314, 40, 90, 20, "Label Color");
540 o->tooltip("The color of the label text.");
541 o->labelsize(11);
542 o->callback((Fl_Callback*)labelcolor_cb);
543 } // Fl_Button* o
544 o->end();
545 } // Fl_Group* o
546 { Fl_Group* o = new Fl_Group(95, 65, 309, 20, "Box:");
547 o->labelfont(1);
548 o->labelsize(11);
549 o->callback((Fl_Callback*)propagate_load);
550 o->align(Fl_Align(FL_ALIGN_LEFT));
551 { Fl_Choice* o = new Fl_Choice(95, 65, 219, 20);
552 o->tooltip("The \"up\" box of the widget.");
553 o->box(FL_THIN_UP_BOX);
554 o->down_box(FL_BORDER_BOX);
555 o->labelfont(1);
556 o->labelsize(11);
557 o->textsize(11);
558 o->callback((Fl_Callback*)box_cb);
559 Fl_Group::current()->resizable(o);
560 o->menu(boxmenu);
561 } // Fl_Choice* o
562 { Fl_Button* o = new Fl_Button(314, 65, 90, 20, "Color");
563 o->tooltip("The background color of the widget.");
564 o->labelsize(11);
565 o->callback((Fl_Callback*)color_cb);
566 } // Fl_Button* o
567 o->end();
568 } // Fl_Group* o
569 { Fl_Group* o = new Fl_Group(95, 90, 309, 20, "Down Box:");
570 o->labelfont(1);
571 o->labelsize(11);
572 o->callback((Fl_Callback*)propagate_load);
573 o->align(Fl_Align(FL_ALIGN_LEFT));
574 { Fl_Choice* o = new Fl_Choice(95, 90, 219, 20);
575 o->tooltip("The \"down\" box of the widget.");
576 o->box(FL_THIN_UP_BOX);
577 o->down_box(FL_BORDER_BOX);
578 o->labelfont(1);
579 o->labelsize(11);
580 o->textsize(11);
581 o->callback((Fl_Callback*)down_box_cb);
582 Fl_Group::current()->resizable(o);
583 o->menu(boxmenu);
584 } // Fl_Choice* o
585 { Fl_Button* o = new Fl_Button(314, 90, 90, 20, "Select Color");
586 o->tooltip("The selection color of the widget.");
587 o->labelsize(11);
588 o->callback((Fl_Callback*)color2_cb);
589 } // Fl_Button* o
590 o->end();
591 } // Fl_Group* o
592 { Fl_Group* o = new Fl_Group(95, 115, 309, 20, "Text Font:");
593 o->labelfont(1);
594 o->labelsize(11);
595 o->callback((Fl_Callback*)propagate_load);
596 o->align(Fl_Align(FL_ALIGN_LEFT));
597 { Fl_Choice* o = new Fl_Choice(95, 115, 170, 20);
598 o->tooltip("The value text style.");
599 o->box(FL_DOWN_BOX);
600 o->down_box(FL_BORDER_BOX);
601 o->labelfont(1);
602 o->labelsize(11);
603 o->textsize(11);
604 o->callback((Fl_Callback*)textfont_cb);
605 Fl_Group::current()->resizable(o);
606 o->menu(fontmenu);
607 } // Fl_Choice* o
608 { Fl_Value_Input* o = new Fl_Value_Input(264, 115, 50, 20);
609 o->tooltip("The value text size.");
610 o->labelsize(11);
611 o->maximum(100);
612 o->step(1);
613 o->value(14);
614 o->textsize(11);
615 o->callback((Fl_Callback*)textsize_cb);
616 } // Fl_Value_Input* o
617 { Fl_Button* o = new Fl_Button(314, 115, 90, 20, "Text Color");
618 o->tooltip("The value text color.");
619 o->labelsize(11);
620 o->callback((Fl_Callback*)textcolor_cb);
621 } // Fl_Button* o
622 o->end();
623 } // Fl_Group* o
624 { Fl_Box* o = new Fl_Box(95, 140, 300, 40);
625 o->labelsize(11);
626 Fl_Group::current()->resizable(o);
627 } // Fl_Box* o
628 o->end();
629 } // Fl_Group* o
630 { Fl_Group* o = new Fl_Group(10, 30, 400, 290, "C++");
631 o->labelsize(11);
632 o->callback((Fl_Callback*)propagate_load);
633 o->when(FL_WHEN_NEVER);
634 o->hide();
635 { Fl_Group* o = new Fl_Group(95, 40, 310, 20, "Class:");
636 o->labelfont(1);
637 o->labelsize(11);
638 o->callback((Fl_Callback*)propagate_load);
639 o->align(Fl_Align(FL_ALIGN_LEFT));
640 { Fl_Input* o = new Fl_Input(95, 40, 172, 20);
641 o->tooltip("The widget subclass.");
642 o->labelfont(1);
643 o->labelsize(11);
644 o->textfont(4);
645 o->textsize(11);
646 o->callback((Fl_Callback*)subclass_cb, (void*)(4));
647 Fl_Group::current()->resizable(o);
648 } // Fl_Input* o
649 { Fl_Choice* o = new Fl_Choice(265, 40, 140, 20);
650 o->tooltip("The widget subtype.");
651 o->box(FL_THIN_UP_BOX);
652 o->down_box(FL_BORDER_BOX);
653 o->labelsize(11);
654 o->textsize(11);
655 o->callback((Fl_Callback*)subtype_cb);
656 } // Fl_Choice* o
657 o->end();
658 } // Fl_Group* o
659 { Fl_Group* o = new Fl_Group(95, 65, 310, 20, "Name:");
660 o->labelfont(1);
661 o->labelsize(11);
662 o->callback((Fl_Callback*)propagate_load);
663 o->align(Fl_Align(FL_ALIGN_LEFT));
664 { Fl_Input* o = new Fl_Input(95, 65, 235, 20);
665 o->tooltip("The name of the widget.");
666 o->labelfont(1);
667 o->labelsize(11);
668 o->textsize(11);
669 o->callback((Fl_Callback*)name_cb);
670 Fl_Group::current()->resizable(o);
671 } // Fl_Input* o
672 { Fl_Choice* o = new Fl_Choice(330, 65, 75, 20);
673 o->tooltip("Change member access attribute.");
674 o->down_box(FL_BORDER_BOX);
675 o->labelsize(11);
676 o->textsize(11);
677 o->callback((Fl_Callback*)name_public_member_cb);
678 o->when(FL_WHEN_CHANGED);
679 o->menu(menu_2);
680 } // Fl_Choice* o
681 { Fl_Choice* o = new Fl_Choice(330, 65, 75, 20);
682 o->tooltip("Change widget accessibility.");
683 o->down_box(FL_BORDER_BOX);
684 o->labelsize(11);
685 o->textsize(11);
686 o->callback((Fl_Callback*)name_public_cb);
687 o->when(FL_WHEN_CHANGED);
688 o->menu(menu_3);
689 } // Fl_Choice* o
690 o->end();
691 } // Fl_Group* o
692 { v_input[0] = new Fl_Input(95, 90, 310, 20, "Extra Code:");
693 v_input[0]->tooltip("Extra initialization code for the widget.");
694 v_input[0]->labelfont(1);
695 v_input[0]->labelsize(11);
696 v_input[0]->textfont(4);
697 v_input[0]->textsize(11);
698 v_input[0]->callback((Fl_Callback*)v_input_cb, (void*)(0));
699 } // Fl_Input* v_input[0]
700 { v_input[1] = new Fl_Input(95, 110, 310, 20);
701 v_input[1]->tooltip("Extra initialization code for the widget.");
702 v_input[1]->labelsize(11);
703 v_input[1]->textfont(4);
704 v_input[1]->textsize(11);
705 v_input[1]->callback((Fl_Callback*)v_input_cb, (void*)(1));
706 } // Fl_Input* v_input[1]
707 { v_input[2] = new Fl_Input(95, 130, 310, 20);
708 v_input[2]->tooltip("Extra initialization code for the widget.");
709 v_input[2]->labelsize(11);
710 v_input[2]->textfont(4);
711 v_input[2]->textsize(11);
712 v_input[2]->callback((Fl_Callback*)v_input_cb, (void*)(2));
713 } // Fl_Input* v_input[2]
714 { v_input[3] = new Fl_Input(95, 150, 310, 20);
715 v_input[3]->tooltip("Extra initialization code for the widget.");
716 v_input[3]->labelsize(11);
717 v_input[3]->textfont(4);
718 v_input[3]->textsize(11);
719 v_input[3]->callback((Fl_Callback*)v_input_cb, (void*)(3));
720 } // Fl_Input* v_input[3]
721 { CodeEditor* o = new CodeEditor(95, 175, 310, 90, "Callback:");
722 o->tooltip("The callback function or code for the widget. Use the variable name \'o\' to \
723 access the Widget pointer and \'v\' to access the user value.");
724 o->box(FL_DOWN_BOX);
725 o->color(FL_BACKGROUND2_COLOR);
726 o->selection_color(FL_SELECTION_COLOR);
727 o->labeltype(FL_NORMAL_LABEL);
728 o->labelfont(1);
729 o->labelsize(11);
730 o->labelcolor(FL_FOREGROUND_COLOR);
731 o->textfont(4);
732 o->textsize(11);
733 o->callback((Fl_Callback*)callback_cb);
734 o->align(Fl_Align(FL_ALIGN_LEFT));
735 o->when(FL_WHEN_RELEASE);
736 Fl_Group::current()->resizable(o);
737 } // CodeEditor* o
738 { Fl_Group* o = new Fl_Group(95, 270, 310, 20, "User Data:");
739 o->labelfont(1);
740 o->labelsize(11);
741 o->callback((Fl_Callback*)propagate_load);
742 o->align(Fl_Align(FL_ALIGN_LEFT));
743 { Fl_Input* o = new Fl_Input(95, 270, 158, 20);
744 o->tooltip("The user data to pass into the callback code.");
745 o->labelfont(1);
746 o->labelsize(11);
747 o->textfont(4);
748 o->textsize(11);
749 o->callback((Fl_Callback*)user_data_cb);
750 Fl_Group::current()->resizable(o);
751 } // Fl_Input* o
752 { Fl_Choice* o = new Fl_Choice(300, 270, 105, 20, "When:");
753 o->tooltip("When to call the callback function.");
754 o->box(FL_THIN_UP_BOX);
755 o->down_box(FL_BORDER_BOX);
756 o->labelfont(1);
757 o->labelsize(11);
758 o->textsize(11);
759 o->callback((Fl_Callback*)when_cb);
760 o->when(FL_WHEN_CHANGED);
761 o->menu(whenmenu);
762 } // Fl_Choice* o
763 o->end();
764 } // Fl_Group* o
765 { Fl_Group* o = new Fl_Group(95, 295, 310, 20, "Type:");
766 o->labelfont(1);
767 o->labelsize(11);
768 o->callback((Fl_Callback*)propagate_load);
769 o->align(Fl_Align(FL_ALIGN_LEFT));
770 { Fl_Input* o = new Fl_Input(95, 295, 158, 20);
771 o->tooltip("The type of the user data.");
772 o->labelfont(1);
773 o->labelsize(11);
774 o->textfont(4);
775 o->textsize(11);
776 o->callback((Fl_Callback*)user_data_type_cb);
777 Fl_Group::current()->resizable(o);
778 } // Fl_Input* o
779 { Fl_Light_Button* o = new Fl_Light_Button(300, 295, 105, 20, "No Change");
780 o->tooltip("Call the callback even if the value has not changed.");
781 o->selection_color((Fl_Color)1);
782 o->labelsize(11);
783 o->callback((Fl_Callback*)when_button_cb);
784 } // Fl_Light_Button* o
785 o->end();
786 } // Fl_Group* o
787 o->end();
788 } // Fl_Group* o
789 o->end();
790 Fl_Group::current()->resizable(o);
791 } // Fl_Tabs* o
792 { Fl_Group* o = new Fl_Group(9, 330, 400, 20);
793 o->labelsize(11);
794 { Fl_Box* o = new Fl_Box(9, 330, 20, 20);
795 o->labelsize(11);
796 Fl_Group::current()->resizable(o);
797 } // Fl_Box* o
798 { Fl_Button* o = new Fl_Button(240, 330, 99, 20, "Hide &Overlays");
799 o->tooltip("Hide the widget overlay box.");
800 o->labelsize(11);
801 o->labelcolor((Fl_Color)1);
802 o->callback((Fl_Callback*)overlay_cb);
803 } // Fl_Button* o
804 { Fl_Button* o = new Fl_Button(66, 330, 80, 20, "Revert");
805 o->labelsize(11);
806 o->callback((Fl_Callback*)revert_cb);
807 o->hide();
808 } // Fl_Button* o
809 { Fl_Return_Button* o = new Fl_Return_Button(344, 330, 64, 20, "Close");
810 o->labelsize(11);
811 o->callback((Fl_Callback*)ok_cb);
812 } // Fl_Return_Button* o
813 { Fl_Button* o = new Fl_Button(339, 330, 70, 20, "Cancel");
814 o->labelsize(11);
815 o->callback((Fl_Callback*)cancel_cb);
816 o->hide();
817 } // Fl_Button* o
818 { wLiveMode = new Fl_Button(151, 330, 84, 20, "Live &Mode");
819 wLiveMode->tooltip("Create a live duplicate of the selected widgets to test resizing and menu beh\
820 avior.");
821 wLiveMode->type(1);
822 wLiveMode->labelsize(11);
823 wLiveMode->callback((Fl_Callback*)live_mode_cb);
824 } // Fl_Button* wLiveMode
825 o->end();
826 } // Fl_Group* o
827 o->size_range(o->w(), o->h());
828 o->end();
829 } // Fl_Double_Window* o
830 return w;
831 }
832
833 //
834 // End of "$Id: widget_panel.cxx 7903 2010-11-28 21:06:39Z matt $".
835 //
836