widget_panel.cxx 39 KB

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