home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / autodesk / acltwin / base.dcl < prev    next >
Text File  |  1996-05-30  |  12KB  |  503 lines

  1. // Next available MSG number is    15 
  2. // MODULE_ID BASE_DCL_
  3. /* Next available MSG number is  24 */
  4.  
  5. //     BASE.DCL      Version 1.1
  6. //
  7. //     Copyright (C) 1991, 1992, 1993, 1994 by Autodesk, Inc.
  8. //
  9. //     Permission to use, copy, modify, and distribute this software
  10. //     for any purpose and without fee is hereby granted, provided
  11. //     that the above copyright notice appears in all copies and
  12. //     that both that copyright notice and the limited warranty and
  13. //     restricted rights notice below appear in all supporting
  14. //     documentation.
  15. //
  16. //     AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
  17. //     AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
  18. //     MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.  AUTODESK, INC.
  19. //     DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
  20. //     UNINTERRUPTED OR ERROR FREE.
  21. //
  22. //     Use, duplication, or disclosure by the U.S. Government is subject to
  23. //     restrictions set forth in FAR 52.227-19 (Commercial Computer
  24. //     Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
  25. //     (Rights in Technical Data and Computer Software), as applicable.
  26. //
  27. //.
  28. //
  29. // Define common prototypes and subassemblies for use by
  30. // ACAD.DCL and user-defined dialogs (AutoCAD), and by
  31. // ACLT.DCL (AutoCAD LT).
  32.  
  33. // (The primitive widgets are set up automatically by init_dialog.  The
  34. // equivalent DCL is shown here (commented out) for reference.)
  35.  
  36. // dialog {
  37. //      layout          = vertical;
  38. //      is_enabled      = false;
  39. // }
  40. // 
  41. // cluster {
  42. //      layout          = horizontal;
  43. // }
  44. // 
  45. // radio_cluster {
  46. //      layout          = horizontal;
  47. //      is_enabled      = true;
  48. // }
  49. // 
  50. // tile {
  51. //      layout          = horizontal;
  52. //      is_enabled      = true;
  53. // }
  54. // 
  55. // text  : tile {
  56. //      fixed_height    = true;       // inhibit vertical expansion
  57. // }
  58. // 
  59. // image : tile {
  60. // }
  61. // 
  62. // button : tile {
  63. //      fixed_height    = true;
  64. //      is_tab_stop     = true;
  65. // }
  66. // 
  67. // image_button : button {
  68. //      is_tab_stop     = true;
  69. // }
  70. // 
  71. // toggle : tile {
  72. //      fixed_height    = true;
  73. //      is_tab_stop     = true;
  74. // }
  75. // 
  76. // radio_button : tile {
  77. //      fixed_height    = true;
  78. //      is_tab_stop     = true;
  79. // }
  80. // 
  81. // list_box : tile {
  82. //      is_tab_stop     = true;
  83. //      height          = 10;
  84. //      width           = 10;
  85. // }
  86. // 
  87. // edit_box : tile {
  88. //      fixed_height    = true;
  89. //      is_tab_stop     = true;
  90. // }
  91. // 
  92. // popup_list : tile {
  93. //      is_tab_stop     = true;
  94. //      fixed_height    = true;
  95. // }
  96. // 
  97. // slider : tile {
  98. //      is_tab_stop     = true;
  99. // }
  100. // 
  101. // spacer : tile {
  102. // }
  103.  
  104. //----- Styles of clusters.
  105.  
  106. row : cluster {
  107.     horizontal_margin = none;
  108.     vertical_margin = none;
  109.     children_alignment = centered;
  110. }
  111.  
  112. column : cluster {
  113.     layout = vertical;
  114.     horizontal_margin = none;
  115.     vertical_margin = none;
  116. }
  117.  
  118. boxed_row : cluster {
  119.     label = " ";
  120.     boxed = true;
  121.     children_alignment = centered;
  122. }
  123.  
  124. boxed_column : cluster {
  125.     layout = vertical;
  126.     label = " ";
  127.     boxed = true;
  128. }
  129.  
  130. //----- Styles of radio clusters.
  131.  
  132. radio_row : radio_cluster {
  133.     horizontal_margin = none;
  134.     vertical_margin = none;
  135.     children_alignment = centered;
  136. }
  137.  
  138. radio_column : radio_cluster {
  139.     layout = vertical;
  140.     horizontal_margin = none;
  141.     vertical_margin = none;
  142. }
  143.  
  144. boxed_radio_row : radio_cluster {
  145.     label = " ";
  146.     boxed = true;
  147.     children_alignment = centered;
  148. }
  149.  
  150. boxed_radio_column : radio_cluster {
  151.     layout = vertical;
  152.     label = " ";
  153.     boxed = true;
  154. }
  155.  
  156. //----- Horizontal and vertical blocks of running text.
  157.  
  158. concatenation : cluster {
  159.     fixed_width = true;
  160.     fixed_height = true;
  161.     children_alignment = centered;
  162. }
  163.  
  164. paragraph : cluster {
  165.     layout = vertical;
  166.     fixed_height = true;
  167. }
  168.  
  169. text_part : text {
  170.     horizontal_margin = none;
  171.     vertical_margin = none;
  172. }
  173.  
  174. text_25 : text {
  175.     width = 25;
  176. }
  177.  
  178. //----- Common spacers.
  179.  
  180. spacer_0 : spacer {
  181.     height = 0;
  182.     width = 0;
  183.     horizontal_margin = none;
  184.     vertical_margin = none;
  185. }
  186.  
  187. spacer_1 : spacer {
  188.     height = 1;
  189.     width = 1;
  190.     horizontal_margin = none;
  191.     vertical_margin = none;
  192. }
  193.  
  194. //----- The normal default widget.
  195.  
  196. default_button : button {
  197.         is_default      = true;
  198. }
  199.  
  200. //----- Standard prototype for making consistent "dialog retirement buttons".
  201. //      Used below for the predefined retirement buttons, and for user-defined
  202. //      dialogs that need retirement buttons with specialized verbs.
  203.  
  204. retirement_button : button {
  205.         fixed_width     = true;
  206.         width           = 8;
  207.         alignment = centered;
  208. }
  209.  
  210. //----- Standard dialog retirement buttons.  Unless one is building a dialog
  211. //      retirement subassembly containing specialized verbs, these will 
  212. //      normally not be used directly by DCL code outside of base.dcl; use
  213. //      the pre-built subassemblies in the next section.
  214.  
  215. ok_button : retirement_button {
  216.         label           = "  OK  ";
  217.         key             = "accept";
  218.         is_default      = true;
  219. }
  220.  
  221. cancel_button : retirement_button {
  222.         label           = "Cancel";
  223.         key             = "cancel";
  224.         is_cancel       = true;
  225. }
  226.  
  227. help_button : retirement_button {
  228.         label           = "&Help...";
  229.         key             = "help";
  230. }
  231.  
  232. info_button : retirement_button {
  233.         label           = "&Info...";
  234.         key             = "info";
  235. }
  236.  
  237. //----- Pre-built arrays of dialog bottom-line buttons.
  238.  
  239. ok_only : column {
  240.     fixed_width = true;
  241.     alignment = centered;
  242.     : ok_button {
  243.         is_cancel = true;
  244.     }
  245. }
  246.  
  247. ok_cancel : column {
  248.     : row {
  249.         fixed_width = true;
  250.         alignment = centered;
  251.         ok_button;
  252.         : spacer { width = 2; }
  253.         cancel_button;
  254.     }
  255. }
  256.  
  257. ok_cancel_help : column {
  258.     : row {
  259.         fixed_width = true;
  260.         alignment = centered;
  261.         ok_button;
  262.         : spacer { width = 2; }
  263.         cancel_button;
  264.         : spacer { width = 2; }
  265.         help_button;
  266.     }
  267. }
  268.  
  269. ok_cancel_help_info : column {
  270.     : row {
  271.         fixed_width = true;
  272.         alignment = centered;
  273.         ok_button;
  274.         : spacer { width = 2; }
  275.         cancel_button;
  276.         : spacer { width = 2; }
  277.         help_button;
  278.         : spacer { width = 2; }
  279.         info_button;
  280.     }
  281. }
  282.  
  283. //----- Error reporting tiles.
  284.  
  285. errtile : text {
  286.         label = "";
  287.         key = "error";
  288.         width = 35;                   // must be long enough to hold error msgs
  289.         is_error_tile = true;
  290. }
  291.  
  292. // A custer consisting of OK, Cancel, and Help on one line with the error tile
  293. //    below.
  294.  
  295. ok_cancel_help_errtile : column {
  296.     ok_cancel_help;
  297.     errtile;
  298. }
  299.  
  300. // The same thing without the Help button for subdialogues that have no help
  301. //    available.
  302.  
  303. ok_cancel_err : column {
  304.     ok_cancel;
  305.     errtile;
  306. }
  307.  
  308. //----- Currently, the only dcl setting is the audit_level which controls the
  309. //  level of semantic error checking applied during a load_dialog operation.
  310. //      (0 = none, 1 = errors, 2 = warnings, 3 = hints)
  311. // See AutoCAD's README for details.
  312. default_dcl_settings : tile {
  313.     audit_level = 1;
  314. }
  315.  
  316. //----- Miscellaneous parts used by ACAD.DCL (AutoCAD) & ACLT.DCL (AutoCAD LT).
  317.  
  318. image_block : image {
  319.         key = "show_image";
  320.         height = 1;
  321.         width = 1;
  322. }
  323.  
  324. icon_image : image_button {
  325.         color                   = 0;
  326.         width                   = 12;
  327.         aspect_ratio            = 0.66;
  328.         allow_accept            = true;
  329.         fixed_height            = true;
  330.         fixed_width             = true;
  331. }
  332.  
  333. edit12_box : edit_box {
  334.         edit_width = 12;
  335.         edit_limit = 18;
  336. }
  337.  
  338. edit32_box : edit_box {
  339.         edit_width = 32;
  340.         edit_limit = 259;
  341. }
  342.  
  343. //  The following are for the color-selection dialogs
  344.  
  345. swatch : image_button {
  346.     vertical_margin = none;
  347.     horizontal_margin = none;
  348.     fixed_height = true;
  349.     fixed_width = true;
  350.     height = 1.5;
  351.     width = 3;
  352. }
  353.  
  354. color_palette_1_7 : row {             // Standard colors 1-7
  355.     : swatch { color = 001; key = "001"; }
  356.     : swatch { color = 002; key = "002"; }
  357.     : swatch { color = 003; key = "003"; }
  358.     : swatch { color = 004; key = "004"; }
  359.     : swatch { color = 005; key = "005"; }
  360.     : swatch { color = 006; key = "006"; }
  361.     : swatch { color = 007; key = "007"; }
  362. }
  363.  
  364. color_palette_1_9 : row {             // Standard colors, plus 8 and 9
  365.     color_palette_1_7;
  366.     : swatch { color = 008; key = "008"; }
  367.     : swatch { color = 009; key = "009"; }
  368. }
  369.  
  370. color_palette_0_9 : row {             // Standard colors, plus 0, 8, and 9
  371.     : swatch { color = 000; key = "000"; }
  372.     color_palette_1_9;
  373. }
  374.  
  375. color_palette_250_255 : row {         // Grey shades 250-255
  376.     : swatch { color = 250; key = "250"; }
  377.     : swatch { color = 251; key = "251"; }
  378.     : swatch { color = 252; key = "252"; }
  379.     : swatch { color = 253; key = "253"; }
  380.     : swatch { color = 254; key = "254"; }
  381.     : swatch { color = 255; key = "255"; }
  382. }
  383.  
  384. std_rq_color :column{
  385.     :column {
  386.         :boxed_row {
  387.             fixed_width = true;
  388.             label = "Standard Colors";
  389.             color_palette_1_9;
  390.         }
  391.         :row {
  392.             :boxed_row {
  393.                 fixed_width = true;
  394.                 label = "Gray Shades";
  395.                 color_palette_250_255;
  396.             }
  397.             :boxed_row {
  398.                 fixed_width = true;
  399.                 label = "Logical Colors";
  400.                 :button {
  401.                     label = "BY&LAYER";
  402.                     key = "256";
  403.                 }
  404.                 :button {
  405.                     label = "BY&BLOCK";
  406.                     key = "000";
  407.                 }
  408.             }
  409.         }
  410.     }
  411.     :boxed_column {
  412.         label = "Full Color Palette";
  413.         :image_button{
  414.             key = "hiside";
  415.             alignment = centered;
  416.             width = 40;
  417.             height = 4;
  418.         }
  419.         :image_button{
  420.             alignment = centered;
  421.             key = "loside";
  422.             width = 40;
  423.             height = 4;
  424.         }
  425.     }
  426.     :row {
  427.         fixed_width = true;
  428.         alignment = centered;
  429.         children_alignment = bottom;
  430.         :edit12_box {
  431.             label = "Color:";
  432.             key = "color_edit";
  433.             allow_accept = true;
  434.         }
  435.         :swatch {
  436.             key = "color_image";
  437.         }
  438.     }
  439.     ok_cancel_help_errtile;
  440. }
  441.  
  442. //  The preceding are for color-selection dialogs
  443.  
  444.  
  445. //  Top and bottom sub-assemblies for the files dialogue
  446. files_topdf : column {
  447.     : edit_box {
  448.         key = "pedit";
  449.         label = "&Pattern:";
  450.         edit_width = 35;
  451.     }
  452.     : row {
  453.         : text {
  454.             label = "Directory:";
  455.         }
  456.         : text {
  457.             key = "dirtext";
  458.             width = 35;
  459.         }
  460.     }
  461. }
  462.  
  463. files_bottomdf : column {
  464.     : edit_box {
  465.         key = "fedit";
  466.         label = "&File:";
  467.         allow_accept = true;
  468.     }
  469.     ok_cancel;
  470.     errtile;
  471. }
  472.  
  473. fcf_ibut : image_button {
  474.     horizontal_margin = none;
  475.     width = 3.5;
  476.     height = 1.2;
  477.     color        = 0;
  478.     alignment = bottom;
  479. }
  480.  
  481. fcf_ebox : edit_box {
  482.     horizontal_margin = none;
  483.     edit_width = 7;
  484.     fixed_width = true;
  485.     alignment = bottom;
  486. }
  487.  
  488. fcf_ebox1 : edit_box {
  489.     horizontal_margin = none;
  490.     edit_width = 3;
  491.     edit_limit = 3;
  492.     fixed_width = true;
  493.     alignment = bottom;
  494. }
  495.  
  496. fcf_ibut1 : image_button {
  497.     width        = 5.0;
  498.     aspect_ratio = 0.66;
  499.     color        = 0;
  500.     allow_accept = true;
  501. }
  502.  
  503.