home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / fish / graphics / utilities / gadgeted / gadgeted.doc < prev    next >
Text File  |  1991-01-17  |  31KB  |  653 lines

  1.  
  2.                          - GadgetED version 2.0 -
  3.  
  4.                      © Copyright 1990 Jaba Development
  5.                     written in Aztec C version 5.0a  by
  6.                             Jan van den Baard
  7.  
  8.  DISCLAIMER
  9.  ----------------------------------------------------------------------------
  10.  The  author is  NOT  responsible  for the  suitability  or accuracy  of this
  11.  documentation and/or  the program(s) it describes.  Any damage sustained  by
  12.  the use or misuse of  this documentation  and/or the program(s) it describes
  13.  is the responsibilty of the user her/him self.
  14.  ----------------------------------------------------------------------------
  15.  
  16.  COPYRIGHT
  17.  ----------------------------------------------------------------------------
  18.  GadgetED,  © Copyright 1990-91  by  Jaba Development.  All rights reserved.
  19.  This program may be  distributed  non-commercially only  providing that the
  20.  source code, documentation and copyright notice remains intact. This program
  21.  is FREEWARE so no financial donation is neacecary (but welcome).
  22.  ----------------------------------------------------------------------------
  23.  
  24.  TABLE OF CONTENTS:
  25.  
  26.  OVERVIEW                           I
  27.  REQUIREMENTS                       II
  28.  STARTING GADGETED                  III
  29.  THE PROJECT MENU                   IV
  30.  THE GADGETS MENU                   V
  31.  THE FPEN & BPEN MENUS              VI
  32.  THE GENEATED SOURCE                VII
  33.  COMPILING                          VIII
  34.  HISTORY                            IX
  35.  NOTES                              X
  36.  
  37.  ----------------------------------------------------------------------------
  38.                                 I. OVERVIEW
  39.  ----------------------------------------------------------------------------
  40.  GadgetED is designed to save the Amiga programmer a  lot of time in creating
  41.  intuition gadgets. This version of GadgetED has the following features:
  42.  
  43.     o - editing gadgets for a workbench or a custom screen.
  44.     o - editing gadgets for a window or a requester.
  45.     o - full control over the window flags.
  46.     o - adding, modifying, moving and deleting texts for gadgets and window.
  47.     o - adding, editing, moving, re-sizing, deleting and copying of gadgets.
  48.     o - loading IFF-ILBM brushes as gadget rendering.
  49.     o - loading IFF-ILBM colormaps for custom screens.
  50.     o - a palette editor to create your own custom colors.
  51.     o - title line gadget information.
  52.     o - fully mouse and keyboard controlled.
  53.     o - generation of source code in C or Assembler.
  54.     o - binary saving for later loading and editing.
  55.  
  56.  ----------------------------------------------------------------------------
  57.                            II. REQUIREMENTS
  58.  ----------------------------------------------------------------------------
  59.  GadgetED was  programmed in  Aztec C V5.0a  on an  Amiga 500  Kick 1.3  with
  60.  2 Meg memory  and a  20Meg HardDisk but it  should run  on a  standard 512 K
  61.  machine. What you do need to work with  GadgetED is a C  Compiler  and/or an
  62.  Assembler with all the standard include files. GadgetED also requires a copy
  63.  of  the "tool.library",  which is also on this disk,  to be  copied into the
  64.  LIBS: directory of the GadgetED boot disk.
  65.  
  66.  ----------------------------------------------------------------------------
  67.                          III. STARTING GADGETED
  68.  ----------------------------------------------------------------------------
  69.  GadgetED can be run from the CLI or the workbench.  If you run GadgetED from
  70.  the workbench all you have to do is double-click the "GadgetED"  icon or one
  71.  of  the "GE" icons.   If you want  to run  GadgetED from  the CLI  just type
  72.  "GadgetED [filename]" where "filename" is an  optional name of the "GE" file
  73.  you want to edit. When you have started GadgetED without a filename a little
  74.  window opens in the middle of the screen with the following gadgets:
  75.  
  76.     WINDOW      - selecting this gadget tell's GadgetED that you want to
  77.                   edit gadgets for a window.
  78.     REQUESTER   - selecting this gadget tell's GadgetED that you want to
  79.                   edit gadgets for a requester.
  80.     1           - custom screen, depth = 1, 2  colors.
  81.     2           - custom screen, depth = 2, 4  colors.
  82.     3           - custom screen, depth = 3, 8  colors.
  83.     4           - custom screen, depth = 4, 16 colors. (SLOWS UP THE 68000)
  84.     5           - custom screen, depth = 5, 32 colors.
  85.     WORKBENCH   - if you select this gadget GadgetED still opens it's own
  86.                   screen but the colors are the same as your workbench and
  87.                   the generated structures will be for the workbench screen.
  88.  
  89.  When you are done click "OK"  and a screen opens with a little window on it.
  90.  If you click on "CANCEL" you leave the program again.
  91.  
  92.  NOTE:  If you have  selected to edit gadgets for a  requester you will see a
  93.         window with a colored rectangle in it.  This rectangle represents the
  94.         requester you are working on.  You can size and  position the  window
  95.         in order to get the requester how and where you want it.
  96.  
  97.  Now let's create our first gadget.  Move the mouse pointer to where you want
  98.  the top-left corner of  the gadget  to be and  click the left  mouse button.
  99.  If you look at the screen title now you will see some information displayed.
  100.  This information means, from left to right:
  101.  
  102.     o - the mouse pointer X coordinate.
  103.     o - the mouse pointer Y coordinate.
  104.     o - the gadget left edge.
  105.     o - the gadget top edge.
  106.     o - the gadget width.
  107.     o - the gadget height.
  108.  
  109.  NOTE: The values are relative to the top-left corner of the window/requester
  110.        This  information  is important to place  and size your gadget exactly
  111.        the way it should be.
  112.  
  113.  If you move the mouse pointer the values in  the info-line will change and a
  114.  box will follow the mouse pointer  relative to the top-left corner. This box
  115.  represents the gadget. When the box is the way you want the gadget to be you
  116.  must click the left mouse button  again and the  gadget will be added to the
  117.  window or requester. Now you have created your first gadget with GadgetED so
  118.  let's take a look at the menus to see what else you can do.
  119.  
  120.  ----------------------------------------------------------------------------
  121.                          IV. THE PROJECT MENU
  122.  ----------------------------------------------------------------------------
  123.  
  124.  This menu consists of the following items:
  125.  
  126.  About:    <right Amiga ?>
  127.  
  128.  Function: display information about the copyright, the author and the
  129.            language GadgetED was programmed in. Just click on the
  130.            CONTINUE gadget to get rid of it.
  131.  
  132.  New:      <right Amiga N>
  133.  
  134.  Function: erases all gadgets and changes made sofar and resets the display
  135.            to the default. If the changes made where not saved a requester
  136.            opens telling you this and asking you if you really want to do
  137.            this. Click on the NO gadget if you made a mistake by calling this
  138.            function otherwise click on the YES gadget.
  139.            NOTE: If you proceed with this function and the changes where not
  140.                  saved there is no way to get back the information.
  141.  
  142.  Load:     <right Amiga L>
  143.  
  144.  Function: This opens the file requester. In this file requester you can type
  145.            or select the name of the 'GE' file you want to load.
  146.            NOTE: The program only loads 'GE' files. If you try to load a file
  147.                  that is not a 'GE' file a requester appears telling you that
  148.                  the file you have selected was of an Unknown type.
  149.            When the file you have selected is successfully loaded. The screen
  150.            displays now displays the gadgets e.c.t. found in the file.
  151.  
  152.  Save:     <right Amiga S>
  153.  
  154.  Function: This opens the file requester in which you can type or select a
  155.            name under which the current display is saved. You should always
  156.            save the display before you exit the program. This ensures the
  157.            file is always up to date. If you do not save the display before
  158.            quiting the program any changes made since the last time you saved
  159.            will be lost.
  160.  
  161.  Generate Source:
  162.  C:        <right Amiga C>
  163.  
  164.  Function: This generates the source code in C of the display edited
  165.            sofar. In the file requester you can type or select the name
  166.            under which the generated source code is saved.
  167.  
  168.  Assembler:  <right Amiga A>
  169.  
  170.  Function: As with C only the generated source code is in MC68000 Assembler.
  171.  
  172.  
  173.  Preferences: <right Amiga P>
  174.  
  175.  Function: This is used to (un)set certan preferred program flags. It opens
  176.            a window with the following gadgets:
  177.  
  178.   Skip zero bit-planes     : This tell's GadgetED to skip any image bit-
  179.                              planes that only contains zero's. This will
  180.                              reduce the size of the image data source
  181.                              GadgetED generates.
  182.   Auto Gadget -> Image size: This tell's GadgetED to automaticly adjust
  183.                              the dimensions of the gadget to the dimensions
  184.                              of the loaded image.
  185.   Image Copy               : This tell's GadgetED to also copy any images
  186.                              that might be attached to a gadget.
  187.   WINDOW or REQUESTER      : Switch from editing gadgets for a window to
  188.                              editing gadgets for a requester or viceversa.
  189.   Save                     : Save the preferences to a file called
  190.                              'DEVS:GadgetED.PREFS'.
  191.   Use                      : Set the preferences in the program.
  192.   Save & Use               : Both save and set these preferences.
  193.  
  194.  
  195.  Close WorkBench or
  196.  Open  WorkBench:
  197.  
  198.  Function: This enables you to close/open the workbench screen. You can close
  199.            the workbench screen if your (!!computer!!) memory is running a
  200.            little low.
  201.            NOTE: It's only possible to close the workbench screen if there
  202.                  are no programs running that use the workbench screen.
  203.                  This means that if you started GadgetED from the CLI it
  204.                  isn't possible to close the workbench screen because the
  205.                  CLI is a program that makes use of the workbench screen.
  206.  
  207.  Quit:     <right Amiga Q>
  208.  
  209.  Function: Quits GadgetED if you select YES in the requester that opened
  210.            to ask you to if you really want to do this.
  211.  
  212.  
  213.  ----------------------------------------------------------------------------
  214.                          V. THE GADGETS MENU
  215.  ----------------------------------------------------------------------------
  216.  In this menu a lot of functions are defined which asks you to pick a gadget
  217.  to perform a certain action. If you accidently activated one of these
  218.  functions you can press the 'ESC' key instead of selecting a gadget to exit
  219.  this function.
  220.  
  221.  The following items are defined in this menu:
  222.  
  223.  Move a gadget:   <F1>
  224.  
  225.  Function: When 'Move a gadget' is selected the message 'PICK GADGET TO MOVE'
  226.            is displayed in the screen title bar. Now click on the gadget you
  227.            want to move and the title will display the information of the
  228.            selected gadget. Now move the box which represents the gadget
  229.            with the mouse to it's new location and click on the left mouse
  230.            button and the gadget is moved to the new location.
  231.  
  232.  Size a gadget:   <F2>
  233.  
  234.  Function: When the message 'PICK GADGET TO RE-SIZE' is displayed you can
  235.            click on the gadget you want to re-size. Again the gadget infor-
  236.            mation is displayed in the screen title. Now move the mouse
  237.            pointer to size the box until it has the size you want the gadget
  238.            to be. Just click the left mouse button and the gadget is re-
  239.            sized.
  240.  
  241.  Copy a gadget:   <F3>
  242.  
  243.  Function: This function enables you to make a copy of a gadget. Once the
  244.            message 'PICK GADGET TO COPY' is displayed you can click on the
  245.            gadget you want to copy. If the gadget has Images attached to it
  246.            and 'Image Copy' was switched on in the preferences window these
  247.            images will also be copied. Otherwise the copied gadget will have
  248.            a border as gadget render. Move the box representing the copy to
  249.            the location you want it and click the left mouse button.
  250.  
  251.  Delete a gadget: <F4>
  252.  
  253.  Function: When the message 'PICK GADGET TO DELETE' is displayed you can
  254.            click on the gadget you want to delete and it's gone.
  255.            NOTE: Once the gadget is deleted there is no turning back.
  256.  
  257.  Edit a gadget:   <F5>
  258.  
  259.  Function: This function enables you to edit the complete set of gadget
  260.            flags intuition has to offer and some other special things.
  261.            When the message 'PICK GADGET TO EDIT' is displayed in the
  262.            screen title you can click on the gadget to edit. Now a window
  263.            is opened with the following gadgets in it:
  264.  
  265.    Under FLAGS:
  266.  
  267.     GADGHNONE    - nothing happens to the gadget when it is selected.
  268.     GADGHCOMP    - the gadget hitbox is displayed complemented when the
  269.                    gadget is selected.
  270.     GADGHBOX     - a box is drawed around the gadget when it is selected.
  271.     GRELBOTTOM   - the gadget top edge is relative to the bottom of the
  272.                    window.
  273.     GRELRIGHT    - the gadget left edge is relative to the right of the
  274.                    window.
  275.     GRELWIDTH    - the gadget width is relative to the window width.
  276.     GRELHEIGHT   - the gadget height is relative to the window height.
  277.     SELECTED     - the gadget is displayed in selected mode.
  278.     GADGDISABLED - the gadget cannot be selected. This flag will only be
  279.                    set in the source code.
  280.  
  281.    Under ACTIVATION:
  282.  
  283.     TOGGLESELECT  - the gadget can switched to selected mode by clicking on
  284.                     it and to unselected mode by clicking on it again.
  285.     RELVERIFY     - intuition waits to send a message until the left mouse
  286.                     button is released with the pointer still above the
  287.                     gadget.
  288.     GADGIMMEDIATE - intuition sends a message as soon as this gadget is
  289.                     selected.
  290.     RIGHTBORDER   - the gadget is placed in the right window border.
  291.     LEFTBORDER    - the gadget is placed in the left window border.
  292.     TOPBORDER     - the gadget is placed in to top window border.
  293.     BOTTOMBORDER  - the gadget is place in the bottom window border.
  294.     ENDGADGET     - this gadget closes a requester
  295.     FOLLOWMOUSE   - this gadget signals the window when the mouse moves.
  296.  
  297.   Under PROP SPECIAL:
  298.  
  299.     AUTOKNOB       - intuition provides the gadget with it's own knob
  300.     FREEHORIZ      - the knob may be moved horizontally.
  301.     FREEVERT       - the knob may be moved vertically.
  302.     PROPBORDERLESS - intuition does not draw a border around the gadget.
  303.  
  304.     HBODY          - enter the steps the prop gadget can take horizontal
  305.                      here.
  306.     VBODY          - enter the steps the prop gadget can take vertical
  307.                      here.
  308.  
  309.   Under STRING SPECIAL:
  310.  
  311.     UNDOBUFFER     - create an undo buffer for this gadget.
  312.     STRINGCENTER   - the string is centered in the gadget.
  313.     STRINGRIGHT    - the string starts at the right of the gadget.
  314.     LONGINT        - allow numbers to be entered.
  315.     ALTKEYMAP      - this gadget has it's own keymap.
  316.  
  317.     SIZE           - enter the maximum amount of characters that can be
  318.                      typed in this gadget here.
  319.  
  320.  Under SOURCE LABEL NAME:
  321.  
  322.     In this string gadget you can type in the name of the gadget that it
  323.     will have in the generated source code.
  324.     NOTE: Any spaces found in this name will be replaced by a '_'. Avoid
  325.           using names that are the same as symbols and commands of the
  326.           target language.
  327.  
  328.  Under GADGET TYPE:
  329.  
  330.   BOOL         - make this gadget a boolean gadget.
  331.   PROPORTIONAL - make this gadget a prop gadget.
  332.   STRING       - make this gadget a string gadget.
  333.   BORDERONLY   - this is a special flag not defined by intuition but it is
  334.                  used to tell GadgetED only to generate the border structure
  335.                  of this gadget in the source code. This flag can only be set
  336.                  on a BOOL gadget that has no texts or images attached to it.
  337.   GZZGADGET    - this flag should be set with gadgets that are in the border
  338.                  of a GIMMEZEROZERO window.
  339.  
  340.  Selecting OK will set the flags edited to the gadget and selecting CANCEL
  341.  will resume to editing without setting the edited flags.
  342.  
  343.  Gadget text:
  344.  Add a text:     <F6>
  345.  
  346.  Function: This enables you to add texts to a gadget. When the message
  347.            'PICK GADGET TO ADD TEXT' is displayed in the screen title
  348.            you can click on the gadget to which a text should be added.
  349.            In the window that now opens the following gadgets are displayed:
  350.  
  351.   Under Enter or edit text :
  352.  
  353.    In this string gadget you must type the text you want to add to the
  354.    gadget.
  355.  
  356.   Under DrawModes:
  357.  
  358.    JAM1       - only the frontpen color is used.
  359.    JAM2       - both the front and back pens are used.
  360.    COMPLEMENT - complements the colors used.
  361.    INVERSVID  - swaps the front and back pen colors.
  362.  
  363.   Selecting CANCEL will resume to editing without adding the text to the
  364.   gadget. Selecting OK will close the text window and if you move the mouse
  365.   pointer in your edit window you will see the text next to the pointer.
  366.   Now move the text to where you want it to be and click the left mouse
  367.   button and the text is added to the gadget.
  368.   NOTE: If you didn't type a text in the string gadget the function is
  369.         canceled even if you have selected OK.
  370.  
  371.  
  372.  Modify a text:
  373.  
  374.  Function: When the message 'PICK GADGET TO MODIFY TEXT' is displayed you
  375.            can click on the gadget which has a text you want to modify. A
  376.            window in which all the texts added to the gadget are listed is
  377.            opened. If the text you want to modify is not displayed in the
  378.            list use the prop gadget to scroll the list until it is displayed.
  379.            Now click on OK and the same window as with 'Add a text' is opened
  380.            only the text and it's drawmodes are preset. Now modify what you
  381.            want and click on OK and the text is modified.
  382.  
  383.  Delete a text:
  384.  
  385.  Function: When the message 'PICK GADGET TO DELETE TEXT' is displayed in the
  386.            screen title click on the gadget witch has the text you want
  387.            to delete. Now the 'text selector' is opened in which you can
  388.            select the text you want to delete. Click on OK and the text is
  389.            gone.
  390.  
  391.  Move a text:
  392.  
  393.  Function: When the message 'PICK GADGET TO MOVE TEXT' is displayed you
  394.            can click on the gadget which has the text you want to move.
  395.            In the 'text selector' that opens you can select the text you
  396.            want to move. Now select OK and if you move the mouse pointer
  397.            inside the edit window and you will see the text next to the
  398.            pointer. Move the text to it's new location and click the left
  399.            mouse button and the text is moved.
  400.  
  401.  IFF Image Render:
  402.  Load Gadget Image:   <F7>
  403.  
  404.  Function: When the message 'PICK GADGET TO RENDER' is displayed click on
  405.            the gadget you want to attach an IFF Image to. In the file
  406.            requester you can type or select the name of the IFF ILBM file
  407.            you want to load. If the loading was successfull the gadget now
  408.            displays the image loaded.
  409.            NOTE: Only IFF ILBM files can be loaded as gadget rendering.
  410.  
  411.  Load Select Image:   <F8>
  412.  
  413.  Function: When the message 'PICK GADGET TO SELECT RENDER' is displayed click
  414.            on the gadget you want to attach an IFF Image to. In the file
  415.            requester you can type or select the name of the IFF ILBM file
  416.            you want to load. When the loading was successfull you can click
  417.            on the gadget and you will see the Image loaded.
  418.            NOTE: Only IFF ILBM files can be loaded as select rendering. You
  419.                  cannot load a select image to a gadget that has no gadget
  420.                  render image attached to it.
  421.  
  422.  Delete Images:
  423.  
  424.  Function: When the message 'PICK GADGET TO DELETE IMAGES' is displayed click
  425.            on the gadget which has the images you want deleted and they are
  426.            gone.
  427.            NOTE: Both the GadgetRender AND the SelectRender Images are
  428.                  deleted.
  429.  
  430.  Load (IFF) ColorMap:  <F9>
  431.  
  432.  Function: This function is only available when you are editing gadgets for
  433.            a custom screen. In the file requester you can type or select the
  434.            name of the IFF ILBM file which contains the colors you want set
  435.            in your edit screen. If the loading was successfull the colors in
  436.            the file are now set in the edit screen.
  437.  
  438.  Edit ColorMap:        <F10>
  439.  
  440.  Function: This function is only available when you are editing gadgets for
  441.            a custom screen. In the palette editor you can edit each color
  442.            of the edit screen. With the R, G and B prop gadgets you can set
  443.            the RED, GREEN and BLUE values of the selected color. With the
  444.            2,4,8,16 or 32 (depending on the screen depth) colored gadgets
  445.            below you can select the color to edit. Selecting OK will set the
  446.            edited colors in the edit screen and resume to editing. RESET will
  447.            reset the colors as they where before you have entered the palette
  448.            editor. CANCEL will resume to editing without setting the edited
  449.            colors.
  450.  
  451.  Refresh all gadgets:  <HELP>
  452.  
  453.  Function: If for some reason the display is distorted you can call this
  454.            function to redraw the entire display.
  455.  
  456.  Depending on wether you are editing gadgets for a window or a requester
  457.  the next item will read:
  458.  
  459.  Window or Requester:
  460.  
  461.  The items 'Add a text', 'Modify a text', 'Delete a text' and 'Move a text'
  462.  perform the same action as the function in 'Gadget text' with the exeption
  463.  that the texts are assigned to the window or requester rather that to a
  464.  gadget.
  465.  
  466.  When you are editing gadgets for a window two items are displayed:
  467.  
  468.  Edit Flags:     <right Amiga F>
  469.  
  470.  Function: This will bring up a window in which all the intuition window
  471.            Flags are displayed:
  472.  
  473.   WINDOWSIZING    - the window sizing gadget is included.
  474.   WINDOWDRAG      - the window can be draged aroung with the title bar.
  475.   WINDOWDEPTH     - the window can be put on top or below another window.
  476.   WINDOWCLOSE     - the close window gadget is included.
  477.   SIZEBRIGHT      - the sizing gadget is placed in the right window border.
  478.   SIZEBBOTTOM     - the sizing gadget is placed in the bottom window border.
  479.   NOCAREREFRESH   - intuition does not send a message to the window if a
  480.                     refresh is neacecary.
  481.   SIMPLE_REFRESH  - intuition does no refreshing at all. the program must
  482.                     refresh the window itself when neacecary.
  483.   SMART_REFRESH   - any overlapped part of the window will be bufferd and
  484.                     restored when possible.
  485.   SUPER_BITMAP    - the window can handle a graphics display that is larger
  486.                     than the window itself.
  487.   BACKDROP        - the window is always behind all other windows.
  488.   GIMMEZERZERO    - the window border is handled extra.
  489.   BORDERLESS      - the window border is not displayed.
  490.   ACTIVATE        - the window is activated as soon as it opens.
  491.   REPORTMOUSE     - the mouse pointer position is always reported.
  492.   RMBTRAP         - the possibility to get a message if the right mouse
  493.                     button is pressed. this can only be used if there are no
  494.                     menus attached to the window.
  495.  
  496.  NOTE: Only WINDOWSIZING, WINDOWDRAG, WINDOWDEPTH, WINDOWCLOSE, SIZEBRIGHT
  497.        and SIZEBBOTTOM are actualy set when GadgetEd is running. All the
  498.        other flags are only generated in the source code.
  499.  
  500.  
  501.  Edit IDCMP:       <right Amiga I>
  502.  
  503.  Function: This opens a window in which you can set the IDCMP flags of
  504.            the window. The following gadgets are displayed in the window:
  505.  
  506.   SIZEVERIFY       - signal if the user is trying to resize the window.
  507.   NEWSIZE          - signal if the user has resized the window.
  508.   REFRESHWINDOW    - signal if the window must be refreshed.
  509.   ACTIVEWINDOW     - signal if the window is activated.
  510.   INACTIVEWINDOW   - signal if the window is deactivated.
  511.   GADGETDOWN       - signal if a gadget is pressed.
  512.   GADGETUP         - signal is a gadget is released.
  513.   CLOSEWINDOW      - signal if the closewindow gadget is selected.
  514.   REQSET           - signal if a requester opened on the window.
  515.   REQCLEAR         - signal if the last requester is closed.
  516.   REQVERIFY        - signal if a requester try's to open in the window.
  517.   MENUPICK         - signal if a menu was picked.
  518.   MENUVERIFY       - signal if the user try's to pick a menu.
  519.   MOUSEBUTTONS     - signal if a mouse button is pressed or released.
  520.   MOUSEMOVE        - signal if the mouse was moved.
  521.                      NOTE: The REPORTMOUSE flag should be set in the window
  522.                            or the FOLLOWMOUSE in a gadget.
  523.   DELTAMOVE        - signal if the mouse had moved. the position is relative
  524.                      to the previous position.
  525.   INTUITICKS       - signal every 1/50 second. The message must be replyed
  526.                      before another INTUITICKS message is signaled.
  527.   NEWPREFS         - signal if the preferences were changed.
  528.   DISKINSERTED     - signal if a disk was inserted into one of the drives.
  529.   DISKREMOVED      - signal if a disk was removed from one of the drives.
  530.   RAWKEY           - signal if a key was pressed. the code is the 'RAW' key
  531.                      code.
  532.   VANILLAKEY       - signal if a key was pressed. the code is the 'treated'
  533.                      ASCII value of the key.
  534.   WBENCHMESSAGE    - signal a workbench message
  535.   LONELYMESSAGE    - signal a non IDCMP message
  536.  
  537.   NOTE: None of the above flags are actualy set in GadgetED but they are
  538.         generated in the source code.
  539.  
  540.   Title       - Type the Window Title in here.
  541.   Label       - Type the source label name in here.
  542.  
  543.   Detail      - The window DetailPen.
  544.   Block       - The window BlockPen
  545.  
  546.   MinX        - The minimum width of the window.
  547.   MinY        - The minimum height of the window.
  548.  
  549.   MaxX        - The maximum width of the window.
  550.   MaxY        - The maximum height of the window.
  551.  
  552.   Selecting CANCEL will prevent the changes to be set. OK sets the changes
  553.   in the flags e.c.t. and will resume editing.
  554.  
  555.  When you are editing gadgets for a requester:
  556.  
  557.  Set BackFill:     <right Amiga B>
  558.  
  559.  Function: This enables you to set the backfill color of the requester.
  560.            The color used is set by the BPen menu (see THE FPEN & BPEN MENUS)
  561.  
  562.  
  563.  ----------------------------------------------------------------------------
  564.                        VI. THE FPEN AND BPEN MENUS
  565.  ----------------------------------------------------------------------------
  566.  
  567.  When one of these two menus are selected you will see a row of 2,4,8,16 or
  568.  32 (depending on the screen depth) colored items. These items represent the
  569.  colors of the edit screen. With the items in the FPen menu you can set the
  570.  active FrontPen color. All gadgets added will have a border in this color
  571.  and all texts added will have this color as the FrontPen color. With the
  572.  items in the BPen menu you can set the active BackPen color. All texts
  573.  added will have this color as the BackPen color. The active BackPen color
  574.  is also used to set the BackFill color of the requester.
  575.  
  576.  
  577.  ----------------------------------------------------------------------------
  578.                      VII. THE GENERATED SOURCE CODE
  579.  ----------------------------------------------------------------------------
  580.  
  581.  The following defenitions are made at the end of the generated source:
  582.  
  583.  NEWWINDOW or REQUESTER - a pointer to the NewWindow or Requester structure.
  584.  FIRSTGADGET            - a pointer to the first gadget in the list.
  585.  
  586.  If there where texts added to the window or requester:
  587.  
  588.  FIRSTTEXT              - a pointer to the first text in the list.
  589.  
  590.  If there where 'BORDERONLY' gadgets defined:
  591.  
  592.  FIRSTBORDER            - a pointer to the first border in the list.
  593.  
  594.  If you have edited gadgets for on a custom screen:
  595.  
  596.  NEWSCREEN              - a pointer to the NewScreen structure.
  597.  COLORCOUNT             - the number of colors in the screen.
  598.  An array named 'Colors' of USHORT values containing the colors which where
  599.  on the edit screen. These colors can be set by a simple LoadRGB4() call.
  600.  
  601.  If you have edited gadgets for a window and you have attached texts and/or
  602.  'BORDERONLY' gadgets to the window a special gadget is placed at the end of
  603.  the gadgetlist. This gadget is only there to draw the borders and the texts
  604.  when the window is opened or when the gadgets are refreshed.
  605.  
  606.  The GadgetID's are defined as following: Label_ID
  607.  This means that if you, for example, added a gadget with the label "UP" than
  608.  "UP_ID" will represents this gadget it's ID.
  609.  
  610.  The best way to see what the source looks like is to create some gadgets and
  611.  let GadgetED generate the source and then look at it. Bassicly all you need
  612.  to remember are the labels you give your gadgets to be able to acces all of
  613.  the structures etc. that are linked to these gadgets. I don't really know if
  614.  the generated C source compiles under lattice , I don't have lattice, but it
  615.  should give no problems whatsoever.
  616.  
  617.  ----------------------------------------------------------------------------
  618.                             VIII. COMPILING
  619.  ----------------------------------------------------------------------------
  620.  
  621.  If you have the make utility type:
  622.  
  623.   make pre ged
  624.  
  625.  Otherwise copile the "defs.h" file with the "-ho defs.pre" option and all
  626.  other files with the "-so -hi defs.pre" options and then link them together.
  627.  
  628.  ----------------------------------------------------------------------------
  629.                                IX. HISTORY
  630.  ----------------------------------------------------------------------------
  631.  
  632.  VERSION    1.0     -> Let's not talk about this!
  633.  
  634.  VERSION    2.0     -> First release, let's see how it goes.
  635.  
  636.  ----------------------------------------------------------------------------
  637.                                  X. NOTES
  638.  ----------------------------------------------------------------------------
  639.  If you take a good look at the supplied source code I'm sure you are ready
  640.  to throw up but this is what source looks like after a mere 30.000.000.000
  641.  changes! My advice to you is too think real hard about what a program must
  642.  be able to do !!!!BEFORE!!!! you start to code it. Although this is version
  643.  2.0 af GadgetED it is the first release. I wish to add Modula and/or OBERON
  644.  support in the future if only I knew how to declare all of the stuctures
  645.  etc. in these languages. If you find bugs, I bet you will, or you have ideas
  646.  to make the program more user-friendly, please report to me at the following
  647.  adress:
  648.  
  649.                                             Jan van den Baard
  650.                                             Bakkerstraat 176
  651.                                             3082 HE, Rotterdam
  652.                                             Holland.
  653.