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.

1144 lines
44KB

  1. //
  2. // "$Id: function_panel.cxx 8172 2011-01-03 08:28:38Z matt $"
  3. //
  4. // Code dialogs 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 "function_panel.h"
  29. #include <FL/Fl_Pixmap.H>
  30. #include "Fl_Type.h"
  31. #include "undo.h"
  32. extern class Fl_Pixmap *pixmap[];
  33. extern class Fl_Type *Fl_Type_make(const char*);
  34. extern void select_only(Fl_Type*);
  35. extern void exit_cb(Fl_Widget*, void*);
  36. extern void toggle_widgetbin_cb(Fl_Widget*, void*);
  37. Fl_Double_Window *function_panel=(Fl_Double_Window *)0;
  38. Fl_Choice *f_public_member_choice=(Fl_Choice *)0;
  39. Fl_Menu_Item menu_f_public_member_choice[] = {
  40. {"private", 0, 0, (void*)(0), 0, FL_NORMAL_LABEL, 0, 11, 0},
  41. {"public", 0, 0, (void*)(1), 0, FL_NORMAL_LABEL, 0, 11, 0},
  42. {"protected", 0, 0, (void*)(2), 0, FL_NORMAL_LABEL, 0, 11, 0},
  43. {0,0,0,0,0,0,0,0,0}
  44. };
  45. Fl_Choice *f_public_choice=(Fl_Choice *)0;
  46. Fl_Menu_Item menu_f_public_choice[] = {
  47. {"local", 0, 0, (void*)(0), 0, FL_NORMAL_LABEL, 0, 11, 0},
  48. {"global", 0, 0, (void*)(1), 0, FL_NORMAL_LABEL, 0, 11, 0},
  49. {0,0,0,0,0,0,0,0,0}
  50. };
  51. Fl_Light_Button *f_c_button=(Fl_Light_Button *)0;
  52. Fl_Input *f_name_input=(Fl_Input *)0;
  53. Fl_Input *f_return_type_input=(Fl_Input *)0;
  54. Fl_Return_Button *f_panel_ok=(Fl_Return_Button *)0;
  55. Fl_Button *f_panel_cancel=(Fl_Button *)0;
  56. Fl_Text_Editor *f_comment_input=(Fl_Text_Editor *)0;
  57. Fl_Double_Window* make_function_panel() {
  58. { function_panel = new Fl_Double_Window(343, 232, "Function/Method Properties");
  59. { Fl_Group* o = new Fl_Group(10, 10, 270, 20);
  60. { f_public_member_choice = new Fl_Choice(10, 10, 75, 20);
  61. f_public_member_choice->tooltip("Change member access attribute.");
  62. f_public_member_choice->down_box(FL_BORDER_BOX);
  63. f_public_member_choice->labelsize(11);
  64. f_public_member_choice->textsize(11);
  65. f_public_member_choice->when(FL_WHEN_CHANGED);
  66. f_public_member_choice->menu(menu_f_public_member_choice);
  67. } // Fl_Choice* f_public_member_choice
  68. { f_public_choice = new Fl_Choice(10, 10, 75, 20);
  69. f_public_choice->tooltip("Change widget accessibility.");
  70. f_public_choice->down_box(FL_BORDER_BOX);
  71. f_public_choice->labelsize(11);
  72. f_public_choice->textsize(11);
  73. f_public_choice->when(FL_WHEN_CHANGED);
  74. f_public_choice->menu(menu_f_public_choice);
  75. } // Fl_Choice* f_public_choice
  76. { f_c_button = new Fl_Light_Button(95, 10, 80, 20, "C declaration");
  77. f_c_button->tooltip("Declare with a C interface instead of C++.");
  78. f_c_button->labelsize(11);
  79. } // Fl_Light_Button* f_c_button
  80. { Fl_Box* o = new Fl_Box(235, 10, 45, 20);
  81. Fl_Group::current()->resizable(o);
  82. } // Fl_Box* o
  83. o->end();
  84. } // Fl_Group* o
  85. { f_name_input = new Fl_Input(10, 50, 320, 20, "Name(args): (blank for main())");
  86. f_name_input->tooltip("The name of the function or method.");
  87. f_name_input->labelfont(1);
  88. f_name_input->labelsize(11);
  89. f_name_input->textfont(4);
  90. f_name_input->textsize(11);
  91. f_name_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  92. f_name_input->when(FL_WHEN_NEVER);
  93. } // Fl_Input* f_name_input
  94. { f_return_type_input = new Fl_Input(10, 90, 320, 20, "Return Type: (blank to return outermost widget)");
  95. f_return_type_input->tooltip("The return type of the function or method.");
  96. f_return_type_input->labelfont(1);
  97. f_return_type_input->labelsize(11);
  98. f_return_type_input->textfont(4);
  99. f_return_type_input->textsize(11);
  100. f_return_type_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  101. f_return_type_input->when(FL_WHEN_NEVER);
  102. } // Fl_Input* f_return_type_input
  103. { Fl_Group* o = new Fl_Group(10, 200, 320, 20);
  104. { f_panel_ok = new Fl_Return_Button(220, 200, 50, 20, "OK");
  105. f_panel_ok->tooltip("Apply the changes.");
  106. f_panel_ok->labelsize(11);
  107. f_panel_ok->window()->hotspot(f_panel_ok);
  108. } // Fl_Return_Button* f_panel_ok
  109. { f_panel_cancel = new Fl_Button(280, 200, 50, 20, "Cancel");
  110. f_panel_cancel->tooltip("Cancel the changes.");
  111. f_panel_cancel->shortcut(0xff1b);
  112. f_panel_cancel->labelsize(11);
  113. } // Fl_Button* f_panel_cancel
  114. { Fl_Box* o = new Fl_Box(10, 200, 205, 20);
  115. Fl_Group::current()->resizable(o);
  116. } // Fl_Box* o
  117. o->end();
  118. } // Fl_Group* o
  119. { f_comment_input = new Fl_Text_Editor(10, 125, 320, 65, "Comment:");
  120. f_comment_input->tooltip("Function comment in Doxygen format");
  121. f_comment_input->box(FL_DOWN_BOX);
  122. f_comment_input->labelfont(1);
  123. f_comment_input->labelsize(11);
  124. f_comment_input->textfont(4);
  125. f_comment_input->textsize(11);
  126. f_comment_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  127. Fl_Group::current()->resizable(f_comment_input);
  128. f_comment_input->buffer(new Fl_Text_Buffer());
  129. } // Fl_Text_Editor* f_comment_input
  130. function_panel->set_modal();
  131. function_panel->end();
  132. } // Fl_Double_Window* function_panel
  133. return function_panel;
  134. }
  135. Fl_Double_Window *code_panel=(Fl_Double_Window *)0;
  136. CodeEditor *code_input=(CodeEditor *)0;
  137. Fl_Return_Button *code_panel_ok=(Fl_Return_Button *)0;
  138. Fl_Button *code_panel_cancel=(Fl_Button *)0;
  139. Fl_Double_Window* make_code_panel() {
  140. { Fl_Double_Window* o = code_panel = new Fl_Double_Window(540, 180, "Code Properties");
  141. code_panel->labelsize(11);
  142. { CodeEditor* o = code_input = new CodeEditor(10, 10, 520, 130);
  143. code_input->box(FL_DOWN_BOX);
  144. code_input->color(FL_BACKGROUND2_COLOR);
  145. code_input->selection_color(FL_SELECTION_COLOR);
  146. code_input->labeltype(FL_NORMAL_LABEL);
  147. code_input->labelfont(0);
  148. code_input->labelsize(11);
  149. code_input->labelcolor(FL_FOREGROUND_COLOR);
  150. code_input->textfont(4);
  151. code_input->textsize(11);
  152. code_input->align(Fl_Align(FL_ALIGN_TOP));
  153. code_input->when(FL_WHEN_RELEASE);
  154. Fl_Group::current()->resizable(code_input);
  155. o->when(FL_WHEN_ENTER_KEY_CHANGED|FL_WHEN_RELEASE);
  156. } // CodeEditor* code_input
  157. { Fl_Group* o = new Fl_Group(10, 150, 520, 20);
  158. o->labelsize(11);
  159. { code_panel_ok = new Fl_Return_Button(400, 150, 60, 20, "OK");
  160. code_panel_ok->labelsize(11);
  161. code_panel_ok->window()->hotspot(code_panel_ok);
  162. } // Fl_Return_Button* code_panel_ok
  163. { code_panel_cancel = new Fl_Button(470, 150, 60, 20, "Cancel");
  164. code_panel_cancel->shortcut(0xff1b);
  165. code_panel_cancel->labelsize(11);
  166. } // Fl_Button* code_panel_cancel
  167. { Fl_Box* o = new Fl_Box(10, 150, 380, 20);
  168. o->labelsize(11);
  169. Fl_Group::current()->resizable(o);
  170. } // Fl_Box* o
  171. o->end();
  172. } // Fl_Group* o
  173. o->size_range(200, 150);
  174. code_panel->set_modal();
  175. code_panel->end();
  176. } // Fl_Double_Window* code_panel
  177. return code_panel;
  178. }
  179. Fl_Double_Window *codeblock_panel=(Fl_Double_Window *)0;
  180. Fl_Input *code_before_input=(Fl_Input *)0;
  181. Fl_Input *code_after_input=(Fl_Input *)0;
  182. Fl_Return_Button *codeblock_panel_ok=(Fl_Return_Button *)0;
  183. Fl_Button *codeblock_panel_cancel=(Fl_Button *)0;
  184. Fl_Double_Window* make_codeblock_panel() {
  185. { Fl_Double_Window* o = codeblock_panel = new Fl_Double_Window(300, 115, "Code Block Properties");
  186. codeblock_panel->labelsize(11);
  187. { code_before_input = new Fl_Input(10, 15, 280, 20, "Conditional code block");
  188. code_before_input->tooltip("#ifdef or similar conditional code block.");
  189. code_before_input->labelsize(11);
  190. code_before_input->textfont(4);
  191. code_before_input->textsize(11);
  192. code_before_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  193. code_before_input->when(FL_WHEN_NEVER);
  194. } // Fl_Input* code_before_input
  195. { code_after_input = new Fl_Input(10, 55, 280, 20, "\"{...child code...}\" is inserted here");
  196. code_after_input->tooltip("#endif or similar conditional code block.");
  197. code_after_input->labelsize(11);
  198. code_after_input->textfont(4);
  199. code_after_input->textsize(11);
  200. code_after_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  201. code_after_input->when(FL_WHEN_NEVER);
  202. Fl_Group::current()->resizable(code_after_input);
  203. } // Fl_Input* code_after_input
  204. { Fl_Group* o = new Fl_Group(10, 85, 280, 20);
  205. { codeblock_panel_ok = new Fl_Return_Button(160, 85, 60, 20, "OK");
  206. codeblock_panel_ok->labelsize(11);
  207. codeblock_panel_ok->window()->hotspot(codeblock_panel_ok);
  208. } // Fl_Return_Button* codeblock_panel_ok
  209. { codeblock_panel_cancel = new Fl_Button(230, 85, 60, 20, "Cancel");
  210. codeblock_panel_cancel->shortcut(0xff1b);
  211. codeblock_panel_cancel->labelsize(11);
  212. } // Fl_Button* codeblock_panel_cancel
  213. { Fl_Box* o = new Fl_Box(10, 85, 140, 20);
  214. Fl_Group::current()->resizable(o);
  215. } // Fl_Box* o
  216. o->end();
  217. } // Fl_Group* o
  218. o->size_range(o->w(), o->h(), Fl::w(), o->h());
  219. codeblock_panel->set_modal();
  220. codeblock_panel->end();
  221. } // Fl_Double_Window* codeblock_panel
  222. return codeblock_panel;
  223. }
  224. Fl_Double_Window *declblock_panel=(Fl_Double_Window *)0;
  225. Fl_Choice *declblock_public_choice=(Fl_Choice *)0;
  226. Fl_Menu_Item menu_declblock_public_choice[] = {
  227. {"in source code only", 0, 0, (void*)(0), 0, FL_NORMAL_LABEL, 0, 11, 0},
  228. {"in header and source", 0, 0, (void*)(1), 0, FL_NORMAL_LABEL, 0, 11, 0},
  229. {0,0,0,0,0,0,0,0,0}
  230. };
  231. Fl_Light_Button *declblock_public_button_x=(Fl_Light_Button *)0;
  232. Fl_Input *decl_before_input=(Fl_Input *)0;
  233. Fl_Input *decl_after_input=(Fl_Input *)0;
  234. Fl_Return_Button *declblock_panel_ok=(Fl_Return_Button *)0;
  235. Fl_Button *declblock_panel_cancel=(Fl_Button *)0;
  236. Fl_Double_Window* make_declblock_panel() {
  237. { Fl_Double_Window* o = declblock_panel = new Fl_Double_Window(300, 135, "Declaration Block Properties");
  238. declblock_panel->labelsize(11);
  239. { Fl_Group* o = new Fl_Group(10, 10, 280, 20);
  240. { declblock_public_choice = new Fl_Choice(10, 10, 140, 20);
  241. declblock_public_choice->tooltip("Change widget accessibility.");
  242. declblock_public_choice->down_box(FL_BORDER_BOX);
  243. declblock_public_choice->labelsize(11);
  244. declblock_public_choice->textsize(11);
  245. declblock_public_choice->when(FL_WHEN_NEVER);
  246. declblock_public_choice->menu(menu_declblock_public_choice);
  247. } // Fl_Choice* declblock_public_choice
  248. { declblock_public_button_x = new Fl_Light_Button(10, 10, 60, 20, "public");
  249. declblock_public_button_x->tooltip("Make the declaration publicly accessible.");
  250. declblock_public_button_x->labelsize(11);
  251. declblock_public_button_x->when(FL_WHEN_NEVER);
  252. declblock_public_button_x->hide();
  253. } // Fl_Light_Button* declblock_public_button_x
  254. { Fl_Box* o = new Fl_Box(155, 10, 135, 20);
  255. Fl_Group::current()->resizable(o);
  256. } // Fl_Box* o
  257. o->end();
  258. } // Fl_Group* o
  259. { decl_before_input = new Fl_Input(10, 40, 280, 20);
  260. decl_before_input->tooltip("#ifdef or similar conditional declaration block.");
  261. decl_before_input->labelsize(11);
  262. decl_before_input->textfont(4);
  263. decl_before_input->textsize(11);
  264. decl_before_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  265. decl_before_input->when(FL_WHEN_NEVER);
  266. Fl_Group::current()->resizable(decl_before_input);
  267. } // Fl_Input* decl_before_input
  268. { decl_after_input = new Fl_Input(10, 75, 280, 20, "\"\\n...child code...\\n\" is inserted here");
  269. decl_after_input->tooltip("#endif or similar declaration code block.");
  270. decl_after_input->labelsize(11);
  271. decl_after_input->textfont(4);
  272. decl_after_input->textsize(11);
  273. decl_after_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  274. decl_after_input->when(FL_WHEN_NEVER);
  275. } // Fl_Input* decl_after_input
  276. { Fl_Group* o = new Fl_Group(10, 105, 280, 20);
  277. { declblock_panel_ok = new Fl_Return_Button(160, 105, 60, 20, "OK");
  278. declblock_panel_ok->labelsize(11);
  279. declblock_panel_ok->window()->hotspot(declblock_panel_ok);
  280. } // Fl_Return_Button* declblock_panel_ok
  281. { declblock_panel_cancel = new Fl_Button(230, 105, 60, 20, "Cancel");
  282. declblock_panel_cancel->shortcut(0xff1b);
  283. declblock_panel_cancel->labelsize(11);
  284. } // Fl_Button* declblock_panel_cancel
  285. { Fl_Box* o = new Fl_Box(10, 105, 140, 20);
  286. Fl_Group::current()->resizable(o);
  287. } // Fl_Box* o
  288. o->end();
  289. } // Fl_Group* o
  290. o->size_range(o->w(), o->h(), Fl::w(), o->h());
  291. declblock_panel->set_modal();
  292. declblock_panel->end();
  293. } // Fl_Double_Window* declblock_panel
  294. return declblock_panel;
  295. }
  296. Fl_Double_Window *decl_panel=(Fl_Double_Window *)0;
  297. Fl_Choice *decl_choice=(Fl_Choice *)0;
  298. Fl_Menu_Item menu_decl_choice[] = {
  299. {"in source file only", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  300. {"in header file only", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  301. {"\"static\" in source file", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  302. {"in source and \"extern\" in header", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  303. {0,0,0,0,0,0,0,0,0}
  304. };
  305. Fl_Choice *decl_class_choice=(Fl_Choice *)0;
  306. Fl_Menu_Item menu_decl_class_choice[] = {
  307. {"private", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  308. {"public", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  309. {"protected", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  310. {0,0,0,0,0,0,0,0,0}
  311. };
  312. Fl_Input *decl_input=(Fl_Input *)0;
  313. Fl_Return_Button *decl_panel_ok=(Fl_Return_Button *)0;
  314. Fl_Button *decl_panel_cancel=(Fl_Button *)0;
  315. Fl_Text_Editor *decl_comment_input=(Fl_Text_Editor *)0;
  316. Fl_Double_Window* make_decl_panel() {
  317. { decl_panel = new Fl_Double_Window(343, 237, "Declaration Properties");
  318. decl_panel->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
  319. { Fl_Group* o = new Fl_Group(10, 10, 270, 20);
  320. { Fl_Box* o = new Fl_Box(200, 10, 80, 20);
  321. Fl_Group::current()->resizable(o);
  322. } // Fl_Box* o
  323. { decl_choice = new Fl_Choice(10, 10, 185, 20);
  324. decl_choice->down_box(FL_BORDER_BOX);
  325. decl_choice->labelsize(11);
  326. decl_choice->textsize(11);
  327. decl_choice->menu(menu_decl_choice);
  328. } // Fl_Choice* decl_choice
  329. { decl_class_choice = new Fl_Choice(10, 10, 75, 20);
  330. decl_class_choice->down_box(FL_BORDER_BOX);
  331. decl_class_choice->labelsize(11);
  332. decl_class_choice->textsize(11);
  333. decl_class_choice->menu(menu_decl_class_choice);
  334. } // Fl_Choice* decl_class_choice
  335. o->end();
  336. } // Fl_Group* o
  337. { decl_input = new Fl_Input(10, 40, 320, 20, "This can be any declaration, like \"int x;\", an external symbol like \"exter\
  338. n int foo();\", a #directive like \"#include <foo.h>\", a comment like \"//foo\
  339. \" or \"/*foo*/\", or typedef like \"typedef char byte;\" or \"using std::list\
  340. ;\".");
  341. decl_input->tooltip("Declaration text.");
  342. decl_input->labelsize(11);
  343. decl_input->textfont(4);
  344. decl_input->textsize(11);
  345. decl_input->align(Fl_Align(134));
  346. decl_input->when(FL_WHEN_NEVER);
  347. } // Fl_Input* decl_input
  348. { Fl_Group* o = new Fl_Group(10, 205, 320, 20);
  349. { decl_panel_ok = new Fl_Return_Button(200, 205, 60, 20, "OK");
  350. decl_panel_ok->labelsize(11);
  351. decl_panel_ok->window()->hotspot(decl_panel_ok);
  352. } // Fl_Return_Button* decl_panel_ok
  353. { decl_panel_cancel = new Fl_Button(270, 205, 60, 20, "Cancel");
  354. decl_panel_cancel->shortcut(0xff1b);
  355. decl_panel_cancel->labelsize(11);
  356. } // Fl_Button* decl_panel_cancel
  357. { Fl_Box* o = new Fl_Box(10, 205, 185, 20);
  358. Fl_Group::current()->resizable(o);
  359. } // Fl_Box* o
  360. o->end();
  361. } // Fl_Group* o
  362. { decl_comment_input = new Fl_Text_Editor(10, 130, 320, 65, "Comment:");
  363. decl_comment_input->tooltip("Declaration comment in Doxygen format");
  364. decl_comment_input->box(FL_DOWN_BOX);
  365. decl_comment_input->labelfont(1);
  366. decl_comment_input->labelsize(11);
  367. decl_comment_input->textfont(4);
  368. decl_comment_input->textsize(11);
  369. decl_comment_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  370. Fl_Group::current()->resizable(decl_comment_input);
  371. decl_comment_input->buffer(new Fl_Text_Buffer());
  372. } // Fl_Text_Editor* decl_comment_input
  373. decl_panel->size_range(343, 237);
  374. decl_panel->end();
  375. } // Fl_Double_Window* decl_panel
  376. return decl_panel;
  377. }
  378. Fl_Double_Window *data_panel=(Fl_Double_Window *)0;
  379. Fl_Choice *data_choice=(Fl_Choice *)0;
  380. Fl_Menu_Item menu_data_choice[] = {
  381. {"in source file only", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  382. {"in header file only", 0, 0, 0, 16, FL_NORMAL_LABEL, 0, 11, 0},
  383. {"\"static\" in source file", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  384. {"in source and \"extern\" in header", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  385. {0,0,0,0,0,0,0,0,0}
  386. };
  387. Fl_Choice *data_class_choice=(Fl_Choice *)0;
  388. Fl_Menu_Item menu_data_class_choice[] = {
  389. {"private", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  390. {"public", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  391. {"protected", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
  392. {0,0,0,0,0,0,0,0,0}
  393. };
  394. Fl_Input *data_input=(Fl_Input *)0;
  395. Fl_Input *data_filename=(Fl_Input *)0;
  396. Fl_Button *data_filebrowser=(Fl_Button *)0;
  397. Fl_Return_Button *data_panel_ok=(Fl_Return_Button *)0;
  398. Fl_Button *data_panel_cancel=(Fl_Button *)0;
  399. Fl_Text_Editor *data_comment_input=(Fl_Text_Editor *)0;
  400. Fl_Double_Window* make_data_panel() {
  401. { data_panel = new Fl_Double_Window(343, 237, "Binary Data Properties");
  402. data_panel->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
  403. { Fl_Group* o = new Fl_Group(10, 10, 270, 20);
  404. { Fl_Box* o = new Fl_Box(200, 10, 80, 20);
  405. Fl_Group::current()->resizable(o);
  406. } // Fl_Box* o
  407. { data_choice = new Fl_Choice(10, 10, 185, 20);
  408. data_choice->down_box(FL_BORDER_BOX);
  409. data_choice->labelsize(11);
  410. data_choice->textsize(11);
  411. data_choice->menu(menu_data_choice);
  412. } // Fl_Choice* data_choice
  413. { data_class_choice = new Fl_Choice(10, 10, 75, 20);
  414. data_class_choice->down_box(FL_BORDER_BOX);
  415. data_class_choice->labelsize(11);
  416. data_class_choice->textsize(11);
  417. data_class_choice->menu(menu_data_class_choice);
  418. } // Fl_Choice* data_class_choice
  419. o->end();
  420. } // Fl_Group* o
  421. { data_input = new Fl_Input(10, 52, 320, 20, "Variable Name:");
  422. data_input->tooltip("Binary Data variables are declared \"const unsigned char []\".");
  423. data_input->labelfont(1);
  424. data_input->labelsize(11);
  425. data_input->textfont(4);
  426. data_input->textsize(11);
  427. data_input->align(Fl_Align(133));
  428. data_input->when(FL_WHEN_NEVER);
  429. } // Fl_Input* data_input
  430. { data_filename = new Fl_Input(10, 90, 280, 20, "Filename:");
  431. data_filename->tooltip("Name and path of binary file that will be included.");
  432. data_filename->labelfont(1);
  433. data_filename->labelsize(11);
  434. data_filename->textfont(4);
  435. data_filename->textsize(11);
  436. data_filename->align(Fl_Align(133));
  437. data_filename->when(FL_WHEN_NEVER);
  438. } // Fl_Input* data_filename
  439. { data_filebrowser = new Fl_Button(290, 90, 40, 20, "@fileopen");
  440. data_filebrowser->labelcolor((Fl_Color)134);
  441. } // Fl_Button* data_filebrowser
  442. { Fl_Group* o = new Fl_Group(10, 205, 320, 20);
  443. { data_panel_ok = new Fl_Return_Button(200, 205, 60, 20, "OK");
  444. data_panel_ok->labelsize(11);
  445. data_panel_ok->window()->hotspot(data_panel_ok);
  446. } // Fl_Return_Button* data_panel_ok
  447. { data_panel_cancel = new Fl_Button(270, 205, 60, 20, "Cancel");
  448. data_panel_cancel->shortcut(0xff1b);
  449. data_panel_cancel->labelsize(11);
  450. } // Fl_Button* data_panel_cancel
  451. { Fl_Box* o = new Fl_Box(10, 205, 185, 20);
  452. Fl_Group::current()->resizable(o);
  453. } // Fl_Box* o
  454. o->end();
  455. } // Fl_Group* o
  456. { data_comment_input = new Fl_Text_Editor(10, 130, 320, 65, "Comment:");
  457. data_comment_input->tooltip("Declaration comment in Doxygen format");
  458. data_comment_input->box(FL_DOWN_BOX);
  459. data_comment_input->labelfont(1);
  460. data_comment_input->labelsize(11);
  461. data_comment_input->textfont(4);
  462. data_comment_input->textsize(11);
  463. data_comment_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  464. Fl_Group::current()->resizable(data_comment_input);
  465. data_comment_input->buffer(new Fl_Text_Buffer());
  466. } // Fl_Text_Editor* data_comment_input
  467. data_panel->size_range(343, 237);
  468. data_panel->end();
  469. } // Fl_Double_Window* data_panel
  470. return data_panel;
  471. }
  472. Fl_Double_Window *class_panel=(Fl_Double_Window *)0;
  473. Fl_Light_Button *c_public_button=(Fl_Light_Button *)0;
  474. Fl_Input *c_name_input=(Fl_Input *)0;
  475. Fl_Input *c_subclass_input=(Fl_Input *)0;
  476. Fl_Text_Editor *c_comment_input=(Fl_Text_Editor *)0;
  477. Fl_Return_Button *c_panel_ok=(Fl_Return_Button *)0;
  478. Fl_Button *c_panel_cancel=(Fl_Button *)0;
  479. Fl_Double_Window* make_class_panel() {
  480. { class_panel = new Fl_Double_Window(342, 196, "Class Properties");
  481. class_panel->labelsize(11);
  482. { Fl_Group* o = new Fl_Group(10, 10, 280, 20);
  483. o->hide();
  484. { c_public_button = new Fl_Light_Button(10, 10, 60, 20, "public");
  485. c_public_button->tooltip("Make the class publicly accessible.");
  486. c_public_button->labelsize(11);
  487. c_public_button->when(FL_WHEN_NEVER);
  488. c_public_button->hide();
  489. } // Fl_Light_Button* c_public_button
  490. { Fl_Box* o = new Fl_Box(80, 10, 210, 20);
  491. Fl_Group::current()->resizable(o);
  492. } // Fl_Box* o
  493. o->end();
  494. } // Fl_Group* o
  495. { c_name_input = new Fl_Input(10, 20, 320, 20, "Name:");
  496. c_name_input->tooltip("Name of class.");
  497. c_name_input->labelfont(1);
  498. c_name_input->labelsize(11);
  499. c_name_input->textfont(4);
  500. c_name_input->textsize(11);
  501. c_name_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  502. c_name_input->when(FL_WHEN_NEVER);
  503. } // Fl_Input* c_name_input
  504. { c_subclass_input = new Fl_Input(10, 55, 320, 20, "Subclass of (text between : and {)");
  505. c_subclass_input->tooltip("Name of subclass.");
  506. c_subclass_input->labelfont(1);
  507. c_subclass_input->labelsize(11);
  508. c_subclass_input->textfont(4);
  509. c_subclass_input->textsize(11);
  510. c_subclass_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  511. c_subclass_input->when(FL_WHEN_NEVER);
  512. } // Fl_Input* c_subclass_input
  513. { c_comment_input = new Fl_Text_Editor(10, 90, 320, 65, "Comment:");
  514. c_comment_input->tooltip("Class comment in Doxygen format");
  515. c_comment_input->box(FL_DOWN_BOX);
  516. c_comment_input->labelfont(1);
  517. c_comment_input->labelsize(11);
  518. c_comment_input->textfont(4);
  519. c_comment_input->textsize(11);
  520. c_comment_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
  521. Fl_Group::current()->resizable(c_comment_input);
  522. c_comment_input->buffer(new Fl_Text_Buffer());
  523. } // Fl_Text_Editor* c_comment_input
  524. { Fl_Group* o = new Fl_Group(10, 165, 320, 20);
  525. { c_panel_ok = new Fl_Return_Button(200, 165, 60, 20, "OK");
  526. c_panel_ok->labelsize(11);
  527. c_panel_ok->window()->hotspot(c_panel_ok);
  528. } // Fl_Return_Button* c_panel_ok
  529. { c_panel_cancel = new Fl_Button(270, 165, 60, 20, "Cancel");
  530. c_panel_cancel->shortcut(0xff1b);
  531. c_panel_cancel->labelsize(11);
  532. } // Fl_Button* c_panel_cancel
  533. { Fl_Box* o = new Fl_Box(10, 165, 185, 20);
  534. Fl_Group::current()->resizable(o);
  535. } // Fl_Box* o
  536. o->end();
  537. } // Fl_Group* o
  538. class_panel->set_modal();
  539. class_panel->size_range(343, 188);
  540. class_panel->end();
  541. } // Fl_Double_Window* class_panel
  542. return class_panel;
  543. }
  544. Fl_Double_Window *comment_panel=(Fl_Double_Window *)0;
  545. CodeEditor *comment_input=(CodeEditor *)0;
  546. Fl_Return_Button *comment_panel_ok=(Fl_Return_Button *)0;
  547. Fl_Button *comment_panel_cancel=(Fl_Button *)0;
  548. Fl_Light_Button *comment_in_source=(Fl_Light_Button *)0;
  549. Fl_Light_Button *comment_in_header=(Fl_Light_Button *)0;
  550. Fl_Menu_Button *comment_predefined=(Fl_Menu_Button *)0;
  551. Fl_Button *comment_load=(Fl_Button *)0;
  552. Fl_Double_Window* make_comment_panel() {
  553. { Fl_Double_Window* o = comment_panel = new Fl_Double_Window(550, 280, "Comment Properties");
  554. comment_panel->labelsize(11);
  555. { CodeEditor* o = comment_input = new CodeEditor(110, 10, 430, 230);
  556. comment_input->box(FL_DOWN_BOX);
  557. comment_input->color(FL_BACKGROUND2_COLOR);
  558. comment_input->selection_color(FL_SELECTION_COLOR);
  559. comment_input->labeltype(FL_NORMAL_LABEL);
  560. comment_input->labelfont(0);
  561. comment_input->labelsize(11);
  562. comment_input->labelcolor(FL_FOREGROUND_COLOR);
  563. comment_input->textfont(4);
  564. comment_input->textsize(11);
  565. comment_input->align(Fl_Align(FL_ALIGN_TOP));
  566. comment_input->when(FL_WHEN_RELEASE);
  567. Fl_Group::current()->resizable(comment_input);
  568. o->when(FL_WHEN_ENTER_KEY_CHANGED|FL_WHEN_RELEASE);
  569. } // CodeEditor* comment_input
  570. { Fl_Group* o = new Fl_Group(110, 250, 430, 20);
  571. o->labelsize(11);
  572. { comment_panel_ok = new Fl_Return_Button(370, 250, 80, 20, "OK");
  573. comment_panel_ok->labelsize(11);
  574. comment_panel_ok->window()->hotspot(comment_panel_ok);
  575. } // Fl_Return_Button* comment_panel_ok
  576. { comment_panel_cancel = new Fl_Button(460, 250, 80, 20, "Cancel");
  577. comment_panel_cancel->shortcut(0xff1b);
  578. comment_panel_cancel->labelsize(11);
  579. } // Fl_Button* comment_panel_cancel
  580. { Fl_Box* o = new Fl_Box(110, 250, 250, 20);
  581. o->labelsize(11);
  582. Fl_Group::current()->resizable(o);
  583. } // Fl_Box* o
  584. o->end();
  585. } // Fl_Group* o
  586. { Fl_Group* o = new Fl_Group(10, 10, 90, 243);
  587. o->labelsize(11);
  588. { comment_in_source = new Fl_Light_Button(10, 10, 90, 20, "In Source");
  589. comment_in_source->tooltip("Put the comment into the source (.cxx) file.");
  590. comment_in_source->labelsize(11);
  591. comment_in_source->when(FL_WHEN_NEVER);
  592. } // Fl_Light_Button* comment_in_source
  593. { comment_in_header = new Fl_Light_Button(10, 40, 90, 20, "In Header");
  594. comment_in_header->tooltip("Put the comment into the header (.h) file.");
  595. comment_in_header->labelsize(11);
  596. comment_in_header->when(FL_WHEN_NEVER);
  597. } // Fl_Light_Button* comment_in_header
  598. { comment_predefined = new Fl_Menu_Button(10, 70, 90, 20, "Predefined");
  599. comment_predefined->labelsize(11);
  600. comment_predefined->textsize(11);
  601. } // Fl_Menu_Button* comment_predefined
  602. { comment_load = new Fl_Button(10, 100, 90, 20, "Import...");
  603. comment_load->labelsize(11);
  604. } // Fl_Button* comment_load
  605. { Fl_Box* o = new Fl_Box(10, 132, 90, 121);
  606. o->labelsize(11);
  607. Fl_Group::current()->resizable(o);
  608. } // Fl_Box* o
  609. o->end();
  610. } // Fl_Group* o
  611. o->size_range(320, 180);
  612. comment_panel->set_modal();
  613. comment_panel->end();
  614. } // Fl_Double_Window* comment_panel
  615. return comment_panel;
  616. }
  617. void type_make_cb(Fl_Widget*,void*d) {
  618. undo_checkpoint();
  619. Fl_Type *t = Fl_Type_make((char*)d);
  620. if (t) {
  621. select_only(t);
  622. set_modflag(1);
  623. t->open();
  624. } else {
  625. undo_current --;
  626. undo_last --;
  627. }
  628. }
  629. Fl_Window *widgetbin_panel=(Fl_Window *)0;
  630. static void cb_widgetbin_panel(Fl_Window* o, void* v) {
  631. if (Fl::event()==FL_SHORTCUT && Fl::event_key()==FL_Escape)
  632. exit_cb((Fl_Widget*)o, v);
  633. else
  634. toggle_widgetbin_cb((Fl_Widget*)o, v);
  635. }
  636. Fl_Window* make_widgetbin() {
  637. { widgetbin_panel = new Fl_Window(574, 85, "Widget Bin");
  638. widgetbin_panel->callback((Fl_Callback*)cb_widgetbin_panel);
  639. widgetbin_panel->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
  640. { Fl_Group* o = new Fl_Group(3, 3, 79, 79);
  641. { Fl_Button* o = new Fl_Button(5, 5, 24, 24);
  642. o->tooltip("Function");
  643. o->box(FL_THIN_UP_BOX);
  644. o->callback((Fl_Callback*)type_make_cb, (void*)("Function"));
  645. o->image(pixmap[7]);
  646. } // Fl_Button* o
  647. { Fl_Button* o = new Fl_Button(30, 5, 24, 24);
  648. o->tooltip("Class");
  649. o->box(FL_THIN_UP_BOX);
  650. o->callback((Fl_Callback*)type_make_cb, (void*)("Class"));
  651. o->image(pixmap[12]);
  652. } // Fl_Button* o
  653. { Fl_Button* o = new Fl_Button(55, 5, 24, 24);
  654. o->tooltip("Comment");
  655. o->box(FL_THIN_UP_BOX);
  656. o->callback((Fl_Callback*)type_make_cb, (void*)("comment"));
  657. o->image(pixmap[46]);
  658. } // Fl_Button* o
  659. { Fl_Button* o = new Fl_Button(5, 30, 24, 24);
  660. o->tooltip("Code");
  661. o->box(FL_THIN_UP_BOX);
  662. o->callback((Fl_Callback*)type_make_cb, (void*)("Code"));
  663. o->image(pixmap[8]);
  664. } // Fl_Button* o
  665. { Fl_Button* o = new Fl_Button(30, 30, 24, 24);
  666. o->tooltip("Code Block");
  667. o->box(FL_THIN_UP_BOX);
  668. o->callback((Fl_Callback*)type_make_cb, (void*)("CodeBlock"));
  669. o->image(pixmap[9]);
  670. } // Fl_Button* o
  671. { Fl_Button* o = new Fl_Button(55, 30, 24, 24);
  672. o->tooltip("Widget Class");
  673. o->box(FL_THIN_UP_BOX);
  674. o->callback((Fl_Callback*)type_make_cb, (void*)("widget_class"));
  675. o->image(pixmap[48]);
  676. } // Fl_Button* o
  677. { Fl_Button* o = new Fl_Button(5, 55, 24, 24);
  678. o->tooltip("Declaration");
  679. o->box(FL_THIN_UP_BOX);
  680. o->callback((Fl_Callback*)type_make_cb, (void*)("decl"));
  681. o->image(pixmap[10]);
  682. } // Fl_Button* o
  683. { Fl_Button* o = new Fl_Button(30, 55, 24, 24);
  684. o->tooltip("Declaration Block");
  685. o->box(FL_THIN_UP_BOX);
  686. o->callback((Fl_Callback*)type_make_cb, (void*)("declblock"));
  687. o->image(pixmap[11]);
  688. } // Fl_Button* o
  689. { Fl_Button* o = new Fl_Button(55, 55, 24, 24);
  690. o->tooltip("Binary Data");
  691. o->box(FL_THIN_UP_BOX);
  692. o->callback((Fl_Callback*)type_make_cb, (void*)("data"));
  693. o->image(pixmap[49]);
  694. } // Fl_Button* o
  695. o->end();
  696. } // Fl_Group* o
  697. { Fl_Group* o = new Fl_Group(87, 3, 79, 79);
  698. { Fl_Button* o = new Fl_Button(89, 5, 24, 24);
  699. o->tooltip("Window");
  700. o->box(FL_THIN_UP_BOX);
  701. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Window"));
  702. o->image(pixmap[1]);
  703. } // Fl_Button* o
  704. { Fl_Button* o = new Fl_Button(114, 5, 24, 24);
  705. o->tooltip("Group");
  706. o->box(FL_THIN_UP_BOX);
  707. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Group"));
  708. o->image(pixmap[6]);
  709. } // Fl_Button* o
  710. { Fl_Button* o = new Fl_Button(139, 5, 24, 24);
  711. o->tooltip("Pack");
  712. o->box(FL_THIN_UP_BOX);
  713. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Pack"));
  714. o->image(pixmap[22]);
  715. } // Fl_Button* o
  716. { Fl_Button* o = new Fl_Button(89, 30, 24, 24);
  717. o->tooltip("Tabs");
  718. o->box(FL_THIN_UP_BOX);
  719. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Tabs"));
  720. o->image(pixmap[13]);
  721. } // Fl_Button* o
  722. { Fl_Button* o = new Fl_Button(114, 30, 24, 24);
  723. o->tooltip("Scroll");
  724. o->box(FL_THIN_UP_BOX);
  725. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Scroll"));
  726. o->image(pixmap[19]);
  727. } // Fl_Button* o
  728. { Fl_Button* o = new Fl_Button(139, 30, 24, 24);
  729. o->tooltip("Table");
  730. o->box(FL_THIN_UP_BOX);
  731. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Table"));
  732. o->image(pixmap[51]);
  733. } // Fl_Button* o
  734. { Fl_Button* o = new Fl_Button(89, 55, 24, 24);
  735. o->tooltip("Tile");
  736. o->box(FL_THIN_UP_BOX);
  737. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Tile"));
  738. o->image(pixmap[20]);
  739. } // Fl_Button* o
  740. { Fl_Button* o = new Fl_Button(114, 55, 24, 24);
  741. o->tooltip("Wizard");
  742. o->box(FL_THIN_UP_BOX);
  743. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Wizard"));
  744. o->image(pixmap[21]);
  745. } // Fl_Button* o
  746. o->end();
  747. } // Fl_Group* o
  748. { Fl_Group* o = new Fl_Group(171, 3, 54, 79);
  749. { Fl_Button* o = new Fl_Button(173, 5, 24, 24);
  750. o->tooltip("Button");
  751. o->box(FL_THIN_UP_BOX);
  752. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Button"));
  753. o->image(pixmap[2]);
  754. } // Fl_Button* o
  755. { Fl_Button* o = new Fl_Button(198, 5, 24, 24);
  756. o->tooltip("Return Button");
  757. o->box(FL_THIN_UP_BOX);
  758. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Return_Button"));
  759. o->image(pixmap[23]);
  760. } // Fl_Button* o
  761. { Fl_Button* o = new Fl_Button(173, 30, 24, 24);
  762. o->tooltip("Light Button");
  763. o->box(FL_THIN_UP_BOX);
  764. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Light_Button"));
  765. o->image(pixmap[24]);
  766. } // Fl_Button* o
  767. { Fl_Button* o = new Fl_Button(198, 30, 24, 24);
  768. o->tooltip("Repeat Button");
  769. o->box(FL_THIN_UP_BOX);
  770. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Repeat_Button"));
  771. o->image(pixmap[25]);
  772. } // Fl_Button* o
  773. { Fl_Button* o = new Fl_Button(173, 55, 24, 24);
  774. o->tooltip("Check Button");
  775. o->box(FL_THIN_UP_BOX);
  776. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Check_Button"));
  777. o->image(pixmap[3]);
  778. } // Fl_Button* o
  779. { Fl_Button* o = new Fl_Button(198, 55, 24, 24);
  780. o->tooltip("Round Button");
  781. o->box(FL_THIN_UP_BOX);
  782. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Round_Button"));
  783. o->image(pixmap[4]);
  784. } // Fl_Button* o
  785. o->end();
  786. } // Fl_Group* o
  787. { Fl_Group* o = new Fl_Group(230, 3, 104, 79);
  788. { Fl_Button* o = new Fl_Button(232, 5, 24, 24);
  789. o->tooltip("Slider");
  790. o->box(FL_THIN_UP_BOX);
  791. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Slider"));
  792. o->image(pixmap[37]);
  793. } // Fl_Button* o
  794. { Fl_Button* o = new Fl_Button(257, 5, 24, 24);
  795. o->tooltip("Scroll Bar");
  796. o->box(FL_THIN_UP_BOX);
  797. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Scrollbar"));
  798. o->image(pixmap[38]);
  799. } // Fl_Button* o
  800. { Fl_Button* o = new Fl_Button(282, 5, 24, 24);
  801. o->tooltip("Value Slider");
  802. o->box(FL_THIN_UP_BOX);
  803. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Value_Slider"));
  804. o->image(pixmap[39]);
  805. } // Fl_Button* o
  806. { Fl_Button* o = new Fl_Button(307, 5, 24, 24);
  807. o->tooltip("Value Output");
  808. o->box(FL_THIN_UP_BOX);
  809. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Value_Output"));
  810. o->image(pixmap[45]);
  811. } // Fl_Button* o
  812. { Fl_Button* o = new Fl_Button(232, 30, 24, 24);
  813. o->tooltip("Adjuster");
  814. o->box(FL_THIN_UP_BOX);
  815. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Adjuster"));
  816. o->image(pixmap[40]);
  817. } // Fl_Button* o
  818. { Fl_Button* o = new Fl_Button(257, 30, 24, 24);
  819. o->tooltip("Counter");
  820. o->box(FL_THIN_UP_BOX);
  821. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Counter"));
  822. o->image(pixmap[41]);
  823. } // Fl_Button* o
  824. { Fl_Button* o = new Fl_Button(282, 30, 24, 24);
  825. o->tooltip("Dial");
  826. o->box(FL_THIN_UP_BOX);
  827. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Dial"));
  828. o->image(pixmap[42]);
  829. } // Fl_Button* o
  830. { Fl_Button* o = new Fl_Button(232, 55, 24, 24);
  831. o->tooltip("Roller");
  832. o->box(FL_THIN_UP_BOX);
  833. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Roller"));
  834. o->image(pixmap[43]);
  835. } // Fl_Button* o
  836. { Fl_Button* o = new Fl_Button(257, 55, 24, 24);
  837. o->tooltip("Spinner");
  838. o->box(FL_THIN_UP_BOX);
  839. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Spinner"));
  840. o->image(pixmap[47]);
  841. } // Fl_Button* o
  842. { Fl_Button* o = new Fl_Button(282, 55, 24, 24);
  843. o->tooltip("Value Input");
  844. o->box(FL_THIN_UP_BOX);
  845. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Value_Input"));
  846. o->image(pixmap[44]);
  847. } // Fl_Button* o
  848. o->end();
  849. } // Fl_Group* o
  850. { Fl_Group* o = new Fl_Group(339, 3, 54, 79);
  851. { Fl_Button* o = new Fl_Button(341, 5, 24, 24);
  852. o->tooltip("Input");
  853. o->box(FL_THIN_UP_BOX);
  854. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Input"));
  855. o->image(pixmap[14]);
  856. } // Fl_Button* o
  857. { Fl_Button* o = new Fl_Button(366, 5, 24, 24);
  858. o->tooltip("Output");
  859. o->box(FL_THIN_UP_BOX);
  860. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Output"));
  861. o->image(pixmap[27]);
  862. } // Fl_Button* o
  863. { Fl_Button* o = new Fl_Button(341, 30, 24, 24);
  864. o->tooltip("Text Edit");
  865. o->box(FL_THIN_UP_BOX);
  866. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Text_Editor"));
  867. o->image(pixmap[29]);
  868. } // Fl_Button* o
  869. { Fl_Button* o = new Fl_Button(366, 30, 24, 24);
  870. o->tooltip("Text Display");
  871. o->box(FL_THIN_UP_BOX);
  872. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Text_Display"));
  873. o->image(pixmap[28]);
  874. } // Fl_Button* o
  875. { Fl_Button* o = new Fl_Button(341, 55, 24, 24);
  876. o->tooltip("File Input");
  877. o->box(FL_THIN_UP_BOX);
  878. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_File_Input"));
  879. o->image(pixmap[30]);
  880. } // Fl_Button* o
  881. o->end();
  882. } // Fl_Group* o
  883. { Fl_Group* o = new Fl_Group(398, 3, 54, 79);
  884. { Fl_Button* o = new Fl_Button(400, 5, 24, 24);
  885. o->tooltip("Menu Bar");
  886. o->box(FL_THIN_UP_BOX);
  887. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Menu_Bar"));
  888. o->image(pixmap[17]);
  889. } // Fl_Button* o
  890. { Fl_Button* o = new Fl_Button(425, 5, 24, 24);
  891. o->tooltip("Input Choice");
  892. o->box(FL_THIN_UP_BOX);
  893. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Input_Choice"));
  894. o->image(pixmap[15]);
  895. } // Fl_Button* o
  896. { Fl_Button* o = new Fl_Button(400, 30, 24, 24);
  897. o->tooltip("Menu Button");
  898. o->box(FL_THIN_UP_BOX);
  899. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Menu_Button"));
  900. o->image(pixmap[26]);
  901. } // Fl_Button* o
  902. { Fl_Button* o = new Fl_Button(425, 30, 24, 24);
  903. o->tooltip("Menu Item");
  904. o->box(FL_THIN_UP_BOX);
  905. o->callback((Fl_Callback*)type_make_cb, (void*)("menuitem"));
  906. o->image(pixmap[16]);
  907. } // Fl_Button* o
  908. { Fl_Button* o = new Fl_Button(400, 55, 24, 24);
  909. o->tooltip("Choice");
  910. o->box(FL_THIN_UP_BOX);
  911. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Choice"));
  912. o->image(pixmap[15]);
  913. } // Fl_Button* o
  914. { Fl_Button* o = new Fl_Button(425, 55, 24, 24);
  915. o->tooltip("Sub Menu");
  916. o->box(FL_THIN_UP_BOX);
  917. o->callback((Fl_Callback*)type_make_cb, (void*)("submenu"));
  918. o->image(pixmap[18]);
  919. } // Fl_Button* o
  920. o->end();
  921. } // Fl_Group* o
  922. { Fl_Group* o = new Fl_Group(457, 3, 54, 79);
  923. { Fl_Button* o = new Fl_Button(459, 5, 24, 24);
  924. o->tooltip("Browser");
  925. o->box(FL_THIN_UP_BOX);
  926. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Browser"));
  927. o->image(pixmap[31]);
  928. } // Fl_Button* o
  929. { Fl_Button* o = new Fl_Button(484, 5, 24, 24);
  930. o->tooltip("Tree");
  931. o->box(FL_THIN_UP_BOX);
  932. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Tree"));
  933. o->image(pixmap[50]);
  934. } // Fl_Button* o
  935. { Fl_Button* o = new Fl_Button(459, 30, 24, 24);
  936. o->tooltip("Check Browser");
  937. o->box(FL_THIN_UP_BOX);
  938. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Check_Browser"));
  939. o->image(pixmap[32]);
  940. } // Fl_Button* o
  941. { Fl_Button* o = new Fl_Button(459, 55, 24, 24);
  942. o->tooltip("File Browser");
  943. o->box(FL_THIN_UP_BOX);
  944. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_File_Browser"));
  945. o->image(pixmap[33]);
  946. } // Fl_Button* o
  947. o->end();
  948. } // Fl_Group* o
  949. { Fl_Group* o = new Fl_Group(515, 3, 55, 79);
  950. { Fl_Button* o = new Fl_Button(517, 5, 24, 24);
  951. o->tooltip("Box");
  952. o->box(FL_THIN_UP_BOX);
  953. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Box"));
  954. o->image(pixmap[5]);
  955. } // Fl_Button* o
  956. { Fl_Button* o = new Fl_Button(517, 30, 24, 24);
  957. o->tooltip("Help Browser");
  958. o->box(FL_THIN_UP_BOX);
  959. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Help_View"));
  960. o->image(pixmap[35]);
  961. } // Fl_Button* o
  962. { Fl_Button* o = new Fl_Button(517, 55, 24, 24);
  963. o->tooltip("Progress");
  964. o->box(FL_THIN_UP_BOX);
  965. o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Progress"));
  966. o->image(pixmap[36]);
  967. } // Fl_Button* o
  968. o->end();
  969. } // Fl_Group* o
  970. widgetbin_panel->set_non_modal();
  971. widgetbin_panel->end();
  972. } // Fl_Window* widgetbin_panel
  973. return widgetbin_panel;
  974. }
  975. Fl_Double_Window *sourceview_panel=(Fl_Double_Window *)0;
  976. Fl_Tabs *sv_tab=(Fl_Tabs *)0;
  977. CodeViewer *sv_source=(CodeViewer *)0;
  978. CodeViewer *sv_header=(CodeViewer *)0;
  979. Fl_Light_Button *sv_autorefresh=(Fl_Light_Button *)0;
  980. Fl_Light_Button *sv_autoposition=(Fl_Light_Button *)0;
  981. Fl_Double_Window* make_sourceview() {
  982. { sourceview_panel = new Fl_Double_Window(520, 490, "Code View");
  983. sourceview_panel->callback((Fl_Callback*)toggle_sourceview_cb);
  984. sourceview_panel->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
  985. { sv_tab = new Fl_Tabs(10, 10, 500, 440);
  986. sv_tab->selection_color((Fl_Color)4);
  987. sv_tab->labelcolor(FL_BACKGROUND2_COLOR);
  988. sv_tab->callback((Fl_Callback*)update_sourceview_position_cb);
  989. { Fl_Group* o = new Fl_Group(10, 35, 500, 415, "Source");
  990. o->labelsize(13);
  991. o->hide();
  992. { sv_source = new CodeViewer(20, 50, 480, 390);
  993. sv_source->box(FL_DOWN_FRAME);
  994. sv_source->color(FL_BACKGROUND2_COLOR);
  995. sv_source->selection_color(FL_SELECTION_COLOR);
  996. sv_source->labeltype(FL_NORMAL_LABEL);
  997. sv_source->labelfont(0);
  998. sv_source->labelsize(14);
  999. sv_source->labelcolor(FL_FOREGROUND_COLOR);
  1000. sv_source->textfont(4);
  1001. sv_source->textsize(11);
  1002. sv_source->align(Fl_Align(FL_ALIGN_TOP));
  1003. sv_source->when(FL_WHEN_RELEASE);
  1004. Fl_Group::current()->resizable(sv_source);
  1005. } // CodeViewer* sv_source
  1006. o->end();
  1007. Fl_Group::current()->resizable(o);
  1008. } // Fl_Group* o
  1009. { Fl_Group* o = new Fl_Group(10, 35, 500, 415, "Header");
  1010. o->labelsize(13);
  1011. { sv_header = new CodeViewer(20, 50, 480, 390);
  1012. sv_header->box(FL_DOWN_FRAME);
  1013. sv_header->color(FL_BACKGROUND2_COLOR);
  1014. sv_header->selection_color(FL_SELECTION_COLOR);
  1015. sv_header->labeltype(FL_NORMAL_LABEL);
  1016. sv_header->labelfont(0);
  1017. sv_header->labelsize(14);
  1018. sv_header->labelcolor(FL_FOREGROUND_COLOR);
  1019. sv_header->textfont(4);
  1020. sv_header->textsize(11);
  1021. sv_header->align(Fl_Align(FL_ALIGN_TOP));
  1022. sv_header->when(FL_WHEN_RELEASE);
  1023. Fl_Group::current()->resizable(sv_header);
  1024. } // CodeViewer* sv_header
  1025. o->end();
  1026. } // Fl_Group* o
  1027. sv_tab->end();
  1028. Fl_Group::current()->resizable(sv_tab);
  1029. } // Fl_Tabs* sv_tab
  1030. { Fl_Group* o = new Fl_Group(10, 460, 500, 20);
  1031. { Fl_Button* o = new Fl_Button(10, 460, 61, 20, "Refresh");
  1032. o->labelsize(11);
  1033. o->callback((Fl_Callback*)update_sourceview_cb);
  1034. } // Fl_Button* o
  1035. { Fl_Light_Button* o = sv_autorefresh = new Fl_Light_Button(76, 460, 91, 20, "Auto-Refresh");
  1036. sv_autorefresh->labelsize(11);
  1037. o->callback((Fl_Callback*)update_sourceview_cb);
  1038. } // Fl_Light_Button* sv_autorefresh
  1039. { sv_autoposition = new Fl_Light_Button(172, 460, 89, 20, "Auto-Position");
  1040. sv_autoposition->labelsize(11);
  1041. } // Fl_Light_Button* sv_autoposition
  1042. { Fl_Button* o = new Fl_Button(460, 460, 50, 20, "Close");
  1043. o->labelsize(11);
  1044. o->callback((Fl_Callback*)toggle_sourceview_b_cb);
  1045. } // Fl_Button* o
  1046. { Fl_Box* o = new Fl_Box(265, 460, 190, 20);
  1047. Fl_Group::current()->resizable(o);
  1048. } // Fl_Box* o
  1049. o->end();
  1050. } // Fl_Group* o
  1051. sourceview_panel->size_range(384, 120);
  1052. sourceview_panel->end();
  1053. } // Fl_Double_Window* sourceview_panel
  1054. return sourceview_panel;
  1055. }
  1056. //
  1057. // End of "$Id: function_panel.cxx 8172 2011-01-03 08:28:38Z matt $".
  1058. //