home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 August / PCWorld_2000-08_cd.bin / Software / TemaCD / xbasic / xbpro.exe / xb / employee.win < prev    next >
Text File  |  1996-02-15  |  21KB  |  372 lines

  1. '
  2. '
  3. '    #########################
  4. '    #####  Employee ()  #####
  5. '    #########################
  6. '
  7. '    "Anatomy of Grid Functions" in the GuiDesigner Programmer Guide
  8. '    describes the operation and modification of grid functions in detail.
  9. '
  10. '    WindowFromFunction and/or WindowToFunction may not work, or may not generate the desired results if you:
  11. '        * Modify the kid constant definition improperly.
  12. '        * Modify the code in the Create subroutine improperly.
  13. '        * Imbed blank or comment lines in the Create subroutine.
  14. '        * Remove the GOSUB Resize line in the Create subroutine (comment out is okay).
  15. '        * Imbed special purpose code in the Create subroutine before the GOSUB Resize line.
  16. '        * Delete any of the four lines that assign values to designX, designY, designWidth, designHeight.
  17. '
  18. FUNCTION  Employee (grid, message, v0, v1, v2, v3, r0, (r1, r1$, r1[], r1$[]))
  19.     STATIC  designX,  designY,  designWidth,  designHeight
  20.     STATIC  SUBADDR  sub[]
  21.     STATIC  upperMessage
  22.     STATIC  Employee
  23. '
  24.     $Employee          =   0  ' kid   0 grid type = Employee
  25.     $FirstNameLabel    =   1  ' kid   1 grid type = XuiLabel
  26.     $FirstNameText     =   2  ' kid   2 grid type = XuiTextLine
  27.     $MiddleNameLabel   =   3  ' kid   3 grid type = XuiLabel
  28.     $MiddleNameText    =   4  ' kid   4 grid type = XuiTextLine
  29.     $LastNameLabel     =   5  ' kid   5 grid type = XuiLabel
  30.     $LastNameText      =   6  ' kid   6 grid type = XuiTextLine
  31.     $Address1Label     =   7  ' kid   7 grid type = XuiLabel
  32.     $Address1Text      =   8  ' kid   8 grid type = XuiTextLine
  33.     $Address2Label     =   9  ' kid   9 grid type = XuiLabel
  34.     $Address2Text      =  10  ' kid  10 grid type = XuiTextLine
  35.     $CityLabel         =  11  ' kid  11 grid type = XuiLabel
  36.     $CityText          =  12  ' kid  12 grid type = XuiTextLine
  37.     $StateLabel        =  13  ' kid  13 grid type = XuiLabel
  38.     $StateText         =  14  ' kid  14 grid type = XuiTextLine
  39.     $ZipLabel          =  15  ' kid  15 grid type = XuiLabel
  40.     $ZipText           =  16  ' kid  16 grid type = XuiTextLine
  41.     $PhoneLabel        =  17  ' kid  17 grid type = XuiLabel
  42.     $PhoneText         =  18  ' kid  18 grid type = XuiTextLine
  43.     $FaxLabel          =  19  ' kid  19 grid type = XuiLabel
  44.     $FaxText           =  20  ' kid  20 grid type = XuiTextLine
  45.     $EmailLabel        =  21  ' kid  21 grid type = XuiLabel
  46.     $EmailText         =  22  ' kid  22 grid type = XuiTextLine
  47.     $WebLabel          =  23  ' kid  23 grid type = XuiLabel
  48.     $WebText           =  24  ' kid  24 grid type = XuiTextLine
  49.     $SSNLabel          =  25  ' kid  25 grid type = XuiLabel
  50.     $SSNText           =  26  ' kid  26 grid type = XuiTextLine
  51.     $Expertise1Label   =  27  ' kid  27 grid type = XuiLabel
  52.     $Expertise1Text    =  28  ' kid  28 grid type = XuiTextLine
  53.     $Expertise2Label   =  29  ' kid  29 grid type = XuiLabel
  54.     $Expertise2Text    =  30  ' kid  30 grid type = XuiTextLine
  55.     $Expertise3Label   =  31  ' kid  31 grid type = XuiLabel
  56.     $Expertise3Text    =  32  ' kid  32 grid type = XuiTextLine
  57.     $CommentsLabel     =  33  ' kid  33 grid type = XuiLabel
  58.     $CommentsTextArea  =  34  ' kid  34 grid type = XuiTextArea
  59.     $LoadButton        =  35  ' kid  35 grid type = XuiPushButton
  60.     $SaveButton        =  36  ' kid  36 grid type = XuiPushButton
  61.     $UpperKid          =  36  ' kid maximum
  62. '
  63. '
  64.     IFZ sub[] THEN GOSUB Initialize
  65. '    XuiReportMessage (grid, message, v0, v1, v2, v3, r0, r1)
  66.     IF XuiProcessMessage (grid, message, @v0, @v1, @v2, @v3, @r0, @r1, Employee) THEN RETURN
  67.     IF (message <= upperMessage) THEN GOSUB @sub[message]
  68.     RETURN
  69. '
  70. '
  71. ' *****  Callback  *****  message = Callback : r1 = original message
  72. '
  73. SUB Callback
  74.     message = r1
  75.     callback = message
  76.     IF (message <= upperMessage) THEN GOSUB @sub[message]
  77. END SUB
  78. '
  79. '
  80. ' *****  Create  *****  v0123 = xywh : r0 = window : r1 = parent
  81. '
  82. SUB Create
  83.     IF (v0 <= 0) THEN v0 = 0
  84.     IF (v1 <= 0) THEN v1 = 0
  85.     IF (v2 <= 0) THEN v2 = designWidth
  86.     IF (v3 <= 0) THEN v3 = designHeight
  87.     XuiCreateGrid  (@grid, Employee, @v0, @v1, @v2, @v3, r0, r1, &Employee())
  88.     XuiSendMessage ( grid, #SetGridName, 0, 0, 0, 0, 0, @"Employee")
  89.     XuiLabel       (@g, #Create, 4, 4, 100, 24, r0, grid)
  90.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"FirstNameLabel")
  91.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  92.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  93.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"First Name")
  94.     XuiTextLine    (@g, #Create, 104, 4, 288, 24, r0, grid)
  95.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $FirstNameText, grid)
  96.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"FirstNameText")
  97.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  98.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea704")
  99.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  100.     XuiLabel       (@g, #Create, 4, 28, 100, 24, r0, grid)
  101.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"MiddleNameLabel")
  102.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  103.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  104.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Middle Name")
  105.     XuiTextLine    (@g, #Create, 104, 28, 288, 24, r0, grid)
  106.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $MiddleNameText, grid)
  107.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"MiddleNameText")
  108.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  109.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea707")
  110.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  111.     XuiLabel       (@g, #Create, 4, 52, 100, 24, r0, grid)
  112.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"LastNameLabel")
  113.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  114.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  115.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Last Name")
  116.     XuiTextLine    (@g, #Create, 104, 52, 288, 24, r0, grid)
  117.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $LastNameText, grid)
  118.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"LastNameText")
  119.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  120.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea710")
  121.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  122.     XuiLabel       (@g, #Create, 4, 76, 100, 24, r0, grid)
  123.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"Address1Label")
  124.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  125.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  126.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Address1")
  127.     XuiTextLine    (@g, #Create, 104, 76, 288, 24, r0, grid)
  128.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $Address1Text, grid)
  129.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"Address1Text")
  130.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  131.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea713")
  132.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  133.     XuiLabel       (@g, #Create, 4, 100, 100, 24, r0, grid)
  134.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"Address2Label")
  135.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  136.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  137.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Address2")
  138.     XuiTextLine    (@g, #Create, 104, 100, 288, 24, r0, grid)
  139.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $Address2Text, grid)
  140.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"Address2Text")
  141.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  142.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea716")
  143.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  144.     XuiLabel       (@g, #Create, 4, 124, 100, 24, r0, grid)
  145.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"CityLabel")
  146.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  147.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  148.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"City")
  149.     XuiTextLine    (@g, #Create, 104, 124, 288, 24, r0, grid)
  150.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $CityText, grid)
  151.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"CityText")
  152.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  153.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea719")
  154.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  155.     XuiLabel       (@g, #Create, 4, 148, 100, 24, r0, grid)
  156.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"StateLabel")
  157.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  158.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  159.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"State")
  160.     XuiTextLine    (@g, #Create, 104, 148, 288, 24, r0, grid)
  161.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $StateText, grid)
  162.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"StateText")
  163.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  164.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea722")
  165.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  166.     XuiLabel       (@g, #Create, 4, 172, 100, 24, r0, grid)
  167.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"ZipLabel")
  168.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  169.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  170.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Zip")
  171.     XuiTextLine    (@g, #Create, 104, 172, 288, 24, r0, grid)
  172.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $ZipText, grid)
  173.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"ZipText")
  174.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  175.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea725")
  176.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  177.     XuiLabel       (@g, #Create, 4, 196, 100, 24, r0, grid)
  178.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"PhoneLabel")
  179.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  180.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  181.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Phone")
  182.     XuiTextLine    (@g, #Create, 104, 196, 288, 24, r0, grid)
  183.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $PhoneText, grid)
  184.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"PhoneText")
  185.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  186.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea728")
  187.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  188.     XuiLabel       (@g, #Create, 4, 220, 100, 24, r0, grid)
  189.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"FaxLabel")
  190.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  191.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  192.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Fax")
  193.     XuiTextLine    (@g, #Create, 104, 220, 288, 24, r0, grid)
  194.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $FaxText, grid)
  195.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"FaxText")
  196.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  197.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea731")
  198.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  199.     XuiLabel       (@g, #Create, 4, 244, 100, 24, r0, grid)
  200.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"EmailLabel")
  201.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  202.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  203.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Email")
  204.     XuiTextLine    (@g, #Create, 104, 244, 288, 24, r0, grid)
  205.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $EmailText, grid)
  206.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"EmailText")
  207.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  208.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea734")
  209.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  210.     XuiLabel       (@g, #Create, 4, 268, 100, 24, r0, grid)
  211.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"WebLabel")
  212.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  213.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  214.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Web")
  215.     XuiTextLine    (@g, #Create, 104, 268, 288, 24, r0, grid)
  216.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $WebText, grid)
  217.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"WebText")
  218.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  219.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea737")
  220.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  221.     XuiLabel       (@g, #Create, 4, 292, 100, 24, r0, grid)
  222.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"SSNLabel")
  223.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  224.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  225.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"SS#")
  226.     XuiTextLine    (@g, #Create, 104, 292, 288, 24, r0, grid)
  227.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $SSNText, grid)
  228.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"SSNText")
  229.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  230.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea740")
  231.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  232.     XuiLabel       (@g, #Create, 4, 316, 100, 24, r0, grid)
  233.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"Expertise1Label")
  234.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  235.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  236.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Expertise 1")
  237.     XuiTextLine    (@g, #Create, 104, 316, 288, 24, r0, grid)
  238.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $Expertise1Text, grid)
  239.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"Expertise1Text")
  240.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  241.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea743")
  242.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  243.     XuiLabel       (@g, #Create, 4, 340, 100, 24, r0, grid)
  244.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"Expertise2Label")
  245.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  246.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  247.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Expertise 2")
  248.     XuiTextLine    (@g, #Create, 104, 340, 288, 24, r0, grid)
  249.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $Expertise2Text, grid)
  250.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"Expertise2Text")
  251.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  252.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea746")
  253.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  254.     XuiLabel       (@g, #Create, 4, 364, 100, 24, r0, grid)
  255.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"Expertise3Label")
  256.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  257.     XuiSendMessage ( g, #SetAlign, $$AlignMiddleRight, $$JustifyCenter, -1, -1, 0, 0)
  258.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Expertise 3")
  259.     XuiTextLine    (@g, #Create, 104, 364, 288, 24, r0, grid)
  260.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $Expertise3Text, grid)
  261.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"Expertise3Text")
  262.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  263.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"XuiArea749")
  264.     XuiSendMessage ( g, #SetColorExtra, $$BrightGrey, $$LightYellow, $$Black, $$White, 1, 0)
  265.     XuiLabel       (@g, #Create, 4, 388, 388, 32, r0, grid)
  266.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"CommentsLabel")
  267.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  268.     XuiSendMessage ( g, #SetColor, $$BrightCyan, $$Black, $$Black, $$White, 0, 0)
  269.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"\x1F Our Comments : Employee Quicky Resume \x1F")
  270.     XuiTextArea    (@g, #Create, 4, 420, 388, 116, r0, grid)
  271.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $CommentsTextArea, grid)
  272.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"CommentsTextArea")
  273.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  274.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 1, @"Text")
  275.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 2, @"ScrollH")
  276.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 3, @"ScrollV")
  277.     XuiPushButton  (@g, #Create, 4, 536, 196, 32, r0, grid)
  278.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $LoadButton, grid)
  279.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"LoadButton")
  280.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  281.     XuiSendMessage ( g, #SetColor, 17, $$Black, $$Black, $$White, 0, 0)
  282.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Load Employee")
  283.     XuiPushButton  (@g, #Create, 200, 536, 192, 32, r0, grid)
  284.     XuiSendMessage ( g, #SetCallback, grid, &Employee(), -1, -1, $SaveButton, grid)
  285.     XuiSendMessage ( g, #SetGridName, 0, 0, 0, 0, 0, @"SaveButton")
  286.     XuiSendMessage ( g, #SetStyle, 0, 0, 0, 0, 0, 0)
  287.     XuiSendMessage ( g, #SetColor, $$BrightOrange, $$Black, $$Black, $$White, 0, 0)
  288.     XuiSendMessage ( g, #SetTextString, 0, 0, 0, 0, 0, @"Save Employee")
  289.     GOSUB Resize
  290. END SUB
  291. '
  292. '
  293. ' *****  CreateWindow  *****  v0123 = xywh : r0 = windowType : r1$ = display$
  294. '
  295. SUB CreateWindow
  296.     IF (v0  = 0) THEN v0 = designX
  297.     IF (v1  = 0) THEN v1 = designY
  298.     IF (v2 <= 0) THEN v2 = designWidth
  299.     IF (v3 <= 0) THEN v3 = designHeight
  300.     XuiWindow (@window, #WindowCreate, v0, v1, v2, v3, r0, @r1$)
  301.     v0 = 0 : v1 = 0 : r0 = window : ATTACH r1$ TO display$
  302.     GOSUB Create
  303.     r1 = 0 : ATTACH display$ TO r1$
  304.     XuiWindow (window, #WindowRegister, grid, -1, v2, v3, @r0, @"Employee")
  305. END SUB
  306. '
  307. '
  308. ' *****  GetSmallestSize  *****  See "Anatomy of Grid Functions"
  309. '
  310. SUB GetSmallestSize
  311. END SUB
  312. '
  313. '
  314. ' *****  Resize  *****  See "Anatomy of Grid Functions"
  315. '
  316. SUB Resize
  317. END SUB
  318. '
  319. '
  320. ' *****  Selection  *****  See "Anatomy of Grid Functions"
  321. '
  322. SUB Selection
  323. END SUB
  324. '
  325. '
  326. ' *****  Initialize  *****  ' see "Anatomy of Grid Functions"
  327. '
  328. SUB Initialize
  329.     XuiGetDefaultMessageFuncArray (@func[])
  330.     XgrMessageNameToNumber (@"LastMessage", @upperMessage)
  331. '
  332.     func[#Callback]           = &XuiCallback ()               ' disable to handle Callback messages internally
  333. ' func[#GetSmallestSize]    = 0                             ' enable to add internal GetSmallestSize routine
  334. ' func[#Resize]             = 0                             ' enable to add internal Resize routine
  335. '
  336.     DIM sub[upperMessage]
  337. ' sub[#Callback]            = SUBADDRESS (Callback)         ' enable to handle Callback messages internally
  338.     sub[#Create]              = SUBADDRESS (Create)           ' must be internal routine
  339.     sub[#CreateWindow]        = SUBADDRESS (CreateWindow)     ' must be internal routine
  340. ' sub[#GetSmallestSize]     = SUBADDRESS (GetSmallestSize)  ' enable to add internal GetSmallestSize routine
  341. ' sub[#Resize]              = SUBADDRESS (Resize)           ' enable to add internal Resize routine
  342.     sub[#Selection]           = SUBADDRESS (Selection)        ' routes Selection callbacks to subroutine
  343. '
  344.     IF sub[0] THEN PRINT "Employee() : Initialize : error ::: (undefined message)"
  345.     IF func[0] THEN PRINT "Employee() : Initialize : error ::: (undefined message)"
  346.     XuiRegisterGridType (@Employee, "Employee", &Employee(), @func[], @sub[])
  347. '
  348. ' Don't remove the following 4 lines, or WindowFromFunction/WindowToFunction will not work
  349. '
  350.     designX = 880
  351.     designY = 23
  352.     designWidth = 396
  353.     designHeight = 572
  354. '
  355.     gridType = Employee
  356.     XuiSetGridTypeValue (gridType, @"x",                designX)
  357.     XuiSetGridTypeValue (gridType, @"y",                designY)
  358.     XuiSetGridTypeValue (gridType, @"width",            designWidth)
  359.     XuiSetGridTypeValue (gridType, @"height",           designHeight)
  360.     XuiSetGridTypeValue (gridType, @"maxWidth",         designWidth)
  361.     XuiSetGridTypeValue (gridType, @"maxHeight",        designHeight)
  362.     XuiSetGridTypeValue (gridType, @"minWidth",         designWidth)
  363.     XuiSetGridTypeValue (gridType, @"minHeight",        designHeight)
  364.     XuiSetGridTypeValue (gridType, @"border",           $$BorderFrame)
  365.     XuiSetGridTypeValue (gridType, @"can",              $$Focus OR $$Respond OR $$Callback OR $$InputTextString OR $$TextSelection)
  366.     XuiSetGridTypeValue (gridType, @"focusKid",         $FirstNameText)
  367.     XuiSetGridTypeValue (gridType, @"inputTextArray",   $CommentsTextArea)
  368.     XuiSetGridTypeValue (gridType, @"inputTextString",  $FirstNameText)
  369.     IFZ message THEN RETURN
  370. END SUB
  371. END FUNCTION
  372.