You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

836 lines
35KB

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