home *** CD-ROM | disk | FTP | other *** search
/ synchro.net / synchro.net.tar / synchro.net / modem.madness / SMMPROG / PBGUI200.ZIP / PBGUI200.DOC < prev    next >
Encoding:
Text File  |  1993-07-17  |  30.6 KB  |  1,074 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.                               PBGUI TOOLKIT 2.00
  23.  
  24.                                   Written  By
  25.  
  26.                                 James C. Fuller
  27.  
  28.                                  For Use With
  29.  
  30.                                 PowerBASIC 3.00
  31.  
  32.                                       by
  33.  
  34.                               SPECTRA Publishing
  35.  
  36.  
  37.  
  38.  
  39.  
  40.           The  PBGUI TOOLKIT has been tested only on my machine. I  take
  41.        no  responsible for any problems that may occur from the  use  of
  42.        the routines in this toolkit.
  43.  
  44.  
  45.           The  PBGUI  TOOLKIT  is a Shareware package  that  offers  the
  46.        PowerBASIC  programmer a library of sophisticated  graphics  rou-
  47.        tines to aid in the development of professional quality  programs
  48.        for   the   commercial   and  shareware  markets.   Please   read
  49.        REGISTER.DOC  for information on pricing and the availability  of
  50.        other products.
  51.  
  52.  
  53.           The   number  one problem I have encountered when using  third
  54.        party  add on libraries is the extensive recoding I needed to  do
  55.        when a revised edition came out. Very often the number, order, or
  56.        type of parameters passed to the procedures changed, forcing  me
  57.        to rewrite large sections of code. Many times I opted not to  use
  58.        the  updated libraries at all. I have addressed this  problem  by
  59.        using  Global User Defined Data Types for a number of the  proce-
  60.        dures. Another  benefit of using TYPES is a reduction in   coding
  61.        when several buttons with common attributes are created.
  62.  
  63.  
  64.           There is very limited error checking in this product. This was
  65.        done to keep the size of the library as small as possible, allow-
  66.        ing the programmer to use error checking during development while
  67.        removing it in a completed application.
  68.  
  69.  
  70.  
  71.            This  toolkit  is NOT an MSWindows clone. It  is  primarily  a
  72.        graphical  library  for presenting attractive and  user  friendly
  73.        screens for the purpose of gathering information.
  74.  
  75.  
  76.           The  following  is a list of the primary building  blocks  you
  77.        have to work with in developing your application. A more detailed
  78.        description of each of the functions follows.
  79.  
  80.  
  81.        < Windows >
  82.  
  83.                These  are  STACK (Last In First Out)  based  The  Active
  84.                window is the last window opened. To activate a previous-
  85.                ly created window you must close the active one. You  may
  86.                open as many windows as conventional memory allows.
  87.  
  88.  
  89.        < Buttons >
  90.  
  91.                Push Buttons
  92.                Radio Buttons
  93.                Check Boxes
  94.                Area Buttons
  95.  
  96.  
  97.  
  98.  
  99.  
  100. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 1
  101.  
  102.  
  103.  
  104.  
  105.        < EditFields >
  106.  
  107.                Data Input Areas
  108.  
  109.  
  110.        < ListBox >
  111.  
  112.                A scrolling list picker.
  113.  
  114.  
  115.        < MessageBox >
  116.  
  117.                An information window.
  118.  
  119.        < Fonts >
  120.  
  121.                A  number of Bitmapped Fonts are included. There will  be
  122.                an  MSWindows program available that will convert  MSWin-
  123.                dows fonts to my format.
  124.  
  125.  
  126.  
  127.        < Drawing Tools >
  128.  
  129.                Panel           Up or Down (Raised or Etched)
  130.                ThreeDBox       Up or Down
  131.                FilledThreeDBox Up or Down with optional color fill.
  132.                ThreeDline      Up or Down
  133.                WindowLine      plain line
  134.  
  135.  
  136.        < Color Control >
  137.  
  138.                You have the ability to use any color you want and not be
  139.                limited to PowerBASIC's 63 palette colors.
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 2
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.        The following is a list of the DATA TYPES that are used with this
  174.        library, and an explanation of their use.
  175.  
  176.  
  177.        TYPE WindowOpenType
  178.                handle                  AS INTEGER
  179.                row1                    AS INTEGER
  180.                col1                    AS INTEGER
  181.                row2                    AS INTEGER
  182.                col2                    AS INTEGER
  183.                BackColor               AS INTEGER
  184.                LightColor              AS INTEGER
  185.                DarkColor               AS INTEGER
  186.                TextColor               AS INTEGER
  187.                BorderColor             AS INTEGER
  188.                Title                   AS STRING * 80
  189.                SaveBkgd                AS INTEGER
  190.        END TYPE
  191.  
  192.        handle:
  193.                Number  of  the window you are opening. Even  though  the
  194.                they are LIFO based, other routines rely on this  number.
  195.                Use  the  WindowNext%()  Function to  retrieve  the  next
  196.                available handle.
  197.  
  198.        row1:
  199.                Top row of window
  200.  
  201.        col1:
  202.                Left  edge  of  window. Windows will be  aligned  to  the
  203.                nearest  text column. col1 must be greater or equal to  8
  204.                to allow for a border.
  205.  
  206.        row2:
  207.                Bottom row of window
  208.  
  209.        col2:
  210.                Right edge of window.
  211.  
  212.        BackColor:
  213.                Window background color
  214.  
  215.        LightColor:
  216.                Window Highlight color
  217.  
  218.        DarkColor:
  219.                Window Shadow color
  220.  
  221.        BorderColor:
  222.                Window Border Color
  223.  
  224.        Title:
  225.                Text  string  for  Title (max 80  chars).  End  all  text
  226.                strings with a CHR$(0).
  227.  
  228.        Savebkgd:
  229.                If %TRUE Background is saved. IF %FALSE NOT saved.
  230.  
  231.  
  232. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 3
  233.  
  234.  
  235.  
  236.  
  237.        UNION FontIDUnion
  238.          Number AS INTEGER
  239.          FileName AS STRING * 8
  240.        END UNION
  241.  
  242.        The FontID Union is used in ButtonOpenType.
  243.        FileName is used in  version 2.00
  244.        example BOT.FontID.FileName="dub10"; where BOT is ButtonOpenType
  245.  
  246.        =================================================================
  247.  
  248.        TYPE ButtonOpenType
  249.                handle                  AS INTEGER
  250.                state                   AS INTEGER
  251.                text                    AS STRING * 30
  252.                row1                    AS INTEGER
  253.                col1                    AS INTEGER
  254.                row2                    AS INTEGER
  255.                col2                    AS INTEGER
  256.                ButtonType              AS INTEGER
  257.                TextColor               AS INTEGER
  258.                LightColor              AS INTEGER
  259.                DarkColor               AS INTEGER
  260.                BackColor               AS INTEGER
  261.                FontID                  AS FontIDUnion
  262.        END TYPE
  263.  
  264.        handle:               Number of the Button you are opening
  265.  
  266.        state:
  267.                              Command Buttons
  268.                                        1 = Not Active
  269.                                        2 = Active
  270.  
  271.                              Radio Buttons
  272.                                        1 = Not Selected
  273.                                        2 = Selected
  274.  
  275.                              Check Boxes
  276.                                        1 = Not Checked
  277.                                        2 = Checked
  278.  
  279.        text:                 String up to 30 characters for Button label
  280.  
  281.        row1, col
  282.        row2, col2            Window coordinates of button
  283.  
  284.        ButtonType:           1 = Command Button
  285.                              2 = Check Box
  286.                              3 = Radio Button
  287.                              4 = Area Button
  288.  
  289.        Colors:               Same as WindowOpenType
  290.  
  291.        FontID:               Font Name example : BOT.FontID.Name = "f8"
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 4
  299.  
  300.  
  301.  
  302.  
  303.        TYPE EditFieldOpenType
  304.                handle                  AS INTEGER
  305.                state                   AS INTEGER
  306.                text                    AS STRING * 80
  307.                row                     AS INTEGER
  308.                col                     AS INTEGER
  309.                ForeColor               AS INTEGER
  310.                BackColor               AS INTEGER
  311.                Length                  AS INTEGER
  312.        END TYPE
  313.  
  314.  
  315.        handle:               Number of the EditField
  316.  
  317.        state:                %Active or %NotActive
  318.  
  319.        text:                 text to display when EditField is Opened.
  320.                              pad with SPACES to size in Length.
  321.  
  322.        row:                  top row
  323.  
  324.        col:                  left column
  325.  
  326.        ForeColor:            0-15 Color of text.
  327.  
  328.        BackColor:            Color of EditField Background.
  329.  
  330.        Length:               Width of EditField in text columns
  331.  
  332.        =================================================================
  333.  
  334.        TYPE ListBoxDataType
  335.                row                     AS INTEGER
  336.                col                     AS INTEGER
  337.                height                  AS INTEGER
  338.                BoxBackColor            AS INTEGER
  339.                BoxLightColor           AS INTEGER
  340.                BoxDarkColor            AS INTEGER
  341.                BoxTextColor            AS INTEGER
  342.                ButBackColor            AS INTEGER
  343.                ButLightColor           AS INTEGER
  344.                ButDarkColor            AS INTEGER
  345.                ButTextColor            AS INTEGER
  346.                ActiveItems             AS STRING * 256
  347.        END TYPE
  348.  
  349.        row:                  top row
  350.  
  351.        col:                  left column
  352.  
  353.        height:               Number of elements to display
  354.  
  355.        BoxColors:            Box Colors of the ListBox
  356.  
  357.        ButColors:            Colors of "OK" and "Cancel" Buttons
  358.  
  359.        ActiveItems:          use "0" for inactive "1" for Active
  360.  
  361.  
  362.  
  363.  
  364. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 5
  365.  
  366.  
  367.  
  368.  
  369.        TYPE MessageBoxDataType
  370.                BoxBackColor            AS INTEGER
  371.                BoxLightColor           AS INTEGER
  372.                BoxDarkColor            AS INTEGER
  373.                BoxTextColor            AS INTEGER
  374.                BoxBorderColor          AS INTEGER
  375.                ButBackColor            AS INTEGER
  376.                ButLightColor           AS INTEGER
  377.                ButDarkColor            AS INTEGER
  378.                ButTextColor            AS INTEGER
  379.                FontID                  AS FontIDUnion
  380.                ButOneText              AS STRING * 10
  381.                ButTwoText              AS STRING * 10
  382.        END TYPE
  383.  
  384.  
  385.        I think the only things new are the ButOneText and ButTwoText.
  386.        These are CHR$(0) ending strings for the text on the buttons.
  387.        See the FUNCTION description for more information.
  388.  
  389.        =================================================================
  390.  
  391.        There  are a number of GLOBAL variables that are used  throughout
  392.        the library. The TYPES have already been described. These are the
  393.        GLOBAL names that are used for those types.
  394.  
  395.        GLOBAL DATA TYPES
  396.  
  397.                BOT           AS ButtonOpenType
  398.                EFOT          AS EditFieldOpenType
  399.                LBDT          AS ListBoxDataType
  400.                MBDT          AS MessageBoxDataType
  401.                WOT           AS WindowOpenType
  402.  
  403.  
  404.        =================================================================
  405.  
  406.        GLOBAL VARIABLES
  407.  
  408.        Name             Type      Description
  409.  
  410.        AveWidth         BYTE      Average Width of Font Character.
  411.        Bold             BYTE      IF %TRUE  text is bold
  412.        CharSpace        BYTE      The space between characters
  413.        FontHeight       BYTE      The Height of Currently Loaded Font
  414.        FontLoaded       INTEGER   %TRUE if any Font is Loaded
  415.        FontPath         STRING    The Path where your fonts are located
  416.        Shadow           BYTE      %TRUE for Text Shadow %FALSE if none
  417.        ShadowColor      INTEGER   Color of Shadow
  418.        Raised           BYTE      %TRUE for Raised Text %FALSE for plain
  419.        RaisedColor      INTEGER   Highlight color for raised text.
  420.        MAXWindow        INTEGER   Maximum Number Of Windows
  421.        MAXButton        INTEGER   Maximum Number Of Buttons
  422.        MAXEditField     INTEGER   Maximum Number Of EditFields
  423.        WhichMouseButton BYTE      1=LEFT, 2=RIGHT
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 6
  431.  
  432.  
  433.  
  434.  
  435.        Global Notes:
  436.  
  437.          Do  NOT alter AveWidth. It is used by the font drawing  routine
  438.          for  the  SPACE.  I only listed it here because it  is  in  the
  439.          include file and you might be curious as to it's purpose.
  440.  
  441.          I  have included the MAX  variables to keep memory use  at  the
  442.          minimum needed by an application.
  443.  
  444.          When  using Raised make sure Shadow = %FALSE. Raised  uses  the
  445.          ShadowColor for the shadow and by having Shadow = %TRUE it just
  446.          makes an unnecessary call to the Shadow routine.
  447.  
  448.          The toolkit recognizes both left and right mouse clicks as  the
  449.          same, but you can examine the global variable  WhichMouseButton
  450.          in  the  Event loop and perform an action  depending  on  which
  451.          button was clicked.
  452.  
  453.        =================================================================
  454.  
  455.        CONSTANTS
  456.  
  457.            There also are a number of constants in the include file that
  458.            will  be mentioned in the FUNCTION and SUB  definitions.  The
  459.            following is a list of those constants.
  460.  
  461.                    %TRUE = -1               %RadioButton = 3
  462.                    %FALSE = 0               %AreaButton = 4
  463.                    %UP = 0                  %Active = 1
  464.                    %DOWN = 1                %NotActive = 2
  465.                    %VERT = 0                %MakeWindow = 1
  466.                    %HORZ = 1                %MakeButton = 2
  467.                    %CommandButton = 1       %MakeEditField = 2
  468.                    %CheckBoxButton = 2
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 7
  497.  
  498.  
  499.  
  500.  
  501.                     <<<<    PBGUI TOOLKIT FUNCTIONS    >>>>
  502.  
  503.        ================================================================
  504.  
  505.        << ButtonGetState >>
  506.  
  507.            DESCRIPTION: Returns the State of a Button
  508.            SYNTAX     : State% = ButtonGetState%(handle%)
  509.            ARGUMENTS  : handle% = Button Number
  510.            COMMENTS   :
  511.  
  512.        ================================================================
  513.  
  514.        << EditFieldGetState >>
  515.  
  516.            DESCRIPTION: Returns the State of an EditField
  517.            SYNTAX     : State% = EditFieldGetState%(handle%)
  518.            ARGUMENTS  : handle% = EditField Number
  519.            COMMENTS:
  520.  
  521.        ================================================================
  522.  
  523.        << Event >>
  524.  
  525.            DESCRIPTION: Returns an INTEGER reflecting the Type of Event
  526.                           or  the number of the (Button/EditField)  that
  527.                           triggered the Event.
  528.            SYNTAX     : dummy% = Event%(EventType%)
  529.            ARGUMENTS  : EventType% = one of the values from below.
  530.            COMMENT:
  531.  
  532.              Return Values For:
  533.                    Event(0)
  534.                       1           A Button was selected
  535.                       2           An EditField was selected
  536.                       3           Enter Key
  537.                       4           TAB Key
  538.                       5           Shift TAB
  539.                       6           Escape
  540.                     -(X)          Where X is an extended key code from
  541.                                   page 362 of the Reference Guide.
  542.                    Event(1)       Returns selected Button Number
  543.                    Event(2)       Returns selected EditField Number
  544.  
  545.        ================================================================
  546.  
  547.        << GetCurrentFont >>
  548.  
  549.            DESCRIPTION: Returns the currently loaded font name.
  550.            SYNTAX     : WhichFont$ = GetCurrentFont$
  551.            ARGUMENTS  : None
  552.            COMMENT:
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 8
  563.  
  564.  
  565.  
  566.  
  567.        << GetEditField >>
  568.  
  569.            DESCRIPTION: Returns an EditField's contents.
  570.            SYNTAX     : String1$ = GetEditField$(handle%)
  571.            ARGUMENTS  : handle% = EditFiled Number.
  572.            COMMENT:
  573.  
  574.        ================================================================
  575.  
  576.        << ListBox >>
  577.  
  578.            DESCRIPTION: Creates a scrollable list box.
  579.            SYNTAX     : Pick% = ListBox%(Items$())
  580.            ARGUMENTS  : Items$() = list of items to be picked from.
  581.            COMMENTS   : REDIM Items$() to the number of elements you
  582.                           want  before calling the function.  Pick%  re-
  583.                           turns  the item that was selected or 0 if  the
  584.                           cancel button was chosen. See the ListBoxData-
  585.                           Type for other Data that ListBox requires  and
  586.                           the demo for use.
  587.  
  588.        ================================================================
  589.  
  590.        << LoadFont >>
  591.  
  592.            DESCRIPTION: Loads a Font into memory.
  593.            SYNTAX     : FontLoaded = LoadFont%(FontName$)
  594.            ARGUMENTS  : FontName$ = File Name of Font file.
  595.            COMMENTS   : Do not use extension in file name. LoadFont
  596.                           expects  an extension of "fnt".  FontLoaded  =
  597.                           %FALSE if LoadFont cannot locate the file.
  598.  
  599.        ================================================================
  600.  
  601.        <<  LoadWindow  >>
  602.  
  603.            DESCRIPTION: Loads Screen and Window Data that was saved with
  604.                         the SaveWindow SUB.
  605.            SYNTAX     : Success% = LoadWindow(WindowFileName$)
  606.            ARGUMENTS  : WindowFileName$ = Path and filename that was
  607.                         used by SaveWindow to save Data. Returns  %FALSE
  608.                         if it fails %TRUE if successful.
  609.            COMMENTS   :
  610.  
  611.        ================================================================
  612.  
  613.        << MessageBox >>
  614.  
  615.            DESCRIPTION: Displays a Window with a message and either one
  616.                           or two buttons.
  617.            SYNTAX     : WhichButton% = MessageBox(Message$())
  618.            ARGUMENTS  : Message$() = Lines to be displayed.
  619.            COMMENTS   : REDIM Message$() to the number of lines of text
  620.                           you  wish  to display. If you  want  just  one
  621.                           button  make sure MBDT.ButTwoText  =  CHR$(0).
  622.                           See   MessageBoxDataType for other  Data  that
  623.                           MessageBox requires and the demo for its use.
  624.  
  625.  
  626.  
  627.  
  628. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 9
  629.  
  630.  
  631.  
  632.  
  633.        << WindowNext >>
  634.  
  635.            DESCRIPTION: Returns the next available window handle.
  636.            SYNTAX     : WOT.handle = WindowNext%
  637.            ARGUMENTS  : None
  638.            COMMENTS:
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 10
  695.  
  696.  
  697.  
  698.  
  699.                       <<<<    PBGUI TOOLKIT SUBS    >>>>
  700.  
  701.        ================================================================
  702.  
  703.        << ButtonSetState >>
  704.  
  705.  
  706.            DESCRIPTION: Sets the State of a Button.
  707.            SYNTAX     : ButtonSetState handle%, State%
  708.            ARGUMENTS  : handle% = Button number
  709.                          State% = %Active or %NotActive
  710.            COMMENTS   :
  711.  
  712.        ================================================================
  713.  
  714.        << ButtonToggleState >>
  715.  
  716.            DESCRIPTION: Toggles the state of a Button
  717.            SYNTAX     : ButtonToggleState handle%
  718.            ARGUMENTS  : handle% = Button number
  719.            COMMENTS:
  720.  
  721.        ================================================================
  722.  
  723.        <<  ChangeButtonText >>
  724.  
  725.            DESCRIPTION: Changes the text on a Button
  726.            SYNTAX     : ChangeButtonText handle%, text$
  727.            ARGUMENTS  : handle% = Button number
  728.                         text$ = chr$(0) terminated string of new text
  729.            COMMENTS   :
  730.  
  731.        ================================================================
  732.  
  733.        << CloseWindow >>
  734.  
  735.            DESCRIPTION: Closes the last opened window.
  736.            SYNTAX     : CloseWindow
  737.            ARGUMENTS  : None
  738.            COMMENTS:
  739.  
  740.        ================================================================
  741.  
  742.        << ColorInit >>
  743.  
  744.            DESCRIPTION: Sets up a default Palette of colors
  745.            SYNTAX     : ColorInit
  746.            ARGUMENTS  : None
  747.            COMMENTS   : Colors >>
  748.                           0       Black               10 Light Green
  749.                           1       Light Gray          11 Green
  750.                           2       Gray                12 Dark Green
  751.                           3       Dark Gray           13 Yellow
  752.                           4       Light Red           14 Cyan
  753.                           5       Red                 15 White
  754.                           6       Dark Red
  755.                           7       Light Blue
  756.                           8       Blue
  757.                           9       Dark Blue
  758.  
  759.  
  760. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 11
  761.  
  762.  
  763.  
  764.  
  765.        << EditFieldSetState >>
  766.  
  767.            DESCRIPTION: Sets the State of an EditField
  768.            SYNTAX     : EditFieldSetState handle%, state%
  769.            ARGUMENTS  : handle% = EditField number
  770.                         state% = %Active or %NotActive
  771.            COMMENTS:
  772.  
  773.        ================================================================
  774.  
  775.        << EditFieldToggleState >>
  776.  
  777.            DESCRIPTION: Toggles the EditField state
  778.            SYNTAX     : EditFieldToggleState handle%
  779.            ARGUMENTS  : handle% = EditField number
  780.            COMMENTS   :
  781.  
  782.        ================================================================
  783.  
  784.        << EditFieldSetString >>
  785.  
  786.            DESCRIPTION: Sets the EditField's contents
  787.            SYNTAX     : EditFiledSetString handle%, EditString$
  788.            ARGUMENTS  : handle% = EditField number
  789.                         EditString$ = a chr$(0) terminated string
  790.            COMMENTS   : see RedrawEditField
  791.  
  792.        ================================================================
  793.  
  794.        <<  FilledThreeDBox  >>
  795.  
  796.            DESCRIPTION: Draws a Filled 3D rectangle in a window
  797.            SYNTAX     : FilledThreeDBox UpOrDown%, row1%, col1%, row2%,_
  798.                         col2%,FillColor%
  799.            ARGUMENTS  : UpOrDown% = %UP for raised, %DOWN for etched
  800.                         row1% = top
  801.                         col1% = left
  802.                         row2% = bottom
  803.                         col2% = right
  804.                         FillColor%  = fillcolor
  805.  
  806.        ================================================================
  807.  
  808.        << GetEvent >>
  809.  
  810.            DESCRIPTION: Gets data from keyboard or mouse
  811.            SYNTAX     : GetEvent StartEdit%
  812.            ARGUMENTS  : StartEdit% = Beginning EditFiled
  813.            COMMENTS   : Use in conjunction with Event%() FUNCTION
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 12
  827.  
  828.  
  829.  
  830.  
  831.        << GUILib >>
  832.  
  833.            DESCRIPTION: Main routine for a number of functions
  834.            SYNTAX     : GUILib Action%
  835.            ARGUMENTS  : Action% = one of the following
  836.  
  837.                           %MakeWindow
  838.                           %MakeButton
  839.                           %MakeEditFiled
  840.  
  841.            COMMENTS  : This is the main routine for creating your
  842.                         screens.  Set  the values in  the  corresponding
  843.                         Data Types before calling. It was done this  way
  844.                         for flexibility in updating the library.
  845.  
  846.        ================================================================
  847.  
  848.        << Panel >>
  849.  
  850.            DESCRIPTION: Draws a raised or etched rectangle
  851.            SYNTAX     : Panel UpOrDown%, row1%, col1%, row2%, col2%, LW%
  852.            ARGUMENTS  : UpOrDown% = %UP for raised %DOWN for etched
  853.                         row1% = top
  854.                         col1% = left
  855.                         row2% = bottom
  856.                         col2% = right
  857.                         LW% = line thickness.
  858.            COMMENTS   :
  859.  
  860.        ================================================================
  861.  
  862.        << Pallete >>
  863.  
  864.            DESCRIPTION: Assign new colors to color registers ( 0 - 63 )
  865.            SYNTAX     : Pallete Register??, red?, green?, blue?
  866.            ARGUMENTS  : Register?? = 0-63
  867.                         red?, green?, blue? = 0-255
  868.            COMMENTS   : Notice the spelling- PaLLete for this routine.
  869.                         PaLeTTe for the standard Basic call.
  870.                         Make sure you map the register to the color  you
  871.                         want. Each of the registers can be mapped to any
  872.                         of the 16 colors. I use 0-15 registers with 0-15
  873.                         colors  to make it simpler, but you can map  any
  874.                         register to any color.
  875.                         EXAMPLE: PaLLete 22,54,67,88 - Change reg 22
  876.                                  PaLeTTe 2,22        - Map 22 to 2
  877.  
  878.        ================================================================
  879.  
  880.        << ReDrawEditField >>
  881.  
  882.            DESCRIPTION: Redraws an EditField
  883.            SYNTAX     : ReDrawEditField handle%
  884.            ARGUMENTS  : handle% = EditField number
  885.            COMMENTS   : Call this routine after you have changed the
  886.                         EditFiled string with EditFieldSetString.
  887.  
  888.  
  889.  
  890.  
  891.  
  892. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 13
  893.  
  894.  
  895.  
  896.  
  897.        << SaveWindow >>
  898.  
  899.            DESCRIPTION: Saves a screen and window data.
  900.            SYNTAX     : SaveWindow FileName$
  901.            ARGUMENTS  : FileName$ = The name of the file for saving.
  902.            COMMENTS   : Use in conjunction with LoadWindow.
  903.  
  904.  
  905.        << ThreeDBox  >>
  906.  
  907.            DESCRIPTION: Draws a 3D rectangle in a window
  908.            SYNTAX     : ThreeDBox UpOrDown%, row1%, col1%, row2%, col2%
  909.            ARGUMENTS  : UpOrDown% = %UP for raised, %DOWN for etched
  910.                         row1% = top
  911.                         col1% = left
  912.                         row2% = bottom
  913.                         col2% = right
  914.  
  915.        ================================================================
  916.  
  917.        << ThreeDLine  >>
  918.  
  919.            DESCRIPTION: Draws a 3D Line in a window
  920.            SYNTAX     : ThreeDLine UpOrDown%, HorV%, row%, col%, Length%
  921.            ARGUMENTS  : UpOrDown% = %UP for raised, %DOWN for etched
  922.                         HorV% = %HORZ (horizontal), %VERT (vertical)
  923.                         row%, col% = starting coordinates of line
  924.                         Length% = length of the line
  925.  
  926.            COMMENTS   : coordinates are window based. 0,0 is upper left
  927.                         corner of window.
  928.  
  929.        ================================================================
  930.  
  931.        << WindowInit >>
  932.  
  933.            DESCRIPTION: Initializes the PBGUI TOOLKIT
  934.            SYNTAX     : WindowInit
  935.            ARGUMENTS  : None
  936.            COMMENTS   : Must be called before any other PBGUI routine.
  937.  
  938.        ================================================================
  939.  
  940.        << WindowLine >>
  941.  
  942.            DESCRIPTION: Draws a line in a window.
  943.            SYNTAX     : WindowLine row%, col%, Length%, HorV%, LColor%
  944.            ARGUMENTS  : row%, col% starting coordinates of line
  945.                         Length% = length of the line
  946.                         HorV% = %HORZ (horizontal), %VERT (vertical)
  947.                         LColor% = color of line ( 0 -15 )
  948.            COMMENTS   : coordinates are window based.
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 14
  959.  
  960.  
  961.  
  962.  
  963.        <<  WindowPrint  >>
  964.  
  965.            DESCRIPTION: Draws text on the current window.
  966.            SYNTAX     : WindowPrint row%, col%, text$, colr%, Font%
  967.            ARGUMENTS  : row%, col% starting coordinates of text
  968.                         text$ = a chr$(0) terminated string$
  969.                         colr% = color of text ( 0 -15 )
  970.                         Font% Not used in this version
  971.            COMMENTS   : uses last loaded font.
  972.  
  973.        ================================================================
  974.  
  975.  
  976.  
  977.                         <<<<    MOUSE ROUTINES    >>>>
  978.  
  979.        ================================================================
  980.  
  981.        << MouseHide >>
  982.  
  983.            DESCRIPTION: Hides the Mouse cursor
  984.            SYNTAX     : MouseHide
  985.            ARGUMENTS  : None
  986.            COMMENTS   :
  987.  
  988.        ================================================================
  989.  
  990.        <<  MouseShow  >>
  991.  
  992.            DESCRIPTION: Shows the Mouse cursor
  993.            SYNTAX     : MouseShow
  994.            ARGUMENTS  : None
  995.            COMMENTS   :
  996.  
  997.        ================================================================
  998.  
  999.        << MouseBorder >>
  1000.  
  1001.            DESCRIPTION: Sets a Min and Max bounds on mouse movement
  1002.            SYNTAX     : MouseBorder row1%, col1%, row2%, col2%
  1003.            ARGUMENTS  : row1%, col1%, row2%, col2% are the coordinates
  1004.                         of the mouse boundary.
  1005.            COMMENTS   : automatically called when a window is opened
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 15
  1025.  
  1026.  
  1027.  
  1028.  
  1029.                         <<<   MISCELLANEOUS NOTES   >>>
  1030.  
  1031.        ================================================================
  1032.  
  1033.        Make  sure PBGUIxxx.BI is $INCLUDED in all programs that use  the
  1034.        PBGUI routines.
  1035.  
  1036.        I  would  like  to take this opportunity to  publicly  thank  Dan
  1037.        Hunting for the use of his compression routines.
  1038.  
  1039.        To  get the effect of etched text set the ShadowColor to a  light
  1040.        color and have Shadow = TRUE%
  1041.  
  1042.        If  you notice that your cursor  moves beyond the last  character
  1043.        of  an EditFiled it's because you forgot to terminate the  padded
  1044.        text field with a CHR$(0).
  1045.  
  1046.  
  1047.  
  1048.        ================================================================
  1049.  
  1050.        I can be reached via Compuserve in the PowerBASIC section of  the
  1051.        PCVENB forum or by EMAIL at 70117,1040 if you have any questions.
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090. PBGUI TOOLKIT 2.00      Copyright (c) 1993   James  C. Fuller        Page 16
  1091.  
  1092.  
  1093.