home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / LFC-SW2.LHA / StormWizard / Manuals / wizard_eng_auto.doc < prev   
Encoding:
Text File  |  1997-02-27  |  69.5 KB  |  2,046 lines

  1. TABLE OF CONTENTS
  2.  
  3. wizard.library/WZ_AllocWindowHandleA
  4. wizard.library/WZ_CloseSurface
  5. wizard.library/WZ_CloseWindow
  6. wizard.library/WZ_CreateImageBitMap
  7. wizard.library/WZ_CreateWindowObjA
  8. wizard.library/WZ_DeleteImageBitMap
  9. wizard.library/WZ_DrawVImageA
  10. wizard.library/WZ_EasyRequestArgs
  11. wizard.library/WZ_FreeWindowHandle
  12. wizard.library/WZ_GadgetConfig
  13. wizard.library/WZ_GadgetHelp
  14. wizard.library/WZ_GadgetHelpMsg
  15. wizard.library/WZ_GadgetKey
  16. wizard.library/WZ_GadgetObjectname
  17. wizard.library/WZ_GetDataAddress
  18. wizard.library/WZ_GetNode
  19. wizard.library/WZ_InitEasyStruct
  20. wizard.library/WZ_InitNodeA
  21. wizard.library/WZ_InitNodeEntryA
  22. wizard.library/WZ_ListCount
  23. wizard.library/WZ_LockWindow
  24. wizard.library/WZ_LockWindows
  25. wizard.library/WZ_MenuConfig
  26. wizard.library/WZ_MenuHelp
  27. wizard.library/WZ_MenuObjectname
  28. wizard.library/WZ_NewObjectA
  29. wizard.library/WZ_ObjectID
  30. wizard.library/WZ_OpenSurfaceA
  31. wizard.library/WZ_OpenWindowA
  32. wizard.library/WZ_SnapShotA
  33. wizard.library/WZ_UnlockWindow
  34. wizard.library/WZ_UnlockWindows
  35.  
  36. wizard.library/WZ_AllocWindowHandleA
  37.  
  38. NAME
  39.     WZ_AllocWindowHandleA -- Creates a new WizardWindowHandle
  40.     WZ_AllocWindowHandle  -- variable arguments version for higher programming languages
  41.  
  42. SYNOPSIS
  43.     winhandle = WZ_AllocWindowHandleA(
  44.             screen, user_sizeof, surface, tags )
  45.     D0        D0    D1        A0    A1
  46.     
  47.     struct WizardWindowHandle *WZ_AllocWindowHandleA(
  48.         struct Screen *, ULONG, APTR, struct TagItem *);
  49.     
  50.     winhandle = WZ_AllocWindowHandle(
  51.             screen, user_sizeof, surface, firstTag, ... )
  52.     
  53.     struct WizardWindowHandle *WZ_AllocWindowHandle(
  54.         struct Screen *, ULONG, APTR, Tag, ...);
  55.     
  56.  
  57. FUNCTION
  58.     Allocates the memory for a WizardWindowHandle which will then be
  59.     initialised.
  60.  
  61. WARNING
  62.     This structure contains private fields used by StormWizard's routines.
  63.     
  64. ARGUMENTS
  65.     screen        - a pointer to the Screen structure of the screen
  66.               the window should appear on
  67.     user_sizeof    - the size in bytes of a private structure used to
  68.               hold program-specific data belonging to the window
  69.               (see WZ_WindowUserStruct()).
  70.     surface        - the value returned by WZ_OpenSurface()
  71.     tags
  72.       WWH_StackSize, ULONG
  73.           Size of the stack used for the layout process (defaults to
  74.           8192).
  75. RESULTS
  76.     winhandle - a pointer to a WizardWindowHandle structure or NULL
  77.             if an error occurred.
  78.       Window - a pointer to an Intuition Window structure, if the window
  79.               is already open, otherwise NULL.
  80.       MenuStrip - a pointer to the window's MenuStrip or NULL if the
  81.                 window has no menus.
  82.       DrawInfo - will be initialised when the structure is created.
  83.       VisualInfo - will be initialised when the structure is created.
  84.       ScreenTitle - this field should contain the window's screen title
  85.               used when WZ_OpenWindowTags() is called to open the
  86.               window. When the structure this field will be filled
  87.               with "-1". A call to WZ_CreateWindowObj() will set
  88.               it to a useful value.
  89.       Objects - A MinList structure containing BOOPSI objects that are
  90.               to be removed when the WizardHandle is released using
  91.               intuition.library/DisposeObject(). It is possible to
  92.               insert own objects.
  93.       Rootgadget - a pointer to a Group gadget which places its members
  94.                  within the window and initialises them for the layout
  95.                  process.
  96.                  There is ALWAYS a root gadget when all objects
  97.                  belonging to a window were created. The gadget is at
  98.                  the same time the start of the gadget list!
  99.       RootTopGadget
  100.       RootLeftGadget
  101.       RootBottomGadget
  102.       RootRightGadget
  103.           These fields are currently unused and should be initialised
  104.           to Null.
  105.       UserStruct - a pointer to a private structure which has been
  106.                  initialised with zeros. If the function was called
  107.                  with a user_sizeof argument of zero, this pointer
  108.                  contains zero and must not be referred as such!
  109.                  However you can in this case use the field to keep
  110.                  custom values!
  111.     
  112. SEE ALSO
  113.     WZ_CreateWindowObjA(), WZ_OpenWindowA(), WZ_CloseWindow(),
  114.     WZ_FreeWindowHandle()
  115.  
  116. wizard.library/WZ_CloseSurface
  117.  
  118. NAME
  119.     WZ_CloseSurface -- Closes a surface description
  120.     
  121. SYNOPSIS
  122.     WZ_CloseSurface(surface)
  123.             A0
  124.     
  125.     VOID    WZ_CloseSurface(APTR);
  126.  
  127. FUNCTION
  128.     This function closes a surface description and releases the
  129.     memory used.
  130.     
  131. WARNING
  132.      If there are still any WindowHandles or windows open these will
  133.      be closed and removed. All resources will not be accessible any
  134.      longer.
  135.  
  136. ARGUMENTS
  137.     surface    - the value returned by WZ_OpenSurface()
  138.  
  139. SEE ALSO
  140.     WZ_OpenSurfaceA(),WZ_SnapShotA()
  141.  
  142. wizard.library/WZ_CloseWindow
  143.  
  144. NAME
  145.     WZ_CloseWindow -- Closes a window
  146.     
  147. SYNOPSIS
  148.     WZ_CloseWindow(winhandle)
  149.             A0
  150.     
  151.     VOID    WZ_CloseWindow(struct WizardWindowHandle *);
  152.  
  153. FUNCTION
  154.     Closes a window similar to the Intuition function.
  155.  
  156. WARNING
  157.     Do NOT use the Intuition function!
  158.  
  159. ARGUMENTS
  160.     winhandle    - a WizardWindowHandle returned by WZ_AllocWindowHandle()
  161.  
  162. SEE ALSO
  163.     WZ_OpenWindowA()
  164.  
  165. wizard.library/WZ_CreateImageBitMap
  166.  
  167. NAME
  168.     WZ_CreateImageBitMap -- Creates the BitMap of an image
  169.     
  170. SYNOPSIS
  171.     bm = WZ_CreateImageBitMap(transpen, drinfo, newimage, screen, pens)
  172.                                         D0                A0            A1            A2        A3
  173.     
  174.     struct BitMap *WZ_CreateImageBitMap(UWORD, struct DrawInfo *,
  175.             struct WizardNewImage *, struct Screen *, UBYTE *);
  176.  
  177. FUNCTION
  178.     Obtains pens, allocates a new BitMap and remaps the image according
  179.     to the pens allocated.
  180.  
  181. WARNING
  182.     The screen and the PenTable created must not be removed as long as
  183.     the Image's BitMap exists!
  184.  
  185. ARGUMENTS
  186.     transpen - the color used to remap colour register zero in the image.
  187.     drinfo    - the screen's DrawInfo structure
  188.     screen    - the screen the Image should be displayed on
  189.     pens        - a buffer of 256 bytes which will contain the color
  190.                   registers used
  191.  
  192. RESULTS
  193.     bm            - A BitMap initialized with the image data. Its dimension and
  194.                   its colour depth can be obtained using the WizardNewImage
  195.                   structure.
  196.  
  197. SEE ALSO
  198.     WZ_DeleteImageBitMap(), WZ_GetDataAddress()
  199.  
  200.  
  201. wizard.library/WZ_CreateWindowObjA
  202.  
  203. NAME
  204.     WZ_CreateWindowObjA -- Create window objects
  205.     WZ_CreateWindowObj  -- variable arguments version for higher programming languages
  206.     
  207. SYNOPSIS
  208.     newwin = WZ_CreateWindowObjA(winhandle, id, tags)
  209.     D0                A0    D0    A1
  210.     
  211.     struct NewWindow *WZ_CreateWindowObjA
  212.         (ULONG, struct WizardWindowHandle *,struct TagItem *);
  213.  
  214.     newwin = WZ_CreateWindowObj(winhandle, id, firstTag, ... )
  215.     
  216.     struct NewWindow *WZ_CreateWindowObj
  217.         (ULONG, struct WizardWindowHandle *,Tag, ... );
  218.  
  219. FUNCTION
  220.     This function will create all important window objects such as
  221.     Gadget, Menu and Notify objects.
  222.  
  223. WARNING
  224.     You can NOT control the object's description.
  225.  
  226. ARGUMENTS
  227.     id        - the ID of the window to be created
  228.     winhandle    - a WizardWindowHandle returned by a call to
  229.               WZ_AllocWindowHandle()
  230.     tags        . TagItems, e.g. to pass the gadget array
  231.     
  232.  
  233.       WWH_GadgetArray - a pointer to an array that will be filled with
  234.                   with the created gadgets according to their
  235.                   Gadget ID. This tag is always required!
  236.       WWH_GadgetArraySize - the array's size in bytes. This tag can be
  237.                   left off.
  238.       WWH_PreviousGadget - if specified, the created gadgets will be
  239.                   inserted behind this gadget
  240.       WWH_StringHook - a pointer to a StringHook structure which will
  241.                   be passed to all string gadgets in the
  242.                   window. Refer to the "strgclass" description
  243.                   for details!
  244.  
  245. RESULTS
  246.     newwin        - A pointer to an initialized NewWindow structure or
  247.               NULL if an error occurred. The structure will be
  248.               initialised as follows:
  249.       LeftEdge,
  250.       TopEdge,
  251.       Width,
  252.       Height     - taken from the surface description. Can be fixed
  253.                 with WZSnapShotA()
  254.       DetailPen,
  255.       BlockPen     - default to values unequal zero
  256.       IDCMPFlags     - taken from the surface description
  257.       Flags     - also taken from the surface description
  258.       FirstGadget     - the window's root gadget
  259.       CheckMark     - NULL
  260.       Title     - the string as specified in StormWizard
  261.       Screen     - the screen structure passed to WZ_AllocWindowHandle()
  262.       BitMap     - NULL
  263.       MinWidth,
  264.       MinHeight     - minimum dimensions the window may have. These
  265.                 values will be continuously recalculated.
  266.       MaxWidth,
  267.       MaxHeight     - default to values unequal zero
  268.       Type         - the CUSTOMSCREEN value
  269.     
  270. SEE ALSO
  271.     WZ_AllocWindowHandle(), WZ_FreeWindowHandle(), WZ_OpenWindow(),
  272.     WZ_CloseWindow()
  273.  
  274. wizard.library/WZ_DeleteImageBitMap
  275.  
  276. NAME
  277.     WZ_DeleteImageBitMap -- Removes the BitMap of an image
  278.     
  279. SYNOPSIS
  280.     WZ_DeleteImageBitMap(bm, newimage, screen, pens)
  281.                                 A0        A1            A2            A3
  282.     
  283.     void WZ_DeleteImageBitMap(struct BitMap *,
  284.                     struct WizardNewImage *, struct Screen *, UBYTE *);
  285.  
  286. FUNCTION
  287.     Releases the BitMap created and the used pens for an image.
  288.  
  289. WARNING
  290.     The screen and the PenTable MUST belong to this image!
  291.  
  292. ARGUMENTS
  293.     bm            - BitMap to be released
  294.     newimage    - the BitMap's NewImage structure
  295.     screen    - the screen the image was created for
  296.     pens        - a buffer of 256 bytes containing the colour
  297.                   registers used for the BitMap
  298.  
  299. SEE ALSO
  300.     WZ_CreateImageBitMap(), WZ_GetDataAddress()
  301.  
  302.  
  303. wizard.library/WZ_DrawVImageA
  304.  
  305. NAME
  306.     WZ_DrawVImageA -- Draws vector images
  307.     WZ_DrawVImage  -- variable arguments version for higher programming languages
  308.  
  309.     
  310. SYNOPSIS
  311.     success    = WZ_DrawVImageA
  312.             (vimage, x, y, w, h, type, rp, drinfo, tags)
  313.     D0        A0    D0 D1 D2 D3 D4     D5     D6    A1    
  314.     
  315.     BOOL    WZ_DrawVImageA(
  316.             struct WizardVImage *,
  317.             WORD, WORD, WORD, WORD, UWORD, struct RastPort *,
  318.             struct DrawInfo *, struct TagItem *);
  319.  
  320.     success    = WZ_DrawVImage
  321.         (vimage, x, y, w, h, type, rp, drinfo, firstTag, ... )
  322.     
  323.     BOOL    WZ_DrawVImage(
  324.             struct WizardVImage *,
  325.             WORD, WORD, WORD, WORD, UWORD, struct RastPort *,
  326.             struct DrawInfo *, Tag, ... );
  327.  
  328. FUNCTION
  329.     This function draws a vector image using the parameters supplied.
  330.     This makes it possible to realise Turtle-like graphic images.
  331.  
  332. WARNING
  333.     Parts of the definition of a vector image contain references to
  334.     other vector images. This recursive behaviour uses the stack
  335.     extensively!
  336.  
  337. ARGUMENTS
  338.     vimage    - a pointer to the WizardVImage structure which is
  339.           defined as follows:
  340.       flags
  341.         WVIF_MinWidth - if the width passed is smaller than the width
  342.               specified in the WizardVImage structure, the image will
  343.               normally not be drawn. In such cases this flag forces
  344.               the width passed to the minimum value specified. The
  345.               X position will be subtracted by the difference between
  346.               these two values divided by two.
  347.         WVIF_MinHeight - Similar to WVIF_MinWidth, but for the height.
  348.           If this flag is not set and the height is too small,
  349.           WZ_DrawVImage() will fail.
  350.         WVIF_AreaInit - this flag is not used as of now.
  351.         WVIF_Recursion - this flag indicates recursive behaviour of
  352.           the vector image. At every call the value in
  353.           VImage->Counter will be decreased by one. If it ever
  354.           reaches zero, the recursion will be aborted. The flag
  355.           must only be used if the vector image is used by a
  356.           single task.
  357.       Counter - if the WVIF_Recursion flag is set this value specifies
  358.           the maximum recursion depth. If you wish the image to be
  359.           called a second time, specify a 2 here.
  360.       MinWidth - This is the minimum value for the WZ_DrawVImage() call
  361.             if the WVIF_MinWidth flag is specified.
  362.       MinHeight - This is the minimum value for the WZ_DrawVImage() call
  363.             if the WVIF_MinHeight flag is specified.
  364.       RelCoords - This pointer allows you to specify co-ordinates relative
  365.             to any position you like. Create a table consisting of UWORD
  366.             pairs with the first entry being the relative X and the
  367.             second entry being the relative Y value. Terminate the table
  368.             with a combination of two zero bytes.
  369.             The first entry in this table is referenced as the base
  370.             position no. 4. Entries may range from 0 to 65535. Predefined
  371.             base positions are:
  372.             0 - upper-left edge
  373.             1 - upper-right edge
  374.             2 - lower-right edge
  375.             3 - lower-left edge
  376.             If you set this pointer to zero, you are limited to these
  377.             three base positions.
  378.       Images - here you can specify a series of pointers. The pointer used
  379.             will then be determined using the type field. If type is 0,
  380.             the WizardVImage->Images pointer is used directly, otherwise
  381.             one of the following pointers.
  382.             This implies that the length of the structure can NOT be
  383.             determined!
  384.     x    - the X position for the leftmost part of the image
  385.     y    - the Y position for the uppermost part of the image
  386.     w    - the image width
  387.     h    - the image height
  388.     type    - the type of the image to be drawn
  389.     rp    - a pointer to the RastPort structure to be used
  390.     drinfo    - a pointer to a DrawInfo structure if DrawInfo colors are
  391.           used or text functions are used.
  392.     tags    - the following tags are defined:
  393.  
  394.       WVIA_Text (V37), STRPTR
  395.           The address of a string terminated with a zero byte or a
  396.           carriage return (for text commands)
  397.       WVIA_TextFont (V37), struct TextFont *
  398.            The TextFont structure to be used for text functions.
  399.            Defaults to the DrawInfo structure's font.
  400.       WVIA_TextPlace (V37), ULONG
  401.           Describes how the text will be aligned: use one of the
  402.           constants WZRDPLACE_LEFT, WZRDPLACE_CENTER, WZRDPLACE_RIGHT
  403.           to align the text appropriately. Defaults to WZRDPLACE_CENTER.
  404.       WVIA_TextPen (V37), UWORD
  405.           This tag is not used yet. You currently have to set the
  406.           text colour yourself with an appropriate function call.
  407.       WVIA_TextStyles (V37), ULONG
  408.           This tag is not used yet. You currently have to set the
  409.           text style yourself with an appropriate function call.
  410.       WVIA_TextHighlights (V37), ULONG
  411.           This tag is not used yet.
  412.       WVIA_TextImages (V37), BOOL
  413.           Set this to TRUE if you wish to enable images with the
  414.           dimension of a text output. A value of FALSE disables this
  415.           image type. Defaults to TRUE.
  416.       WVIA_TagImage (V37), struct WizardVImage *
  417.         This tag allows you to specify a variable definition of the
  418.         vector image.
  419.       WVIA_TagImageCode (V37), UWORD
  420.           Specifies the type used for the image specified with the
  421.           WVIA_TagImage tag. Defaults to zero.
  422.       WVIA_ImageCode (V37), UWORD
  423.           If you previously specified the type for a fixed reference
  424.           to another vector image with "-1" you can specify its real
  425.           type here. If in such cases this tag is left off, the image
  426.           reference will be ignored. This tag defaults to "-1".
  427.       WVIA_Color0-7 (V37), UWORD
  428.           This tag contains colours which will be selectable using the
  429.           WVICMD_TAGCOLOR command. DrawInfo colours will be selectable,
  430.         too.
  431.       WVIA_TPoint0-7 (V37), struct TPoint
  432.           Using this tag you can include calculated positions into
  433.           the VImage definition. The default structure used contains
  434.           a value of X<<16+Y.
  435.       WVIA_AreaPtrn (V37), APTR
  436.           A pointer to a grid to be used for all following area-fill
  437.           commands (WVICMD_RECTFILL). The height is specified directly
  438.           at the WVICMD_SETAFPT call.
  439.       WVIA_TmpRas (V37), struct TmpRas *
  440.           Here you need to specify an initialised TmpRas structure
  441.           which will be fixed in the RastPort when the WVICMD_AREAINIT
  442.           command is issued.
  443.       WVIA_BitMapWidth (V37), UWORD
  444.           The width of the BitMap passed in special tags. Defaults to
  445.           zero.
  446.       WVIA_BitMapHeight (V37), UWORD
  447.           The height of the BitMap passed in special tags. Defaults to
  448.           zero.
  449.       WVIA_BitMap0-7 (V37), struct BitMap *
  450.           Bitmaps for DrawVImage() calls.
  451.       WVIA_PureText (V37), BOOL
  452.           Set this to TRUE if an underscore character should instruct
  453.           the wizard.library to render the following character under-
  454.           lined. A value of FALSE will render underscores as normal
  455.           characters. Defaults to TRUE.
  456.     
  457.     Commands for VImage definitions:
  458.     --------------------------------
  459.     
  460.     All commands and the memory size used by following arguments are
  461.     of type LONG!
  462.     
  463.     WVICMD_END :
  464.         Identifies the end of a definition.
  465.     WVICMD_COLOR : Pen;
  466.         Sets the Rastport's APen to the following pen which must be
  467.         within the range from 0 to 255 or a WZRD_... colour. DrawInfo
  468.         colors are selectable, too.
  469.     WVICMD_COLOR2 : Pen;
  470.         Sets the Rastport's BPen to the following pen. The same rules
  471.         as for WVICMD_COLOR apply. This tag is rarely used.
  472.     WVICMD_MOVE : BPkt, XOffset, YOffset;
  473.         Moves the graphic cursor to the coordinates XOffset and
  474.         YOffset which are interpreted relative to the specified
  475.         base position.
  476.     WVICMD_DRAW : BPkt, XOffset, YOffset, Mask;
  477.         Draws a line from the current graphic cursor position to
  478.         the specified position. XOffset and YOffset are interpreted
  479.         as under WVICMD_MOVE, Mask specifies the pattern to be used
  480.         for the line. The specified APen will be used.
  481.     WVICMD_RECTFILL : BPkt, XOffset, YOffset;
  482.         Draws a filled rectangle from the current graphic cursor
  483.         position to the specified position. The rectangle is filled
  484.         with the APen colour. For this operation, the graphic cursor needs
  485.         to be positioned on the upper left edge of the rectangle. The
  486.         coordinates passed specify its lower right edge.
  487.     WVICMD_WRITEPIXEL : BPkt, XOffset, YOffset;
  488.         Draws a single coloured pixel at the coordinates indicated by
  489.         XOffset and YOffset (once again, relative to the base position).
  490.         APen is used for the colour.
  491.     WVICMD_IMAGE : BPKT, XOffset, YOffset, Type , VImage;
  492.         Performs a recursive VImage call. The upper left edge must have
  493.         been previously specified using the WVICMD_MOVE command. The
  494.         lower right edge is specified by XOffset and YOffset as well as
  495.         BPkt. Type specifies the type to be used, a "-1" indicates that
  496.         the type should be taken from the WVIA_ImageCode tag.
  497.         VImage is a pointer to the vector image to be drawn.
  498.     WVICMD_TEXT :
  499.         Renders the text specified with the WVIA_Text tag at the
  500.         current position with the current style and colour.
  501.     WVICMD_SETDRMD :
  502.         Sets the RastPort's DrawMode. It defaults to RP_JAM1.
  503.     WVICMD_TEXTIMAGE : HBorder, VBorder, Type,VImage;
  504.         If a text is drawn, it has a certain position and certain
  505.         dimensions. If you use this command these values are used to
  506.         display an image, however its dimensions will be increased by
  507.         the HBorder and VBorder values. The image will be displayed
  508.         using the specified type and image.
  509.         This type of images can be disabled for the current vector
  510.         image using the WVIA_TextImages tag.
  511.     WVICMD_TEXTMOVE : FontSizeFak, BaseFak, LengthFak,XOffset,YOffset;
  512.         This command moves the cursor relative to the current position.
  513.         The length of the maximum possible text output will be divided by
  514.         LengthFak and added to the current X-position. TextFont->Baseline
  515.         will be divided by BasekFak and added to the current Y-position.
  516.         The font height is divided by FontSizeFak and added to the X
  517.         position as well. You can specify a zero for any argument to
  518.         disable it.
  519.     WVICMD_TAGCOLOR : Col;
  520.         Col specifies the WVIA_Color tag whose colour is to be set. To set
  521.         WVIA_Color1's colour Col must be a '1'.
  522.     WVICMD_TEXTPLACE: BPKT, XOffset, YOffset;
  523.         This command allows you to comfortably position vertically
  524.         centred text within a virtual rectangle. Using the WVIA_Textplace
  525.         tag the text can be placed left-bound, right-bound and centred.
  526.         The rectangle 's upper left edge is taken from the cursor's current
  527.         position whereas the lower-right position must be specified using
  528.         the XOffset and YOffset parameters which are interpreted relative
  529.         to BPKT. Nothing will be written into the RastPort!
  530.     WVICMD_SETAFPT : AreaPtSz, AreaPtrn;
  531.         This command allows you to use arbitrary patterns for fill commands.
  532.         If AreaPtrn is passed with a value of -1L, the WVIA_AreaPtrn tag
  533.         must contain the correct raster address. The raster dimension is
  534.         calculated using the formula 2^AreaPtSz.
  535.     WVICMD_SNAPCURSOR : BPkt;
  536.         Writes the cursor's current X/Y positions back to the specified base
  537.         position. Possible values range from 0 to 15.
  538.     WVICMD_SNAPX : BPkt;
  539.         Writes the cursor's current X position back to the specified base
  540.         position.
  541.     WVICMD_SNAPY : BPkt;
  542.         Writes the cursor's current Y position back to the specified base
  543.         position.
  544.     WVICMD_TAGMOVE : TPoint;
  545.         Sets the cursor to a position specified by a WVIA_TPoint tag. TPoint
  546.         determines the number of the tag to be used.
  547.     WVICMD_TAGIMAGE :  BPKT, XOffset, YOffset, Type, VImageTags;
  548.         Refer to WVICMD_IMAGE how position and dimension are calculated.
  549.         The image address is taken from the WVIA_TagImage tag. VImageTags
  550.         contains the tags for the WZ_DrawVImage() call. If this value is
  551.         -1L the current tags are used. The type for the function call is
  552.         referenced from the WVIA_TagImageCode tag.
  553.     WVICMD_BITMAP_TO_RP : BPKT, XOffset, YOffset, Map;
  554.         This command allows you to blit Bitmaps into the RastPort. BPkt,
  555.         XOffset and YOffset form the upper-left edge. Map must contain the
  556.         number of the WVIA_BitMap tag. The Bitmap's proportions must be
  557.         specified using the WVIA_BitMapWidth and WVIA_BitMapHeight tags.
  558.     WVICMD_FILLBORDER : BPKT, XOffset, YOffset, HBorder, VBorder;
  559.         This command draws a border using the current APen. The function
  560.         draws from the upper-left edge of the vector image to its
  561.         lower-right edge. The area from the current cursor position to
  562.         the specified base position will not be touched. Base position
  563.         (BPkt), XOffset and YOffset specify the lower-right edge whose
  564.         contents will NOT be overdrawn.
  565.         Using HBorder and VBorder you can reduce the vector image's
  566.         dimensions within the routine.
  567.     WVICMD_Beep :
  568.         calls intuition.library's DisplayBeep() with a Screen value of
  569.         zero.
  570.     WVICMD_AREAINIT :
  571.         Initializes the RastPort for usage of area functions. The
  572.         WVIA_TmpRas tag must contain a pointer to an initialized TmpRas
  573.         structure.
  574.     WVICMD_AREAMOVE : BPKT, XOffset, YOffset;
  575.         Moves the cursor for area functions to the position specified by
  576.         XOffset and YOffset which are interpreted relative to the base
  577.         position BPkt. This command can be followed by up to three calls
  578.         to the WVICMD_AREADRAW command.
  579.     WVICMD_AREADRAW : BPKT, XOffset, YOffset;
  580.         Draws a border line to the specified position (XOffset and YOffset,
  581.         interpreted relative to BPkt). Do not use this command more than
  582.         three times!
  583.     WVICMD_AREAEND :
  584.         Draws a filled image into the RastPort. The current APen and the
  585.         current raster image will be used. After this command you can use
  586.         WVICMD_AREAMOVE and WVIA_AREADRAW again.
  587.         
  588. RESULTS
  589.     success    - will always be TRUE.
  590.  
  591. wizard.library/WZ_EasyRequestArgs
  592.  
  593. NAME
  594.     WZ_EasyRequestArgs -- creates an easy-to-handle requester
  595.     
  596. SYNOPSIS
  597.     RESULTS    = WZ_EasyRequestArgs(surface, window, id, args)
  598.     D0                A0    A1    D0 A2
  599.     
  600.     LONG    WZ_EasyRequestArgs(
  601.             APTR, struct Window *, ULONG, void *);
  602.  
  603. FUNCTION
  604.     Similar to intuition.library's EasyRequestArgsA function.
  605.     Keeps care of keyboard input.
  606.  
  607. WARNING
  608.     The arguments passed can not be verified.
  609.     The requester can only be closed if a gadget is selected using either
  610.     mouse or keyboard. The Userport is not locked against input, so take
  611.     care to lock the window yourself!
  612.  
  613. ARGUMENTS
  614.     surface    - The value returned by a call to WZ_OpenSurface()
  615.     window    - The address of the Window structure to be locked
  616.     id    - The requester ID as assigned by StormWizard
  617.     args    - The address of the list of arguments
  618.  
  619. RESULTS
  620.     RESULTS    - The number of the gadget that was used to leave the
  621.           requester or -1 if the requester could not be displayed
  622.           due to lack of memory.
  623.  
  624. SEE ALSO
  625.     WZ_InitEasyStruct()
  626.  
  627. wizard.library/WZ_FreeWindowHandle
  628.  
  629. NAME
  630.     WZ_FreeWindowHandle -- Releases a WizardWindowHandle
  631.     
  632. SYNOPSIS
  633.     WZ_FreeWindowHandle(winhandle)
  634.     
  635.     
  636.     VOID    WZ_FreeWindow(struct WizardWindowHandle *);
  637.  
  638. FUNCTION
  639.     Closes an eventually opened window, releases all objects
  640.     associated with a window and its memory.
  641.  
  642. ARGUMENTS
  643.     winhandle    - A WizardWindowHandle as returned by
  644.               WZ_AllocWindowHandle
  645.  
  646. SEE ALSO
  647.     WZ_AllocWindowHandleA()
  648.  
  649. wizard.library/WZ_GadgetConfig
  650.  
  651. NAME
  652.     WZ_GadgetConfig -- Obtains a gadget's config string
  653.     
  654. SYNOPSIS
  655.     string    = WZ_GadgetConfig(winhandle, gadget)
  656.     D0            A0    A1
  657.     
  658.     STRPTR    WZ_GadgetConfig(
  659.             struct WizardWindowHandle *, struct Gadget *);
  660.  
  661. FUNCTION
  662.     Obtains a gadget's configuration string as specified with
  663.     StormWizard.
  664.  
  665. ARGUMENTS
  666.     winhandle    - a pointer to a WizardWindowHandle
  667.     gadget        - a pointer to a Wizard gadget
  668.  
  669. RESULTS
  670.     string        - a string address or NULL if an error occurred
  671.  
  672. SEE ALSO
  673.     WZ_MenuConfig(), WZ_GadgetHelp()
  674.  
  675. wizard.library/WZ_GadgetHelp
  676.  
  677. NAME
  678.     WZ_GadgetHelp -- Obtains a gadget's help string
  679.     
  680. SYNOPSIS
  681.     string    = WZ_GadgetHelp(winhandle, iaddress)
  682.     D0            A0    A1
  683.     
  684.     STRPTR    WZ_GadgetHelp(struct WizardWindowHandle *, APTR);
  685.  
  686. FUNCTION
  687.     Obtains a gadget's help string as specified with StormWizard.
  688.     If the surface description was opened with the SFH_Catalog tag,
  689.     the translated string will be returned.
  690.     
  691. WARNING
  692.     If the gadget passed is not found as a Window within the
  693.     WizardWindowHandle structure the function assumes that it is a
  694.     wizard.library gadget without further verification.
  695.     
  696. ARGUMENTS
  697.     winhandle    - a pointer to a WizardWindowHandle
  698.     iaddress    - a pointer to a Wizard gadget or an opened window
  699.  
  700. RESULTS
  701.     string        - a string address or NULL if an error occurred
  702.  
  703. SEE ALSO
  704.     WZ_MenuHelp(), WZ_GadgetConfig()
  705.  
  706. wizard.library/WZ_GadgetHelpMsg
  707.  
  708. NAME
  709.     WZ_GadgetHelpMsg -- Obtains a gadget's help message
  710.     
  711. SYNOPSIS
  712.     succes    = WZ_GadgetHelpMsg(winhandle, winhaddress, iaddress
  713.                     mousex, mousey, flags)
  714.     D0                A0    A1     A2
  715.                     D0    D1    D2
  716.     
  717.     BOOL    WZ_GadgetHelpMsg(struct WizardWindowHandle *,
  718.                 struct WizardWindowHandle **,
  719.                 APTR *, WORD, WORD, UWORD);
  720.  
  721. FUNCTION
  722.     This function was written to allow V37 and V38 of the AmigaOS
  723.     to receive GadgetHelp messages. Under V39 this function can be
  724.     optionally used to receive Intuiton messages.
  725.  
  726. WARNING
  727.     In later versions iaddress will be able to return objects which
  728.     on the one hand located at the current mouse pointer position and
  729.     belong to the surface description but which on the other hand do
  730.     not belong to the active window. This includes windows themselves,
  731.     too.
  732.  
  733. ARGUMENTS
  734.     winhandle    - a pointer to a WizardWindowHandle which reported
  735.               mouse movement
  736.     winhaddress    - a pointer to a memory area of four bytes which is
  737.               used by the function to return a second value
  738.     iaddress    - a pointer to a memory area of four bytes which is
  739.               used by the function to return a third value
  740.     mousex        - the mouse's X position
  741.     mousey        - the mouse's Y position
  742.     flags        - the following flags are currently defined:
  743.     
  744.       WGHF_IgnoreOS       - Enables usage of this function under OS 3.0+
  745.                          (see function description)
  746.       WGHF_FullControl - If this flag is set the function will also
  747.                          return messages from other windows. This flag
  748.                          does not yet work under V37!
  749.             
  750. RESULTS
  751.     success        - if the mouse's position and the affected object
  752.               have been changed this value is TRUE. Otherwise
  753.               it is FALSE.
  754.     winhaddress    - if success is equal to TRUE you will here find a
  755.               pointer to a WizardWindowHandle which is
  756.               located under the mouse pointer.
  757.     iaddress    - if success is equal to TRUE you will here find a
  758.               pointer to the object which is located under the
  759.               mouse pointer. The pointer must then be used
  760.               similarly to the appropriate field of an IntuitMessage
  761.               when an IDCMP_GADGETHELP message is received.
  762.  
  763. SEE ALSO
  764.     WZ_GadgetHelp(), WZ_MenuHelp(),
  765.  
  766. wizard.library/WZ_GadgetKey
  767.  
  768. NAME
  769.     WZ_GadgetKeyA -- Notify gadgets about a keypress
  770.     WZ_GadgetKey -- variable arguments version for higher programming languages
  771.     
  772. SYNOPSIS
  773.     success    = WZ_GadgetKeyA(winhandle, code, qualifier,tags)
  774.     D0            A0    D0    D1    A1
  775.     
  776.     BOOL    WZ_GadgetKeyA(
  777.             struct WizardWindowHandle *, ULONG, ULONG,
  778.             struct TagItem *);
  779.  
  780.     success = WZ_GadgetKey(
  781.             winhandle, code, qualifier, firstTag, ... )
  782.     
  783.     BOOL WZ_GadgetKey(
  784.         struct WizardWindowHandle *, ULONG, ULONG, APTR, Tag, ...);
  785.     
  786. FUNCTION
  787.     This function should be used to notify the gadgets about a keypress
  788.     in a system-friendly way. If the destination gadget is a string or
  789.     an integer gadget it will be automatically activated. If another
  790.     gadget has reserved the key combination it will send an
  791.     IDCMP_IDCMPUPDATE message to the window so that possible Notifys
  792.     are automatically processed.
  793.  
  794. WARNING
  795.     If multiple gadgets are responsible for a key combination and they
  796.     are visible at the same time it is unpredictable which gadget the
  797.     message sends.
  798.     
  799. ARGUMENTS
  800.     winhandle    - WizardWindowHandle of the window where the key
  801.               press occurred
  802.     key        - ASCII code of the key pressed
  803.     qualifier    - Qualifier code for the key press
  804.  
  805. RESULTS
  806.     success    - whether a gadget was responsible for the keypress
  807.               (TRUE/FALSE)
  808.  
  809. wizard.library/WZ_GadgetObjectname
  810.  
  811. NAME
  812.     WZ_GadgetObjectname -- Obtains a gadget's object name
  813.     
  814. SYNOPSIS
  815.     string    = WZ_GadgetObjectname(winhandle, gadget)
  816.     D0            A0    A1
  817.     
  818.     STRPTR    WZ_GadgetObjectname(
  819.         struct WizardWindowHandle *,struct Gadget *);
  820.  
  821. FUNCTION
  822.     This function obtains a gadget's object name as specified with
  823.     StormWizard. If no object name was specified NULL is returned.
  824.     
  825. ARGUMENTS
  826.     winhandle    - a pointer to a WizardWindowHandle
  827.     gadget        - a pointer to a gadget
  828. RESULTS
  829.     string        - a string address or NULL if an error occurred
  830.  
  831. SEE ALSO
  832.     WZ_MenuObjectname()
  833.  
  834. wizard.library/WZ_GetDataAddress
  835.  
  836. NAME
  837.     WZ_GetDataAddress -- obtains data from a surface description
  838.     
  839. SYNOPSIS
  840.     data = WZ_GetDataAddress(surface, type, id)
  841.                                     A0            D0        D1
  842.     
  843.     APTR WZ_GetDataAddress(APTR, ULONG, ULONG);
  844.  
  845. FUNCTION
  846.     Obtains certain structures or chunks belong to a surface description.
  847.  
  848. WARNING
  849.     If the data requested could not be found the function returns NULL.
  850.  
  851. ARGUMENTS
  852.     surface    - the program's surface description
  853.     type    - determines what the function should look for.
  854.           Values that have so far been defined are:
  855.           WDATA_IMAGE - search for a WizardNewImage structure
  856.     id    - the structure/chunk ID. When looking for an image specify
  857.           the image number (image object name).
  858.  
  859. SEE ALSO
  860.     WZ_CreateImageBitMap(),WZ_DeleteImageBitMap()
  861.  
  862.  
  863. wizard.library/WZ_GetNode
  864.  
  865. NAME
  866.     WZ_GetNode -- Obtains a node
  867.     
  868. SYNOPSIS
  869.     node    = WZ_GetNode(list, number)
  870.     D0        A0    D0
  871.     
  872.     struct    WizardNode *WZ_GetNode(struct MinList *, UWORD);
  873.  
  874. FUNCTION
  875.     This function was written for the Hierarchy class. You can use it
  876.     to obtain the tree's node that is currently below the cursor. Herefore
  877.     call it using the value from the WHIERACHYA_Selected tag.
  878.  
  879. ARGUMENTS
  880.     list    - address of a MinList structure
  881.     number    - number of a visible node whose address is to be obtained
  882.  
  883. RESULTS
  884.     node    - the WizardNode's address or NULL
  885.  
  886. SEE ALSO
  887.     WZ_ListCount()
  888.  
  889. wizard.library/WZ_InitEasyStruct
  890.  
  891. NAME
  892.     WZ_InitEasyStruct -- Initializes an EasyStruct structure
  893.     
  894. SYNOPSIS
  895.     easy = WZ_InitEasyStruct(surface,easystruct,id,size)
  896.     D0            A0    A1    D0    D1
  897.     
  898.     struct EasyStruct *WZ_InitEasyStruct(
  899.             APTR,struct EasyStruct *, ULONG *, ULONG, ULONG);
  900.  
  901. FUNCTION
  902.     Initializes the specified EasyStruct structure.
  903.  
  904. ARGUMENTS
  905.     surface        - the value returned by a call to WZ_OpenSurface()
  906.     easystruct    - a pointer to an EasyStruct (intuition.library)
  907.     id        - requester number as specified in StormWizard
  908.     size        - size of the EasyStruct structure
  909.  
  910. RESULTS
  911.     easy        - address of the EasyStruct structure or NULL if an
  912.               error occurred
  913.  
  914. SEE ALSO
  915.     WZ_EasyRequestArgs()
  916.  
  917. wizard.library/WZ_InitNodeA
  918.  
  919. NAME
  920.     WZ_InitNodeA -- Initializes a WizardNode
  921.     WZ_InitNode -- variable arguments version for higher programming languages
  922.     
  923. SYNOPSIS
  924.     WZ_InitNodeA(wizardnode, entrys, tags)
  925.             A0    D0    A1
  926.     
  927.     void WZ_InitNodeA(struct WizardNode *, ULONG, struct TagItem *);
  928.  
  929.     WZ_InitNode(winhandle, entrys, firstTag, ... )
  930.     
  931.     void WZ_InitNode(struct WizardNode *, ULONG, Tag, ...);
  932.  
  933. FUNCTION
  934.     Initializes the WizardNode specified. Starting with V38 up to
  935.     32 entries can be used.
  936.  
  937. ARGUMENTS
  938.     wizardnode    - the Node to be initialised
  939.     entrys        - the number of entries the Node has
  940.     tags        - defined tags are:
  941.     
  942.      WNDOEA_Flags -- (V37), UBYTE
  943.          Flags valid for this Node
  944.     
  945. SEE ALSO
  946.     WZ_InitNodeEntry()
  947.  
  948. wizard.library/WZ_InitNodeEntryA
  949.  
  950. NAME
  951.     WZ_InitNodeEntryA -- Initializes a WindowNode entry
  952.     WZ_InitNodeEntry -- variable arguments version for higher programming languages
  953.     
  954. SYNOPSIS
  955.     WZ_InitNodeEntryA(wizardnode, entry, tags)
  956.                 A0    D0    A1
  957.     
  958.     void WZ_InitNodeEntryA(
  959.             struct WizardNode *, ULONG, struct TagItem *);
  960.  
  961.     WZ_InitNodeEntry(
  962.             winhandle, entry, firstTag, ... )
  963.     
  964.     void WZ_InitNodeEntry(
  965.             struct WizardNode *, ULONG, Tag, ...);
  966.  
  967. FUNCTION
  968.     Initializes the specified WizardNode entry. The maximimum entry to
  969.     be addressed is 31 as there's a limit of 32 entries per node (since
  970.     V38)!
  971.  
  972. ARGUMENTS
  973.     wizardnode    - the node whose entry is to be initialised
  974.     entry        - the entry number to be initialised
  975.     tags        - defined as follows:
  976.     
  977.      WENTRYA_Type -- (V37), UBYTE
  978.         the type the entry should belong to
  979.  
  980.      WNE_SPACE
  981.         WENTRYA_SpaceWidth -- (V38), UWORD
  982.             Witdh of this space
  983.  
  984.      WNE_TEXT
  985.         WENTRYA_TextPen -- (V37), UWORD
  986.             Color of this entry
  987.         WENTRYA_TextSPen -- (V37), UWORD
  988.              Color of this entry when it is selected
  989.         WENTRYA_TextStyle -- (V37), UBYTE
  990.              Font style to be used for this entry
  991.         WENTRYA_TextSStyle -- (V37), UBYTE
  992.              Font style to be used when the entry is selected
  993.         WENTRYA_TextFont -- (V38), struct TextFont *
  994.             The font to be used for this entry or NULL
  995.         WENTRYA_TextJustification -- (V38), UWORD
  996.             Justification, WZRDPLACE_LEFT or _RIGHT or _CENTER
  997.  
  998.      WNE_FORMAT
  999.         WENTRYA_FormatPen -- (V38), UWORD
  1000.              Color of this entry
  1001.         WENTRYA_FormatTreeSPen -- (V38), UWORD
  1002.              Color of this entry when it is selected
  1003.         WENTRYA_FormatStyle -- (V38), UBYTE
  1004.              Font style to be used for this entry
  1005.         WENTRYA_FormatSStyle -- (V38), UBYTE
  1006.              Font style to be used when the entry is selected
  1007.         WENTRYA_FormatStruct -- (V38), STRPTR *
  1008.             A pointer to a memory area which contains a pointer to
  1009.             a formatting string, followed by pointers to arguments
  1010.             for the formatting process
  1011.         WENTRYA_FormatFont -- (V38), struct TextFont *
  1012.             The font to be used for the text or NULL
  1013.         WENTRYA_FormatJustification -- (V38), UWORD
  1014.             Justification, WZRDPLACE_LEFT or _RIGHT or _CENTER
  1015.     
  1016.      WNE_TREE
  1017.         WENTRYA_TreeParentNode -- (V37), struct WizardNode *
  1018.             The parent WizardNode
  1019.         WENTRYA_TreeChilds -- (V37), struct MinList *
  1020.             A pointer to a MinList structure if there are any
  1021.             child nodes
  1022.         WENTRYA_TreePen -- (V38), UWORD
  1023.              The entry's color
  1024.         WENTRYA_TreeSPen -- (V38), UWORD
  1025.              The entry's color when it's selected
  1026.         WENTRYA_TreeStyle -- (V38), UBYTE
  1027.              The entry's font style
  1028.         WENTRYA_TreeSStyle -- (V38), UBYTE
  1029.              The entry's font style when it's selected
  1030.         WENTRYA_TreeFont -- (V38), struct TextFont *
  1031.             The font to be used for this entry or NULL
  1032.  
  1033.      WNE_IMAGE
  1034.         WENTRYA_ImageWidth -- (V38), UWORD
  1035.             The BitMap's width (= the image width)
  1036.         WENTRYA_ImageHeight -- (V38), UWORD
  1037.             The BitMap's height (= the image height)
  1038.         WENTRYA_ImageBitMap -- (V38), struct BitMap *
  1039.             BitMap for "normal" (unselected) display
  1040.         WENTRYA_ImageSBitMap -- (V38), struct BitMap *
  1041.             BitMap for "selected" display
  1042.         WENTRYA_Justification -- (V38), UWORD
  1043.             Justification when in table mode
  1044.  
  1045.      WNE_VIMAGE
  1046.         WENTRYA_VImageWidth -- (V38), UWORD
  1047.             The vector image's width
  1048.         WENTRYA_VImageStruct -- (V38), struct WizardVImage *
  1049.             Vector image described by this entry
  1050.         WENTRYA_VImageTags -- (V38), struct TagItem *
  1051.             Tags to be passed to the vector image when in
  1052.             "normal" (unselected) mode
  1053.         WENTRYA_VImageSTags -- (V38), struct TagItem *
  1054.             Tags to be passed to the vector image when in
  1055.             "selected" mode
  1056.     
  1057.      WNE_HOOK
  1058.         WENTRYA_HookStruct -- (V38), struct Hook *
  1059.             Hook to be used to display the entry
  1060.         WENTRYA_HookWidth -- (V38), UWORD
  1061.             Width of the entry
  1062.         WENTRYA_HookUserData -- (V38), APTR
  1063.             Data for the Hook
  1064.  
  1065. SEE ALSO
  1066.     WZ_InitNode()
  1067.  
  1068. wizard.library/WZ_ListCount
  1069.  
  1070. NAME
  1071.     WZ_ListCount -- Obtains the number of nodes displayed
  1072.     
  1073. SYNOPSIS
  1074.     count    = WZ_ListCount(list)
  1075.     D0        A0
  1076.     
  1077.     ULONG WZ_ListCount(struct MinList *);
  1078.  
  1079. FUNCTION
  1080.     This function was written for the hierarchy class. You can use it
  1081.     to obtain the number of visible nodes of the specified tree.
  1082.  
  1083. WARNING
  1084.     The list passed must be a chain of WizardTreeNodes.
  1085.  
  1086. ARGUMENTS
  1087.     list    - address of the MinList structure containing WizardNodes
  1088.  
  1089. RESULTS
  1090.     count    - the number of visible nodes
  1091.  
  1092. SEE ALSO
  1093.     WZ_GetNode()
  1094.  
  1095. wizard.library/WZ_LockWindow
  1096.  
  1097. NAME
  1098.     WZ_LockWindow -- Locks a window
  1099.     
  1100. SYNOPSIS
  1101.     WZ_LockWindow(winhandle)
  1102.             A0
  1103.     
  1104.     VOID WZ_LockWindow(struct WizardWindowHandle *);
  1105.  
  1106. FUNCTION
  1107.     This function locks the window for all kinds of user input. The
  1108.     mouse pointer will be changed to a busy pointer.
  1109.  
  1110. ARGUMENTS
  1111.     winhandle    - the WizardWindowHandle structure of the window
  1112.               to be locked
  1113.  
  1114. SEE ALSO
  1115.     WZ_UnlockWindow()
  1116.  
  1117. wizard.library/WZ_LockWindows
  1118.  
  1119. NAME
  1120.     WZ_LockWindows -- locks all windows
  1121.     
  1122. SYNOPSIS
  1123.     WZ_LockWindows(surface)
  1124.             A0
  1125.     
  1126.     VOID WZ_LockWindows(APTR);
  1127.  
  1128. FUNCTION
  1129.     This function will lock all windows belonging to the surface
  1130.     description passed.
  1131.  
  1132. ARGUMENTS
  1133.     surface    - the value returned by a call to WZ_OpenSurface()
  1134.  
  1135. SEE ALSO
  1136.     WZ_UnlockWindows()
  1137.  
  1138. wizard.library/WZ_MenuConfig
  1139.  
  1140. NAME
  1141.     WZ_MenuConfig -- obtains a menu's config string
  1142.     
  1143. SYNOPSIS
  1144.     string    = WZ_MenuConfig(winhandle, code)
  1145.     D0            A0    D0
  1146.     
  1147.     STRPTR    WZ_MenuConfig(struct WizardWindowHandle *, ULONG);
  1148.  
  1149. FUNCTION
  1150.     Obtains a menu's configuration string as specified with
  1151.     StormWizard.
  1152.     
  1153. ARGUMENTS
  1154.     winhandle    - a pointer to a WizardWindowHandle
  1155.     code        - MenuCode of the MenuTitle, MenuItem or MenuSubitem
  1156.               selected
  1157. RESULTS
  1158.     string        - a string address or NULL
  1159.  
  1160. SEE ALSO
  1161.     WZ_GadgetConfig(), WZ_MenuHelp()
  1162.  
  1163. wizard.library/WZ_MenuHelp
  1164.  
  1165. NAME
  1166.     WZ_MenuHelp -- obtains a menu's help string
  1167.     
  1168. SYNOPSIS
  1169.     string    = WZ_MenuHelp(winhandle, code)
  1170.     D0            A0    D0
  1171.     
  1172.     STRPTR    WZ_MenuHelp(struct WizardWindowHandle *, ULONG);
  1173.  
  1174. FUNCTION
  1175.     Obtains a menu item's help string as specified with StormWizard.
  1176.     If the surface description was opened with the SFH_Catalog tag,
  1177.     the translated string will be returned.
  1178.     
  1179. ARGUMENTS
  1180.     winhandle    - a pointer to a WizardWindowHandle
  1181.     code        - MenuCode of the selected MenuTitle, MenuItem or
  1182.               MenuSubitem
  1183.  
  1184. RESULTS
  1185.     string        - a string address or NULL
  1186.  
  1187. SEE ALSO
  1188.     WZ_GadgetHelp(), WZ_MenuConfig()
  1189.  
  1190. wizard.library/WZ_MenuObjectname
  1191.  
  1192. NAME
  1193.     WZ_MenuObjectname -- obtains a menu's object name
  1194.     
  1195. SYNOPSIS
  1196.     string    = WZ_MenuObjectname(winhandle, code)
  1197.     D0            A0    D0
  1198.     
  1199.     STRPTR    WZ_MenuObjectname(struct WizardWindowHandle *, ULONG);
  1200.  
  1201. FUNCTION
  1202.     This function obtains a menu's object name as specified with
  1203.     StormWizard. If no object name was specified the function returns
  1204.     NULL.
  1205.     
  1206. ARGUMENTS
  1207.     winhandle    - a pointer to a WizardWindowHandle
  1208.     code        - the MenuCode of the selected MenuTitle, MenuItem
  1209.               or MenuSubitem
  1210.  
  1211. RESULTS
  1212.     string        - a string address or NULL
  1213.  
  1214. SEE ALSO
  1215.     WZ_GadgetObjectname()
  1216.  
  1217. wizard.library/WZ_NewObjectA
  1218.  
  1219. NAME
  1220.     WZ_NewObjectA -- creates a new object
  1221.     WZ_NewObject  -- variable arguments version for higher programming languages
  1222.     
  1223. SYNOPSIS
  1224.     obj = WZ_NewObjectA(surface,class, tags)
  1225.     D0        A1    D0    A0
  1226.     
  1227.     APTR WZ_NewObjectA(APTR, ULONG, struct TagItem *);
  1228.  
  1229.     obj = WZ_NewObject(surface, class, firstTag, ... )
  1230.     
  1231.     APTR WZ_NewObject(APTR, ULONG, Tag, ... );
  1232.  
  1233. FUNCTION
  1234.     Creates a new object of the specified type.
  1235.  
  1236. ARGUMENTS
  1237.     class    - the class of the object to be created
  1238.     tags    - defined as follows:
  1239.     
  1240.       GA_DrawInfo, struct DrawInfo *
  1241.         ALWAYS specify a pointer to a DrawInfo structure here!
  1242.       WGA_Label -- (V37) [C...], STRPTR
  1243.         This universal tag is used to specify a label for the
  1244.         object.
  1245.       WGA_Label2 -- (V37) [C...], STRPTR
  1246.         Another universal tag: this one allows you to specify a
  1247.         second pointer for the creation of the object.
  1248.       WGA_TextFont -- (V37) [C...], struct TextFont *
  1249.         Using this tag you can override the font set by default
  1250.         in the DrawInfo structure. This allows you to assign every
  1251.         object its own font. Universal tag.
  1252.       WGA_Flags -- (V37) [C...], UWORD
  1253.         Here you can set flags for the object to be created. The
  1254.         following general flags are defined:
  1255.           WGF_GadgetHelp -- if the gadget should send a GadgetHelp
  1256.                 message when the mouse is positioned over
  1257.                 it.
  1258.           WGF_Disabled -- if you wish the gadget to be unselectable.
  1259.       WGA_Priority -- (V37) [C.G.], UBYTE
  1260.         This tag allows you to assign each objects its own priority.
  1261.         Valid values range from 0 to 255 (defaults to zero).
  1262.       WGA_RelHeight -- (V37) [C...], UBYTE
  1263.         This tag is used the specify the upper and lower border of
  1264.         an object relative to its TextDimension. Defaults to 2.
  1265.       WGA_MinWidth -- (V37) [C.G.], UWORD
  1266.         This tag specifies the minimum width for the object to be
  1267.         created. It is class-independent and can be obtained by all
  1268.         objects.
  1269.       WGA_MinHeight -- (V37) [C.G.], UWORD
  1270.         This tag specifies the minimum height for the object to be
  1271.         created. It can be obtained by all objects, however its
  1272.         meaning varies from class to class.
  1273.       WGA_Link -- (V37) [..S.], struct Gadget *
  1274.         This tag allows for communications between gadgets the content
  1275.         of which is totally uninteresting to the programmer.
  1276.       WGA_LinkData -- (V37) [C...], UBYTE
  1277.         Depending on the object class some links require an
  1278.         additional specification of the line number (e.g. Label
  1279.         gadgets). Required for keyboard control.
  1280.       WGA_HelpText -- (V37) [C...], STRPTR
  1281.         The Help string which will be obtainable from a gadget using
  1282.         the WZ_GadgetHelp() function.
  1283.       WGA_Config -- (V37) [C...], STRPTR
  1284.         The Config string which will be obtainable from a gadget using
  1285.         the WZ_GadgetConfig() function.
  1286.       WGA_NewImage -- (V37) [C...], struct WizardNewImage *
  1287.         This tag is used to specify the image required for display
  1288.         and dimension calculations.
  1289.       WGA_SelNewImage -- (V37) [C...], struct WizardNewImage *
  1290.         This tag is used to specify the image for the selected state
  1291.         of the object.
  1292.       WGA_Group -- (V37) [C...], struct Gadget *
  1293.         This tag is used to link the object within an existing group.
  1294.         Pass a pointer to the gadget structure of the group gadget.
  1295.       WGA_GroupPage -- (V37) [C...], UWORD
  1296.         If the group gadget consists of multiple pages you need
  1297.         to specify the page for the new object here. Defaults to 0.
  1298.       WGA_Locale -- (V37) [C...], struct Locale *
  1299.         So far this tag is only used for date gadgets to localise the
  1300.         abbreviations of day names into the correct language. This
  1301.         tag must be specified.
  1302.     
  1303.     WCLASS_LAYOUT: 
  1304.     ---------------
  1305.     - start and influence the layout process
  1306.  
  1307.     WLAYOUTA_RootGadget -- (V37) [C...], struct Gadget *
  1308.         Root group whose layout process is to be started
  1309.     WLAYOUTA_Type -- (V37) [C...], UWORD
  1310.         Type of the root gadget, not used yet
  1311.     WLAYOUTA_BorderLeft -- (V37) [C...], WORD
  1312.     WLAYOUTA_BorderRight -- (V37) [C...], WORD
  1313.     WLAYOUTA_BorderTop -- (V37) [C...], WORD
  1314.     WLAYOUTA_BorderBottom -- (V37) [C...], WORD
  1315.         Border values to leave free during the layout process
  1316.         (defaults to 0).
  1317.     WLAYOUTA_StackSwap -- (V37) [C...], struct StackSwapStruct *
  1318.         A pointer to an instance of the similar-called stack
  1319.         structure for the layout process. This tag must be specified.
  1320.  
  1321.     WCLASS_HGROUP and WCLASS_VGROUP:
  1322.     --------------------------------
  1323.     - take care of the switching between pages (max. 32)
  1324.     - calculate dimensions and positions of its members
  1325.     - flags: WGRPF_EqualSize assigns all members the same minimum
  1326.       dimensions and WGRPF_DockMode enables Dock mode.
  1327.     
  1328.       WGROUPA_ActivePage -- (V37) [CSGN], UWORD
  1329.         Specifies the group's visible page.
  1330.       WGROUPA_MaxPage -- (V37) [C...], UWORD
  1331.         Specifies the maximum page number to be processed by this
  1332.         gadget. The maximum allowed value is 31.
  1333.         This tag will be overwritten if the group title consists of
  1334.         multiple lines.
  1335.       WGROUPA_HBorder -- (V37) [C...], WORD
  1336.         Specifies the border space which should be left free to the
  1337.         left and the right of the gadget.
  1338.       WGROUPA_VBorder -- (V37) [C...], WORD
  1339.         Similar to HBorder this tag specifies the space to be left
  1340.         free above and below of the gadget. If the title string passed
  1341.         consists of a single line the font height is added to the
  1342.         upper border.
  1343.       WGROUPA_BHOffset -- (V37) [C...], WORD
  1344.         Specifies the horizontal border space to be left free WITHIN
  1345.         the gadget (to the left and the right of the image to be
  1346.         drawn).
  1347.       WGROUPA_BVOffset -- (V37) [C...], WORD
  1348.         Similar to BHOffset this tag specifies the vertical border
  1349.         space (the space left free above and below of the frame to
  1350.         be drawn).
  1351.       WGROUPA_Space -- (V37) [C...], UWORD
  1352.         Specifies the fixed minimum distance to be used between
  1353.         members of this group. If the group has none or only a single
  1354.         member this tag will have no effect.
  1355.       WGROUPA_VarSpace -- (V37) [C...], UWORD
  1356.         Specifies the proportions to be used to distribute the space
  1357.         available among the group's members and its white spaces. All
  1358.         objects of an group then have its own minimum dimension. A
  1359.         value of 32768 causes the group gadget to calculate the
  1360.         relation of used space and white space to be roughly equal.
  1361.         Of course this is not always possible.
  1362.       WGROUPA_FrameType -- (V37) [C...], UWORD
  1363.         Specifies the frame to be drawn within a range from 0 to
  1364.         8. Defaults to 0.
  1365.     
  1366.     WCLASS_BUTTON
  1367.     -------------
  1368.     - simple buttons
  1369.  
  1370.       WBUTTONA_Label -- (V37) [CS..], STRPTR
  1371.         Specifies the label for a button gadget. Overrides the
  1372.         universal WGA_Label tag, if used.
  1373.     
  1374.     WCLASS_STRING
  1375.     -------------
  1376.     - if you wish the string gadget to be selectable using keys you need
  1377.       to link it with a label
  1378.     - Flags: WGF_KeyControl to enable tab cycling. Must be set!
  1379.     
  1380.       WSTRINGA_String -- (V37) [CSGN], STRPTR
  1381.         The address of a null-terminated string. Overrides the
  1382.         universal WGA_Label tag, if used.
  1383.       WSTRINGA_MaxChars -- (V37) [C...], UWORD
  1384.         Specifies the maximum length of the editable string (excluding
  1385.         the terminating zero byte). Has a maximum of 255.
  1386.       WSTRINGA_Justification -- (V37) [C...], ULONG
  1387.         Justification (GACT_...). Defaults to left.
  1388.  
  1389.     WCLASS_CHECKBOX
  1390.     ---------------
  1391.     - must be linked with a label gadget.
  1392.     
  1393.       WCHECKBOXA_Checked -- (V37) [CSGN], BOOL
  1394.         If TRUE, the checkbox will be rendered in checked state.
  1395.     
  1396.     WCLASS_MX
  1397.     ---------
  1398.     - must be linked with a label gadget.
  1399.     
  1400.       WMXA_Active -- (V37) [CSGN], UWORD
  1401.         Specifies the active, selected button within the object.
  1402.     
  1403.     WCLASS_LABEL
  1404.     ------------
  1405.     - often used as target object for links
  1406.     - texts can consist of multiple lines
  1407.     - does not send Notifies
  1408.     
  1409.       WLABELA_FrameType -- (V37) [C...], UWORD
  1410.           Specifies the frame that is to be drawn around the object.
  1411.       WLABELA_Space -- (V37) [C...], UWORD
  1412.           The distance in pixels in-between the text lines (not used if
  1413.           the text consists of a single line).
  1414.       WLABELA_BGPen -- (V37) [C...], UWORD
  1415.           The background colour to be used (defaults to 0).
  1416.       WLABELA_TextPlace -- (V37) [C...], UWORD
  1417.           Specifies how the text is to be justified. Use WZRDPLACE_LEFT,
  1418.           WZRDPLACE_CENTER or WRZDPLACE_RIGHT.
  1419.       WLABELA_HighLights -- (V37) [C...], ULONG
  1420.           Determines which lines should be highlighted when displayed.
  1421.           To highlight lines 0 and 2, 2^0 + 2^2 = 5 must be passed.
  1422.       WLABELA_Styles -- (V37) [C...], ULONG
  1423.           Determines which lines should be rendered in boldface when
  1424.           displayed. To print lines 0 and 2 in bold face pass a value of 5.
  1425.       WLABELA_Label -- (V37) [C...], STRPTR
  1426.           Address of the text to be displayed. Overrides WGA_Label.
  1427.       WLABELA_Lines -- (V37) [..G.], UWORD
  1428.           The number of text lines.
  1429.       
  1430.     WCLASS_INTEGER
  1431.     --------------
  1432.     - allows of input of numbers in 3 numeric systems
  1433.     - Flags: WGF_KeyControl to enable tab cycling. Must be set!
  1434.       
  1435.       WINTEGERA_Long -- (V37) [CSGN], LONG
  1436.             A signed integer which can be modified by the user.
  1437.       WINTEGERA_MinLong -- (V37) [C...], LONG
  1438.       WINTEGERA_MinLong -- (V37) [C...], LONG
  1439.             Lower and upper limits for the integer.
  1440.       WINTEGERA_Justification -- (V37) [C...], ULONG
  1441.           Justification (GACT_...). Defaults to left.
  1442.  
  1443.     WCLASS_HSCROLLER and WCLASS_VSCROLLER
  1444.     -------------------------------------
  1445.     - Scroll bars to scroll through lists.
  1446.     - Can be linked to ListView, MultiListView and Hierarchy gadgets
  1447.     - Flags: WSCF_NewLook to render the scroll bars in the "new" OS/3 look
  1448.     
  1449.       WSCROLLERA_Top -- (V37) [CSGN], LONG
  1450.           An integer value ranging normally from 0 to Total-1. Defaults to
  1451.           zero.
  1452.       WSCROLLERA_Visible (V37) [CSG.], ULONG
  1453.           Specifies the number of visible entries within a list.
  1454.       WSCROLLERA_Total -- (V37) [CSG.], ULONG
  1455.           Number of entries a list can have. Defaults to 10.
  1456.     
  1457.     WCLASS_ARROW
  1458.     ------------
  1459.     - Arrow gadgets
  1460.     - Can be linked to Proportional gadgets, then these will send messages
  1461.     
  1462.       WARROWA_Type -- (V37) [C...], UWORD
  1463.           The type of the arrow from 0 to 3 (Left, Right, Up and Down).
  1464.           Defaults to 0 (Left).
  1465.       WARROWA_Step -- (V37) [CS..], UWORD
  1466.           Specifies the stepping size when a step is repeated within a tick.
  1467.     
  1468.     WCLASS_LISTVIEW and WCLASS_MULTILISTVIEW
  1469.     ----------------------------------------
  1470.     - displays a list of WizardNodes
  1471.     - Flags: WLVF_ReadOnly to render the border recessed and make the entries
  1472.       unselectable and WLVF_DoubleClicks to receive messages when a
  1473.       double-click is performed on an entry (see below).
  1474.     
  1475.       WLISTVIEWA_Top -- (V37) [CSG.], ULONG
  1476.           The number of the first visible node.
  1477.       WLISTVIEWA_Selected -- (V37) [CSGN], LONG
  1478.           The number of the selected entry within the list. If the object
  1479.           belongs to the MultiListView the last selected entry will be
  1480.           returned.
  1481.       WLISTVIEWA_List -- (V37) [CS..], struct MinList *
  1482.           A list of WizardListNodes which is to be displayed. You can display
  1483.           vector images in front of a string by specifying its address in the
  1484.           node. If a node is selected WZ_DrawVImage() is called with a type
  1485.           value of 1, otherwise it's 0. If the object belongs to the
  1486.           MultiListView class you need to query WLNF_Selected whether the
  1487.           node was selected or not. WLNF_Selected must not be used if the
  1488.           object belongs to the ListView class!
  1489.       WLISTVIEWA_DoubleClick -- (V37) [...N], BOOL
  1490.           If a message was sent by the object and this tag equals TRUE, the
  1491.           message was caused by a double-click on a list entry.
  1492.       WLISTVIEWA_Visible -- (V37) [.S..], UWORD
  1493.           Use this tag to specify the number of a node who should be under
  1494.           all circumstances visible in the window. If the node is not visible
  1495.           this tag will collidate with WLISTVIEWA_Top as its value is
  1496.           modified.
  1497.       WLISTVIEWA_HeaderNode -- (V38) [.S...], struct WizardNode *
  1498.           A pointer to a WizardNode which is used as header.
  1499.       WLISTVIEWA_Columns -- (V38) [.S...], UWORD
  1500.           The number of columns that should be used to display the list or
  1501.           NULL.
  1502.     
  1503.     WCLASS_TOGGLE
  1504.     -------------
  1505.     - similar to Checkbox gadgets
  1506.     - Flags: WTGF_SimpleMode if the object should be selectable only,
  1507.       deselecting will then be not possible any more.
  1508.     
  1509.       WTOGGLEA_Checked -- (V37) [CSGN], BOOL
  1510.           TRUE if pressed, FALSE otherwise.
  1511.     
  1512.     WCLASS_LINE
  1513.     -----------
  1514.     - draw simple lines.
  1515.     - do not send Notifies.
  1516.     
  1517.       WLINEA_Type -- (V37) [C...], UWORD
  1518.           Determines how the line gadget should draw a line. Values are 0
  1519.           for horizontally, 1 for vertically, 2 for horizontally and selected
  1520.           or 3 for vertically and selected. Defaults to 0.
  1521.       WLINEA_Label -- (V37) [C...], STRPTR
  1522.           A zero-terminated string which will be written into the line if
  1523.           it is a horizontal line. Overrides WGA_Label.
  1524.     
  1525.     WCLASS_COLORFIELD
  1526.     -----------------
  1527.     - displays a palette of colours
  1528.     - must be linked with a label gadget
  1529.     - does not send any Notifies
  1530.     
  1531.       WCOLORFIELDA_Pen -- (V37) [CS..], UWORD
  1532.           The number of the colour register whose colour should appear within
  1533.           the highlighted box. WZRD_... colours are allowed. Defaults to 0.
  1534.     
  1535.     WCLASS_ARGS
  1536.     -----------
  1537.     - displays up to 10 different argument
  1538.     - does not send any Notifies
  1539.     
  1540.       WARGSA_Format -- (V37) [.S..], STRPTR
  1541.           A formatting string that will be passed to RawDoFmt().
  1542.       WARGSA_TextPlace -- (V37) [C...], UWORD
  1543.           One of the WZRDPLACE_ constants which describe how the formatted
  1544.           text should be justified within the available graphical space.
  1545.       WARGSA_FrameType -- (V37) [C...], UWORD
  1546.           A number specifying the frame type to be drawn.
  1547.       WARGSA_TextPen -- (V37) [CS..],UWORD
  1548.           The color to be used for text output.
  1549.       WARGSA_Arg0-9 -- (V37) [CS..], ULONG
  1550.           Specify the arguments to be formatted here.
  1551.           WARNING: If the address of a string is passed, the string can
  1552.                    not be copied into an own buffer!
  1553.     
  1554.     WCLASS_GAUGE
  1555.     ------------
  1556.     - to display chronological progress
  1557.     - does not send any Notifies
  1558.     
  1559.       WGAUGEA_Total -- (V37) [CS..], UWORD
  1560.           Maximum level of the gauge.
  1561.       WGAUGEA_Current -- (V37) [CS..], UWORD
  1562.           Current level of the gauge, must be within 0 and WGUAGEA_Total.
  1563.       WGAUGEA_Format -- (V37) [CS..], STRPTR
  1564.           This tag overrides WGA_Label and specifies the formatting string
  1565.           to be passed along with the arguments to exec.library/RawDoFmt().
  1566.     
  1567.     WCLASS_CYCLE
  1568.     ------------
  1569.     - can be linked to Label gadgets for keyboard control
  1570.     
  1571.       WCYCLEA_Active -- (V37) [CSGN], UWORD
  1572.           Specifies the active entry.
  1573.       WCYCLEA_Labels -- (V37) [CS..], STRPTR
  1574.           The address of multiple strings separated by linefeeds ("\n").
  1575.           This tag overrides WGA_Label.
  1576.  
  1577.     WCLASS_VECTORBUTTON
  1578.     -------------------
  1579.     - objects of this type behave like objects of the Button class
  1580.     
  1581.       WVECTORBUTTONA_Type -- (V37) [C...], UWORD
  1582.           The number of the vector image to be displayed: File (0),
  1583.           Drawer (1) or Popup (2).
  1584.  
  1585.     WCLASS_DATE
  1586.     -----------
  1587.     - Objects of this type behave like calendar sheets.
  1588.     
  1589.       WDATEA_Day -- (V37) [CSGN], UWORD
  1590.           The day to be selected (1 or higher, default is 1).
  1591.       WDATEA_Month -- (V37) [CS..], UWORD
  1592.           The month whose days should be displayed (1 or higher, defaults
  1593.           to 1=January).
  1594.       WDATEA_Year -- (V37) [CS..], UWORD
  1595.           The year, must be bigger than 1978 (default is 1978).
  1596.     
  1597.     WCLASS_SPACE
  1598.     ------------
  1599.     - are used as space holders and to fill gaps.
  1600.     
  1601.       WSPACEA_Pen -- (V37) [C...], UWORD
  1602.           The colour to be used to draw a raster. The background colour is
  1603.         used as secondary colour.
  1604.     
  1605.     WCLASS_IMAGE
  1606.     ------------
  1607.     - displays Bitmaps within windows
  1608.     - does not send any Notifys
  1609.     
  1610.       WIMAGEA_BGPen -- (V37) [C...], UWORD
  1611.           The color to be used to draw a possibly existing border.
  1612.       WIMAGEA_FrameType -- (V37) [C...], UWORD
  1613.           Determines using which frame the object's dimensions will be
  1614.           drawn. Valid values are WZRDFRAME_NONE, WZRDFRAME_ICON,
  1615.           WZRDFRAME_ICON, WZRDFRAME_BUTTON, WZRDFRAME_STRING and
  1616.           WZRDFRAME_DOUBLEICON. Defaults to WZRDFRAME_ICON.
  1617.       WIMAGEA_HBorder -- (V37) [C...], UWORD
  1618.           The minimum distance to the left and right borders (defaults to 0).
  1619.       WIMAGEA_VBorder -- (V37) [C...], UWORD
  1620.           The minimum distance to the borders above and below of the object
  1621.           (defaults to 0).
  1622.       WIMAGEA_NewImage -- (V37) [C...], struct WizardNewImage *
  1623.           The address of an WizardNewImage structure which specifies the
  1624.           image to be drawn. Overrides WGA_NewImage.
  1625.     
  1626.     WCLASS_IMAGEBUTTON
  1627.     ------------------
  1628.     - behave like normal buttons but look like images
  1629.  
  1630.       WIMAGEBUTTONA_BGPen -- (V37) [C...], UWORD
  1631.           The color used to draw the border when the object is in
  1632.           unselected state.
  1633.       WIMAGEBUTTONA_SelBGPen -- (V37) [C...], UWORD
  1634.           The color used to draw the border when the object is in
  1635.           selected state.
  1636.       WIMAGEBUTTONA_FrameType -- (V37) [C...], UWORD
  1637.           The frame used to draw the object's dimensions. Valid values are
  1638.           WZRDFRAME_NONE, WZRDFRAME_ICON, WZRDFRAME_BUTTON, WZRDFRAME_STRING
  1639.           and WZRDFRAME_DOUBLEICON. The default is WZRDFRAME_ICON.
  1640.       WIMAGEBUTTONA_HBorder -- (V37) [C...], UWORD
  1641.           The minimum distance to keep free to the left and right border.
  1642.          Defaults to 0.
  1643.       WIMAGEBUTTONA_VBorder -- (V37) [C...], UWORD
  1644.           The minimum distance to keep free to the upper and lower border.
  1645.           Defaults to 0.
  1646.       WIMAGEBUTTONA_NewImage -- (V37) [C...], struct WizardNewImage *
  1647.           The address of the WizardNewImage structure containing the
  1648.           image to be drawn. This tag must be specified!
  1649.       WIMAGEBUTTONA_SelNewImage -- (V37) [C...], struct WizardNewImage *
  1650.           The address of the WizardNewImage structure containing the
  1651.           image to be drawn when the button is selected.
  1652.  
  1653.     WCLASS_IMAGETOGGLE
  1654.     ------------------
  1655.     - behave like Toggle objects but look like images
  1656.     - Flags: WITF_SimpleMode causes the object to be selectable-only, i.e.
  1657.       it can't be deselected any more
  1658.  
  1659.       WIMAGETOGGLEA_BGPen -- (V37) [C...], UWORD
  1660.           The color used to draw the border when the object is in
  1661.           unselected state.
  1662.       WIMAGETOGGLEA_SelBGPen -- (V37) [C...], UWORD
  1663.           The color used to draw the border when the object is in
  1664.           selected state.
  1665.       WIMAGETOGGLEA_FrameType -- (V37) [C...], UWORD
  1666.           The frame used to draw the object's dimensions. Valid values are
  1667.           WZRDFRAME_NONE, WZRDFRAME_ICON, WZRDFRAME_BUTTON, WZRDFRAME_STRING
  1668.           and WZRDFRAME_DOUBLEICON. The default is WZRDFRAME_ICON.
  1669.       WIMAGETOGGLEA_HBorder -- (V37) [C...], UWORD
  1670.           The minimum distance to keep free to the left and right border.
  1671.          Defaults to 0.
  1672.       WIMAGETOGGLEA_VBorder -- (V37) [C...], UWORD
  1673.           The minimum distance to keep free to the upper and lower border.
  1674.           Defaults to 0.
  1675.       WIMAGETOGGLEA_NewImage -- (V37) [C...], struct WizardNewImage *
  1676.           The address of the WizardNewImage structure containing the
  1677.           image to be drawn. This tag must be specified!
  1678.       WIMAGETOGGLEA_SelNewImage -- (V37) [C...], struct WizardNewImage *
  1679.           The address of the WizardNewImage structure containing the
  1680.           image to be drawn when the button is selected.
  1681.       WIMAGETOGGLEA_Checked -- (V37) [CSGN], BOOL
  1682.           TRUE if the imagetoggle object is pressed and FALSE otherwise.
  1683.  
  1684.     WCLASS_IMAGEPOPUP
  1685.     ------------------
  1686.     - Images with text popup menus
  1687.     - Flags: WITF_SimpleMode causes the object to be selectable-only, i.e.
  1688.       it can't be deselected any more
  1689.  
  1690.       WIMAGEPOPUPA_BGPen -- (V37) [C...], UWORD
  1691.           The color used to draw the border when the object is in
  1692.           unselected state.
  1693.       WIMAGEPOPUPA_FrameType -- (V37) [C...], UWORD
  1694.           The frame used to draw the object's dimensions. Valid values are
  1695.           WZRDFRAME_NONE, WZRDFRAME_ICON, WZRDFRAME_BUTTON, WZRDFRAME_STRING
  1696.           and WZRDFRAME_DOUBLEICON. The default is WZRDFRAME_ICON.
  1697.       WIMAGEPOPUPA_HBorder -- (V37) [C...], UWORD
  1698.           The minimum distance to keep free to the left and right border.
  1699.          Defaults to 0.
  1700.       WIMAGEPOPUPA_VBorder -- (V37) [C...], UWORD
  1701.           The minimum distance to keep free to the upper and lower border.
  1702.           Defaults to 0.
  1703.       WIMAGEPOPUPA_NewImage -- (V37) [C...], struct WizardNewImage *
  1704.           The address of the WizardNewImage structure containing the
  1705.           image to be drawn. This tag must be specified!
  1706.       WIMAGEPOPUPA_TextPlace -- (V37) [C...], UWORD
  1707.           Specifies how the text is to be justified. Use WZRDPLACE_LEFT,
  1708.           WZRDPLACE_CENTER or WRZDPLACE_RIGHT.
  1709.       WIMAGEPOPUPA_Labels -- (V37) [C...], STRPTR
  1710.           Address of the text to be used for the popup dialogue. Seperate
  1711.           the text with linefeeds ("\n"). This tag overrides WGA_LABEL.
  1712.       WIMAGEPOPUPA_Selected -- (V37) [...N], UWORD
  1713.           Number of the selected popup menu entry.
  1714.     
  1715.     WCLASS_TEXTPOPUP
  1716.     ----------------
  1717.     - look like buttons but contain popup menus
  1718.     - Flags: WTPF_NewLook displays the popup menu in 3D Look
  1719.     
  1720.       WTEXTPOPUPA_TextPlace -- (V37) [C...], UWORD
  1721.           Specifies how the popup text is to be justified. Use
  1722.           WZRDPLACE_LEFT, WZRDPLACE_CENTER or WRZDPLACE_RIGHT.
  1723.       WTEXTPOPUPA_Labels -- (V37) [C...], STRPTR
  1724.           Address of the texts to be used for the popup dialogue. Separate
  1725.           the text with linefeeds ("\n"). This tag overrides WGA_LABEL2
  1726.           and must be specified.
  1727.       WTEXTPOPUPA_Name -- (V37) [C...], STRPTR
  1728.           The text to be used for the button. Overrides WGA_LABEL.
  1729.       WTEXTPOPUPA_Selectd -- (V37) [...N], UWORD
  1730.           Number of the selected popup menu entry.
  1731.     
  1732.     WCLASS_PALETTE
  1733.     --------------
  1734.     - allows the user to select a colour out of a palette
  1735.     
  1736.       WPALETTEA_Colors -- (V37) [C...], UWORD
  1737.           The number of colours that should be selectable or -1 to use the
  1738.           maximum possible number of colours. The maximum allowed value for
  1739.           this tag is 255.
  1740.       WPALETTEA_Selected -- (V37) [CSGN], WORD
  1741.           Number of the selected color (defaults to -1).
  1742.       WPALETTEA_Offset -- (V37) [C...], UWORD
  1743.           Number of the first selectable colour register.
  1744.     
  1745.     WCLASS_VECTORPOPUP
  1746.     ------------------
  1747.     - look like Vector buttons but contain popup menus
  1748.     - Flags: WTPF_NewLook displays the popup menu in 3D Look
  1749.     
  1750.       WVECTORPOPUPA_Type -- (V37) [C...], UWORD
  1751.           Number of the Vector image to be used for display: File (0),
  1752.           Drawer (1) or Popup (2).
  1753.       WVECTORPOPUPA_Labels -- (V37) [C...], STRPTR
  1754.           Address of the texts to be used for the popup dialogue. Separate
  1755.           the text with linefeeds ("\n"). This tag overrides WGA_LABEL
  1756.           and must be specified.
  1757.       WVECTORPOPUPA_TextPlace -- (V37) [C...], UWORD
  1758.           Specifies how the popup text is to be justified. Use
  1759.           WZRDPLACE_LEFT, WZRDPLACE_CENTER or WRZDPLACE_RIGHT.
  1760.       WVECTORPOPUPA_Selected -- (V37) [...N]
  1761.           Number of the selected popup menu entry.
  1762.     
  1763.     WCLASS_HIERARCHY
  1764.     ----------------
  1765.     - similar to ListView objects
  1766.     - are capable of displaying hierarchical lists
  1767.     - Flags: WHRF_DoubleClicks will cause messages to be sent when a
  1768.       double-click is issued.
  1769.     
  1770.       WHIERARCHYA_ImageType -- (V37) [C...], UWORD
  1771.           Chooses an existing image to be used. Valid values are None (0),
  1772.           Tree (1) and Triangle (2).
  1773.       WHIERARCHYA_ImageWidth -- (V37) [CS..], UWORD
  1774.           The width of the drawable images which also serve as switches to
  1775.           expand/collapse parts of the tree.
  1776.       WHIERARCHYA_Top -- (V37) [CSG.], ULONG
  1777.           The number of the first visible node.
  1778.       WHIERARCHYA_List -- (V37) [CS..], struct MinList *
  1779.           The address of the list whose contents are to be displayed. The
  1780.           list passed must contain WizardTreeNodes whose ParentNode and Childs
  1781.           fields must be correctly initialised. The structure should be
  1782.           organised in a tree-like chain structure. All nodes that are
  1783.           directly linked into the MinList structure must have a zero in
  1784.           their ParentNode field as there is no parent node for these.
  1785.       WHIERARCHYA_Visible -- (V37) [.S..], UWORD
  1786.           Use this tag to specify the number of a node who should be under
  1787.           all circumstances visible in the window. Only those nodes are
  1788.           counted who can be displayed because their parent node is already
  1789.           open.
  1790.       WHIERARCHYA_Selected -- (V37) [CSGN], LONG
  1791.           The number of the selected list entry. If the object belongs to
  1792.           the MultiListView class, the last selected entry is affected.
  1793.       WHIERARCHYA_DoubleClick -- (V37) [...N], BOOL
  1794.           If a message was sent by the object and this tag equals TRUE, the
  1795.           message was caused by a double-click on a list entry.
  1796.       WHIERARCHYA_HeaderNode -- (V38) [.S...], struct WizardNode *
  1797.           A pointer to a WizardNode which is used as header.
  1798.       WHIERARCHYA_Columns -- (V38) [.S...], UWORD
  1799.           The number of columns that should be used to display the list or
  1800.           NULL.
  1801.  
  1802.     WCLASS_HSLIDER and WCLASS_VSLIDER
  1803.     ---------------------------------
  1804.     - these are sliders for all kinds of uses
  1805.     - Flags: WLSF_NewLook renders the sliders in the "new" OS/3 look
  1806.     
  1807.       WSLIDERA_Level -- (V37) [CSGN], WORD
  1808.           The current level of the slider. Can range from Min to Max and
  1809.           defaults to 0.
  1810.       WSLIDERA_Min (V37) [CSG.], WORD
  1811.           Specifies the lower limit for the slider (defaults to -10).
  1812.       WSLIDERA_Max -- (V37) [CSG.], WORD
  1813.           Specifies the upper limit for the slider (defaults to 10).
  1814.  
  1815.     WCLASS_STRINGFIELD
  1816.     ------------------
  1817.     
  1818.       WSTRINGFIELDA_Text -- (V38) [CSGN], STRPTR
  1819.           The address of a zero-terminated text.
  1820.       WSTRINGFIELDA_MaxChars -- (V38) [C...], UWORD
  1821.           The maximum length of the editable text without the terminating
  1822.           zero byte. The maximum value allowed is 1023.
  1823.       WSTRINGFIELDA_MaxLines -- (V38) [C...], UWORD
  1824.           The maximum number of lines. The highest value allowed is 256.
  1825.       WSTRINGFIELDA_Hook -- (V38) [C...], ULONG
  1826.           This hook can be used to implement your own functions.
  1827.       WSTRINGFIELDA_TextPen,
  1828.       WSTRINGFIELDA_STextPen,
  1829.       WSTRINGFIELDA_CTextPen,
  1830.       WSTRINGFIELDA_BGPen,
  1831.       WSTRINGFIELDA_SBGPen,
  1832.       WSTRINGFIELDA_CBGPen -- (V38) [C...], UWORD
  1833.           The Pens used to render the string field. MagicPens are allowed.
  1834.  
  1835. RESULTS
  1836.     obj    - a pointer to the object created.
  1837.  
  1838. SEE ALSO
  1839.     intuition.library/DisposeObject()
  1840.  
  1841. wizard.library/WZ_ObjectID
  1842.  
  1843. NAME
  1844.     WZ_ObjectID -- obtains an object's object ID
  1845.     
  1846. SYNOPSIS
  1847.     success = WZ_ObjectID(surface,id,objectname)
  1848.     D0            a0    a2    a1
  1849.  
  1850. FUNCTION
  1851.     Returns the object ID of an objects whose name was passed.
  1852.  
  1853. ARGUMENTS
  1854.     surface    - the value returned by a call to WZ_OpenSurface()
  1855.     id       - a pointer to a memory area of four bytes which is
  1856.              used by the function to return the ID on success
  1857.     objectname - The name of the object whose ID is to be obtained
  1858.         
  1859. RESULTS
  1860.     sucess       - TRUE if the ID could be found and FALSE otherwise
  1861.  
  1862. SEE ALSO
  1863.     WZ_OpenSurface()
  1864.  
  1865. wizard.library/WZ_OpenSurfaceA
  1866.  
  1867. NAME
  1868.     WZ_OpenSurfaceA -- opens a surface description
  1869.     WZ_OpenSurface  -- variable arguments version for higher programming languages
  1870.     
  1871. SYNOPSIS
  1872.     Surface    = WZ_OpenSurfaceA(name, memaddr,tags)
  1873.     D0        A0    A1    A2
  1874.     
  1875.     APTR WZ_OpenSurfaceA(STRPTR, APTR,struct TagItem *);
  1876.  
  1877.     Surface    = WZ_OpenSurface(name, memaddr,firsttag, ... )
  1878.     
  1879.     APTR WZ_OpenSurface(STRPTR, APTR,Tag, ... );
  1880.  
  1881. FUNCTION
  1882.     This function opens a surface description for usage. If the file
  1883.     was already loaded you can pass 0 for name and specify its address
  1884.     as "memadr".
  1885.     Usually, "name" should be a pointer to the name of the file and
  1886.     "memadr" should be NULL.
  1887.  
  1888. WARNING
  1889.     If in address is passed using memadr you have to make sure that the
  1890.     surface description will only be initialised once. This means that
  1891.     programs which use this capability must not be loaded resident!
  1892.  
  1893. ARGUMENTS
  1894.     name     - a pointer to the name of the file (NULL-terminated)
  1895.     memaddr - if "name" was not specified: a pointer into the memory
  1896.           location which contains the surface description
  1897.     tags     - the following tags are defined:
  1898.         
  1899.       SFH_Locale - (V37) , struct Locale *
  1900.         a pointer as returned by locale.library/OpenLocale() if you
  1901.         do not want to use the system's standard locale.
  1902.       SFH_Catalog - (V37), struct Catalog *
  1903.         a pointer to the opened Catalogue file, see locale.library/
  1904.         OpenCatalog().
  1905.       SFH_AutoInit - (V37), BOOL
  1906.         If the surface description is to be opened from a fixed
  1907.         memory location, setting this to FALSE will disable its
  1908.         initialisation. In that case the surface description MUST
  1909.         have been already initialised! Defaults to TRUE. 
  1910.  
  1911. RESULTS
  1912.     Surface    - a pointer or NULL if an error occurred
  1913.  
  1914. SEE ALSO
  1915.     WZ_CloseSurface(), WZ_SnapShotA()
  1916.  
  1917. wizard.library/WZ_OpenWindowA()
  1918.  
  1919. NAME
  1920.     WZ_OpenWindowA -- Opens a window
  1921.     WZ_OpenWindow  -- variable arguments version for higher programming languages
  1922.     
  1923. SYNOPSIS
  1924.     window    = WZ_OpenWindowA(winhandle, newwin, tags)
  1925.     D0            A0    A1    A2
  1926.     
  1927.     struct Window *WZ_OpenWindowA(struct WizardWindowHandle *,
  1928.             struct NewWindow *, struct TagItem *);
  1929.  
  1930.     window    = WZ_OpenWindow(winhandle, newwin, firstTag, ... )
  1931.     
  1932.     struct Window *WZ_OpenWindow(struct WizardWindowHandle *,
  1933.             struct NewWindow *, Tag, ... );
  1934.  
  1935. FUNCTION
  1936.     Opens a window similar to the Intuition function.
  1937.  
  1938. WARNING
  1939.     Using the Intuition function will lead to unpredictable results
  1940.     during the layout process.
  1941.  
  1942. ARGUMENTS
  1943.     winhandle    - a WizardWindowHandle as obtained by a call to
  1944.               WZ_AllocWindowHandle()
  1945.     newwin        - a NewWindowStruct or NULL, e.g. as returned by
  1946.               WZ_CreateWindowObj().
  1947.     tags         - Tags (e.g. WA_AutoAdjust)
  1948.  
  1949. RESULTS
  1950.     window        - a pointer to a Window structure or NULL if an
  1951.               error occurred
  1952.  
  1953. SEE ALSO
  1954.     WZ_CloseWindow()
  1955.  
  1956. wizard.library/WZ_SnapShotA()
  1957.  
  1958. NAME
  1959.     WZ_SnapShotA -- Fixes window positions and dimensions
  1960.     WZ_SnapShot -- variable arguments version for higher programming languages
  1961.     
  1962. SYNOPSIS
  1963.     success    = WZ_SnapShotA(surface,tags)
  1964.     D0        A0
  1965.     
  1966.     BOOL    WZ_SnapShot(APTR,struct TagItem *);
  1967.  
  1968.     success    = WZ_SnapShot(surface, firstTag, ... )
  1969.     D0        A0
  1970.     
  1971.     BOOL    WZ_SnapShot(APTR, Tag, ... );
  1972.  
  1973. FUNCTION
  1974.     This function saves the current window position and dimensions back
  1975.     to the surface description. Windows which are yet open are ignored.
  1976.     Usually you will want to call this function at the end of the
  1977.     program.
  1978.  
  1979. WARNING
  1980.     If WZ_OpenSurface() was called with the "memadr" parameter this
  1981.     function will fail!
  1982.  
  1983. ARGUMENTS
  1984.     surface    - the value returned by a call to WZ_OpenSurface()
  1985.     tags - currently none
  1986.  
  1987. RESULTS
  1988.     success    - TRUE on success or FALSE if an error occured
  1989.  
  1990. SEE ALSO
  1991.     WZ_OpenSurface(), WZ_CloseSurface()
  1992.  
  1993. wizard.library/WZ_UnlockWindow
  1994.  
  1995. NAME
  1996.     WZ_UnlockWindow -- Unlocks a window
  1997.     
  1998. SYNOPSIS
  1999.     RESULTS = WZ_UnlockWindow(winhandle)
  2000.     D0        A0
  2001.     
  2002.     ULONG    WZ_UnlockWindow(struct WizardWindowHandle *);
  2003.  
  2004. FUNCTION
  2005.     Reallows user input in a window.
  2006.  
  2007. WARNING
  2008.     If the window was not previously locked fatal system errors may occur.
  2009.     If it was locked multiple times it must be unlocked exactly that often.
  2010.     This means that a single call does not necessarily actually reenable
  2011.     user input.
  2012.  
  2013. ARGUMENTS
  2014.     winhandle    - WizardWindowHandle whose window is to be unlocked
  2015.  
  2016. RESULTS
  2017.     RESULTS    - returns the number of WZ_UnlockWindow() calls left that are
  2018.               required to enable user input. NULL if the window receives user
  2019.               input again. A value of -1 indicates a fatal error.
  2020.  
  2021. SEE ALSO
  2022.     WZ_LockWindow()
  2023.  
  2024. wizard.library/WZ_UnlockWindows
  2025.  
  2026. NAME
  2027.     WZ_UnlockWindows -- Unlocks all windows
  2028.     
  2029. SYNOPSIS
  2030.     WZ_UnlockWindows(surface)
  2031.             A0
  2032.     
  2033.     VOID WZ_UnlockWindows(APTR);
  2034.  
  2035. FUNCTION
  2036.     This function performs an WZ_UnlockWindow() for all windows belonging
  2037.     to a surface description.
  2038.  
  2039. ARGUMENTS
  2040.     surface    - Returnwert von WZ_OpenSurface()
  2041.  
  2042. SEE ALSO
  2043.     WZ_LockWindows()
  2044.  
  2045.  
  2046.