home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / utilities / utilsd / drwimp / Utils / !TemplEd / Manual < prev    next >
Encoding:
Text File  |  1993-07-11  |  23.8 KB  |  565 lines

  1.  
  2.  
  3.                             TemplEd User Manual
  4.                             -------------------
  5.  
  6.  
  7. 1. About TemplEd
  8. ________________
  9.  
  10. TemplEd is a template editor. With it, you can create and edit Template
  11. files, which contain definitions of the windows used by an application. If
  12. you want to know what can be in template definitions, and how they can be
  13. read by a program, read the information about the SWIs Wimp_CreateWindow,
  14. Wimp_CreateIcon and Wimp_LoadTemplate. This can be found in the RiscOS PRM
  15. (Programmer's Reference Manual), and on-line in Guttorm Vik's !StrongHlp
  16. application.
  17.  
  18. TemplEd is FreeWare. For conditions of use, read the copyright notice at the
  19. end of this manual.
  20.  
  21.  
  22. 2. About this manual
  23. ____________________
  24.  
  25. If you are an experienced user, the !Help file will probably contain enough
  26. information for you to get started. You may want to skip the boring
  27. discussion of TemplEd's operation that follows. However, there are some
  28. technical details that may be of interest. These have been marked with <TD>.
  29. There is also a list of operation shortcuts and "hidden" features at the end
  30. of this manual.
  31.  
  32.  
  33. 3. Starting the program and loading files
  34. _________________________________________
  35.  
  36. After you have double-clicked on the application, the program installs
  37. itself on the icon bar. A double-click on a Template file also starts
  38. TemplEd, after which TemplEd loads the file.
  39.  
  40. You can load a template file by:
  41.  
  42. * Double-clicking on a Template file. If TemplEd is running and has not
  43. loaded any templates, it loads the file. Otherwise, a new copy of TemplEd is
  44. started.
  45.  
  46. * Dropping the file on the TemplEd icon on the icon bar. TemplEd deletes the
  47. currently loaded templates, and loads the new file. If the current templates
  48. have been modified, TemplEd first asks you to confirm before deleting them.
  49.  
  50. * Dropping the file in the Templates window. TemplEd adds the templates in
  51. the file to the currently loaded ones.
  52.  
  53. If the file is called "Templates", then TemplEd will look for a sprite file
  54. called "Sprites" in the same directory. If there is such a file, TemplEd will
  55. assume that it contains the sprites to be used with the templates, and will
  56. automatically load the sprite file as well.
  57.  
  58. Other sprite files with sprites used in the templates, can be loaded by
  59. dropping them on the icon bar icon.
  60.  
  61. When you drop an application on the icon bar icon, TemplEd will load the file
  62. "Templates" in the application directory (if present). If there is a sprite
  63. file called "Sprites" in that directory, TemplEd will also load it.
  64.  
  65.  
  66. 4. Opening and closing a template window
  67. ________________________________________
  68.  
  69. A click with Select on the TemplEd icon on the icon bar opens the Templates
  70. window. This displays the currently loaded templates. A small window icon
  71. before the name indicates what type of window it is (scrollbars, title). A
  72. yellow background of this icon means that it is currently open.
  73.  
  74. You can open a template by double-clicking on its name. If the template was
  75. already open, it is closed. The "Open" and "Close" entries in the menu serve
  76. the same purpose.
  77.  
  78.  
  79. 5. Selecting icons
  80. __________________
  81.  
  82. Many operation on icons can be done on a single icon but also on a selection
  83. of icons. There are several ways to select (and deselect) icons:
  84.  
  85. * Click with Select to select a single icon while deselecting the others. A
  86. click on the background of the window clears the current selection.
  87.  
  88. * Click with Adjust to select an icon, without changing the rest of the
  89. selection. If the icon was already selected, it is deselected.
  90.  
  91. * A drag with the mouse creates a drag-box in the window area. When you
  92. release the mouse button, all icons within the box are selected.
  93.  
  94. * There are "Select all" and "Clear selection" items in the menu.
  95.  
  96. <TD> Like most other template editors, TemplEd creates a window for each
  97. template, and creates icons exactly as they have been defined. This means
  98. that the Wimp reacts to the mouse just as it would when a program was using
  99. the template. That's why a menu icon is hard to select: you can click on
  100. it, but if you move the pointer away from the icon, the icon is deselected
  101. again. The Wimp also interferes if you want to select several radio buttons
  102. from the same ESG. Even if you click with Adjust, the Wimp deselects the
  103. other buttons (unless their 'Allow adjust' bit is set). You can select these
  104. "difficult" icons with a drag-select.
  105.  
  106. <TD> If you want to check the behaviour of icons to mouse clicks, without
  107. TemplEd reacting to the clicks, press a combination of keys (e.g. Shift +
  108. Alt) while clicking. That way you can check if the ESGs of radio buttons
  109. are set right, if option buttons are switched on and off, etc.
  110.  
  111.  
  112. 6. Moving and resizing icons
  113. ____________________________
  114.  
  115. To move an icon or a selection, click inside the window with Select while
  116. holding down the Shift key. An outline appears around the icon(s) that moves
  117. with the pointer until you release the mouse button. During the operation,
  118. the pointer shape is changed to a hand.
  119.  
  120. To resize an icon or a selection, click on it with Shift+Adjust. A "rubber
  121. box" drag is started, allowing you to move one side. The side that is moved
  122. is the one that was nearest to the pointer when you clicked. It is also
  123. indicated by the pointer shape. Though a resize operation will usually be
  124. done on a single icon, it is possible to resize more than one icon at a
  125. time; the icons are scaled according to the size of the drag-box.
  126.  
  127. An alternative way to move or resize icons is by clicking on them without
  128. using the Shift key, and keeping the mouse button pressed for about half a
  129. second.
  130.  
  131. During the drag, you can move the pointer with the cursor keys. The left,
  132. right, up and down keys move the pointer 1 pixel (in the expected direction).
  133. If you press a cursor key in combination with the Shift key, the movement is
  134. 4 times as fast.
  135.  
  136.  
  137. 7. The "Icon Edit" dialogue window
  138. __________________________________
  139.  
  140. Except for size, position and number, all properties of an icon can be set
  141. from the "Icon Edit" dialogue window. To open this window, click with
  142. Shift+Menu, or choose the "Icon ⇨ Edit..." entry in the menu.
  143.  
  144. Icon flags can be set by clicking on the buttons, text and sprite names can
  145. be entered in the appropriate fields. Use the up and down arrow keys to move
  146. the cursor around. Some fields (e.g. button type, colours, font name) can
  147. contain a limited number of values. These can be selected either by clicking
  148. on the arrow icons to the left and right, or by clicking a mouse button while
  149. the pointer is over the field. This pops up a menu from which you can select
  150. a value.
  151.  
  152. <TD> The "1:1" button for the font is the only button not connected to an
  153. icon flag. When on, it keeps X and Y size of the font equal, so you don't
  154. have to set them both.
  155.  
  156. The changes to the icon only take effect if you press the "Update" icon.
  157. "Exit" closes the window, leaving the icon as it was since the last update,
  158. and "Update & Exit" combines the two.
  159.  
  160. <TD> If the indirected text that you entered is longer than the "Max
  161. size" field allows, TemplEd automatically increases the maximum. It also
  162. sets the "Indirected" flag if the text or sprite name uses more than 12
  163. characters.
  164.  
  165. When you edit a selection of icons, not all fields can be modified (to be
  166. exact: only the icon flags). The unchangeable fields are shaded.
  167.  
  168.  
  169. 8. Moving and resizing windows
  170. ______________________________
  171.  
  172. Usually, you can move a window by dragging the title bar, and you resize it
  173. by dragging its resize icon. But some windows don't have a resize icon, and
  174. some don't even have a title bar. You could of course edit the windows, give
  175. them a title bar or resize icon, and remove these when you are done. But in
  176. TemplEd, it is also possible (and much faster) to move and resize windows
  177. directly. Use Ctrl+Select to move a window, and Ctrl+Adjust to resize it.
  178.  
  179. Just as with moving and resizing icons, the cursor keys can be used during
  180. the drag to position the mouse pointer.
  181.  
  182.  
  183. 9. The "Window Edit" dialogue window
  184. ____________________________________
  185.  
  186. Editing the data of a window is split in two parts. Flags, colours and
  187. button type are edited in the "Window Edit" dialogue window. This window
  188. is opened when you click Ctrl+Menu over the window, The contents of the
  189. title bar are edited separately, using the "Icon Edit" window. It is
  190. accessible with a Shift+Menu click while the pointer is over the title bar.
  191. Both dialogue windows can also be opened from the menu.
  192.  
  193. <TD> The "transparent" colour number 255, that has a special meaning as the
  194. title foreground colour or as the work background colour, is only selectable
  195. from the colour menu, not by clicking on the arrow icons.
  196.  
  197.  
  198. 10. TemplEd's menus
  199. ___________________
  200.  
  201. Most entries in the menus ought to speak for themselves. Some others may
  202. take a small explanation:
  203.  
  204. 10.1 The "Window" menu
  205.  
  206.   Create ⇨
  207.  
  208.   Leads to a submenu with a number of standard icons. Selecting one of these
  209.   creates such an icon, at the position that the pointer was on when the
  210.   menu was popped up. Selecting the "Create" entry itself is equal to
  211.   selecting the first standard icon from the menu.
  212.  
  213.   You can change the set of standard icons, see the section "Customizing" at
  214.   the end of this manual.
  215.  
  216.   <TD> The new icon will be positioned so that its bottom-left corner is at
  217.   the position where the pointer was when you popped up the menu.
  218.  
  219.   Icon/Selection ⇨ Renumber ⇨
  220.  
  221.   You can renumber single icons or selections. When a selection is
  222.   renumbered, the icons are numbered from top to bottom and from left to
  223.   right.
  224.  
  225.   <TD> It is not possible to give an icon a number that is equal to or
  226.   higher than the number of icons in the template. If, for instance, if there
  227.   are 10 icons, they are always numbered from 0 to 9. You may enter a higher
  228.   number but TemplEd will decrease it to 9. (In fact, what TemplEd does when
  229.   renumbering is swap the definitions of two icons: the one that you want to
  230.   renumber, and the one carrying the new number.)
  231.  
  232.   <TD> After renumbering an icon, TemplEd increases the new number by one
  233.   and stores it. You can see this the next time you open the menu. This
  234.   feature comes in handy when you renumber using Alt+Select (see
  235.   "Shortcuts")
  236.  
  237.   Icon/Selection ⇨ Align ⇨
  238.  
  239.   Changes the selected icons so that they are lined up. There is a choice
  240.   of aligning the left-hand sides, right-hand sides, top, bottom, and the
  241.   centres (in either the horizontal or vertical direction).
  242.  
  243.   The icons can be either moved or resized. When resized, the coordinates
  244.   of the icons stay the same except for the side that must be aligned.
  245.  
  246.   <TD> As an anchor for aligning, the outer icon is chosen. For horizontal
  247.   aligning this is the leftmost icon, for top aligning the topmost, etc.
  248.   This ensures that if the icons were inside the visible area before the
  249.   aligning, they will remain fully visible afterwards (except for some cases
  250.   when you align the centres).
  251.  
  252.   Icon/Selection ⇨ Space out ⇨
  253.  
  254.   Moves the selected icons so that there is a constant space between the
  255.   icons. You can choose between horizontal and vertical distribution, and
  256.   between setting a fixed space and using the available space between the
  257.   outer icons. For example:
  258.  
  259.   Suppose you have four icons, positioned
  260.  
  261.      ’’’’’               ’’’’’’’  ’’’        ’’’
  262.     ‹  A  ‹             ‹   B   ‹‹ C ‹      ‹ D ‹
  263.      ’’’’’               ’’’’’’’  ’’’        ’’’
  264.   
  265.   Using a fixed space gives you something like
  266.   
  267.      ’’’’’    ’’’’’’’    ’’’    ’’’ 
  268.     ‹  A  ‹  ‹   B   ‹  ‹ C ‹  ‹ D ‹
  269.      ’’’’’    ’’’’’’’    ’’’    ’’’ 
  270.   
  271.   and choosing "Use available" results in
  272.   
  273.      ’’’’’        ’’’’’’’        ’’’         ’’’ 
  274.     ‹  A  ‹      ‹   B   ‹      ‹ C ‹       ‹ D ‹
  275.      ’’’’’        ’’’’’’’        ’’’         ’’’ 
  276.  
  277.   <TD> Before doing a Space out operation, TemplEd sorts the icons on their
  278.   minimum coordinate. This means that the leftmost (or bottommost) icon
  279.   always remains in place. It also means that if some icons have equal
  280.   minimum X (or Y) coordinates, they may end up in any order.
  281.  
  282.   <TD> Both the "Align" and the "Space out" operations change the position
  283.   of icons in only one direction. So if you do a horizontal Space out, the Y
  284.   coordinates of the icons remain the same.
  285.  
  286.   Icon/Selection ⇨ Min. size
  287.  
  288.   Minimizes the size of icons, keeping their bottomleft corner at the same
  289.   position.
  290.  
  291.   <TD> It is very complicated to calculate the minimum size correctly,
  292.   especially for icons with outline fonts, 3D borders or multi-line text.
  293.   The procedure used may not always give the best results.
  294.  
  295.   Icon/Selection ⇨ Center
  296.  
  297.   Centers the icon (or icon selection) in the window, relative to the
  298.   area that is currently visible.
  299.  
  300.   Icon/Selection ⇨ Same size
  301.  
  302.   Sets the size of the selected icons to be equal to the topleft one. The
  303.   bottomleft corner is kept at the same position.
  304.  
  305.   Work area ⇨
  306.  
  307.   Leads to a window in which you can set the dimensions of the window work
  308.   area. The "Minimize" button limits the work area to the maximum
  309.   coordinates that are currently visible. The "Maximize" button sets the
  310.   minimum size equal to the current window size. The "Default" button resets
  311.   all values to those of a standard full-screen window.
  312.  
  313.   Misc ⇨ Sprite area
  314.  
  315.   Enables you to choose from which sprite area the sprites in the template
  316.   are read. This can be either the Wimp area or a private area that is
  317.   created when you drop a sprite file on the TemplEd icon.
  318.  
  319.   <TD> When saving templates, TemplEd always sets the sprite area to 1 (i.e.
  320.   the Wimp area). If your program is using a private sprite area, it will
  321.   have to re-direct the sprite area pointers after it has loaded the
  322.   template.
  323.  
  324.   Misc ⇨ Tidy icons
  325.  
  326.   Does two things: (1) check if all icons are within the work area, and
  327.   move them if needed; (2) remove deleted icons from the template
  328.   definition, so that there are no "gaps" in the icon numbering.
  329.  
  330.   <TD> Normally, when you delete an icon, it is only marked as deleted. The
  331.   numbering of the other icons stays the same. (If, later on, you create an
  332.   icon, it may get the number of a deleted icon.) Also, if you save the
  333.   templates, the deleted icons take up some space (32 bytes per icon), both
  334.   in the file and in the memory of the program that uses the templates. To
  335.   prevent this, you can either use "Tidy icons", or make sure that there are
  336.   no gaps in the numbering by renumbering the existing icons.
  337.  
  338. 10.2 The icon bar menu
  339.  
  340.   Options...
  341.  
  342.     Opens a window in which you can set a number of options:
  343.     * Double click starts edit
  344.         When on, TemplEd reacts to double-clicks on icons, window title bar
  345.         or background, by opening an Edit window.
  346.     * Support 'Interface' module
  347.         Provides support for the Interface module, by making the
  348.         appropriate calls for redrawing icons. (The Interface module
  349.         provides a number of enhancements, the most important being
  350.         icon borders with 3D look. Most of these are also present in
  351.         Risc OS 3.)
  352.         <TD> Support is limited to redrawing icons, including selecting and
  353.         deselecting them upon a click. Other features of Interface, such as
  354.         changing pointer shapes and strings for !Help, are not supported.
  355.     * Support 'AEH' module
  356.         Similarly, provides (limited) support for the AEH module.
  357.     * Allow duplicate template names
  358.         If this option is off and a template is added with a name that
  359.         already exists, the old template is deleted. Renaming a template to
  360.         an existing name will also be refused.
  361.     * Hatch user-redrawn templates
  362.         When on, the background of windows of which the "Auto-redraw"
  363.         flag is cleared, will be shown with a cross-hatch pattern.
  364.     * Show icon info
  365.         Enables or disables the Icon info window that shows information
  366.         on the icon that the pointer is currently over.
  367.     * Save icons as unselected
  368.         When on, TemplEd stores all icons as unselected when you save any
  369.         templates. Otherwise, the "selected" state of icons is saved with
  370.         the rest of the data to the file, and when your program uses the
  371.         templates, it will have to make sure that the correct icons are
  372.         selected.
  373.     * Delete icons moved outside
  374.         If you move icons, and drop them outside a template window, they
  375.         will be deleted if this option is on. When off, nothing happens to
  376.         the icons. This option allows for fast deletion of icons.
  377.     * Grid
  378.         Locks the position of icons that are created or modified to
  379.         a grid (as in !Draw). This makes it easier to get icons lined
  380.         up properly. The grid size can be set by clicking on the arrow
  381.         icons. There are two grids:
  382.           - Icon size grid
  383.             Locks all four corners of an icon, so that its size will be a
  384.             multiple of the grid size
  385.           - Icon position grid
  386.             Locks only the bottomleft corner of the icon; this can be handy
  387.             if you want to keep icons lined up, but want to keep their sizes
  388.             unchanged
  389.         Normally, the Icon position grid will be at least as large as the
  390.         Icon size grid.
  391.         <TD> If you are working in a high-resolution screen mode, it is
  392.         advisable to use at least an Icon size grid of 2x4, so that your
  393.         templates look the same in medium-resolution modes (like 12 and 15)
  394.         <TD> TemplEd automatically adjusts the grid size in case of a mode
  395.         change; the grid size must be at least equal to the number of OS
  396.         units per pixel.
  397.  
  398.     The "Save & Exit" button stores the current settings to a file in
  399.     the application directory, then closes the window. The "Exit" button
  400.     just closes the window.
  401.  
  402.   Statistics...
  403.  
  404.     Opens the statistics window, showing the amount of memory that the
  405.     templates will need if you use them in a program. The amounts can be
  406.     shown in decimal or hexadecimal numbers.
  407.  
  408.     <TD> Note that the statistics window does not change as you modify your
  409.     templates. The figures are re-calculated only when the window is opened
  410.     or when you click on the "Decimal" or "Hex" buttons.
  411.  
  412.  
  413. 11. Shortcuts
  414. _____________
  415.  
  416. * Opening the Icon Edit and Window Edit windows can be done from the menu,
  417. but a faster way is to click on them while pressing a key. Shift+Menu opens
  418. the Icon Edit window. Ctrl+Menu opens the Window Edit window. To edit the
  419. title bar icon, click Shift+Menu on the title bar.
  420.  
  421. * The Edit windows can also be opened with a double-click with the Select
  422. button. Double-clicks on an icon, on the background of a window, or on the
  423. title bar open the appropriate Edit window. This only works if the
  424. corresponding option is on.
  425.  
  426. * Inside the Icon Edit and Window Edit windows, pressing the F2, F3 and F4
  427. keys has the same effect as clicking on the Update, Update&Exit and Exit
  428. icons, respectively. The Escape key has the usual function which is exiting
  429. without doing anything. Escape works not only in these two cases, but in all
  430. windows with writable icons, such as the Save, Space Out and Options
  431. windows.
  432.  
  433. * Many operations on icons can also be done with a control-key:
  434.  
  435.       Ctrl-A    Select all
  436.       Ctrl-C    Copy selection
  437.       Ctrl-D    Copy icons downward
  438.       Ctrl-E    Edit selection
  439.       Ctrl-J    Open "Align" box
  440.       Ctrl-K    Open "SpaceOut" box
  441.       Ctrl-L    Copy icons to left
  442.       Ctrl-Q    Close window (Ctrl-F2 works, too)
  443.       Ctrl-R    Copy icons to right
  444.       Ctrl-T    Edit title bar
  445.       Ctrl-U    Copy icons upward
  446.       Ctrl-W    Edit window
  447.       Ctrl-X    Delete selection
  448.       Ctrl-Z    Clear selection
  449.  
  450. (This only works if the window has the input focus, of course)
  451.  
  452. * Renumbering icons can also be done faster. Click Alt+Select on an icon, and
  453. the icon gets the number that is visible when you open the "Icon ⇨ Renumber"
  454. menu. After the renumbering, this number is increased by one, so you can
  455. number the icons sequentially by clicking on them one by one. A click with
  456. Alt+Adjust does the same, except that the number is decreased after the
  457. renumbering.
  458.  
  459. * A fast way to delete icons is by moving them outside the template. (This
  460. only works if you have set the "Delete icons moved outside" option on.)
  461.  
  462.  
  463. 12. "Hidden" features
  464. _____________________
  465.  
  466. TemplEd has a number of features that may not be immediately visible, but
  467. can come in handy. (That's not counting the bugs ;-)
  468.  
  469. * It is possible to copy icons to other templates; just move the icons and
  470. drop them into the other template. This makes it easy to use icons from
  471. other templates. 
  472.  
  473. * Extended icon info. When TemplEd starts, the Icon info window is small,
  474. showing only the name of the template and number of the icon that the mouse
  475. is over. If you click on the "toggle size" icon, it becomes full size and
  476. also shows the dimensions of the icon plus the mouse position in window
  477. coordinates. Still more icon info can be gotten from !Help, Acorn's
  478. interactive help application. Open the help window, and move the pointer
  479. over an icon.
  480.  
  481. * Fine-tuning when moving and resizing icons and windows is possible with
  482. the cursor keys. The up, down, left and right keys move the pointer 1 pixel
  483. (or 4 pixels, if Shift is pressed).
  484.  
  485. * Pressing Esc during dragging (icon move, resize, etc.) aborts the
  486. operation.
  487.  
  488. * Closing the Templates window with the Adjust button opens a Filer window
  489. of the parent directory of the file you are editing. Shift+Adjust also opens
  490. the Filer window but does not close the Templates window.
  491.  
  492.  
  493. 13. Customizing
  494. _______________
  495.  
  496. Apart from setting the options, you can also customize TemplEd's menu of
  497. standard icons. Load the file "Templates" in the application directory into
  498. TemplEd. The template "StdIcons" contains the definitions of the standard
  499. icons. TemplEd loads them at program startup. You can change these
  500. definitions to your liking, but bear the following in mind:
  501.  
  502. * There are "name" icons that contain the text of the menu entries. They
  503. must be indirected-text icons, with their ESG set to 31.
  504.  
  505. * The other icons contain the definitions. These MUST have a different
  506. value for the ESG (i.e. 0-30). TemplEd links them to the "name" icon with
  507. the number preceding them. For instance, suppose icons 0 and 3 are "name"
  508. icons. This means that icon 1 and 2 are taken as a group belonging to
  509. icon 0. When you select the text in icon 0 from the "Create icon ⇨ " submenu,
  510. these two icons will be copied to your template window.
  511.  
  512. For those who like windows with 3D-look, there is an alternative set of
  513. templates and sprites. To make TemplEd use them, rename them to the default
  514. "Templates" and "Sprites", after you have given the standard "2D" files a
  515. different name. (Note: you need Risc OS version 3.10 or later to get the
  516. 3D effect.)
  517.  
  518.  
  519. 14. Credits
  520. ___________
  521.  
  522. Although the edit-dialogue windows are my own idea, not all features
  523. implemented in TemplEd are. Some have been borrowed from RiscForm (the
  524. version of !FormEd by The Risc Squad), some from Jonathan Marten's excellent
  525. !DrawPlus (notably the Align and Space Out windows).
  526.  
  527. Martin Ebourne made the hires sprites file (!Sprites22). The MenuUtils
  528. module which TemplEd uses was written by Alex Petrov.
  529.  
  530. TemplEd has also been much improved by the testing, comments and suggestions
  531. of Stephen Burke, Martin Ebourne, Michael Ellis, Edwin Hautus, Paul Hobbs,
  532. Rupert Johnson, Merlin Hughes, Olaf Krumnow, Paul Lebeau, Ian Palmer, John
  533. Pullan, Niklas RÖjemo, John Tytgat, Julian Wright, and I'm sure I forgot
  534. some others.
  535.  
  536.  
  537. 15. Copyright notice
  538. ____________________
  539.  
  540. This program is FreeWare. This means that I retain the copyright. You may
  541. freely copy and distribute it, provided that it is complete with all
  542. original files, and that you do not sell it. PD libraries may charge a
  543. nominal fee for the cost of duplication, postage etc. When you use the
  544. program, you do so entirely at your own risk. You may change the program to
  545. suit your own needs. If it's a bug fix, or if you think it's an improvement,
  546. then please send the changes to me at the address below.
  547.  
  548. The MenuUtils module is © Alex Petrov (address: Bld. 1, Flat 107 ; Kavkazsky
  549. boulevard, 29 ; Moscow 115541 ; RUSSIA. e-mail: APetrov@misis.msk.su)
  550.  
  551.  
  552. 16. Finally
  553. ___________
  554.  
  555. If you have any questions, bug reports or suggestions for improvements,
  556. you can contact me at the following address:
  557.  
  558. Lijnslagerstraat 204
  559. NL-5625BP  Eindhoven
  560. The Netherlands
  561.  
  562. or by e-mail: wsinda@info.win.tue.nl
  563.  
  564. Dick Alstein
  565.