home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume20 / pexdraw / part07 < prev    next >
Encoding:
Text File  |  1993-06-07  |  59.3 KB  |  1,917 lines

  1. Newsgroups: comp.sources.x
  2. From: jch@okimicro.oki.com (Jan Hardenbergh)
  3. Subject: v20i017:  pexdraw - A PEX drawing program, Part07/14
  4. Message-ID: <1993Jun8.150144.19020@sparky.imd.sterling.com>
  5. X-Md4-Signature: 31736ee9e704f437b67729d71cd94f89
  6. Sender: chris@sparky.imd.sterling.com (Chris Olson)
  7. Organization: Sterling Software
  8. Date: Tue, 8 Jun 1993 15:01:44 GMT
  9. Approved: chris@sparky.imd.sterling.com
  10.  
  11. Submitted-by: jch@okimicro.oki.com (Jan Hardenbergh)
  12. Posting-number: Volume 20, Issue 17
  13. Archive-name: pexdraw/part07
  14. Environment: X11R5, PEX
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  pexdrawu.1 pexdrawu.4
  21. # Wrapped by chris@sparky on Tue Jun  8 09:46:33 1993
  22. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  23. echo If this archive is complete, you will see the following message:
  24. echo '          "shar: End of archive 7 (of 14)."'
  25. if test -f 'pexdrawu.1' -a "${1}" != "-c" ; then 
  26.   echo shar: Will not clobber existing file \"'pexdrawu.1'\"
  27. else
  28.   echo shar: Extracting \"'pexdrawu.1'\" \(32120 characters\)
  29.   sed "s/^X//" >'pexdrawu.1' <<'END_OF_FILE'
  30. X!        "@(#)pexdraw.uil    1.8 Stardent 93/05/24"
  31. X!    This file is under sccs control at Stardent in:
  32. X!    /nfs/sole/root/sccs1.p/X11R5/mit/demos/pexdraw/s.pexdraw.uil
  33. X!
  34. X!            Copyright (c) 1992 by
  35. X!            Oki Electric Industry Co., Ltd.
  36. X!            All Rights Reserved
  37. X!
  38. X! Permission to use, copy, modify, and distribute this software and its
  39. X! documentation for any purpose and without fee is hereby granted,
  40. X! provided that the above copyright notice appear in all copies and that
  41. X! both that copyright notice and this permission notice appear in
  42. X! supporting documentation, and that the name of Oki not be
  43. X! used in advertising or publicity pertaining to distribution of the
  44. X! software without specific, written prior permission. Oki
  45. X! makes no representations about the suitability of this software for any
  46. X! purpose.  It is provided "as is" without express or implied warranty.
  47. X!
  48. Xmodule pexdraw
  49. X    version = 'v1.0'
  50. X    names = case_sensitive
  51. X
  52. Xprocedure
  53. X    proc_pexdraw_exit();
  54. X    proc_pexdraw_create(integer);    
  55. X    proc_pexdraw_expose();    
  56. X    proc_pexdraw_resize();    
  57. X    proc_pexdraw_input();    
  58. X    proc_pexdraw_activate(integer);
  59. X    proc_pexdraw_file();
  60. X    
  61. Xvalue
  62. X    k_drawing_area      :  0;
  63. X    k_view_set         :  1;
  64. X    k_apply_vs         :  2;
  65. X    k_reset_vs         :  3;
  66. X    k_dismiss_vs       :  4;
  67. X    k_view_ref_pt_x    :  5;
  68. X    k_view_ref_pt_y    :  6;
  69. X    k_view_ref_pt_z    :  7;
  70. X    k_view_pl_norm_x    :  8;
  71. X    k_view_pl_norm_y    :  9;
  72. X    k_view_pl_norm_z    : 10;
  73. X    k_view_up_vect_x    : 11;
  74. X    k_view_up_vect_y    : 12;
  75. X    k_view_up_vect_z    : 13;
  76. X    k_proj_ref_pt_x     : 14;
  77. X    k_proj_ref_pt_y     : 15;
  78. X    k_proj_ref_pt_z     : 16;
  79. X    k_view_window_minx  : 17;
  80. X    k_view_window_maxx  : 18;
  81. X    k_view_window_miny  : 19;
  82. X    k_view_window_maxy  : 20;
  83. X    k_view_plane_dist   : 21;
  84. X    k_view_plane_back   : 22;
  85. X    k_view_plane_front  : 23;
  86. X    k_proj_vp_minx      : 24;
  87. X    k_proj_vp_maxx      : 25;
  88. X    k_proj_vp_miny      : 26;
  89. X    k_proj_vp_maxy      : 27;
  90. X    k_proj_vp_minz      : 28;
  91. X    k_proj_vp_maxz      : 29;
  92. X    k_proj_type_para    : 30;
  93. X    k_proj_type_persp   : 31;
  94. X    k_dump_strux        : 32;
  95. X    k_refresh           : 33;
  96. X    k_tool_pointer      : 34;
  97. X    k_tool_line         : 35;
  98. X    k_tool_view         : 36;
  99. X    k_tool_tristrip     : 37;
  100. X    k_delete            : 38;
  101. X    k_light        : 39;
  102. X    k_light_on1        : 40;
  103. X    k_light_on2        : 41;
  104. X    k_light_on3        : 42;
  105. X    k_light_on4        : 43;
  106. X    k_light_on5        : 44;
  107. X    k_light_on6        : 45;
  108. X    k_light_on7        : 46;
  109. X    k_light_on8        : 47;
  110. X    k_light_edit1        : 48;
  111. X    k_light_edit2        : 49;
  112. X    k_light_edit3        : 50;
  113. X    k_light_edit4        : 51;
  114. X    k_light_edit5        : 52;
  115. X    k_light_edit6        : 53;
  116. X    k_light_edit7        : 54;
  117. X    k_light_edit8        : 55;
  118. X    k_light_type_ambient    : 56;
  119. X    k_light_type_directional    : 57;
  120. X    k_light_type_positional    : 58;
  121. X    k_light_type_spot        : 59;
  122. X    k_light_pos_x        : 60;
  123. X    k_light_pos_y        : 61;
  124. X    k_light_pos_z        : 62;
  125. X    k_light_color_red        : 63;
  126. X    k_light_color_green        : 64;
  127. X    k_light_color_blue        : 65;
  128. X    k_light_direction_x        : 66;
  129. X    k_light_direction_y        : 67;
  130. X    k_light_direction_z        : 68;
  131. X    k_light_coeff_const        : 69;
  132. X    k_light_coeff_dist        : 70;
  133. X    k_light_conc_exp        : 71;
  134. X    k_light_spread_angle    : 72;
  135. X    k_apply_light        : 73;
  136. X    k_reset_light        : 74;
  137. X    k_dismiss_light        : 75;
  138. X    k_surface             : 76;
  139. X    k_tool_mclip        : 77;
  140. X    k_reset_model               : 78;
  141. X    k_spin_slowly               : 79;
  142. X    k_save                      : 80;
  143. X    k_read                      : 81;
  144. X    k_file                      : 82;
  145. X    k_undo                      : 83;
  146. X    k_file_help                 : 84;
  147. X    k_delete_all                : 85;
  148. X    k_face_cull                 : 86;
  149. X    k_sphere                    : 87;
  150. X    k_dismiss_surface : 88;
  151. X    k_reset_surface : 89;
  152. X    k_apply_surface : 90;
  153. X    k_surface_refl_transparency : 91;
  154. X    k_surface_refl_specexp : 92;
  155. X    k_surface_refl_specular : 93;
  156. X    k_surface_refl_diffuse : 94;
  157. X    k_surface_refl_ambient : 95;
  158. X    k_sstyle_empty : 96;
  159. X    k_sstyle_solid : 97;
  160. X    k_sstyle_hollow : 98;
  161. X    k_sshade_flat : 99;
  162. X    k_sshade_gouraud : 100;
  163. X    k_sshade_dot : 101;
  164. X    k_sshade_phong : 102;
  165. X    k_cull_none : 103;
  166. X    k_cull_back : 104;
  167. X    k_cull_front : 105;
  168. X    k_tool_zoom : 106;
  169. X    k_tool_nurbc : 107;
  170. X    k_tool_text : 108;
  171. X    k_tool_pgon : 109;
  172. X    k_tool_circle : 110;
  173. X    k_spin_form : 111;
  174. X    k_spinf_strux : 112;
  175. X    k_spinf_px : 113;
  176. X    k_spinf_py : 114;
  177. X    k_spinf_pz : 115;
  178. X    k_spinf_ox : 116;
  179. X    k_spinf_oy : 117;
  180. X    k_spinf_oz : 118;
  181. X    k_spinf_xang : 119;
  182. X    k_spinf_yang : 120;
  183. X    k_spinf_zang : 121;
  184. X    k_spinf_dx : 122;
  185. X    k_spinf_dy : 123;
  186. X    k_spinf_dz : 124;
  187. X    k_spinf_stop : 125;
  188. X    k_spinf_scale : 126;
  189. X    k_apply_spin : 127;
  190. X    k_dismiss_spin : 128;
  191. X    k_reset_spin : 129;
  192. X    k_color_form : 130;
  193. X    k_color_red : 131;
  194. X    k_color_green : 132;
  195. X    k_color_blue : 133;
  196. X    k_apply_color : 134;
  197. X    k_dismiss_color : 135;
  198. X    k_reset_color : 136;
  199. X    k_color_strux : 137;
  200. X    k_color_elem : 138;
  201. X    k_delete_strux : 139;
  202. X    k_exec_strux : 140;
  203. X    k_unpost_strux : 141;
  204. X
  205. X
  206. Xvalue
  207. X        yellow                          : color('yellow', foreground);
  208. X        red                             : color('red', background);
  209. X        green                           : color('green', foreground);
  210. X        magenta                         : color('magenta', background);
  211. X        gold                            : color('gold', foreground);
  212. X        lightblue                       : color('lightblue', background);
  213. X
  214. X!************************************************************************
  215. X! Main Window
  216. X!************************************************************************
  217. X
  218. Xobject
  219. X    pexdraw_obj_main : XmMainWindow {
  220. X       controls {
  221. X            XmMenuBar     pexdraw_obj_bar ;
  222. X            XmForm        pexdraw_obj_form ;
  223. X       };
  224. X    };
  225. X
  226. Xobject
  227. X    pexdraw_obj_form : XmForm {
  228. X    arguments { 
  229. X        XmNdefaultButton = pexdraw_tool_line;
  230. X    };
  231. X    controls {
  232. X        XmRowColumn        pexdraw_tool_palette;
  233. X        XmSeparator        pexdraw_obj_sep;
  234. X        XmDrawingArea        pexdraw_pex_area;
  235. X    };
  236. X    };
  237. X
  238. X!************************************************************************
  239. X! the top menu bar
  240. X!************************************************************************
  241. X
  242. Xobject
  243. X    pexdraw_obj_bar : XmMenuBar {
  244. X        arguments { 
  245. X            XmNorientation = XmHORIZONTAL;
  246. X        };
  247. X        controls {                              
  248. X            XmCascadeButton file_menu_entry;
  249. X            XmCascadeButton edit_menu_entry;
  250. X            XmCascadeButton misc_menu_entry;
  251. X        };
  252. X    };
  253. X
  254. Xobject
  255. X        file_menu_entry : XmCascadeButton {
  256. X            arguments {
  257. X                XmNlabelString = compound_string('File') ;
  258. X        XmNmnemonic = keysym("F");
  259. X            };                                            
  260. X            controls {
  261. X                XmPulldownMenu file_menu;
  262. X            };
  263. X        };
  264. X
  265. Xobject
  266. X        file_menu : XmPulldownMenu {
  267. X            controls {
  268. X                XmPushButton pexdraw_obj_read;
  269. X!*                XmPushButton pexdraw_obj_save;
  270. X                XmPushButton pexdraw_obj_quit;
  271. X            };
  272. X        };
  273. X
  274. Xobject
  275. X    pexdraw_obj_quit : XmPushButton {
  276. X    arguments { 
  277. X        XmNlabelString = compound_string('Quit');
  278. X        XmNaccelerator = "Ctrl<Key>z:";
  279. X        XmNacceleratorText = "Ctrl/z";
  280. X         XmNmnemonic = keysym("Q");
  281. X    };
  282. X    callbacks { 
  283. X        XmNactivateCallback = procedure proc_pexdraw_exit();
  284. X    };
  285. X    };
  286. X
  287. Xobject
  288. X    pexdraw_obj_read : XmPushButton {
  289. X    arguments { 
  290. X        XmNlabelString = compound_string('Execute');
  291. X         XmNmnemonic = keysym("X");
  292. X    };
  293. X    callbacks { 
  294. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_read);
  295. X    };
  296. X    };
  297. X
  298. Xobject
  299. X    pexdraw_obj_save : XmPushButton {
  300. X    arguments { 
  301. X        XmNlabelString = compound_string('Save');
  302. X         XmNmnemonic = keysym("S");
  303. X    };
  304. X    callbacks { 
  305. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_save);
  306. X    };
  307. X    };
  308. X
  309. X!************************************************************************
  310. X! Edit Menu
  311. X!************************************************************************
  312. X
  313. Xobject
  314. X        edit_menu_entry : XmCascadeButton {
  315. X            arguments {
  316. X                XmNlabelString = compound_string('Edit') ;
  317. X        XmNmnemonic = keysym("E");
  318. X            };                                            
  319. X            controls {
  320. X                XmPulldownMenu edit_menu;
  321. X            };
  322. X        };
  323. X
  324. Xobject
  325. X        edit_menu : XmPulldownMenu {
  326. X            controls {
  327. X                XmPushButton pexdraw_edit_undo;
  328. X                XmPushButton pexdraw_edit_exec_strux;
  329. X                XmPushButton pexdraw_edit_unpost_strux;
  330. X                XmPushButton pexdraw_edit_delete_strux;
  331. X                XmPushButton pexdraw_edit_delete;
  332. X                XmPushButton pexdraw_edit_delete_all;
  333. X            };
  334. X        };
  335. X
  336. Xobject
  337. X    pexdraw_edit_delete : XmPushButton {
  338. X    arguments { 
  339. X        XmNlabelString = compound_string('Delete');
  340. X        XmNmnemonic = keysym("D");
  341. X        XmNaccelerator = "Ctrl<Key>d:";
  342. X        XmNacceleratorText = "Ctrl/d";
  343. X    };
  344. X    callbacks { 
  345. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_delete);
  346. X    };
  347. X    };
  348. X
  349. Xobject
  350. X    pexdraw_edit_undo : XmPushButton {
  351. X    arguments { 
  352. X        XmNlabelString = compound_string('Undo');
  353. X        XmNmnemonic = keysym("U");
  354. X    };
  355. X    callbacks { 
  356. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_undo);
  357. X    };
  358. X    };
  359. X
  360. Xobject
  361. X    pexdraw_edit_delete_all : XmPushButton {
  362. X    arguments { 
  363. X        XmNlabelString = compound_string('Delete All');
  364. X        XmNmnemonic = keysym("A");
  365. X    };
  366. X    callbacks { 
  367. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_delete_all);
  368. X    };
  369. X    };
  370. X
  371. Xobject
  372. X    pexdraw_edit_exec_strux : XmPushButton {
  373. X    arguments { 
  374. X        XmNlabelString = compound_string('Execute Strux');
  375. X        XmNmnemonic = keysym("X");
  376. X    };
  377. X    callbacks { 
  378. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_exec_strux);
  379. X    };
  380. X    };
  381. X
  382. Xobject
  383. X    pexdraw_edit_unpost_strux : XmPushButton {
  384. X    arguments { 
  385. X        XmNlabelString = compound_string('Unpost Strux');
  386. X        XmNmnemonic = keysym("U");
  387. X    };
  388. X    callbacks { 
  389. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_unpost_strux);
  390. X    };
  391. X    };
  392. X
  393. Xobject
  394. X    pexdraw_edit_delete_strux : XmPushButton {
  395. X    arguments { 
  396. X        XmNlabelString = compound_string('Delete Strux');
  397. X        XmNmnemonic = keysym("S");
  398. X    };
  399. X    callbacks { 
  400. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_delete_strux);
  401. X    };
  402. X    };
  403. X
  404. X
  405. X!************************************************************************
  406. X! miscellaneous menu
  407. X!************************************************************************
  408. Xobject
  409. X        misc_menu_entry : XmCascadeButton {
  410. X            arguments {
  411. X                XmNlabelString = compound_string('Options') ;
  412. X        XmNmnemonic = keysym("O");
  413. X            };                                            
  414. X            controls {
  415. X                XmPulldownMenu misc_menu;
  416. X            };
  417. X        };
  418. X
  419. Xobject
  420. X        misc_menu : XmPulldownMenu {
  421. X            controls {
  422. X                XmPushButton pexdraw_misc_view_set;
  423. X                XmPushButton pexdraw_misc_light;
  424. X                XmPushButton pexdraw_misc_dump_strux;
  425. X                XmPushButton pexdraw_misc_refresh;
  426. X                XmPushButton pexdraw_misc_surface;
  427. X                XmPushButton pexdraw_misc_reset_model;
  428. X                XmPushButton pexdraw_misc_spin_slowly;
  429. X                XmPushButton pexdraw_misc_spin_form;
  430. X                XmPushButton pexdraw_misc_color_form;
  431. X                XmPushButton pexdraw_misc_sphere;
  432. X            };
  433. X        };
  434. X
  435. Xobject
  436. X    pexdraw_misc_view_set : XmPushButton {
  437. X    arguments { 
  438. X        XmNlabelString = compound_string('Set View');
  439. X          XmNmnemonic = keysym("V");
  440. X    };
  441. X    callbacks { 
  442. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_view_set);
  443. X    };
  444. X    };
  445. X
  446. Xobject
  447. X    pexdraw_misc_light : XmPushButton {
  448. X    arguments { 
  449. X        XmNlabelString = compound_string('Light');
  450. X        XmNmnemonic = keysym("L");
  451. X    };
  452. X    callbacks { 
  453. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_light);
  454. X    };
  455. X    };
  456. X
  457. X
  458. Xobject
  459. X    pexdraw_misc_dump_strux : XmPushButton {
  460. X    arguments { 
  461. X        XmNlabelString = compound_string('Dump Strux');
  462. X        XmNmnemonic = keysym("D");
  463. X    };
  464. X    callbacks { 
  465. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_dump_strux);
  466. X    };
  467. X    };
  468. X
  469. Xobject
  470. X    pexdraw_misc_refresh : XmPushButton {
  471. X    arguments { 
  472. X        XmNlabelString = compound_string('Refresh');
  473. X        XmNmnemonic = keysym("R");
  474. X    };
  475. X    callbacks { 
  476. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_refresh);
  477. X    };
  478. X    };
  479. Xobject
  480. X    pexdraw_misc_surface : XmPushButton {
  481. X    arguments { 
  482. X        XmNlabelString = compound_string('Surface Attr');
  483. X        XmNmnemonic = keysym("S");
  484. X    };
  485. X    callbacks { 
  486. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_surface);
  487. X    };
  488. X    };
  489. X
  490. X
  491. Xobject
  492. X    pexdraw_misc_reset_model : XmPushButton {
  493. X    arguments { 
  494. X        XmNlabelString = compound_string('Reset Model');
  495. X        XmNmnemonic = keysym("l");
  496. X    };
  497. X    callbacks { 
  498. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_reset_model);
  499. X    };
  500. X    };
  501. X
  502. Xobject
  503. X    pexdraw_misc_spin_slowly : XmPushButton {
  504. X    arguments { 
  505. X        XmNlabelString = compound_string('Spin Slow');
  506. X        XmNmnemonic = keysym("w");
  507. X    };
  508. X    callbacks { 
  509. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_spin_slowly);
  510. X    };
  511. X    };
  512. X
  513. Xobject
  514. X    pexdraw_misc_spin_form : XmPushButton {
  515. X    arguments { 
  516. X        XmNlabelString = compound_string('Spin Options');
  517. X        XmNmnemonic = keysym("O");
  518. X    };
  519. X    callbacks { 
  520. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_spin_form);
  521. X    };
  522. X    };
  523. X
  524. Xobject
  525. X    pexdraw_misc_color_form : XmPushButton {
  526. X    arguments { 
  527. X        XmNlabelString = compound_string('Change Color');
  528. X        XmNmnemonic = keysym("C");
  529. X    };
  530. X    callbacks { 
  531. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_color_form);
  532. X    };
  533. X    };
  534. X
  535. X
  536. Xobject
  537. X    pexdraw_misc_sphere : XmPushButton {
  538. X    arguments { 
  539. X        XmNlabelString = compound_string('Sphere');
  540. X        XmNmnemonic = keysym("h");
  541. X    };
  542. X    callbacks { 
  543. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_sphere);
  544. X    };
  545. X    };
  546. X
  547. X!************************************************************************
  548. X! tool palette RowColumn
  549. X!************************************************************************
  550. X
  551. Xvalue
  552. X        button_ct                       : color_table(
  553. X                                                yellow='o'
  554. X                                                ,red='.'
  555. X                                                ,background color=' ');
  556. X
  557. Xvalue
  558. X        pointer_icon: icon(color_table=button_ct,
  559. X                        '                        ',
  560. X                        ' ...................... ',
  561. X                        ' .....o................ ',
  562. X                        ' .....oo............... ',
  563. X                        ' .....ooo.............. ',
  564. X                        ' .....oooo............. ',
  565. X                        ' .....oo.oo............ ',
  566. X                        ' .....oo..oo........... ',
  567. X                        ' .....oo...oo.......... ',
  568. X                        ' .....oo....oo......... ',
  569. X                        ' .....oo.....oo........ ',
  570. X                        ' .....oo......oo....... ',
  571. X                        ' .....ooooooooooo...... ',
  572. X                        ' .....oooooooooooo..... ',
  573. X                        ' ..........ooo......... ',
  574. X                        ' ...........ooo........ ',
  575. X                        ' ...........oooo....... ',
  576. X                        ' ............oooo...... ',
  577. X                        ' ...................... ',
  578. X                        '                        ');
  579. X
  580. Xvalue
  581. X        line_icon: icon(color_table=button_ct,
  582. X                        '                        ',
  583. X                        ' ...................... ',
  584. X                        ' .................oo... ',
  585. X                        ' ................ooo... ',
  586. X                        ' ...............ooo.... ',
  587. X                        ' ..............ooo..... ',
  588. X                        ' .............ooo...... ',
  589. X                        ' ............ooo....... ',
  590. X                        ' ...........ooo........ ',
  591. X                        ' ..........ooo......... ',
  592. X                        ' .........ooo.......... ',
  593. X                        ' ........ooo........... ',
  594. X                        ' .......ooo............ ',
  595. X                        ' ......ooo............. ',
  596. X                        ' .....ooo.............. ',
  597. X                        ' ....ooo............... ',
  598. X                        ' ...ooo................ ',
  599. X                        ' ...oo................. ',
  600. X                        ' ...................... ',
  601. X                        '                        ');
  602. X
  603. Xvalue
  604. X        tristrip_icon: icon(color_table=button_ct,
  605. X                        '                        ',
  606. X                        ' ...................... ',
  607. X                        ' ..................oo.. ',
  608. X                        ' ................oooo.. ',
  609. X                        ' ..............oo..oo.. ',
  610. X                        ' ............oo....oo.. ',
  611. X                        ' ..........oo......oo.. ',
  612. X                        ' ........oo........oo.. ',
  613. X                        ' ......oo..........oo.. ',
  614. X                        ' ....oo........oooooo.. ',
  615. X                        ' ..oo....oooooo....oo.. ',
  616. X                        ' ..oooooo........oo.... ',
  617. X                        ' ..oo..........oo...... ',
  618. X                        ' ..oo........oo........ ',
  619. X                        ' ..oo......oo.......... ',
  620. X                        ' ..oo....oo............ ',
  621. X                        ' ..oo..oo.............. ',
  622. X                        ' ..oooo................ ',
  623. X                        ' ..oo.................. ',
  624. X                        '                        ');
  625. X
  626. Xvalue
  627. X        nurbc_icon: icon(color_table=button_ct,
  628. X                        '                        ',
  629. X                        ' ...................... ',
  630. X                        ' ...................... ',
  631. X                        ' ...................... ',
  632. X                        ' ..................oo.. ',
  633. X                        ' ..................oo.. ',
  634. X                        ' .................oo... ',
  635. X                        ' ................oo.... ',
  636. X                        ' .............ooo...... ',
  637. X                        ' ..........ooo......... ',
  638. X                        ' .......ooo............ ',
  639. X                        ' ....ooo............... ',
  640. X                        ' ...oo................. ',
  641. X                        ' ..oo.................. ',
  642. X                        ' ..oo.................. ',
  643. X                        ' ...oo................. ',
  644. X                        ' ....oo................ ',
  645. X                        ' ...................... ',
  646. X                        ' ...................... ',
  647. X                        '                        ');
  648. Xvalue
  649. X        text_icon: icon(color_table=button_ct,
  650. X                        '                        ',
  651. X                        ' ...................... ',
  652. X                        ' ..oooooooooooooooooo.. ',
  653. X                        ' ..oooooooooooooooooo.. ',
  654. X                        ' .........oo........... ',
  655. X                        ' .........oo........... ',
  656. X                        ' .........oo........... ',
  657. X                        ' .........oo........... ',
  658. X                        ' .........oo........... ',
  659. X                        ' .........oo........... ',
  660. X                        ' .........oo........... ',
  661. X                        ' .........oo........... ',
  662. X                        ' .........oo........... ',
  663. X                        ' .........oo........... ',
  664. X                        ' .........oo........... ',
  665. X                        ' .........oo........... ',
  666. X                        ' .........oo........... ',
  667. X                        ' ...................... ',
  668. X                        ' ...................... ',
  669. X                        '                        ');
  670. Xvalue
  671. X        view_icon: icon(color_table=button_ct,
  672. X                        '                        ',
  673. X                        ' ...................... ',
  674. X                        ' ...................... ',
  675. X                        ' ...................... ',
  676. X                        ' ...................... ',
  677. X                        ' ......oooooooooo...... ',
  678. X                        ' ....o....oooo....o.... ',
  679. X                        ' ..o.....oooooo.....o.. ',
  680. X                        ' .o.....oooooooo.....o. ',
  681. X                        ' .o.....oooooooo.....o. ',
  682. X                        ' .o.....oooooooo.....o. ',
  683. X                        ' ..o.....oooooo.....o.. ',
  684. X                        ' ....o....oooo....o.... ',
  685. X                        ' ......oooooooooo...... ',
  686. X                        ' ...................... ',
  687. X                        ' ...................... ',
  688. X                        ' ...................... ',
  689. X                        ' ...................... ',
  690. X                        ' ...................... ',
  691. X                        '                        ');
  692. X
  693. Xvalue
  694. X        zoom_icon: icon(color_table=button_ct,
  695. X                        '                        ',
  696. X                        ' ...................... ',
  697. X                        ' ..oooooooooooooooooo.. ',
  698. X                        ' ..oooooooooooooooooo.. ',
  699. X                        ' ..oo..............oo.. ',
  700. X                        ' ..oo..............oo.. ',
  701. X                        ' ..oo..............oo.. ',
  702. X                        ' ..oo..............oo.. ',
  703. X                        ' ..oo..............oo.. ',
  704. X                        ' ..oo..............oo.. ',
  705. X                        ' ..oo..............oo.. ',
  706. X                        ' ..oo..............oo.. ',
  707. X                        ' ..oo..............oo.. ',
  708. X                        ' ..oo..............oo.. ',
  709. X                        ' ..oo..............oo.. ',
  710. X                        ' ..oooooooooooooooooo.. ',
  711. X                        ' ..oooooooooooooooooo.. ',
  712. X                        ' ...................... ',
  713. X                        ' ...................... ',
  714. X                        '                        ');
  715. X
  716. Xvalue
  717. X        circle_icon: icon(color_table=button_ct,
  718. X                        '                        ',
  719. X                        ' ...................... ',
  720. X                        ' ........oooooo........ ',
  721. X                        ' .....ooooo..ooooo..... ',
  722. X                        ' ....oo..........oo.... ',
  723. X                        ' ...oo............oo... ',
  724. X                        ' ..oo..............oo.. ',
  725. X                        ' ..oo..............oo.. ',
  726. X                        ' .oo................oo. ',
  727. X                        ' .oo................oo. ',
  728. X                        ' .oo................oo. ',
  729. X                        ' ..oo..............oo.. ',
  730. X                        ' ..oo..............oo.. ',
  731. X                        ' ...oo............oo... ',
  732. X                        ' ...ooo..........ooo... ',
  733. X                        ' .....ooooo...oooo..... ',
  734. X                        ' ........ooooooo....... ',
  735. X                        ' ...................... ',
  736. X                        ' ...................... ',
  737. X                        '                        ');
  738. X
  739. Xvalue
  740. X        star_icon: icon(color_table=button_ct,
  741. X                        '                        ',
  742. X                        ' .........o............ ',
  743. X                        ' .........oo........... ',
  744. X                        ' ........oooo.......... ',
  745. X                        ' .......oooooo......... ',
  746. X                        ' ......oooooooo........ ',
  747. X                        ' .oooooooooooooooooooo. ',
  748. X                        ' ..ooooooo....ooooooo.. ',
  749. X                        ' ...ooooo......ooooo... ',
  750. X                        ' ....ooo........ooo.... ',
  751. X                        ' ....ooo........oo..... ',
  752. X                        ' .....oo........o...... ',
  753. X                        ' .....ooo.....ooo...... ',
  754. X                        ' ....oooooo.ooooo...... ',
  755. X                        ' ...oooooooooooooo..... ',
  756. X                        ' ...oooooo..oooooo..... ',
  757. X                        ' ..ooooo......ooooo.... ',
  758. X                        ' .ooo............ooo... ',
  759. X                        ' ...................... ',
  760. X                        '                        ');
  761. X
  762. Xvalue
  763. X        mclip_icon: icon(color_table=button_ct,
  764. X                        '                        ',
  765. X                        ' ...................... ',
  766. X                        ' ...................... ',
  767. X                        ' ...................... ',
  768. X                        ' ..oo.....oo....ooo.... ',
  769. X                        ' ..ooo...ooo...ooooo... ',
  770. X                        ' ..oooo.oooo..oo...oo.. ',
  771. X                        ' ..oo.ooo.oo..oo....... ',
  772. X                        ' ..oo..o..oo..oo....... ',
  773. X                        ' ..oo.....oo..oo....... ',
  774. X                        ' ..oo.....oo..oo....... ',
  775. X                        ' ..oo.....oo..oo....... ',
  776. X                        ' ..oo.....oo..oo....... ',
  777. X                        ' ..oo.....oo..oo...oo.. ',
  778. X                        ' ..oo.....oo...ooooo... ',
  779. X                        ' ..oo.....oo....ooo.... ',
  780. X                        ' ...................... ',
  781. X                        ' ...................... ',
  782. X                        ' ...................... ',
  783. X                        '                        ');
  784. X
  785. X
  786. Xobject 
  787. X    pexdraw_tool_palette : XmRowColumn {
  788. X        arguments {
  789. X            XmNorientation = XmVERTICAL;
  790. X        XmNleftAttachment =  XmATTACH_FORM;
  791. X        XmNbottomAttachment =  XmATTACH_FORM;
  792. X        XmNtopAttachment =  XmATTACH_FORM;
  793. X            XmNborderWidth = 2;
  794. X            };
  795. X        controls {                                                  
  796. X        XmPushButton    pexdraw_tool_pointer;
  797. X        XmPushButton    pexdraw_tool_line;
  798. X        XmPushButton    pexdraw_tool_tristrip;
  799. X        XmPushButton    pexdraw_tool_nurbc;
  800. X        XmPushButton    pexdraw_tool_text;
  801. X        XmPushButton    pexdraw_tool_pgon;
  802. X        XmPushButton    pexdraw_tool_circle;
  803. X        XmPushButton    pexdraw_tool_view;
  804. X        XmPushButton    pexdraw_tool_zoom;
  805. X        XmPushButton    pexdraw_tool_mclip;
  806. X            };
  807. X        };
  808. X
  809. X
  810. Xobject
  811. X    pexdraw_tool_pointer : XmPushButton {
  812. X    arguments { 
  813. X            XmNlabelType = XmPIXMAP;
  814. X            XmNlabelPixmap = pointer_icon;
  815. X    };
  816. X    callbacks { 
  817. X       XmNactivateCallback = procedure proc_pexdraw_activate(k_tool_pointer);
  818. X    };
  819. X    };
  820. X
  821. Xobject
  822. X    pexdraw_tool_line : XmPushButton {
  823. X    arguments { 
  824. X            XmNlabelType = XmPIXMAP;
  825. X            XmNlabelPixmap = line_icon;
  826. X    };
  827. X    callbacks { 
  828. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_tool_line);
  829. X    };
  830. X    };
  831. X
  832. Xobject
  833. X    pexdraw_tool_view : XmPushButton {
  834. X    arguments { 
  835. X            XmNlabelType = XmPIXMAP;
  836. X            XmNlabelPixmap = view_icon;
  837. X    };
  838. X    callbacks { 
  839. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_tool_view);
  840. X    };
  841. X    };
  842. X
  843. Xobject
  844. X    pexdraw_tool_tristrip : XmPushButton {
  845. X    arguments { 
  846. X            XmNlabelType = XmPIXMAP;
  847. X            XmNlabelPixmap = tristrip_icon;
  848. X    };
  849. X    callbacks { 
  850. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_tool_tristrip);
  851. X    };
  852. X    };
  853. X
  854. Xobject
  855. X    pexdraw_tool_zoom : XmPushButton {
  856. X    arguments { 
  857. X            XmNlabelType = XmPIXMAP;
  858. X            XmNlabelPixmap = zoom_icon;
  859. X    };
  860. X    callbacks { 
  861. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_tool_zoom);
  862. X    };
  863. X    };
  864. X
  865. Xobject
  866. X    pexdraw_tool_nurbc : XmPushButton {
  867. X    arguments { 
  868. X            XmNlabelType = XmPIXMAP;
  869. X            XmNlabelPixmap = nurbc_icon;
  870. X    };
  871. X    callbacks { 
  872. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_tool_nurbc);
  873. X    };
  874. X    };
  875. X
  876. Xobject
  877. X    pexdraw_tool_text : XmPushButton {
  878. X    arguments { 
  879. X            XmNlabelType = XmPIXMAP;
  880. X            XmNlabelPixmap = text_icon;
  881. X    };
  882. X    callbacks { 
  883. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_tool_text);
  884. X    };
  885. X    };
  886. X
  887. Xobject
  888. X    pexdraw_tool_pgon : XmPushButton {
  889. X    arguments { 
  890. X            XmNlabelType = XmPIXMAP;
  891. X            XmNlabelPixmap = star_icon;
  892. X    };
  893. X    callbacks { 
  894. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_tool_pgon);
  895. X    };
  896. X    };
  897. X
  898. Xobject
  899. X    pexdraw_tool_circle : XmPushButton {
  900. X    arguments { 
  901. X            XmNlabelType = XmPIXMAP;
  902. X            XmNlabelPixmap = circle_icon;
  903. X    };
  904. X    callbacks { 
  905. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_tool_circle);
  906. X    };
  907. X    };
  908. X
  909. Xobject
  910. X    pexdraw_tool_mclip : XmPushButton {
  911. X    arguments { 
  912. X            XmNlabelType = XmPIXMAP;
  913. X            XmNlabelPixmap = mclip_icon;
  914. X    };
  915. X    callbacks { 
  916. X        XmNactivateCallback = procedure proc_pexdraw_activate(k_tool_mclip);
  917. X    };
  918. X    };
  919. X
  920. X!************************************************************************
  921. X! how do I get this attached to the right most box???
  922. X!************************************************************************
  923. Xobject
  924. X    pexdraw_obj_sep : XmSeparator {
  925. X    arguments {
  926. X        XmNbottomAttachment = XmATTACH_FORM ;
  927. X        XmNtopAttachment = XmATTACH_FORM ;
  928. X        XmNleftAttachment = XmATTACH_WIDGET ;
  929. X        XmNleftWidget = pexdraw_tool_palette ;
  930. X    };
  931. X    };
  932. X
  933. X
  934. X!************************************************************************
  935. X! The PHIGS Workstation drawing Area
  936. X!************************************************************************
  937. X
  938. X
  939. Xobject
  940. X    pexdraw_pex_area : XmDrawingArea {
  941. X    arguments { 
  942. X        XmNrightAttachment = XmATTACH_FORM ;
  943. X        XmNtopAttachment = XmATTACH_FORM ;
  944. X        XmNbottomAttachment = XmATTACH_FORM ;
  945. X        XmNleftAttachment = XmATTACH_WIDGET ;
  946. X        XmNleftWidget = XmSeparator pexdraw_obj_sep ;
  947. X        XmNwidth = 500 ;
  948. X        XmNheight = 500 ;
  949. X    };
  950. X    callbacks {
  951. X        MrmNcreateCallback = procedure proc_pexdraw_create(0);
  952. X        XmNresizeCallback = procedure proc_pexdraw_resize();
  953. X        XmNexposeCallback = procedure proc_pexdraw_expose();
  954. X        XmNinputCallback = procedure proc_pexdraw_input();
  955. X    };
  956. X    };
  957. X
  958. X!************************************************************************
  959. X! The Set View Form
  960. X!************************************************************************
  961. X
  962. Xobject
  963. X    view_set_dialog : XmFormDialog {
  964. X        arguments {
  965. X            XmNdialogTitle = "PHIGS Style Viewing Options";
  966. X            XmNdialogStyle = XmDIALOG_MODELESS;
  967. X        XmNheight = 400;
  968. X        XmNwidth = 360;
  969. X!        XmNmwmDecorations = 30;
  970. X            XmNbackground = lightblue;
  971. X        };
  972. X        controls {
  973. X            XmLabel     view_ref_pt_label;
  974. X            XmTextField view_ref_pt_x;
  975. X            XmTextField view_ref_pt_y;
  976. X            XmTextField view_ref_pt_z;
  977. X        XmSeparator view_pl_norm_sep;
  978. X            XmLabel     view_pl_norm_label;
  979. X            XmTextField view_pl_norm_x;
  980. X            XmTextField view_pl_norm_y;
  981. X            XmTextField view_pl_norm_z;
  982. X        XmSeparator view_up_vect_sep;
  983. X            XmLabel     view_up_vect_label;
  984. X            XmTextField view_up_vect_x;
  985. X            XmTextField view_up_vect_y;
  986. X            XmTextField view_up_vect_z;
  987. X        XmSeparator  proj_ref_pt_sep;
  988. X        XmLabel  proj_ref_pt_label;
  989. X        XmTextField  proj_ref_pt_x;
  990. X        XmTextField  proj_ref_pt_y;
  991. X        XmTextField  proj_ref_pt_z;
  992. X        XmSeparator  view_window_sep;
  993. X        XmLabel  view_window_label;
  994. X        XmTextField  view_window_minx;
  995. X        XmTextField  view_window_maxx;
  996. X        XmTextField  view_window_miny;
  997. X        XmTextField  view_window_maxy;
  998. X        XmSeparator  view_plane_sep;
  999. X        XmLabel  view_plane_label;
  1000. X        XmTextField  view_plane_dist;
  1001. X        XmTextField  view_plane_back;
  1002. X        XmTextField  view_plane_front;
  1003. X        XmSeparator  proj_vp_sep;
  1004. X        XmLabel  proj_vp_label;
  1005. X        XmTextField  proj_vp_minx;
  1006. X        XmTextField  proj_vp_maxx;
  1007. X        XmTextField  proj_vp_miny;
  1008. X        XmTextField  proj_vp_maxy;
  1009. X        XmTextField  proj_vp_minz;
  1010. X        XmTextField  proj_vp_maxz;
  1011. X        XmSeparator  proj_type_sep;
  1012. X        XmLabel  proj_type_label;
  1013. X        XmRadioBox  proj_type_box;
  1014. X            XmRowColumn     button_box;
  1015. X            };
  1016. X
  1017. X        callbacks {
  1018. X            MrmNcreateCallback = procedure proc_pexdraw_create (k_view_set);
  1019. X            };
  1020. X    };
  1021. X
  1022. X!****************************** View Reference Point ********************
  1023. X
  1024. Xobject
  1025. X    view_ref_pt_label : XmLabel {
  1026. X        arguments {
  1027. X        XmNtopAttachment = XmATTACH_FORM ;
  1028. X        XmNleftAttachment = XmATTACH_FORM ;
  1029. X        XmNunitType = XmPIXELS;
  1030. END_OF_FILE
  1031.   if test 32120 -ne `wc -c <'pexdrawu.1'`; then
  1032.     echo shar: \"'pexdrawu.1'\" unpacked with wrong size!
  1033.   fi
  1034.   # end of 'pexdrawu.1'
  1035. fi
  1036. if test -f 'pexdrawu.4' -a "${1}" != "-c" ; then 
  1037.   echo shar: Will not clobber existing file \"'pexdrawu.4'\"
  1038. else
  1039.   echo shar: Extracting \"'pexdrawu.4'\" \(24026 characters\)
  1040.   sed "s/^X//" >'pexdrawu.4' <<'END_OF_FILE'
  1041. X
  1042. Xobject
  1043. X    surface_dismiss_button : XmPushButton widget {
  1044. X        arguments {
  1045. X            XmNlabelString = "dismiss";
  1046. X            XmNforeground = yellow;
  1047. X            XmNbackground = red;
  1048. X            XmNhighlightColor = magenta;
  1049. X            XmNborderColor = green;
  1050. X        };
  1051. X        callbacks {
  1052. X            MrmNcreateCallback = procedure proc_pexdraw_create (k_dismiss_surface);
  1053. X            XmNactivateCallback = procedure proc_pexdraw_activate (k_dismiss_surface);
  1054. X        };
  1055. X    };
  1056. X
  1057. X!************************************************************************
  1058. X! end of Surface Form
  1059. X!************************************************************************
  1060. X
  1061. X!************************************************************************
  1062. X! The Spin Form
  1063. X!************************************************************************
  1064. X
  1065. Xobject
  1066. X    spin_dialog : XmFormDialog {
  1067. X        arguments {
  1068. X            XmNdialogTitle = "Spin Options";
  1069. X            XmNdialogStyle = XmDIALOG_MODELESS;
  1070. X        XmNheight = 400;
  1071. X        XmNwidth = 360;
  1072. X!        XmNmwmDecorations = 30;
  1073. X            XmNbackground = lightblue;
  1074. X        };
  1075. X        controls {
  1076. X            XmLabel     strux_label;
  1077. X            XmTextField strux_id;
  1078. X        XmSeparator spinf_pnt_sep;
  1079. X            XmLabel     spinf_pnt_label;
  1080. X            XmTextField spinf_pnt_x;
  1081. X            XmTextField spinf_pnt_y;
  1082. X            XmTextField spinf_pnt_z;
  1083. X        XmSeparator spinf_offset_sep;
  1084. X            XmLabel     spinf_offset_label;
  1085. X            XmTextField spinf_offset_x;
  1086. X            XmTextField spinf_offset_y;
  1087. X            XmTextField spinf_offset_z;
  1088. X        XmSeparator  spinf_ang_sep;
  1089. X        XmLabel  spinf_ang_label;
  1090. X        XmTextField  spinf_ang_x;
  1091. X        XmTextField  spinf_ang_y;
  1092. X        XmTextField  spinf_ang_z;
  1093. X        XmSeparator  spinf_delta_sep;
  1094. X        XmLabel  spinf_delta_label;
  1095. X        XmTextField  spinf_delta_x;
  1096. X        XmTextField  spinf_delta_y;
  1097. X        XmTextField  spinf_delta_z;
  1098. X        XmSeparator  spinf_scale_sep;
  1099. X        XmLabel  spinf_scale_label;
  1100. X        XmTextField  spinf_scale;
  1101. X        XmSeparator  spinf_stop_sep;
  1102. X        XmLabel  spinf_stop_label;
  1103. X        XmRadioBox  spinf_stop_box;
  1104. X            XmRowColumn spin_button_box;
  1105. X            };
  1106. X
  1107. X        callbacks {
  1108. X            MrmNcreateCallback = procedure proc_pexdraw_create (k_view_set);
  1109. X            };
  1110. X    };
  1111. X
  1112. X!****************************** View Reference Point ********************
  1113. X
  1114. Xobject
  1115. X    strux_label : XmLabel {
  1116. X        arguments {
  1117. X        XmNtopAttachment = XmATTACH_FORM ;
  1118. X        XmNleftAttachment = XmATTACH_FORM ;
  1119. X        XmNunitType = XmPIXELS;
  1120. X            XmNlabelString = "Strux ID";
  1121. X            };
  1122. X        };
  1123. X
  1124. Xobject
  1125. X    strux_id : XmTextField {
  1126. X        arguments {
  1127. X        XmNtopAttachment = XmATTACH_FORM;
  1128. X        XmNleftAttachment = XmATTACH_WIDGET;
  1129. X        XmNleftWidget = XmLabel strux_label;
  1130. X            XmNwidth = 100;
  1131. X            XmNmaxLength = 12;
  1132. X            XmNvalue = "0";
  1133. X            };
  1134. X        callbacks {
  1135. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_strux);
  1136. X            };
  1137. X        };
  1138. X
  1139. X
  1140. X!****************************** Spin Point  ********************
  1141. X
  1142. Xobject
  1143. X    spinf_pnt_sep : XmSeparator {
  1144. X    arguments {
  1145. X        XmNleftAttachment =  XmATTACH_FORM;
  1146. X        XmNrightAttachment =  XmATTACH_FORM;
  1147. X        XmNtopAttachment = XmATTACH_WIDGET;
  1148. X        XmNtopWidget = XmTextField strux_id;
  1149. X    };
  1150. X    };
  1151. X
  1152. X
  1153. Xobject
  1154. X    spinf_pnt_label : XmLabel {
  1155. X        arguments {
  1156. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1157. X        XmNtopWidget = XmSeparator spinf_pnt_sep;
  1158. X        XmNleftAttachment = XmATTACH_FORM ;
  1159. X            XmNlabelString = "Spin Point";
  1160. X            };
  1161. X        };
  1162. X
  1163. Xobject
  1164. X    spinf_pnt_x : XmTextField {
  1165. X        arguments {
  1166. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1167. X        XmNtopWidget = XmSeparator spinf_pnt_sep;
  1168. X        XmNleftAttachment = XmATTACH_WIDGET;
  1169. X        XmNleftWidget = XmLabel spinf_pnt_label;
  1170. X            XmNwidth = 80;
  1171. X            XmNmaxLength = 8;
  1172. X            XmNvalue = "0";
  1173. X            };
  1174. X        callbacks {
  1175. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_px);
  1176. X            };
  1177. X        };
  1178. X
  1179. Xobject
  1180. X    spinf_pnt_y : XmTextField {
  1181. X        arguments {
  1182. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1183. X        XmNtopWidget = XmSeparator spinf_pnt_sep;
  1184. X        XmNleftAttachment = XmATTACH_WIDGET;
  1185. X        XmNleftWidget = XmTextField spinf_pnt_x;
  1186. X            XmNwidth = 80;
  1187. X            XmNmaxLength = 8;
  1188. X            XmNvalue = "0";
  1189. X            };
  1190. X        callbacks {
  1191. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_py);
  1192. X            };
  1193. X        };
  1194. X
  1195. Xobject
  1196. X    spinf_pnt_z : XmTextField {
  1197. X        arguments {
  1198. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1199. X        XmNtopWidget = XmSeparator spinf_pnt_sep;
  1200. X        XmNleftAttachment = XmATTACH_WIDGET;
  1201. X        XmNleftWidget = XmTextField spinf_pnt_y;
  1202. X            XmNwidth = 80;
  1203. X            XmNmaxLength = 8;
  1204. X            XmNvalue = "1";
  1205. X            };
  1206. X        callbacks {
  1207. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_pz);
  1208. X            };
  1209. X        };
  1210. X
  1211. X!****************************** View Up Vector  ********************
  1212. X
  1213. Xobject
  1214. X    spinf_offset_sep : XmSeparator {
  1215. X    arguments {
  1216. X        XmNleftAttachment =  XmATTACH_FORM;
  1217. X        XmNrightAttachment =  XmATTACH_FORM;
  1218. X        XmNtopAttachment = XmATTACH_WIDGET;
  1219. X        XmNtopWidget = XmTextField spinf_pnt_y;
  1220. X    };
  1221. X    };
  1222. X
  1223. X
  1224. Xobject
  1225. X    spinf_offset_label : XmLabel {
  1226. X        arguments {
  1227. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1228. X        XmNtopWidget = XmSeparator spinf_offset_sep;
  1229. X        XmNleftAttachment = XmATTACH_FORM ;
  1230. X            XmNlabelString = "Offset";
  1231. X            };
  1232. X        };
  1233. X
  1234. Xobject
  1235. X    spinf_offset_x : XmTextField {
  1236. X        arguments {
  1237. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1238. X        XmNtopWidget = XmSeparator spinf_offset_sep;
  1239. X        XmNleftAttachment = XmATTACH_WIDGET;
  1240. X        XmNleftWidget = XmLabel spinf_offset_label;
  1241. X            XmNwidth = 80;
  1242. X            XmNmaxLength = 8;
  1243. X            XmNvalue = "0";
  1244. X            };
  1245. X        callbacks {
  1246. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_ox);
  1247. X            };
  1248. X        };
  1249. X
  1250. Xobject
  1251. X    spinf_offset_y : XmTextField {
  1252. X        arguments {
  1253. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1254. X        XmNtopWidget = XmSeparator spinf_offset_sep;
  1255. X        XmNleftAttachment = XmATTACH_WIDGET;
  1256. X        XmNleftWidget = XmTextField spinf_offset_x;
  1257. X            XmNwidth = 80;
  1258. X            XmNmaxLength = 8;
  1259. X            XmNvalue = "1";
  1260. X            };
  1261. X        callbacks {
  1262. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_oy);
  1263. X            };
  1264. X        };
  1265. X
  1266. Xobject
  1267. X    spinf_offset_z : XmTextField {
  1268. X        arguments {
  1269. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1270. X        XmNtopWidget = XmSeparator spinf_offset_sep;
  1271. X        XmNleftAttachment = XmATTACH_WIDGET;
  1272. X        XmNleftWidget = XmTextField spinf_offset_y;
  1273. X            XmNwidth = 80;
  1274. X            XmNmaxLength = 8;
  1275. X            XmNvalue = "0";
  1276. X            };
  1277. X        callbacks {
  1278. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_oz);
  1279. X            };
  1280. X        };
  1281. X
  1282. X!****************************** angles
  1283. X
  1284. Xobject
  1285. X    spinf_ang_sep : XmSeparator {
  1286. X    arguments {
  1287. X        XmNleftAttachment =  XmATTACH_FORM;
  1288. X        XmNrightAttachment =  XmATTACH_FORM;
  1289. X        XmNtopAttachment = XmATTACH_WIDGET;
  1290. X        XmNtopWidget = XmTextField spinf_offset_y;
  1291. X    };
  1292. X    };
  1293. X
  1294. X
  1295. Xobject
  1296. X    spinf_ang_label : XmLabel {
  1297. X        arguments {
  1298. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1299. X        XmNtopWidget = XmSeparator spinf_ang_sep;
  1300. X        XmNleftAttachment = XmATTACH_FORM ;
  1301. X            XmNlabelString = "Current Angles";
  1302. X            };
  1303. X        };
  1304. X
  1305. Xobject
  1306. X    spinf_ang_x : XmTextField {
  1307. X        arguments {
  1308. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1309. X        XmNtopWidget = XmSeparator spinf_ang_sep;
  1310. X        XmNleftAttachment = XmATTACH_WIDGET;
  1311. X        XmNleftWidget = XmLabel spinf_ang_label;
  1312. X            XmNwidth = 80;
  1313. X            XmNmaxLength = 8;
  1314. X            XmNvalue = "0";
  1315. X            };
  1316. X        callbacks {
  1317. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_xang);
  1318. X            };
  1319. X        };
  1320. X
  1321. Xobject
  1322. X    spinf_ang_y : XmTextField {
  1323. X        arguments {
  1324. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1325. X        XmNtopWidget = XmSeparator spinf_ang_sep;
  1326. X        XmNleftAttachment = XmATTACH_WIDGET;
  1327. X        XmNleftWidget = XmTextField spinf_ang_x;
  1328. X            XmNwidth = 80;
  1329. X            XmNmaxLength = 8;
  1330. X            XmNvalue = "0";
  1331. X            };
  1332. X        callbacks {
  1333. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_yang);
  1334. X            };
  1335. X        };
  1336. X
  1337. Xobject
  1338. X    spinf_ang_z : XmTextField {
  1339. X        arguments {
  1340. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1341. X        XmNtopWidget = XmSeparator spinf_ang_sep;
  1342. X        XmNleftAttachment = XmATTACH_WIDGET;
  1343. X        XmNleftWidget = XmTextField spinf_ang_y;
  1344. X            XmNwidth = 80;
  1345. X            XmNmaxLength = 8;
  1346. X            XmNvalue = "10";
  1347. X            };
  1348. X        callbacks {
  1349. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_zang);
  1350. X            };
  1351. X        };
  1352. X
  1353. X!****************************** Spin Deltas
  1354. X
  1355. Xobject
  1356. X    spinf_delta_sep : XmSeparator {
  1357. X    arguments {
  1358. X        XmNleftAttachment =  XmATTACH_FORM;
  1359. X        XmNrightAttachment =  XmATTACH_FORM;
  1360. X        XmNtopAttachment = XmATTACH_WIDGET;
  1361. X        XmNtopWidget = XmTextField spinf_ang_y;
  1362. X    };
  1363. X    };
  1364. X
  1365. X
  1366. Xobject
  1367. X    spinf_delta_label : XmLabel {
  1368. X        arguments {
  1369. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1370. X        XmNtopWidget = XmSeparator spinf_delta_sep;
  1371. X        XmNleftAttachment = XmATTACH_FORM ;
  1372. X            XmNlabelString = "Delta Angles for spin";
  1373. X            };
  1374. X        };
  1375. X
  1376. Xobject
  1377. X    spinf_delta_x : XmTextField {
  1378. X        arguments {
  1379. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1380. X        XmNtopWidget = XmSeparator spinf_delta_sep;
  1381. X        XmNleftAttachment = XmATTACH_WIDGET;
  1382. X        XmNleftWidget = XmLabel spinf_delta_label;
  1383. X            XmNwidth = 80;
  1384. X            XmNmaxLength = 8;
  1385. X            XmNvalue = "0";
  1386. X            };
  1387. X        callbacks {
  1388. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_dx);
  1389. X            };
  1390. X        };
  1391. X
  1392. Xobject
  1393. X    spinf_delta_y : XmTextField {
  1394. X        arguments {
  1395. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1396. X        XmNtopWidget = XmSeparator spinf_delta_sep;
  1397. X        XmNleftAttachment = XmATTACH_WIDGET;
  1398. X        XmNleftWidget = XmTextField spinf_delta_x;
  1399. X            XmNwidth = 80;
  1400. X            XmNmaxLength = 8;
  1401. X            XmNvalue = "0";
  1402. X            };
  1403. X        callbacks {
  1404. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_dy);
  1405. X            };
  1406. X        };
  1407. X
  1408. Xobject
  1409. X    spinf_delta_z : XmTextField {
  1410. X        arguments {
  1411. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1412. X        XmNtopWidget = XmSeparator spinf_delta_sep;
  1413. X        XmNleftAttachment = XmATTACH_WIDGET;
  1414. X        XmNleftWidget = XmTextField spinf_delta_y;
  1415. X            XmNwidth = 80;
  1416. X            XmNmaxLength = 8;
  1417. X            XmNvalue = "5";
  1418. X            };
  1419. X        callbacks {
  1420. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_dz);
  1421. X            };
  1422. X        };
  1423. X
  1424. X!* scale
  1425. X
  1426. Xobject
  1427. X    spinf_scale_sep : XmSeparator {
  1428. X    arguments {
  1429. X        XmNleftAttachment =  XmATTACH_FORM;
  1430. X        XmNrightAttachment =  XmATTACH_FORM;
  1431. X        XmNtopAttachment = XmATTACH_WIDGET;
  1432. X        XmNtopWidget = XmTextField spinf_delta_y;
  1433. X    };
  1434. X    };
  1435. X
  1436. X
  1437. Xobject
  1438. X    spinf_scale_label : XmLabel {
  1439. X        arguments {
  1440. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1441. X        XmNtopWidget = XmSeparator spinf_scale_sep;
  1442. X        XmNleftAttachment = XmATTACH_FORM ;
  1443. X            XmNlabelString = "Scale for strux";
  1444. X            };
  1445. X        };
  1446. X
  1447. Xobject
  1448. X    spinf_scale : XmTextField {
  1449. X        arguments {
  1450. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1451. X        XmNtopWidget = XmSeparator spinf_scale_sep;
  1452. X        XmNleftAttachment = XmATTACH_WIDGET;
  1453. X        XmNleftWidget = XmLabel spinf_scale_label;
  1454. X            XmNwidth = 80;
  1455. X            XmNmaxLength = 8;
  1456. X            XmNvalue = "0";
  1457. X            };
  1458. X        callbacks {
  1459. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_spinf_scale);
  1460. X            };
  1461. X        };
  1462. X
  1463. X!********************************* Projection type
  1464. X
  1465. X
  1466. Xobject
  1467. X    spinf_stop_sep : XmSeparator {
  1468. X    arguments {
  1469. X        XmNleftAttachment =  XmATTACH_FORM;
  1470. X        XmNrightAttachment =  XmATTACH_FORM;
  1471. X        XmNtopAttachment = XmATTACH_WIDGET;
  1472. X        XmNtopWidget = XmTextField spinf_scale;
  1473. X    };
  1474. X    };
  1475. X
  1476. Xobject
  1477. X    spinf_stop_label : XmLabel {
  1478. X        arguments {
  1479. X        XmNleftAttachment =  XmATTACH_FORM;
  1480. X        XmNtopAttachment = XmATTACH_WIDGET;
  1481. X        XmNtopWidget =  XmSeparator spinf_stop_sep;
  1482. X            XmNlabelString = "Projection Type";
  1483. X            };
  1484. X    };
  1485. X
  1486. Xobject
  1487. X    spinf_stop_box : XmRadioBox {
  1488. X        arguments {
  1489. X            XmNorientation = XmHORIZONTAL;
  1490. X        XmNleftAttachment =  XmATTACH_WIDGET;
  1491. X        XmNleftWidget = XmLabel spinf_stop_label;
  1492. X        XmNtopAttachment = XmATTACH_WIDGET;
  1493. X        XmNtopWidget =  XmSeparator spinf_stop_sep;
  1494. X            XmNborderWidth = 0;
  1495. X        XmNisHomogeneous = false;
  1496. X            };
  1497. X        controls {
  1498. X            XmToggleButton   spinf_stop_spin;
  1499. X            XmToggleButton   spinf_stop_stop;
  1500. X            };
  1501. X        };
  1502. X                                                                                                              
  1503. Xobject
  1504. X    spinf_stop_spin : XmToggleButton {
  1505. X        arguments {
  1506. X            XmNlabelString = "Spin";
  1507. X            XmNset = on;   ! A radio box requires one toggle to be set.
  1508. X            XmNindicatorOn = on;   ! A radio box requires one toggle to be set.
  1509. X            };                                                             
  1510. X        };
  1511. X
  1512. Xobject
  1513. X    spinf_stop_stop : XmToggleButton {
  1514. X        arguments {
  1515. X            XmNlabelString = "Stop";
  1516. X            };
  1517. X        callbacks {
  1518. X            MrmNcreateCallback = procedure proc_pexdraw_create (k_spinf_stop);
  1519. X            };
  1520. X        };
  1521. X
  1522. X!*****************************  Bottom Buttons ******************************
  1523. X
  1524. Xobject
  1525. X    spin_button_box : XmRowColumn {
  1526. X        arguments {
  1527. X            XmNorientation = XmHORIZONTAL;
  1528. X        XmNleftAttachment =  XmATTACH_FORM;
  1529. X        XmNrightAttachment =  XmATTACH_FORM;
  1530. X        XmNbottomAttachment =  XmATTACH_FORM;
  1531. X            XmNborderWidth = 2;
  1532. X            XmNentryBorder = 3;
  1533. X            };
  1534. X        controls {                                                  
  1535. X            XmPushButton     spin_apply_button;
  1536. X            XmPushButton     spin_dismiss_button;
  1537. X            XmPushButton     spin_can_button;
  1538. X            };
  1539. X        };
  1540. X
  1541. Xobject
  1542. X    spin_apply_button : XmPushButton widget { ! The menu positions the buttons
  1543. X        arguments {                     !  automatically.
  1544. X            XmNlabelString = "apply";
  1545. X            XmNforeground = yellow;
  1546. X            XmNbackground = red;
  1547. X            XmNhighlightColor = magenta;
  1548. X            XmNborderColor = green;
  1549. X        XmNaccelerator = "Ctrl <key>a";
  1550. X        XmNacceleratorText = " ^a";
  1551. X            };
  1552. X        callbacks {
  1553. X            MrmNcreateCallback = procedure proc_pexdraw_create (k_apply_spin);
  1554. X            XmNactivateCallback = procedure proc_pexdraw_activate (k_apply_spin);
  1555. X        };
  1556. X    };
  1557. X
  1558. Xobject
  1559. X    spin_can_button : XmPushButton widget {                       
  1560. X        arguments {
  1561. X            XmNlabelString = "fetch";
  1562. X            XmNforeground = yellow;
  1563. X            XmNbackground = red;
  1564. X            XmNhighlightColor = magenta;
  1565. X            XmNborderColor = green;
  1566. X            };
  1567. X        callbacks {
  1568. X            XmNactivateCallback = procedure proc_pexdraw_activate (k_reset_spin);
  1569. X        };
  1570. X    };
  1571. X
  1572. Xobject
  1573. X    spin_dismiss_button : XmPushButton widget {
  1574. X        arguments {
  1575. X            XmNlabelString = "dismiss";
  1576. X            XmNforeground = yellow;
  1577. X            XmNbackground = red;
  1578. X            XmNhighlightColor = magenta;
  1579. X            XmNborderColor = green;
  1580. X        };
  1581. X        callbacks {
  1582. X            MrmNcreateCallback = procedure proc_pexdraw_create (k_dismiss_spin);
  1583. X            XmNactivateCallback = procedure proc_pexdraw_activate (k_dismiss_spin);
  1584. X        };
  1585. X    };
  1586. X
  1587. X!************************************************************************
  1588. X! end of Spin Form
  1589. X!************************************************************************
  1590. X
  1591. X!************************************************************************
  1592. X! The Color Form
  1593. X!************************************************************************
  1594. X
  1595. Xobject
  1596. X    color_dialog : XmFormDialog {
  1597. X        arguments {
  1598. X            XmNdialogTitle = "Color Editor";
  1599. X            XmNdialogStyle = XmDIALOG_MODELESS;
  1600. X        XmNheight = 400;
  1601. X        XmNwidth = 360;
  1602. X!        XmNmwmDecorations = 30;
  1603. X            XmNbackground = lightblue;
  1604. X        };
  1605. X        controls {
  1606. X            XmLabel     color_strux_label;
  1607. X            XmTextField color_strux_id;
  1608. X            XmLabel     color_elem_label;
  1609. X            XmTextField color_elem;
  1610. X        XmSeparator color_red_sep;
  1611. X            XmLabel     color_red_label;
  1612. X        XmScale     color_red;
  1613. X        XmSeparator color_green_sep;
  1614. X            XmLabel     color_green_label;
  1615. X        XmScale     color_green;
  1616. X        XmSeparator color_blue_sep;
  1617. X            XmLabel     color_blue_label;
  1618. X        XmScale     color_blue;
  1619. X            XmRowColumn color_button_box;
  1620. X            };
  1621. X
  1622. X        callbacks {
  1623. X            MrmNcreateCallback = procedure proc_pexdraw_create (k_color_form);
  1624. X            };
  1625. X    };
  1626. X
  1627. X
  1628. Xobject
  1629. X    color_strux_label : XmLabel {
  1630. X        arguments {
  1631. X        XmNtopAttachment = XmATTACH_FORM ;
  1632. X        XmNleftAttachment = XmATTACH_FORM ;
  1633. X        XmNunitType = XmPIXELS;
  1634. X            XmNlabelString = "Strux ID";
  1635. X            };
  1636. X        };
  1637. X
  1638. Xobject
  1639. X    color_strux_id : XmTextField {
  1640. X        arguments {
  1641. X        XmNtopAttachment = XmATTACH_FORM;
  1642. X        XmNleftAttachment = XmATTACH_WIDGET;
  1643. X        XmNleftWidget = XmLabel color_strux_label;
  1644. X            XmNwidth = 100;
  1645. X            XmNmaxLength = 12;
  1646. X            XmNvalue = "0";
  1647. X            };
  1648. X        callbacks {
  1649. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_color_strux);
  1650. X            };
  1651. X        };
  1652. X
  1653. X
  1654. Xobject
  1655. X    color_elem_label : XmLabel {
  1656. X        arguments {
  1657. X        XmNtopAttachment = XmATTACH_FORM ;
  1658. X        XmNleftAttachment = XmATTACH_WIDGET;
  1659. X        XmNleftWidget = XmTextField color_strux_id;
  1660. X        XmNunitType = XmPIXELS;
  1661. X            XmNlabelString = "Element";
  1662. X            };
  1663. X        };
  1664. X
  1665. Xobject
  1666. X    color_elem : XmTextField {
  1667. X        arguments {
  1668. X        XmNtopAttachment = XmATTACH_FORM;
  1669. X        XmNleftAttachment = XmATTACH_WIDGET;
  1670. X        XmNleftWidget = XmLabel color_elem_label;
  1671. X            XmNwidth = 100;
  1672. X            XmNmaxLength = 12;
  1673. X            XmNvalue = "0";
  1674. X            };
  1675. X        callbacks {
  1676. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_color_elem);
  1677. X            };
  1678. X        };
  1679. X
  1680. X!****************************** Color Sliders
  1681. X
  1682. Xobject
  1683. X    color_red_sep : XmSeparator {
  1684. X    arguments {
  1685. X        XmNleftAttachment = XmATTACH_FORM;
  1686. X        XmNrightAttachment =  XmATTACH_FORM;
  1687. X        XmNtopAttachment =  XmATTACH_WIDGET;
  1688. X        XmNtopWidget = XmTextField color_strux_id;
  1689. X    };
  1690. X    };
  1691. X
  1692. Xobject
  1693. X    color_red_label : XmLabel {
  1694. X        arguments {
  1695. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1696. X        XmNtopWidget = XmSeparator color_red_sep;
  1697. X        XmNleftAttachment = XmATTACH_FORM ;
  1698. X        XmNunitType = XmPIXELS;
  1699. X            XmNwidth = 75;
  1700. X            XmNlabelString = "Red";
  1701. X            };
  1702. X        };
  1703. X
  1704. Xobject
  1705. X    color_red : XmScale {
  1706. X        arguments {
  1707. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1708. X        XmNtopWidget = XmSeparator color_red_sep;
  1709. X        XmNleftAttachment = XmATTACH_WIDGET;
  1710. X        XmNleftWidget = XmLabel color_red_label;
  1711. X        XmNrightAttachment =  XmATTACH_FORM;
  1712. X            XmNorientation = XmHORIZONTAL;
  1713. X        XmNminimum = 000;
  1714. X        XmNmaximum = 100;
  1715. X            XmNvalue = 100;
  1716. X            XmNshowValue = on;
  1717. X        XmNdecimalPoints = 2;
  1718. X            };
  1719. X        callbacks {
  1720. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_color_red);
  1721. X            XmNvalueChangedCallback = procedure proc_pexdraw_activate (k_apply_color);
  1722. X            };
  1723. X        };
  1724. X
  1725. Xobject
  1726. X    color_green_sep : XmSeparator {
  1727. X    arguments {
  1728. X        XmNleftAttachment = XmATTACH_FORM;
  1729. X        XmNrightAttachment =  XmATTACH_FORM;
  1730. X        XmNtopAttachment =  XmATTACH_WIDGET;
  1731. X        XmNtopWidget = XmScale color_red;
  1732. X    };
  1733. X    };
  1734. X
  1735. Xobject
  1736. X    color_green_label : XmLabel {
  1737. X        arguments {
  1738. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1739. X        XmNtopWidget = XmSeparator color_green_sep;
  1740. X        XmNleftAttachment = XmATTACH_FORM ;
  1741. X        XmNunitType = XmPIXELS;
  1742. X            XmNwidth = 75;
  1743. X            XmNlabelString = "Green";
  1744. X            };
  1745. X        };
  1746. X
  1747. Xobject
  1748. X    color_green : XmScale {
  1749. X        arguments {
  1750. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1751. X        XmNtopWidget = XmSeparator color_green_sep;
  1752. X        XmNleftAttachment = XmATTACH_WIDGET;
  1753. X        XmNleftWidget = XmLabel color_green_label;
  1754. X        XmNrightAttachment =  XmATTACH_FORM;
  1755. X            XmNorientation = XmHORIZONTAL;
  1756. X        XmNminimum = 000;
  1757. X        XmNmaximum = 100;
  1758. X            XmNvalue = 100;
  1759. X            XmNshowValue = on;
  1760. X        XmNdecimalPoints = 2;
  1761. X            };
  1762. X        callbacks {
  1763. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_color_green);
  1764. X            XmNvalueChangedCallback = procedure proc_pexdraw_activate (k_apply_color);
  1765. X            };
  1766. X        };
  1767. X
  1768. Xobject
  1769. X    color_blue_sep : XmSeparator {
  1770. X    arguments {
  1771. X        XmNleftAttachment = XmATTACH_FORM;
  1772. X        XmNrightAttachment =  XmATTACH_FORM;
  1773. X        XmNtopAttachment =  XmATTACH_WIDGET;
  1774. X        XmNtopWidget = XmScale color_green;
  1775. X    };
  1776. X    };
  1777. X
  1778. Xobject
  1779. X    color_blue_label : XmLabel {
  1780. X        arguments {
  1781. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1782. X        XmNtopWidget = XmSeparator color_blue_sep;
  1783. X        XmNleftAttachment = XmATTACH_FORM ;
  1784. X        XmNunitType = XmPIXELS;
  1785. X            XmNwidth = 75;
  1786. X            XmNlabelString = "Blue";
  1787. X            };
  1788. X        };
  1789. X
  1790. Xobject
  1791. X    color_blue : XmScale {
  1792. X        arguments {
  1793. X        XmNtopAttachment = XmATTACH_WIDGET ;
  1794. X        XmNtopWidget = XmSeparator color_blue_sep;
  1795. X        XmNleftAttachment = XmATTACH_WIDGET;
  1796. X        XmNleftWidget = XmLabel color_blue_label;
  1797. X        XmNrightAttachment =  XmATTACH_FORM;
  1798. X            XmNorientation = XmHORIZONTAL;
  1799. X        XmNminimum = 000;
  1800. X        XmNmaximum = 100;
  1801. X            XmNvalue = 100;
  1802. X            XmNshowValue = on;
  1803. X        XmNdecimalPoints = 2;
  1804. X            };
  1805. X        callbacks {
  1806. X        MrmNcreateCallback = procedure proc_pexdraw_create(k_color_blue);
  1807. X            XmNvalueChangedCallback = procedure proc_pexdraw_activate (k_apply_color);
  1808. X            };
  1809. X        };
  1810. X
  1811. X!*****************************  Bottom Buttons ******************************
  1812. X
  1813. Xobject
  1814. X    color_button_box : XmRowColumn {
  1815. X        arguments {
  1816. X            XmNorientation = XmHORIZONTAL;
  1817. X        XmNleftAttachment =  XmATTACH_FORM;
  1818. X        XmNrightAttachment =  XmATTACH_FORM;
  1819. X        XmNbottomAttachment =  XmATTACH_FORM;
  1820. X            XmNborderWidth = 2;
  1821. X            XmNentryBorder = 3;
  1822. X            };
  1823. X        controls {                                                  
  1824. X            XmPushButton     color_apply_button;
  1825. X            XmPushButton     color_dismiss_button;
  1826. X            XmPushButton     color_can_button;
  1827. X            };
  1828. X        };
  1829. X
  1830. Xobject
  1831. X    color_apply_button : XmPushButton widget { ! The menu positions the buttons
  1832. X        arguments {                     !  automatically.
  1833. X            XmNlabelString = "apply";
  1834. X            XmNforeground = yellow;
  1835. X            XmNbackground = red;
  1836. X            XmNhighlightColor = magenta;
  1837. X            XmNborderColor = green;
  1838. X        XmNaccelerator = "Ctrl <key>a";
  1839. X        XmNacceleratorText = " ^a";
  1840. X            };
  1841. X        callbacks {
  1842. X            XmNactivateCallback = procedure proc_pexdraw_activate (k_apply_color);
  1843. X        };
  1844. X    };
  1845. X
  1846. Xobject
  1847. X    color_can_button : XmPushButton widget {                       
  1848. X        arguments {
  1849. X            XmNlabelString = "fetch";
  1850. X            XmNforeground = yellow;
  1851. X            XmNbackground = red;
  1852. X            XmNhighlightColor = magenta;
  1853. X            XmNborderColor = green;
  1854. X            };
  1855. X        callbacks {
  1856. X            XmNactivateCallback = procedure proc_pexdraw_activate (k_reset_color);
  1857. X        };
  1858. X    };
  1859. X
  1860. Xobject
  1861. X    color_dismiss_button : XmPushButton widget {
  1862. X        arguments {
  1863. X            XmNlabelString = "dismiss";
  1864. X            XmNforeground = yellow;
  1865. X            XmNbackground = red;
  1866. X            XmNhighlightColor = magenta;
  1867. X            XmNborderColor = green;
  1868. X        };
  1869. X        callbacks {
  1870. X            XmNactivateCallback = procedure proc_pexdraw_activate (k_dismiss_color);
  1871. X        };
  1872. X    };
  1873. X
  1874. X!************************************************************************
  1875. X! end of Color Form
  1876. X!************************************************************************
  1877. X
  1878. Xend module;
  1879. X
  1880. X
  1881. END_OF_FILE
  1882.   if test 24026 -ne `wc -c <'pexdrawu.4'`; then
  1883.     echo shar: \"'pexdrawu.4'\" unpacked with wrong size!
  1884.   fi
  1885.   # end of 'pexdrawu.4'
  1886. fi
  1887. echo shar: End of archive 7 \(of 14\).
  1888. cp /dev/null ark7isdone
  1889. MISSING=""
  1890. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ; do
  1891.     if test ! -f ark${I}isdone ; then
  1892.     MISSING="${MISSING} ${I}"
  1893.     fi
  1894. done
  1895. if test "${MISSING}" = "" ; then
  1896.     echo You have unpacked all 14 archives.
  1897.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1898.     echo "concatentating pexdraw.c ..."
  1899.     cat pexdrawc.? > pexdraw.c
  1900.     rm pexdrawc.?
  1901.     echo "concatentating pexdraw.uil ..."
  1902.     cat pexdrawu.? > pexdraw.uil
  1903.     rm pexdrawu.?
  1904.     echo "concatentating teapot.c ..."
  1905.     rm teapotc.?
  1906. else
  1907.     echo You still must unpack the following archives:
  1908.     echo "        " ${MISSING}
  1909. fi
  1910. exit 0
  1911. exit 0 # Just in case...
  1912. -- 
  1913.   // chris@IMD.Sterling.COM       | Send comp.sources.x submissions to:
  1914. \X/  Amiga - The only way to fly! |    sources-x@imd.sterling.com
  1915.  "It's intuitively obvious to the |
  1916.   most casual observer..."        | GCS d+/-- p+ c++ l+ m+ s++/+ g+ w+ t+ r+ x+
  1917.