home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / lotus / english / winagent / install.dsk / CALLBACK.LSS < prev    next >
Text File  |  1995-01-25  |  52KB  |  2,175 lines

  1.  
  2. USE "TOOLKIT"
  3. OPTION DECLARE
  4.  
  5.  
  6.  
  7. CONST MAX_NO_DRIVECOMBOS = 4
  8. CONST MAX_PAGES          = 8     
  9. CONST LCBITEM_ENTIRE     = 0
  10. CONST LCBITEM_SELECTED   = 1
  11. CONST LCBITEM_TEXT       = 2
  12. CONST LCBITEM_SIZE       = 3
  13. CONST LCBITEM_CHAPTER    = 4
  14.  
  15. CONST SYM_CUSTOMCOST$    = "CustomCostList"  
  16.  
  17.  
  18.  
  19.  
  20. TYPE PAGEINFO
  21.    szChapter AS STRING     
  22.    idPage    AS INTEGER    
  23.    hDlgPage  AS INTEGER    
  24.    nSel      AS INTEGER    
  25. END TYPE
  26.  
  27.  
  28. DIM ghdlg%                             
  29. DIM gCurrentPageIndex%                 
  30. DIM gNumPages%                         
  31. DIM gPageArray(MAX_PAGES) AS PAGEINFO  
  32.  
  33.  
  34.  
  35. DECLARE PUBLIC FUNCTION Lot_ConfirmNamesDlg  () AS STRING
  36. DECLARE PUBLIC FUNCTION Lot_GetSizeOfInstall () AS STRING
  37. DECLARE PUBLIC SUB      ResetWinWinsysSymbols()
  38.  
  39. DECLARE SUB      SetCustomInfo(fOnTab%,fNewSpace%)
  40. DECLARE FUNCTION DoesFileExistInDir (dirlist$) AS INTEGER
  41. DECLARE SUB      Lot_SetSpaceDirTip(hDlg%,chpt$,index%,ProdNum%,tiponly%)
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. PUBLIC FUNCTION Lot_ConfirmNamesDlg () AS STRING
  60.  
  61.    AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
  62.    AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
  63.    AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  64.     
  65.    SetListItem "IDC_TEXT", 1, GetSymbolValue(SYM_NAME$)
  66.    SetListItem "IDC_TEXT", 2, GetSymbolValue(SYM_COMPANY$)
  67.  
  68.    Lot_ConfirmNamesDlg = PopupModalDlg (DB_CONFIRMNAMES, DB_CONFIRMNAMES)
  69.  
  70. END FUNCTION
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88. PUBLIC FUNCTION Lot_GetSizeOfInstall () AS STRING
  89.  
  90.    DIM   idDlg%, i%, nProds%, network$, size$, notused%
  91.  
  92.    
  93.    size$   = GetSymbolValue(SYM_SIZEOFINSTALL$)
  94.    nProds% = Reg_GetNumberOfProducts()
  95.    FOR i% = 1 to nProds%
  96.       Reg_SetSelectedInstallType i%, size$
  97.    NEXT
  98.  
  99.    
  100.    network$ = GetSymbolValue(SYM_NETWORK$)
  101.  
  102.    IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  103.  
  104.       
  105.       IF Reg_GetProdSupportForFullInstall(1) <> FALSE AND _
  106.      Reg_GetProdSupportForMinInstall (1) =  FALSE AND _
  107.      Reg_GetProdSupportForCustInstall(1) =  FALSE THEN
  108.  
  109.      
  110.      
  111.      IF network$ = gSERVER$ THEN
  112.         IF Reg_GetProdSupportForShare(1) <> FALSE Then
  113.            idDlg% = DB_SIZEOFINSTALL2
  114.         ELSE
  115.            idDlg% = DB_SIZEOFINSTALL1
  116.         END IF
  117.      ELSE
  118.         idDlg% = DB_SIZEOFINSTALL1
  119.      END IF
  120.  
  121.       ELSEIF network$ = gSERVER$ THEN
  122.  
  123.      
  124.      
  125.      IF Reg_GetProdSupportForShare(1) <> FALSE Then
  126.         idDlg% = DB_SIZEOFINSTALL3
  127.      ELSE
  128.         idDlg% = DB_SIZEOFINSTALL5
  129.      END IF
  130.  
  131.       ELSE
  132.  
  133.      
  134.      
  135.      idDlg% = DB_SIZEOFINSTALL4
  136.  
  137.       END IF
  138.  
  139.     
  140.    ELSEIF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
  141.         IF network$ = gSERVER$ THEN
  142.             idDlg% = DB_SIZEOFINSTALL6 
  143.         ELSE
  144.             idDlg% = DB_SIZEOFINSTALL7 
  145.         END IF
  146.  
  147.     ELSE
  148.       
  149.       idDlg% = DB_SIZEOFINSTALL4
  150.  
  151.    END IF
  152.  
  153.    
  154.    notused% = RegisterCallback("CALLBACK", "SIZEOFINSTALLCB")
  155.    Lot_GetSizeOfInstall = PopupModalDlg (idDlg%, CLNG(idDlg%))
  156.  
  157.    
  158.    size$ = GetSymbolValue(SYM_SIZEOFINSTALL$)
  159.    FOR i% = 1 to nProds%
  160.       Reg_SetSelectedInstallType i%, size$
  161.    NEXT
  162.  
  163. END FUNCTION
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180. SUB PROGMANGROUPCB (hDlg%, CtrlId%, Classes$, Inst%)
  181.    DIM ProgManIni$, Group$, GroupId%,count%, Index%,notused%,DefaultGroup$
  182.    DIM GroupPath$,GroupName$, SelectedName$, EnteredName$,order%, failed%
  183.    DIM CheckName$
  184.    
  185.    DIM targetstr$,charlen%
  186.    
  187.  
  188.    
  189.    DIM InvChar LIST AS STRING
  190.    
  191.    InvChar("*") = "1"
  192.    InvChar("+") = "1"
  193.    InvChar("|") = "1"
  194.    InvChar(":") = "1"
  195.    InvChar(|"|) = "1"
  196.    InvChar("<") = "1"
  197.    InvChar(">") = "1"
  198.    InvChar("?") = "1"
  199.    InvChar("=") = "1"
  200.    InvChar("[") = "1"
  201.    InvChar("]") = "1"
  202.    InvChar("\") = "1"
  203.    InvChar(";") = "1"
  204.    InvChar(",") = "1"
  205.    InvChar("/") = "1"
  206.    InvChar(")") = "1"
  207.    InvChar("(") = "1"
  208.    InvChar(".") = "1"  
  209.  
  210.    
  211.    InvChar("'") = "1"
  212.    InvChar("@") = "1" 
  213.    InvChar("{") = "1" 
  214.    InvChar("}") = "1" 
  215.    InvChar("#") = "1" 
  216.    InvChar("%") = "1" 
  217.    InvChar("!") = "1" 
  218.    InvChar("`") = "1" 
  219.    InvChar("$") = "1" 
  220.    InvChar("^") = "1" 
  221.    InvChar("~") = "1" 
  222.    InvChar("-") = "1" 
  223.    InvChar("_") = "1" 
  224.    InvChar("&") = "1" 
  225.  
  226.  
  227.    SELECT CASE Classes$
  228.  
  229.    CASE "__DLGINIT"
  230.  
  231.     AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
  232.     AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  233.  
  234.     ProgManIni$=GetWindowsDir()+"progman.ini"
  235.     DefaultGroup$=Reg_GetProgManagerGroupName(1)
  236.     IF DefaultGroup$="" THEN
  237.        DefaultGroup$="Lotus Application"
  238.  
  239.  
  240.     END IF
  241.     SetListItem "IDC_EDIT", 1, DefaultGroup$
  242.     AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
  243.     SetListItem "IDC_LIST1",1, DefaultGroup$
  244.     order%=2
  245.     FOR count% = 1 TO 99
  246.        GroupPath$=GetIniKeyString(ProgManIni$,"Groups","Group"+LTRIM$(STR(count%)))
  247.        IF DoesFileExist(GroupPath$,femExists)=1 THEN
  248.           GroupName$=Lot_GetGroupName(GroupPath$)
  249.           IF GroupName$ <> "" AND GroupName$<>DefaultGroup$ THEN
  250.          SetListItem "IDC_LIST1",order%, GroupName$
  251.          order%=order%+1
  252.           END IF
  253.        END IF
  254.     NEXT
  255.     AddListItem SYM_UPDATELIST$, "IDC_LIST1"
  256.  
  257.    CASE "IDC_LIST1"
  258.     SelectedName$=GetListItem("IDC_LIST1",Inst%)
  259.     SetListItem "IDC_EDIT", 1, SelectedName$
  260.     AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
  261.  
  262.    CASE "IDC_OK"
  263.     
  264.     IF LEN(GetListItem ("IDC_EDIT", 1)) < 30 THEN
  265.         EnteredName$=GetListItem("IDC_EDIT",1)
  266.     ELSE
  267.         targetstr$ = GetListItem ("IDC_EDIT", 1)
  268.         IF IsDBCSFirstAtOffset (targetstr$, 30) = 1 THEN
  269.             EnteredName$=LEFT$(GetListItem ("IDC_EDIT", 1), 29)
  270.         ELSE
  271.             EnteredName$=LEFT$(GetListItem ("IDC_EDIT", 1), 30)
  272.         END IF
  273.     END IF
  274.     
  275.  
  276.     IF EnteredName$ = "" THEN
  277.        EnteredName$=Reg_GetProgManagerGroupName(1)
  278.     END IF
  279.  
  280.     
  281.     
  282.     
  283.     
  284.     
  285.     failed% = 1
  286.  
  287.     
  288.     
  289.     CheckName$ = EnteredName$  
  290.     FOR count% = 1 TO LEN(EnteredName$)
  291.        charlen% = FDBCSCharLen(CheckName$,0)
  292.        IF ISELEMENT(InvChar(LEFT$(CheckName$,charlen%))) = FALSE THEN
  293.           failed% = 0
  294.           EXIT FOR
  295.           count% = count% + charlen% - 1
  296.        END IF 
  297.        CheckName$ = RIGHT$(Checkname$,LEN(CheckName$)-charlen%)
  298.     NEXT
  299.  
  300.     
  301.     
  302.     IF INSTR(1,EnteredName$,|"|) <> 0 THEN
  303.           failed% = 1
  304.     END IF 
  305.  
  306.     IF failed% <> 0 THEN
  307.        ShowPathErrorNoDlgExit SID_ERR_INVALIDGROUPNAME,SID_ERR_INVALIDGROUPNAMEDESC,EnteredName$
  308.     END IF
  309.     Reg_SetProgManagerGroup 1,EnteredName$
  310.  
  311.    CASE "IDC_BACK"
  312.    CASE "IDC_HELP"
  313.    CASE "IDC_EXIT"
  314.  
  315.    END SELECT   
  316.  
  317. END SUB
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. SUB WELCOMECB (hDlg%, CtrlId%, Classes$, Inst%)
  335.    DIM lname$, company$, network$, i%, notused%
  336.  
  337.    
  338.    DIM targetstr$
  339.    
  340.  
  341.    SELECT CASE Classes$
  342.  
  343.    CASE "__DLGINIT"
  344.  
  345.       
  346.       SetListItem "IDC_BMP", 1, STR$(IDD_TKT_PROD_BMP)
  347.  
  348.       lname$   = GetSymbolValue(SYM_NAME$)
  349.       company$ = GetSymbolValue(SYM_COMPANY$)
  350.       SetListItem "IDC_EDIT", 1, lname$
  351.       SetListItem "IDC_EDIT", 2, company$
  352.  
  353.       
  354.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
  355.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT5)
  356.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT6)
  357.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT7)
  358.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT8)
  359.       AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  360.       AddListItem SYM_UPDATELIST$, "IDC_BMP1"
  361.       AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
  362.       AddListItem SYM_UPDATELIST$, "IDC_EDIT2"
  363.  
  364.       network$ = GetSymbolValue(SYM_NETWORK$)
  365.       IF network$ = "" THEN
  366.      SetSymbolValue SYM_NETWORK$, gSTANDARD$
  367.       ELSEIF network$ = gNODE$ Then
  368.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_EDIT2), FALSE)
  369.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_TEXT3), FALSE)
  370.       ELSEIF network$ = gSERVER$ OR network$ = gDISTRIBUTION$ THEN
  371.      SetListItem "IDC_B", 1, "T"
  372.      AddListItem SYM_UPDATELIST$, "IDC_B1"
  373.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_EDIT1), FALSE)
  374.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_TEXT2), FALSE)
  375.       END IF
  376.  
  377.       
  378.       IF network$ = gSTANDARD$ THEN
  379.      IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 OR _ 
  380.         LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
  381.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), FALSE)
  382.      ELSE
  383.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  384.      END IF
  385.  
  386.       ELSEIF network$ = gNODE$ THEN
  387.      IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 THEN
  388.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), FALSE)
  389.      ELSE
  390.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  391.      END IF
  392.  
  393.       ELSEIF network$ = gSERVER$ THEN
  394.      IF LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
  395.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), FALSE)
  396.      ELSE
  397.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  398.      END IF
  399.  
  400.       ELSE
  401.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  402.       END IF
  403.  
  404.    CASE "IDC_B"
  405.  
  406.       If GetListItem("IDC_B",1) = "F" Then
  407.      SetSymbolValue SYM_NETWORK$, gSTANDARD$
  408.       Else
  409.      
  410.      If Reg_GetProdSupportForSrv(1) = 1 Then
  411.         SetSymbolValue SYM_NETWORK$, gSERVER$
  412.      ElseIf Reg_GetProdSupportForDist(1) = 1 Then
  413.         SetSymbolValue SYM_NETWORK$, gDISTRIBUTION$
  414.      End If 
  415.       End If
  416.  
  417.       
  418.       IF IsDlgButtonChecked(hDlg%,IDC_B1) <> FALSE THEN
  419.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_EDIT1), FALSE)
  420.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_TEXT2), FALSE)
  421.       ELSE
  422.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_EDIT1), TRUE)
  423.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_TEXT2), TRUE)
  424.       END IF
  425.  
  426.       network$ = GetSymbolValue(SYM_NETWORK$)
  427.       IF network$ = gSTANDARD$ THEN
  428.      IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 OR _ 
  429.         LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
  430.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), FALSE)
  431.      ELSE
  432.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  433.      END IF
  434.  
  435.       ELSEIF network$ = gNODE$ THEN
  436.      IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 THEN
  437.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), FALSE)
  438.      ELSE
  439.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  440.      END IF
  441.  
  442.       ELSEIF network$ = gSERVER$ THEN
  443.      IF LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
  444.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), FALSE)
  445.      ELSE
  446.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  447.      END IF
  448.  
  449.       ELSE
  450.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  451.       END IF
  452.  
  453.    CASE "IDC_EDIT"
  454.  
  455.       network$ = GetSymbolValue(SYM_NETWORK$)
  456.       IF network$ = gSTANDARD$ THEN
  457.      IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 OR _ 
  458.         LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
  459.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), FALSE)
  460.      ELSE
  461.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  462.      END IF
  463.  
  464.       ELSEIF network$ = gNODE$ THEN
  465.      IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 THEN
  466.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), FALSE)
  467.      ELSE
  468.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  469.      END IF
  470.  
  471.       ELSEIF network$ = gSERVER$ THEN
  472.      IF LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
  473.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), FALSE)
  474.      ELSE
  475.         notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  476.      END IF
  477.  
  478.       ELSE
  479.      notused% = EnableWindow(GetDlgItem(hDlg%,IDC_OK), TRUE)
  480.       END IF
  481.  
  482.    CASE "IDC_OK"
  483.       network$ = GetSymbolValue(SYM_NETWORK$)
  484.       FOR i% = 1 TO 2
  485.      IF network$ = gNODE$ AND i% = 2 THEN
  486.         Exit For
  487.      END IF
  488.      IF network$ = gSERVER$ AND i% = 1 THEN
  489.         GOTO NEXTFIELD
  490.      END IF
  491.  
  492.      IF LEN(GetListItem ("IDC_EDIT", i%)) < 1 THEN
  493.         ErrorMsgNoDlgExit SID_TKT_ERR_NEEDNAMES, ""
  494.         EXIT FOR
  495.           END IF
  496.  
  497.      NEXTFIELD:
  498.  
  499.       NEXT
  500.  
  501.      
  502.      IF LEN(GetListItem ("IDC_EDIT", 1)) < 30 THEN
  503.         SetSymbolValue SYM_NAME$,    GetListItem ("IDC_EDIT", 1)
  504.      ELSE
  505.       targetstr$ = GetListItem ("IDC_EDIT", 1)
  506.       IF IsDBCSFirstAtOffset (targetstr$, 30) = 1 THEN
  507.         SetSymbolValue SYM_NAME$,    LEFT$(GetListItem ("IDC_EDIT", 1), 29)
  508.       ELSE
  509.         SetSymbolValue SYM_NAME$,    LEFT$(GetListItem ("IDC_EDIT", 1), 30)
  510.       END IF
  511.      END IF
  512.  
  513.      IF LEN(GetListItem ("IDC_EDIT", 2)) < 30 THEN
  514.         SetSymbolValue SYM_COMPANY$, GetListItem ("IDC_EDIT", 2)
  515.      ELSE
  516.       targetstr$ = GetListItem ("IDC_EDIT", 2)
  517.       IF IsDBCSFirstAtOffset (targetstr$, 30) = 1 THEN
  518.         SetSymbolValue SYM_COMPANY$,    LEFT$(GetListItem ("IDC_EDIT", 2), 29)
  519.       ELSE
  520.         SetSymbolValue SYM_COMPANY$,    LEFT$(GetListItem ("IDC_EDIT", 2), 30)
  521.       END IF
  522.      END IF
  523.      
  524.  
  525.    
  526.    Case "IDC_BACK"
  527.       SetListItem "__LASTSTATUS", 1, "Q"
  528.  
  529.    END SELECT   
  530.  
  531. END SUB
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551. SUB CUSTOM1CB (hDlg%, CtrlId%, Classes$, Inst%)
  552.  
  553.    DIM chpt$, product_name$, child$, dirsym$, network$
  554.    DIM page%, tab_handle%
  555.    DIM RC$, i%, notused%
  556.  
  557.    SELECT CASE Classes$
  558.  
  559.    case "__DLGINIT"
  560.  
  561.       
  562.       gNumPages% = 0
  563.       ghdlg% = hDlg%
  564.  
  565.       
  566.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT6)
  567.       AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  568.  
  569.       
  570.       network$ = GetSymbolValue(SYM_NETWORK$)
  571.       If network$ = gSERVER$ Then
  572.      notused% = ShowWindow (GetDlgItem(hDlg%, IDC_B1), SW_HIDE)
  573.       End If
  574.  
  575.       
  576.       i%    = Lot_GetCurrentProduct()
  577.       chpt$ = Lot_GetChapterFromKeyword(Reg_GetProductAcronym(i%) + gTOP$)
  578.       chpt$ = Lot_GetFirstChild(chpt$, F_DISPLAY + F_CUSTOM)
  579.  
  580.       
  581.  
  582.       WHILE (chpt$ <> "")
  583.      product_name$ = Lot_GetChapterValStr(chpt$, F_NAME) 
  584.      child$        = Lot_GetFirstChild(chpt$, F_DISPLAY + F_CUSTOM)
  585.  
  586.      
  587.      notused% = RegisterCallback("CALLBACK","CUSTOM2CB")
  588.      page% = Lot_AddPagetoNotebook(hDlg%,IDC_NOTEBOOK1,DBNM_1,product_name$)
  589.      tab_handle% = Lot_GetPagehandle(hDlg%,IDC_NOTEBOOK1,page%)
  590.        IF FPopulateLCB(tab_handle%, child$) = FALSE THEN
  591.         ErrorMsg SID_ERR_POPULATELCB, ""
  592.         ERROR STFQUIT
  593.      END IF
  594.  
  595.      
  596.      gNumPages% = gNumPages% + 1
  597.      gPageArray(gNumPages%).szChapter = chpt$
  598.      gPageArray(gNumPages%).idPage    = page%
  599.      gPageArray(gNumPages%).hDlgPage  = tab_handle%
  600.      gPageArray(gNumPages%).nSel      = 1
  601.  
  602.      
  603.      
  604.      IF gNumPages% = 1 THEN gCurrentPageIndex% = page%
  605.  
  606.      
  607.      chpt$ = Lot_GetNextSibling(chpt$, F_DISPLAY + F_CUSTOM)  
  608.       WEND
  609.  
  610.       Lot_TurnToPage hDlg%, IDC_NOTEBOOK1, gCurrentPageIndex%
  611.       gCurrentPageIndex% = 1
  612.       SetCustomInfo TRUE, TRUE
  613.  
  614.    case "IDC_B"
  615.       chpt$ = Lot_LCBGetItem(gPageArray(gCurrentPageIndex%).hDlgPage, _
  616.                  gPageArray(gCurrentPageIndex%).nSel,     _
  617.                  LCBITEM_CHAPTER)
  618.       dirsym$ = Lot_GetChapterValStr(chpt$, F_DESTDIRSYM)
  619.       SetSymbolValue SYM_CHANGEDIRSYMBOL$,  dirsym$
  620.  
  621.       IF GetSymbolValue(SYM_NETWORK$) = gSTANDARD$ THEN
  622.  
  623.      IF (dirsym$ <> SYM_LOTUSAPPDIR$ AND _
  624.             dirsym$ <> SYM_WINDIR$ AND _
  625.             dirsym$ <> SYM_WINSYSDIR$) THEN
  626.         notused% = RegisterCallback ("CALLBACK", "CHANGEPRODUCTDIRCB")
  627.         RC$ = PopupModalDlg (DBM_CHANGEDIR, DBM_CHANGEDIR)
  628.      END IF
  629.  
  630.       ELSE
  631.  
  632.      
  633.      
  634.      IF dirsym$ <> SYM_LOTUSAPPDIR$ THEN
  635.         dirSym$ = Reg_GetDirSymbolList(Lot_GetCurrentProduct())
  636.         
  637.         If GetListLength(dirSym$) >= 1 Then
  638.            dirSym$ = GetListItem(dirSym$, 1)
  639.            SetSymbolValue SYM_CHANGEDIRSYMBOL$,  dirsym$
  640.            notused% = RegisterCallback ("CALLBACK", "CHANGEPRODUCTDIRCB")
  641.            RC$ = PopupModalDlg (DBM_CHANGEDIR, DBM_CHANGEDIR)
  642.         End If
  643.      END IF
  644.  
  645.       END IF
  646.  
  647.       SELECT CASE RC$
  648.  
  649.       case "OK"
  650.       SetCustomInfo FALSE, TRUE
  651.       notused% = SetFocus(GetDlgItem(hDlg%, IDC_B1))
  652.  
  653.       case "BACK"
  654.       SetCustomInfo TRUE, TRUE
  655.       notused% = SetFocus(GetDlgItem(hDlg%, IDC_B1))
  656.  
  657.       END SELECT
  658.  
  659.    case "IDC_NOTEBOOK"
  660.       FOR i% = 1 TO gNumPages%
  661.      IF gPageArray(i%).idPage = Inst% THEN
  662.         gCurrentPageIndex% = i%
  663.         SetCustomInfo TRUE, FALSE
  664.         EXIT FOR
  665.      END IF
  666.       NEXT
  667.  
  668.    case "IDC_OK"
  669.       ResetWinWinsysSymbols
  670.  
  671.    case "__DLGDESTROY"
  672.       RemoveSymbol SYM_CUSTOMCOST$
  673.       RemoveSymbol SYM_CHANGEDIRSYMBOL$
  674.  
  675.    END SELECT
  676.  
  677. END SUB
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692. SUB CUSTOM2CB (hDlg%, CtrlId%, Classes$, Inst%)
  693.  
  694.    DIM chpt$, tiponly%, index%, dirsym$, notused%
  695.    
  696.    SELECT CASE Classes$
  697.  
  698.    case "__DLGINIT"
  699.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT1)
  700.       AddListItem  SYM_UPDATELIST$, SYM_NORMALFONT$
  701.  
  702.    case "IDC_LCB"
  703.  
  704.         SetYieldActive FALSE
  705.  
  706.       
  707.       
  708.  
  709.       IF Inst% < 0 THEN
  710.      Inst%    = -Inst%
  711.      tiponly% = TRUE
  712.       ELSE
  713.      tiponly% = FALSE
  714.       END IF
  715.  
  716.       
  717.       index% = Inst% - IDC_LCB1 + 1
  718.       chpt$  = Lot_LCBGetItem(hDlg%, index%, LCBITEM_CHAPTER)
  719.       gPageArray(gCurrentPageIndex%).nSel = index%
  720.  
  721.       
  722.       IF chpt$ <> "" THEN
  723.      IF tiponly% = FALSE THEN
  724.         Lot_ToggleChapterFilesInCopyList chpt$
  725.         SetCustomInfo FALSE, TRUE
  726.      ELSE
  727.         SetCustomInfo FALSE, FALSE
  728.      END IF
  729.       END IF
  730.       
  731.       IF GetSymbolValue(SYM_NETWORK$) = gSTANDARD$ THEN
  732.      chpt$ = Lot_LCBGetItem(gPageArray(gCurrentPageIndex%).hDlgPage, _
  733.                  gPageArray(gCurrentPageIndex%).nSel,     _
  734.                  LCBITEM_CHAPTER)
  735.      dirsym$ = Lot_GetChapterValStr(chpt$, F_DESTDIRSYM)
  736.      IF (dirsym$ = SYM_LOTUSAPPDIR$ OR _
  737.             dirsym$ = SYM_WINDIR$ OR _
  738.             dirsym$ = SYM_WINSYSDIR$) THEN
  739.         notused% = EnableWindow (GetDlgItem(ghdlg%, IDC_B1), FALSE)
  740.      ELSE
  741.         notused% = EnableWindow (GetDlgItem(ghdlg%, IDC_B1), TRUE)
  742.      END IF
  743.       END IF
  744.  
  745.         SetYieldActive TRUE
  746.  
  747.    END SELECT
  748.  
  749. END SUB
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763. SUB CHANGEPRODUCTDIRCB (hDlg%, CtrlId%, Classes$, Inst%)
  764.  
  765.    STATIC drvIndex%, dirChanged%
  766.    DIM    dirSym$, dirToChange$, dirName$, rc$, i%, olddir$
  767.  
  768.  
  769.    SELECT CASE Classes$
  770.  
  771.    case "__DLGINIT"
  772.       dirChanged%  = FALSE
  773.       dirSym$      = GetSymbolValue(SYM_CHANGEDIRSYMBOL$)
  774.       dirToChange$ = GetSymbolValue(dirSym$)
  775.       dirName$     = GetSymbolValue(dirSym$ + gNAME$)
  776.  
  777.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
  778.       AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  779.  
  780.       SetWindowText GetDlgItem(hDlg%, IDC_GROUP1), dirName$
  781.  
  782.       Lot_GetDriveFreeSpaceList "IDC_COMBO1"
  783.       drvIndex% = SelectDriveCombo ("IDC_COMBO1", dirToChange$)
  784.  
  785.       IF dirSym$                      =  SYM_LOTUSAPPDIR$ AND _
  786.      GetSymbolValue(SYM_NETWORK$) <> gSTANDARD$       THEN
  787.      i% = INSTR(dirToChange$, gLOTUSAPP$)
  788.      IF i% > 1 THEN dirToChange$ = LEFT$(dirToChange$, i% - 1)
  789.       END IF
  790.  
  791.       SetListItem "IDC_EDIT", 1, Lot_ExtractDirectory(dirToChange$)
  792.       AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
  793.  
  794.    case "IDC_EDIT"
  795.       dirChanged% = TRUE
  796.  
  797.    case "IDC_COMBO1"
  798.       drvIndex%   = Inst%
  799.       dirChanged% = TRUE
  800.  
  801.    case "IDC_OK"
  802.       IF dirChanged% = TRUE THEN
  803.      dirSym$      = GetSymbolValue(SYM_CHANGEDIRSYMBOL$)
  804.      olddir$      = GetSymbolValue(dirSym$)
  805.      dirToChange$ = MID$(GetListItem("IDC_COMBO1",drvIndex%), 1, 2) + _
  806.             GetListItem("IDC_EDIT", 1)
  807.  
  808.      
  809.      IF dirSym$                      =  SYM_LOTUSAPPDIR$ AND _
  810.         GetSymbolValue(SYM_NETWORK$) <> gSTANDARD$       THEN
  811.         i% = TRUE
  812.         dirToChange$ = MakePath(dirToChange$,gLOTUSAPP$)
  813.      ELSE
  814.         i% = FALSE     
  815.      END IF
  816.      
  817.      IF ValidatePath(dirToChange$) = FALSE THEN
  818.         SetListItem "__LASTSTATUS", 1, "Q"
  819.      ELSE
  820.         dirSym$ = GetSymbolValue(SYM_CHANGEDIRSYMBOL$)
  821.         SetSymbolValue dirSym$, dirToChange$
  822.  
  823.         
  824.         IF i% = FALSE THEN
  825.  
  826.            
  827.            IF GetSymbolValue(SYM_NETWORK$) <> gSTANDARD$ THEN
  828.           dirName$ = |"| + dirSym$ + |",TRUE|
  829.            ELSE
  830.           dirName$ = |"| + dirSym$ + |",FALSE|
  831.            END IF
  832.            rc$ = Lot_CallOneProductFunction(Lot_GetCurrentProduct(), _
  833.                         "PathChange", gNEXT$,    _
  834.                         FALSE, dirName$)
  835.            If rc$ = gBACK Then
  836.           SetListItem "IDC_EDIT", 1, Lot_ExtractDirectory(olddir$)
  837.           drvIndex% = SelectDriveCombo ("IDC_COMBO1", olddir$)
  838.           SetSymbolValue dirSym$, olddir$
  839.                AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
  840.               SetListItem "__LASTSTATUS", 1, "Q"
  841.           EXIT SUB
  842.            End If
  843.  
  844.         END IF
  845.  
  846.         Lot_RefreshDestination(dirSym$)
  847.      END IF
  848.       END IF
  849.  
  850.    END SELECT
  851.  
  852. END SUB
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864. SUB CHANGELOTUSAPPDIRCB (hDlg%, CtrlId%, Classes$, Inst%)
  865.  
  866.    STATIC drvIndex%, dirChanged%
  867.    DIM    dirSym$, dirToChange$, dirName$, winLotApp$
  868.  
  869.    SELECT CASE Classes$
  870.  
  871.    case "__DLGINIT"
  872.       dirChanged%  = FALSE
  873.       dirSym$      = GetSymbolValue(SYM_CHANGEDIRSYMBOL$)
  874.       dirToChange$ = GetSymbolValue(dirSym$)
  875.       dirName$     = GetSymbolValue(dirSym$ + gNAME$)
  876.       winLotApp$   = GetWindowsDir() + gLOTUSAPP$ + "\"
  877.  
  878.       SetWindowText GetDlgItem(hDlg%, IDC_GROUP1), dirName$
  879.       SetWindowText GetDlgItem(hDlg%, IDC_B1),     winLotApp$
  880.  
  881.       Lot_GetDriveFreeSpaceList "IDC_COMBO1"
  882.       drvIndex% = SelectDriveCombo ("IDC_COMBO1", dirToChange$)
  883.  
  884.       IF dirToChange$ = winLotApp$ THEN
  885.      SetListItem "IDC_B", 1 , "T"
  886.      SetListItem "IDC_B", 2 , "F"
  887.       ELSE
  888.      SetListItem "IDC_B", 1 , "F"
  889.      SetListItem "IDC_B", 2 , "T"
  890.       END IF   
  891.       AddListItem SYM_UPDATELIST$, "IDC_B1"
  892.       AddListItem SYM_UPDATELIST$, "IDC_B2"
  893.  
  894.    case "IDC_COMBO1"
  895.       drvIndex%   = Inst%
  896.       dirChanged% = TRUE
  897.       SetListItem "IDC_B", 1 , "F"
  898.       SetListItem "IDC_B", 2 , "T"
  899.       AddListItem SYM_UPDATELIST$, "IDC_B1"
  900.       AddListItem SYM_UPDATELIST$, "IDC_B2"
  901.  
  902.    case "IDC_B"
  903.       dirChanged% = TRUE
  904.  
  905.    case "IDC_OK"
  906.       IF dirChanged% = TRUE THEN
  907.      If IsDlgButtonChecked(hDlg%,IDC_B1) = FALSE Then
  908.         dirToChange$ = _
  909.            MakePath(MID$(GetListItem("IDC_COMBO1",drvIndex%), 1, 2), _
  910.            gLOTUSAPP$)
  911.      ELSE
  912.         dirToChange$ = GetWindowsDir() + gLOTUSAPP$
  913.      END IF
  914.  
  915.      IF ValidatePath(dirToChange$) = FALSE THEN
  916.         SetListItem "__LASTSTATUS", 1, "Q"
  917.      ELSE
  918.         dirSym$ = GetSymbolValue(SYM_CHANGEDIRSYMBOL$)
  919.         SetSymbolValue dirSym$, dirToChange$
  920.         Lot_RefreshDestination(dirSym$)
  921.      END IF
  922.       END IF
  923.  
  924.    END SELECT
  925.  
  926. END SUB
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935. SUB GETLOTUSAPPDIRCB (hDlg%, CtrlId%, Classes$, Inst%)
  936.    STATIC drvIndex%, dirChanged%
  937.    DIM    dirSym$, dirToChange$, dirName$, winLotApp$
  938.  
  939.    SELECT CASE Classes$
  940.  
  941.    case "__DLGINIT"
  942.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT2)
  943.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT3)
  944.       AddListItem  SYM_UPDATELIST$, SYM_NORMALFONT$
  945.  
  946.       dirChanged%  = FALSE
  947.       dirToChange$ = GetSymbolValue(SYM_LOTUSAPPDIR$)
  948.       dirName$     = GetSymbolValue(dirSym$ + gNAME$)
  949.  
  950.       Lot_GetDriveFreeSpaceList "IDC_COMBO1"
  951.       AddListItem SYM_UPDATELIST$, "IDC_COMBO1"
  952.       drvIndex% = SelectDriveCombo ("IDC_COMBO1", dirToChange$)
  953.       SetListItem "IDC_EDIT", 1, Lot_ExtractDirectory(dirToChange$)
  954.       AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
  955.  
  956.    case "IDC_COMBO1"
  957.       drvIndex%   = Inst%
  958.       dirChanged% = TRUE
  959.  
  960.    case "IDC_EDIT"
  961.       dirChanged% = TRUE
  962.  
  963.    case "IDC_OK"
  964.       IF dirChanged% = TRUE THEN
  965.      dirToChange$ = MID$(GetListItem("IDC_COMBO1",drvIndex%), 1, 2)+ _
  966.             GetListItem("IDC_EDIT", 1)
  967.      IF ValidatePath(dirToChange$) = FALSE THEN
  968.         SetListItem "__LASTSTATUS", 1, "Q"
  969.      ELSE
  970.         SetSymbolValue SYM_LOTUSAPPDIR$, dirToChange$
  971.         Lot_RefreshDestination(SYM_LOTUSAPPDIR$)
  972.         
  973.         DL_SetNotesDataPath
  974.         DL_SetOraclePath
  975.      END IF
  976.       END IF
  977.  
  978.    END SELECT
  979.  
  980. END SUB
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008. SUB SIZEOFINSTALLCB (hDlg%, CtrlId%, Classes$, Inst%)
  1009.  
  1010.    STATIC drvIndex%(1 to MAX_NO_DRIVECOMBOS), dirChanged%, size$, lDistSize&
  1011.    DIM    dirSym$, dirToChange$, rc$, i%, nProds%, lcb&, notused%
  1012.    DIM    drvItem$, drvFree&, network$
  1013.  
  1014.    network$ = GetSymbolValue(SYM_NETWORK)
  1015.  
  1016.    
  1017.    IF INSTR(Classes$, "IDC_COMBO") THEN
  1018.       i% = VAL(MID$(Classes$, 10, LEN(Classes$) - 9))
  1019.       drvIndex%(i%) = Inst%
  1020.       dirChanged%   = TRUE
  1021.  
  1022.       EXIT SUB
  1023.    END IF
  1024.  
  1025.  
  1026.    SELECT CASE Classes$
  1027.    
  1028.    CASE "__DLGINIT"
  1029.  
  1030.       
  1031.       size$ = GetSymbolValue(SYM_SIZEOFINSTALL$)
  1032.       SELECT CASE size$
  1033.  
  1034.       CASE gCOMPLETE$
  1035.      SetListItem "IDC_B", 1, "T"            
  1036.  
  1037.       CASE gLAPTOP$
  1038.      SetListItem "IDC_B", 2, "T"            
  1039.  
  1040.       CASE gCUSTOM$
  1041.      SetListItem "IDC_B", 3, "T"            
  1042.  
  1043.       END SELECT
  1044.       AddListItem SYM_UPDATELIST$, "IDC_B"
  1045.  
  1046.  
  1047.       
  1048.       lcb& = 0
  1049.       nProds% = Reg_GetNumberOfProducts()
  1050.       FOR i% = 1 to nProds%
  1051.     IF Reg_GetUIInOrOut (i%) <> 0 THEN
  1052.         lcb& = lcb& + Reg_GetProdFullSize(i%)
  1053.     END IF 
  1054.       NEXT
  1055.       SetListItem "IDC_TEXT", 2, LdString(SID_SPACENEEDED) + _
  1056.                  STR$((lcb& \ 1048576) + 1) + gStrMB$
  1057.  
  1058.       
  1059.       lcb& = 0
  1060.       FOR i% = 1 to nProds%
  1061.     IF Reg_GetUIInOrOut (i%) <> 0 THEN
  1062.         lcb& = lcb& + Reg_GetProdMinSize(i%)
  1063.     END IF 
  1064.       NEXT
  1065.       SetListItem "IDC_TEXT", 4, LdString(SID_SPACENEEDED) + _
  1066.                  STR$((lcb& \ 1048576) + 1) + gStrMB$
  1067.  
  1068.       
  1069.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT1)
  1070.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT2)
  1071.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT3)
  1072.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT4)
  1073.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT5)
  1074.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT10)
  1075.  
  1076.       AddListItem  SYM_UPDATELIST$, SYM_NORMALFONT$
  1077.       AddListItem  SYM_UPDATELIST$, "IDC_TEXT2"
  1078.       AddListItem  SYM_UPDATELIST$, "IDC_TEXT4"
  1079.  
  1080.       
  1081.       
  1082.       IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  1083.      dirChanged%  = FALSE
  1084.      dirSym$      = Reg_GetDirSymbolList(1)
  1085.      If GetListLength(dirSym$) >= 1 Then
  1086.         dirSym$      = GetListItem(dirSym$, 1)
  1087.         dirToChange$ = GetSymbolValue(dirSym$)
  1088.         Lot_GetDriveFreeSpaceList "IDC_COMBO1"
  1089.         drvIndex%(1) = SelectDriveCombo ("IDC_COMBO1", dirToChange$)
  1090.         SetListItem "IDC_EDIT", 1, Lot_ExtractDirectory(dirToChange$)
  1091.         AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
  1092.      End If
  1093.  
  1094.  
  1095.      
  1096.      IF GetSymbolValue(SYM_NETWORK$) = gSERVER$ THEN
  1097.         dirToChange$ = GetSymbolValue(SYM_LOTUSAPPDIR$)
  1098.         Lot_GetDriveFreeSpaceList "IDC_COMBO2"
  1099.         drvIndex%(2) = SelectDriveCombo ("IDC_COMBO2", dirToChange$)
  1100.         SetListItem "IDC_EDIT", 2, Lot_ExtractDirectory(dirToChange$)
  1101.         AddListItem SYM_UPDATELIST$, "IDC_EDIT2"
  1102.      END IF
  1103.  
  1104.  
  1105.      
  1106.      IF Reg_GetProdSupportForFullInstall(1) = FALSE THEN
  1107.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_B1),    FALSE)
  1108.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_TEXT1), FALSE)
  1109.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_TEXT2), FALSE)
  1110.      END IF
  1111.      IF Reg_GetProdSupportForMinInstall(1)  = FALSE THEN
  1112.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_B2),    FALSE)
  1113.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_TEXT3), FALSE)
  1114.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_TEXT4), FALSE)
  1115.      END IF
  1116.      IF Reg_GetProdSupportForCustInstall(1) = FALSE THEN
  1117.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_B3),    FALSE)
  1118.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_TEXT5), FALSE)
  1119.      END IF
  1120.        
  1121.      IF (Reg_GetProdSupportForFullInstall(1) <> FALSE) AND _
  1122.         (Reg_GetProdSupportForMinInstall(1)  = FALSE)  AND _
  1123.         (Reg_GetProdSupportForCustInstall(1) = FALSE)  THEN
  1124.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_TEXT3), TRUE)
  1125.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_TEXT4), TRUE)
  1126.         notused% = EnableWindow(GetDlgItem(hDlg%, IDC_TEXT5), TRUE)
  1127.      END IF
  1128.       END IF
  1129.  
  1130.  
  1131.  
  1132.    case "IDC_B"
  1133.       SELECT CASE Inst%
  1134.  
  1135.       CASE 1
  1136.      size$ = gCOMPLETE$
  1137.  
  1138.       CASE 2
  1139.      size$ = gLAPTOP$
  1140.  
  1141.       CASE 3
  1142.      size$ = gCUSTOM$
  1143.  
  1144.       END SELECT
  1145.  
  1146.    case "IDC_EDIT"
  1147.       dirChanged% = TRUE
  1148.  
  1149.    case "IDC_OK"
  1150.       
  1151.       SetSymbolValue SYM_SIZEOFINSTALL$, size$
  1152.  
  1153.       IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ AND _
  1154.      dirChanged% = TRUE                               THEN
  1155.  
  1156.      
  1157.      dirToChange$ = LEFT$(GetListItem("IDC_COMBO1",drvIndex%(1)), 2) + _
  1158.             GetListItem("IDC_EDIT", 1)
  1159.  
  1160.      IF ValidatePath(dirToChange$) = FALSE THEN
  1161.         SetListItem "__LASTSTATUS", 1, "Q"
  1162.         EXIT SUB
  1163.      ELSE
  1164.         dirSym$ = Reg_GetDirSymbolList(1)
  1165.         If GetListLength(dirSym$) >= 1 Then
  1166.            dirSym$ = GetListItem(dirSym$, 1)
  1167.            SetSymbolValue dirSym$, dirToChange$
  1168.            rc$ = Lot_CallOneProductFunction(1, "PathChange",gNEXT$, _
  1169.                          FALSE, |"| + dirSym$ + |",TRUE|)
  1170.  
  1171.            If rc$ = gBACK Then
  1172.           SetListItem "__LASTSTATUS", 1, "Q"
  1173.           EXIT SUB
  1174.            End If
  1175.  
  1176.            Lot_RefreshDestination(dirSym$)
  1177.         End If
  1178.  
  1179.      END IF
  1180.  
  1181.      
  1182.      IF GetSymbolValue(SYM_NETWORK$) = gSERVER$  AND _
  1183.         Reg_GetProdSupportForShare(1) = 1        THEN
  1184.          dirToChange$ = LEFT$(GetListItem("IDC_COMBO2",drvIndex%(2)), 2) + _
  1185.                GetListItem("IDC_EDIT", 2)
  1186.         
  1187.  
  1188.         IF ValidatePath(dirToChange$) = FALSE THEN
  1189.            SetListItem "__LASTSTATUS", 1, "Q"
  1190.            EXIT SUB
  1191.         ELSE
  1192.            SetSymbolValue SYM_LOTUSAPPDIR$, dirToChange$
  1193.            Lot_RefreshDestination(SYM_LOTUSAPPDIR$)
  1194.         END IF
  1195.      END IF
  1196.       END IF
  1197.       ResetWinWinsysSymbols
  1198.       
  1199.    END SELECT
  1200.  
  1201. DONESIZEOFINSTALLCB:
  1202.  
  1203. END SUB
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228. SUB DISTSIZEINSTALLCB (hDlg%, CtrlId%, Classes$, Inst%)
  1229.  
  1230.    STATIC drvIndex%, dirChanged%, size$, lDistSize&
  1231.    DIM    dirSym$, dirToChange$, rc$, i%, nProds%, lcb&, notused%
  1232.    DIM    drvItem$, drvFree&, network$
  1233.  
  1234.    network$ = GetSymbolValue(SYM_NETWORK)
  1235.  
  1236.  
  1237.    SELECT CASE Classes$
  1238.    
  1239.    CASE "__DLGINIT"
  1240.  
  1241.       size$ = GetSymbolValue(SYM_SIZEOFINSTALL$)
  1242.  
  1243.       
  1244.       lcb& = 0
  1245.       nProds% = Reg_GetNumberOfProducts()
  1246.       FOR i% = 1 to nProds%
  1247.      lcb& = lcb& + Reg_GetProdFullSize(i%)
  1248.       NEXT
  1249.       SetListItem "IDC_TEXT", 2, LdString(SID_SPACENEEDED) + _
  1250.                  STR$((lcb& \ 1048576) + 1) + gStrMB$
  1251.  
  1252.  
  1253.       
  1254.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT1)
  1255.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT2)
  1256.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT7)
  1257.  
  1258.       AddListItem  SYM_UPDATELIST$, SYM_NORMALFONT$
  1259.       AddListItem  SYM_UPDATELIST$, "IDC_TEXT2"
  1260.  
  1261.       
  1262.       
  1263.       dirChanged%  = FALSE
  1264.       dirSym$      = Reg_GetDirSymbolList(1)
  1265.       If GetListLength(dirSym$) >= 1 Then
  1266.      dirSym$      = GetListItem(dirSym$, 1)
  1267.      dirToChange$ = GetSymbolValue(dirSym$)
  1268.      Lot_GetDriveFreeSpaceList "IDC_COMBO1"
  1269.      drvIndex% = SelectDriveCombo ("IDC_COMBO1", dirToChange$)
  1270.      SetListItem "IDC_EDIT", 1, Lot_ExtractDirectory(dirToChange$)
  1271.      AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
  1272.       End If
  1273.  
  1274.       drvIndex% = SelectDriveCombo ("IDC_COMBO1", dirToChange$)
  1275.       SetListItem "IDC_EDIT", 1, Lot_ExtractDirectory(dirToChange$)
  1276.       drvItem$   = GetListItem("IDC_COMBO1",drvIndex%)
  1277.       drvFree&   = CLNG(MID$(drvItem$,3,LEN(drvItem$)-5))
  1278.       lDistSize& = Lot_GetInfSectionSize(gDISTRIBUTIONFILES$) \ 1024
  1279.       SetListItem "IDC_TEXT", 1, STR$(lDistSize&) + gStrK$
  1280.       SetListItem "IDC_TEXT", 2, STR$(drvFree& - lDistSize&) + gStrK$
  1281.       AddListItem SYM_UPDATELIST$, "IDC_TEXT1"
  1282.       AddListItem SYM_UPDATELIST$, "IDC_TEXT2"
  1283.  
  1284.    case "IDC_COMBO1"
  1285.    
  1286.       drvIndex% = Inst%
  1287.       dirChanged%   = TRUE
  1288.       
  1289.       
  1290.       drvItem$   = GetListItem("IDC_COMBO1",Inst%)
  1291.       drvFree&   = CLNG(MID$(drvItem$,3,LEN(drvItem$)-5))
  1292.       
  1293.       
  1294.       SetListItem "IDC_TEXT", 1, STR$(lDistSize&) + gStrK$
  1295.       SetListItem "IDC_TEXT", 2, STR$(drvFree& - lDistSize&) + gStrK$
  1296.       AddListItem SYM_UPDATELIST$, "IDC_TEXT1"
  1297.       AddListItem SYM_UPDATELIST$, "IDC_TEXT2"
  1298.  
  1299.  
  1300.    case "IDC_EDIT"
  1301.       dirChanged% = TRUE
  1302.  
  1303.    case "IDC_OK"
  1304.       
  1305.       SetSymbolValue SYM_SIZEOFINSTALL$, size$
  1306.  
  1307.       IF dirChanged% = TRUE THEN
  1308.  
  1309.      
  1310.      dirToChange$ = LEFT$(GetListItem("IDC_COMBO1",drvIndex%), 2) + _
  1311.             GetListItem("IDC_EDIT", 1)
  1312.  
  1313.      IF ValidatePath(dirToChange$) = FALSE THEN
  1314.         SetListItem "__LASTSTATUS", 1, "Q"
  1315.         EXIT SUB
  1316.      ELSE
  1317.         dirSym$ = Reg_GetDirSymbolList(1)
  1318.         If GetListLength(dirSym$) >= 1 Then
  1319.            dirSym$ = GetListItem(dirSym$, 1)
  1320.            SetSymbolValue dirSym$, dirToChange$
  1321.            rc$ = Lot_CallOneProductFunction(1, "PathChange",gNEXT$, _
  1322.                          FALSE, |"| + dirSym$ + |",TRUE|)
  1323.  
  1324.            
  1325.  
  1326.            Lot_RefreshDestination(dirSym$)
  1327.         End If
  1328.  
  1329.         ResetWinWinsysSymbols
  1330.      END IF
  1331.  
  1332.       END IF
  1333.  
  1334.    END SELECT
  1335.  
  1336. END SUB
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353. SUB DISKCOPYMETHODCB (hDlg%, CtrlId%, Classes$, Inst%)
  1354.    DIM network$
  1355.  
  1356.    SELECT CASE Classes$
  1357.    
  1358.    CASE "__DLGINIT"
  1359.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
  1360.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
  1361.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
  1362.       AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  1363.  
  1364.       network$ = GetSymbolValue(SYM_NETWORK$)
  1365.       IF network$ = gSERVER$ THEN
  1366.      SetListItem "IDC_B", 1, "T"
  1367.      AddListItem SYM_UPDATELIST$, "IDC_B1"
  1368.       ELSEIF network$ = gDISTRIBUTION$ THEN
  1369.      SetListItem "IDC_B", 2, "T"
  1370.      AddListItem SYM_UPDATELIST$, "IDC_B2"
  1371.       END IF
  1372.  
  1373.    CASE "IDC_B"
  1374.       SELECT CASE Inst%
  1375.       
  1376.       CASE 1
  1377.      SetSymbolValue SYM_NETWORK$, gSERVER$
  1378.  
  1379.       CASE 2
  1380.      SetSymbolValue SYM_NETWORK$, gDISTRIBUTION$
  1381.  
  1382.       END SELECT
  1383.  
  1384.    END SELECT
  1385.  
  1386. END SUB
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398. PUBLIC SUB SRV_SUCCESSCB (hDlg%, CtrlId%, Classes$, Inst%)
  1399.    DIM path$, exist%, ExecError%
  1400.  
  1401.    SELECT CASE Classes$
  1402.  
  1403.    CASE "__DLGINIT"
  1404.       
  1405.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT2)
  1406.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT3)
  1407.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT4)
  1408.       AddListItem  SYM_UPDATELIST$, SYM_NORMALFONT$
  1409.  
  1410.    CASE "IDC_B"
  1411.       IF Inst% = 1 THEN
  1412.      path$  = GetSymbolValue(SYM_LICDIR$)
  1413.      path$  = path$ + "licenser.exe"
  1414.      exist% = DoesFileExist(path$, femExists)
  1415.  
  1416.      
  1417.      IF exist% = FALSE THEN
  1418.         ErrorMsgNoDlgExit SID_NO_LICENSEREXE, ""
  1419.      ELSE
  1420.         
  1421.         ExecError% = WinExec (path$, SW_SHOWNORMAL)
  1422.         IF ExecError% < 32 THEN
  1423.            ErrorMsgNoDlgExit SID_ERR_EXECLIC, ""
  1424.         END IF
  1425.      END IF
  1426.       END IF
  1427.  
  1428.    END SELECT
  1429.  
  1430. END SUB
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445. PUBLIC SUB LAUNCHNAGCB (hDlg%, CtrlId%, Classes$, Inst%)
  1446.    DIM cmd$, ExecError%
  1447.  
  1448.    SELECT CASE Classes$
  1449.  
  1450.    CASE "__DLGINIT"
  1451.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
  1452.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
  1453.       AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  1454.  
  1455.    CASE "IDC_B"
  1456.  
  1457.       
  1458.  
  1459.       cmd$ = LdString(SID_NOTEPADEXE) & " " & MakePath(GetSymbolValue(SYM_STF_SRCDIR$),LdString(SID_READNETTXT))
  1460.       ExecError% = WinExec (cmd$, SW_SHOWNORMAL )
  1461.  
  1462.       
  1463.       IF ExecError% < 32 THEN
  1464.      ErrorMsg SID_ERR_EXECNOTEPAD, ""
  1465.       END IF
  1466.  
  1467.    END SELECT   
  1468.  
  1469. END SUB
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487. SUB SetCustomInfo(fOnTab%,fNewSpace%)
  1488.  
  1489.    STATIC lckSpace&, drvSave$
  1490.    DIM    chpt$, dest$, dirName$, dirSym$, drv$, tips$
  1491.    DIM    lckCost&, lckAvail&
  1492.    DIM    bitmap%, n%, notused%
  1493.  
  1494.    
  1495.    IF fOnTab% = FALSE THEN
  1496.       chpt$ = Lot_LCBGetItem(gPageArray(gCurrentPageIndex%).hDlgPage, _
  1497.                  gPageArray(gCurrentPageIndex%).nSel,     _
  1498.                  LCBITEM_CHAPTER)
  1499.    ELSE
  1500.       chpt$ = gPageArray(gCurrentPageIndex%).szChapter$
  1501.    END IF
  1502.    IF chpt$ = "" THEN EXIT SUB
  1503.  
  1504.    tips$ = Lot_GetChapterValStr(chpt$, F_TIPS)   
  1505.  
  1506.    
  1507.    IF GetListLength(SYM_CUSTOMCOST$) = 0 OR fNewSpace% <> FALSE THEN
  1508.       notused% = LcbGetChapterCost("", "", SYM_CUSTOMCOST$, "")
  1509.    END IF
  1510.  
  1511.    
  1512.    dirSym$ = Lot_GetChapterValStr(chpt$, F_DESTDIRSYM)
  1513.    IF dirsym$ <> SYM_LOTUSAPPDIR$ AND GetSymbolValue(SYM_NETWORK$) <> gSTANDARD$ THEN
  1514.       dirSym$ = Reg_GetDirSymbolList(Lot_GetCurrentProduct())
  1515.       dirSym$ = GetListItem(dirSym$, 1)
  1516.    END IF
  1517.  
  1518.    dest$    = GetSymbolValue(dirSym$)
  1519.    dirName$ = GetSymbolValue(dirSym$ + gNAME$)
  1520.    drv$     = MID$(dest$, 1, 1)
  1521.    n%       = ASC(drv$) - ASC("a") + 1
  1522.    lckCost& = CLNG(GetListItem(SYM_CUSTOMCOST$, n%)) \ 1024
  1523.  
  1524.    
  1525.    IF drv$ = drvSave$ THEN
  1526.       lckAvail& = lckSpace&
  1527.       lckAvail& = GetFreeSpaceForDrive(drv$) \ 1024
  1528.    ELSE
  1529.       lckAvail& = GetFreeSpaceForDrive(drv$) \ 1024
  1530.       lckSpace& = lckAvail&
  1531.       drvSave$  = drv$
  1532.    END IF
  1533.  
  1534.    
  1535.    bitmap% = Lot_GetChapterValInt(chpt$, F_BITMAP)
  1536.    IF bitmap% <> 0 THEN
  1537.       SetListItem "IDC_BMP", 1, STR$(bitmap%)
  1538.       AddListItem SYM_UPDATELIST$, "IDC_BMP1"
  1539.    END IF
  1540.  
  1541.    
  1542.    SetWindowText GetDlgItem(gPageArray(gCurrentPageIndex%).hDlgPage%, IDC_TEXT1), tips$
  1543.    SetWindowText GetDlgItem(ghdlg%, IDC_TEXT2), Lot_MakeSizeString(lckCost&)
  1544.    SetWindowText GetDlgItem(ghdlg%, IDC_TEXT3), Lot_MakeSizeString(lckAvail&)
  1545.    SetWindowText GetDlgItem(ghdlg%, IDC_TEXT4), dest$
  1546.    SetWindowText GetDlgItem(ghdlg%, IDC_TEXT5), dirName$
  1547.  
  1548.       
  1549.       IF GetSymbolValue(SYM_NETWORK$) = gSTANDARD$ THEN
  1550.      IF dest$ = GetSymbolValue(SYM_LOTUSAPPDIR$) THEN
  1551.         notused% = EnableWindow (GetDlgItem(ghdlg%, IDC_B1), FALSE)
  1552.      ELSE
  1553.         notused% = EnableWindow (GetDlgItem(ghdlg%, IDC_B1), TRUE)
  1554.      END IF
  1555.       END IF
  1556.  
  1557. END SUB
  1558.  
  1559.  
  1560. PUBLIC SUB ResetWinWinsysSymbols()
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.    DIM   network$, SymVal$
  1567.  
  1568.    network$ = GetSymbolValue(SYM_NETWORK$)
  1569.    IF network$ = gSERVER$ THEN
  1570.  
  1571.       IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  1572.      SymVal$ = Reg_GetDirSymbolList(1)
  1573.      If GetListLength(SymVal$) >= 1 Then
  1574.         SymVal$ = GetListItem(SymVal$, 1)
  1575.         SymVal$ = GetSymbolValue(SymVal$)
  1576.      Else
  1577.         
  1578.         ErrorMsg SID_ERR_SRV_MUST_HAVE_MAINDIR, "" 
  1579.         ERROR STFQUIT
  1580.      End If
  1581.       ELSE
  1582.      SymVal$ = GetSymbolValue(SYM_BASEDIR$)
  1583.       END IF
  1584.  
  1585.       SetSymbolValue SYM_WINDIR$,    SymVal$ + "win\"
  1586.       SetSymbolValue SYM_WINSYSDIR$, SymVal$ + "winsys\"
  1587.  
  1588.       Lot_RefreshDestination(SYM_WINDIR$)
  1589.       Lot_RefreshDestination(SYM_WINSYSDIR$)
  1590.  
  1591.    END IF
  1592.  
  1593. END SUB
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599. FUNCTION DoesFileExistInDir (dirlist$) AS INTEGER
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.    DIM errstr$, n%, i%, dirname$, RC%, temp$, sz$
  1614.  
  1615.    DoesFileExistInDir = TRUE
  1616.    errstr$ = ""
  1617.    n% = GetListLength(dirlist$)
  1618.    for i% = 1 to n%
  1619.       dirname$ = GetListItem(dirlist$,i%) 
  1620.       rc% = DoesDirExist(dirname$)
  1621.       If DoesDirExist(dirname$)Then                
  1622.      temp$ = Lot_Dir(dirname$+"\*.*") 
  1623.      if temp$ <> "" Then 
  1624.         errstr$ = errstr$ + CHR$(10) + CHR$(10) + "     " + dirname$
  1625.      end if
  1626.       end if
  1627.    Next
  1628.        
  1629.    if errstr$ <> "" Then
  1630.       sz$ = LdString(SID_DIR_NOT_EMPTY) + errstr$
  1631.       RC% = DoMsgBox(sz$,LdString(SID_TKT_STD_TITLE),MB_OKCANCEL + MB_ICONEXCLAMATION) 
  1632.       if RC% <> 1 Then
  1633.      SetListItem "__LASTSTATUS",1,"Q"
  1634.      EXIT FUNCTION
  1635.       end if 
  1636.    end if
  1637.  
  1638. END FUNCTION
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655. SUB NODELOTUSAPPCB (hDlg%, CtrlId%, Classes$, Inst%)
  1656.    DIM i%, netLotusapp$, dr$, ndrives%, S$, l%, newpath$, oldnetLotusapp$
  1657.    STATIC drvIndex%
  1658.  
  1659.    SELECT CASE Classes$
  1660.  
  1661.    CASE "__DLGINIT"
  1662.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
  1663.       AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  1664.  
  1665.       netLotusapp$ = GetSymbolValue(SYM_NETLOTUSAPP$)
  1666.       dr$ = MID$(netLotusapp$,1,1)
  1667.  
  1668.       Lot_GetDriveFreeSpaceList "IDC_COMBO1"
  1669.       drvIndex% = SelectDriveCombo ("IDC_COMBO1", dr$)
  1670.       ndrives% = GetListLength("IDC_COMBO1")
  1671.       FOR i% = 1 to ndrives%
  1672.      
  1673.      S$ = GetListItem("IDC_COMBO1", i%)
  1674.      SetListItem "IDC_COMBO1", i%, MID$(S$,1,2)
  1675.       NEXT
  1676.  
  1677.    case "IDC_COMBO1"
  1678.       drvIndex%   = Inst%
  1679.  
  1680.    case "IDC_OK"
  1681.       dr$ = MID$(GetListItem("IDC_COMBO1",drvIndex%), 1, 1)
  1682.       netLotusapp$ = GetSymbolValue(SYM_NETLOTUSAPP$)
  1683.       l% = LEN(netLotusapp$)
  1684.       netLotusapp$ = LCASE$(dr$ & MID$(netLotusapp$, 2, l%-1) )
  1685.       oldnetLotusapp$ = netLotusapp$
  1686.       If DoesDirExist(netLotusapp$) = 1 Then
  1687.       SetSymbolValue SYM_NETLOTUSAPP$, netLotusapp$
  1688.       Else
  1689.     newpath$ = TrimNetlotusapp$(netLotusapp$)
  1690.     If newpath$ <> "" Then  
  1691.         netLotusapp$ = newpath$
  1692.     Else
  1693.         netLotusapp$ = oldnetLotusapp$
  1694.         ShowPathError SID_ERR_DIRSYNTAX, SID_NODENONEXISTLOTUSAPPDIR,_
  1695.             Lot_TrimEndSlash (netLotusapp$)
  1696.         SetListItem "__LASTSTATUS", 1, "Q"
  1697.         GOTO DONEOK
  1698.     End If
  1699.       End If        
  1700.    DONEOK:
  1701.  
  1702.    END SELECT
  1703.  
  1704.  
  1705. END SUB
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714. SUB SRVNODEOPTIONSCB (hDlg%, CtrlId%, Classes$, Inst%)
  1715.    DIM chpt$, firstchpt$, ProdName$, child$, dirsym$,toggle%,Selection%,sel%,Written%
  1716.    DIM NumOfProds%, OptNum%, OptName$, tiponly%,ProdNum%, Selected$, prodno$
  1717.    DIM RC$, i%, j%,k%, notused%, Item$, flag$, SaveInst%, index%,OptKeyWord$
  1718.  
  1719.    SELECT CASE Classes$
  1720.  
  1721.    case "__DLGINIT"
  1722.  
  1723.       
  1724.       NumOfProds% = Reg_GetNumberOfProducts()
  1725.       IF NumOfProds%=0 THEN
  1726.      EXIT SUB
  1727.       END IF
  1728.  
  1729.       
  1730.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT1)
  1731.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT3)
  1732.       AddListItem  SYM_UPDATELIST$, SYM_NORMALFONT$
  1733.  
  1734.       
  1735.       Lot_LCBSetRedraw hDlg%, 0
  1736.       Lot_LCBResetContent hDlg%
  1737.  
  1738.       
  1739.       FOR i% = 1 TO NumOfProds%
  1740.      Reg_ReSetAllNodeOptsSelToDefaults i%
  1741.      OptNum%=Reg_GetNumofNodeOptions(i%)
  1742.      IF OptNum% <> 0 THEN
  1743.         chpt$ = Lot_GetChapterFromKeyword(Reg_GetProductAcronym(i%) + gTOP$)
  1744.         IF firstchpt$ = "" THEN    
  1745.         firstchpt$ = chpt$
  1746.         END IF
  1747.         Lot_SetSpaceDirTip hDlg%,chpt$,1 - IDC_LCB1 + 1,i%,FALSE
  1748.         ProdName$ = Lot_GetChapterValStr(chpt$, F_NAME) 
  1749.         Written% = 0
  1750.        
  1751.         FOR j% = 1 TO OptNum%
  1752.         
  1753.         OptKeyWord$ = Reg_GetNodeOptionStr(i%,j%)
  1754.         chpt$ = Lot_GetChapterFromKeyword(OptKeyWord$)
  1755.         IF INT(Lot_GetChapterValInt(chpt$,F_INOROUT)) = 1 THEN
  1756.            IF Written% = 0 THEN
  1757.               
  1758.               
  1759.               
  1760.               
  1761.               
  1762.               
  1763.               Item$="1"+ProdName$+";;"+STR(OptNum%)+";"+STR(i%)+";G"
  1764.               IF Lot_LCBAddItem(hDlg%, Item$) = 0 THEN
  1765.              ErrorMsg SID_ERR_POPULATELCB, ""
  1766.              ERROR STFQUIT
  1767.               END IF
  1768.               Written% = 1
  1769.            END IF
  1770.  
  1771.            OptName$ = "    "+Lot_GetChapterValStr(chpt$, F_NAME)
  1772.            
  1773.            
  1774.            
  1775.            
  1776.            
  1777.            
  1778.            
  1779.            
  1780.            Selected$ = Reg_IsNodeOptionSelected(i%,j%)
  1781.            IF Selected$ = STR(1) THEN
  1782.               Item$="1"+OptName$+";"+ _
  1783.              Lot_MakeSizeString(Lot_GetInfChapterSize(chpt$)\1024) _
  1784.              +";"+chpt$+";"+STR(i%)+";M;"+OptKeyWord$+";"+STR(j%)
  1785.            ELSE
  1786.               Item$="0"+OptName$+";"+ _
  1787.              Lot_MakeSizeString(Lot_GetInfChapterSize(chpt$)\1024) _
  1788.              +";"+chpt$+";"+STR(i%)+";M;"+OptKeyWord$+";"+STR(j%)
  1789.            END IF 
  1790.            IF Lot_LCBAddItem(hDlg%, Item$) = 0 THEN
  1791.               ErrorMsg SID_ERR_POPULATELCB, ""
  1792.               ERROR STFQUIT
  1793.            END IF
  1794.         ELSE
  1795.            Reg_ReSetNodeOptionSelected i%,j%,0
  1796.         END IF
  1797.          NEXT
  1798.  
  1799.      END IF
  1800.      NEXT
  1801.  
  1802.      
  1803.       Lot_LCBSetRedraw hDlg%, 1
  1804.  
  1805.      
  1806.      Lot_LCBSetSel hDlg%, 1
  1807.      prodno$  = Lot_LCBGetItem(hDlg%,1,5)   
  1808.      Lot_SetSpaceDirTip hDlg%,firstchpt$,1,CINT(prodno$),FALSE
  1809.  
  1810.    case "IDC_LCB"
  1811.  
  1812.         SetYieldActive FALSE    
  1813.  
  1814.       
  1815.       
  1816.       SaveInst% = Inst%
  1817.       IF Inst% < 0 THEN
  1818.      Inst%    = -Inst%
  1819.      tiponly% = TRUE
  1820.      toggle% = FALSE
  1821.       ELSE
  1822.      tiponly% = FALSE
  1823.      toggle% = TRUE
  1824.       END IF
  1825.  
  1826.       
  1827.       index% = Inst% - IDC_LCB1 + 1
  1828.       
  1829.       chpt$  = Lot_LCBGetItem(hDlg%, index%, LCBITEM_CHAPTER)
  1830.       
  1831.       ProdNum% = CINT(Lot_LCBGetItem(hDlg%, index%, 5))
  1832.       
  1833.       flag$ = Lot_LCBGetItem(hDlg%, index%, 6)
  1834.       
  1835.       Selection% = CINT(Lot_LCBGetItem(hDlg%, index%, LCBITEM_SELECTED))
  1836.       
  1837.       OptKeyWord$ = Lot_LCBGetItem(hDlg%, index%, 7)
  1838.  
  1839.       
  1840.  
  1841.       
  1842.       IF flag$ = "G" AND toggle% = TRUE THEN
  1843.       FOR i% = 1 TO CINT(chpt$)
  1844.         IF Selection% = 0 AND _
  1845.            Lot_LCBGetCount(hDlg%)+1 > index%+i% THEN
  1846.            sel% = CINT(Lot_LCBGetItem(hDlg%, index%+i%, LCBITEM_SELECTED))
  1847.            IF sel% = 1 AND Lot_LCBGetItem(hDlg%, index%+i%, 6) <> "G" THEN
  1848.           notused% = Lot_LCBReplaceItem(hDlg%, index%+i%, LCBITEM_SELECTED,"0")
  1849.           chpt$  = Lot_LCBGetItem(hDlg%, index%+i%, LCBITEM_CHAPTER)
  1850.           Reg_ReSetNodeOptionSelected ProdNum%, i%, 0
  1851.            END IF
  1852.         ELSEIF Selection% = 1 AND _
  1853.            Lot_LCBGetCount(hDlg%)+1 > index%+i% THEN
  1854.            sel% = CINT(Lot_LCBGetItem(hDlg%, index%+i%, LCBITEM_SELECTED))
  1855.            IF sel% = 0 AND Lot_LCBGetItem(hDlg%, index%+i%, 6) <> "G" THEN
  1856.           notused% = Lot_LCBReplaceItem(hDlg%, index%+i%, LCBITEM_SELECTED,"1")
  1857.           chpt$  = Lot_LCBGetItem(hDlg%, index%+i%, LCBITEM_CHAPTER)
  1858.           Reg_ReSetNodeOptionSelected ProdNum%, i%, 1
  1859.            END IF
  1860.         END IF
  1861.      NEXT
  1862.  
  1863.  
  1864.       END IF
  1865.  
  1866.       
  1867.       IF flag$ = "G" AND toggle% = FALSE THEN
  1868.            prodno$  = Lot_LCBGetItem(hDlg%, index%,5)   
  1869.      chpt$ = Lot_GetChapterFromKeyword(Reg_GetProductAcronym(CINT(prodno$)) + gTOP$)
  1870.      Lot_SetSpaceDirTip hDlg%,chpt$,index%,ProdNum%,TRUE
  1871.       END IF
  1872.  
  1873.       
  1874.       IF flag$ = "M" AND toggle% = TRUE THEN
  1875.      sel% = CINT(Lot_LCBGetItem(hDlg%, index%, LCBITEM_SELECTED))
  1876.      Lot_SetSpaceDirTip hDlg%,chpt$,index%,ProdNum%,FALSE
  1877.      IF sel% = 0 THEN
  1878.          Reg_ReSetNodeOptionSelected ProdNum%, CINT(Lot_LCBGetItem(hDlg%, index%, 8)), 0
  1879.      ELSE
  1880.          Reg_ReSetNodeOptionSelected ProdNum%, CINT(Lot_LCBGetItem(hDlg%, index%, 8)), 1
  1881.      END IF
  1882.       END IF
  1883.       
  1884.       IF flag$ = "M" AND toggle% = FALSE THEN
  1885.      Lot_SetSpaceDirTip hDlg%,chpt$,index%,ProdNum%,TRUE
  1886.       END IF
  1887.  
  1888.         SetYieldActive TRUE     
  1889.  
  1890.    END SELECT
  1891.  
  1892. END SUB
  1893.  
  1894.  
  1895.  
  1896. SUB NODENODEOPTIONSCB (hDlg%, CtrlId%, Classes$, Inst%)
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.    STATIC drvIndex%, dirChanged%
  1903.    DIM    dirSym$, dirToChange$, dirName$, rc$, i%, Chapter$
  1904.    DIM    AllProdNum%,prodNum%,AllOptNum%,OptName$,OptNum%,notused%
  1905.  
  1906.    SELECT CASE Classes$
  1907.  
  1908.    case "__DLGINIT"
  1909.       dirChanged%  = FALSE
  1910.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT1)
  1911.       AddListItem  SYM_NORMALFONT$, STR$(IDC_TEXT4)
  1912.       AddListItem  SYM_UPDATELIST$, SYM_NORMALFONT$
  1913.       SetListItem "IDC_B", 1, "T"
  1914.       Lot_GetDriveFreeSpaceList "IDC_COMBO1"
  1915.  
  1916.  
  1917.       IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  1918.      dirSym$ = Reg_GetDirSymbolList(1)
  1919.      dirSym$ = GetListItem(dirSym$,1) 
  1920.      dirToChange$ = GetSymbolValue(dirSym$)
  1921.       ELSE
  1922.      dirToChange$ = GetSymbolValue(SYM_BASEDIR$)
  1923.       END IF
  1924.       SetSymbolValue SYM_CHANGEDIRSYMBOL$, dirSym$
  1925.       drvIndex% = SelectDriveCombo ("IDC_COMBO1", dirToChange$)
  1926.       SetListItem "IDC_EDIT", 1, Lot_ExtractDirectory(dirToChange$)
  1927.       AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
  1928.       AddListItem SYM_UPDATELIST$, "IDC_B1"
  1929.  
  1930.       
  1931.       AllProdNum% = 0
  1932.       AllProdNum% = Reg_GetNumberOfProducts()
  1933.       IF AllProdNum% <> 0 THEN
  1934.  
  1935.      
  1936.      FOR prodNum%=1 TO AllProdNum%
  1937.         AllOptNum% = 0
  1938.         AllOptNum% = Reg_GetNumofNodeOptions(prodNum%)
  1939.         IF AllOptNum% <> 0 THEN
  1940.  
  1941.            
  1942.            FOR OptNum%=1 TO AllOptNum% 
  1943.           OptName$ = Reg_GetNodeOptionStr(prodNum%,OptNum%)
  1944.           IF Lot_IsTheNodeOptionsAvailToNode(prodNum%,OptName$) = 0 THEN
  1945.              Chapter$ = Lot_GetChapterFromKeyword(OptName$)
  1946.              notused% = Lot_SetChapterFilesInCopyListInOrOut(Chapter$,0)
  1947.           ELSE
  1948.              Chapter$ = Lot_GetChapterFromKeyword(OptName$)
  1949.              notused% = Lot_SetChapterFilesInCopyListInOrOut(Chapter$,1)
  1950.            END IF
  1951.            NEXT
  1952.         END IF
  1953.      NEXT
  1954.       END IF
  1955.  
  1956.    case "IDC_EDIT"
  1957.       dirChanged% = TRUE
  1958.  
  1959.    case "IDC_COMBO1"
  1960.       drvIndex%   = Inst%
  1961.       dirChanged% = TRUE
  1962.  
  1963.  
  1964.    case "IDC_OK"
  1965.       IF dirChanged% = TRUE THEN
  1966.           dirToChange$ = MID$(GetListItem("IDC_COMBO1",drvIndex%), 1, 2) + _
  1967.           GetListItem("IDC_EDIT", 1)
  1968.  
  1969.            IF ValidatePath(dirToChange$) = FALSE THEN
  1970.                SetListItem "__LASTSTATUS", 1, "Q"
  1971.     ELSE
  1972.            dirSym$ = GetSymbolValue(SYM_CHANGEDIRSYMBOL$)
  1973.             SetSymbolValue dirSym$, dirToChange$
  1974.            rc$ = Lot_CallOneProductFunction(Lot_GetCurrentProduct(), _
  1975.                         "PathChange", gNEXT$,    _
  1976.                         FALSE, |"| + dirSym$ + |",FALSE|)
  1977.         If rc$ = gBACK Then
  1978.                   SetListItem "__LASTSTATUS", 1, "Q"
  1979.                   EXIT SUB
  1980.            End If
  1981.            Lot_RefreshDestination(dirSym$)
  1982.     END IF
  1983.       END IF
  1984.       
  1985.       IF Lot_IsAnyNodeOptAvailToNode() <> 0 THEN
  1986.      IF IsDlgButtonChecked(hDlg%,IDC_B1) = FALSE THEN
  1987.         
  1988.         AllProdNum% = 0
  1989.         AllProdNum% = Reg_GetNumberOfProducts()
  1990.         IF AllProdNum% <> 0 THEN
  1991.            FOR prodNum%=1 TO AllProdNum%
  1992.           AllOptNum% = 0
  1993.           AllOptNum% = Reg_GetNumofNodeOptions(prodNum%)
  1994.           IF AllOptNum% <> 0 THEN
  1995.              
  1996.              FOR OptNum%=1 TO AllOptNum% 
  1997.             OptName$ = Reg_GetNodeOptionStr(prodNum%,OptNum%)
  1998.             Chapter$ = Lot_GetChapterFromKeyword(OptName$)
  1999.             notused% = Lot_SetChapterFilesInCopyListInOrOut(Chapter$,0)
  2000.              NEXT
  2001.           END IF
  2002.            NEXT
  2003.         END IF
  2004.      ELSE
  2005.         
  2006.         AllProdNum% = 0
  2007.         AllProdNum% = Reg_GetNumberOfProducts()
  2008.         IF AllProdNum% <> 0 THEN
  2009.            FOR prodNum%=1 TO AllProdNum%
  2010.           AllOptNum% = 0
  2011.           AllOptNum% = Reg_GetNumofNodeOptions(prodNum%)
  2012.           IF AllOptNum% <> 0 THEN
  2013.              
  2014.              FOR OptNum%=1 TO AllOptNum% 
  2015.             OptName$ = Reg_GetNodeOptionStr(prodNum%,OptNum%)
  2016.             Chapter$ = Lot_GetChapterFromKeyword(OptName$)
  2017.                         IF Lot_IsTheNodeOptionsAvailToNode(prodNum%,OptName$) = 1 THEN
  2018.                notused% = Lot_SetChapterFilesInCopyListInOrOut(Chapter$,1)
  2019.                         END IF
  2020.              NEXT
  2021.           END IF
  2022.            NEXT
  2023.         END IF
  2024.  
  2025.      END IF
  2026.       END IF
  2027.  
  2028.  
  2029.    END SELECT
  2030.  
  2031. END SUB
  2032.  
  2033. SUB Lot_SetSpaceDirTip(hDlg%,chpt$,index%,ProdNum%,tiponly%)
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.    STATIC lckSpace&, drvSave$
  2043.    DIM    dest$, dirName$, dirSym$, drv$, tips$
  2044.    DIM    lckCost&, lckAvail&
  2045.    DIM    bitmap%, n%, notused%
  2046.  
  2047.    
  2048.    tips$ = Lot_GetChapterValStr(chpt$, F_TIPS)   
  2049.  
  2050.    
  2051.    IF GetListLength(SYM_CUSTOMCOST$) = 0 OR tiponly <> FALSE THEN
  2052.       notused% = LcbGetChapterCost("", "", SYM_CUSTOMCOST$, "")
  2053.    END IF
  2054.  
  2055.    
  2056.    dirSym$ = Lot_GetChapterValStr(chpt$, F_DESTDIRSYM)
  2057.    IF dirsym$ <> SYM_LOTUSAPPDIR$ AND GetSymbolValue(SYM_NETWORK$) <> gSTANDARD$ THEN
  2058.       dirSym$ = Reg_GetDirSymbolList(ProdNum%)
  2059.       dirSym$ = GetListItem(dirSym$, 1)
  2060.    END IF
  2061.  
  2062.    dest$    = GetSymbolValue(dirSym$)
  2063.    dirName$ = GetSymbolValue(dirSym$ + gNAME$)
  2064.    drv$     = MID$(dest$, 1, 1)
  2065.    n%       = ASC(drv$) - ASC("a") + 1
  2066.    lckCost& = CLNG(GetListItem(SYM_CUSTOMCOST$, n%)) \ 1024
  2067.  
  2068.    
  2069.    IF drv$ = drvSave$ THEN
  2070.       lckAvail& = lckSpace&
  2071.    ELSE
  2072.       lckAvail& = GetFreeSpaceForDrive(drv$) \ 1024
  2073.       lckSpace& = lckAvail&
  2074.       drvSave$  = drv$
  2075.    END IF
  2076.  
  2077.    
  2078.    bitmap% = Lot_GetChapterValInt(chpt$, F_BITMAP)
  2079.    IF bitmap% <> 0 THEN
  2080.       SetListItem "IDC_BMP", 1, STR$(bitmap%)
  2081.       AddListItem SYM_UPDATELIST$, "IDC_BMP1"
  2082.    END IF
  2083.  
  2084.    
  2085.    SetWindowText GetDlgItem(hDlg%, IDC_TEXT1), tips$
  2086.    SetWindowText GetDlgItem(hDlg%, IDC_TEXT5), Lot_MakeSizeString(lckCost&)
  2087.    SetWindowText GetDlgItem(hDlg%, IDC_TEXT7), Lot_MakeSizeString(lckAvail&)
  2088.    SetWindowText GetDlgItem(hDlg%, IDC_TEXT9), dest$
  2089.    
  2090.  
  2091. END SUB
  2092.  
  2093.  
  2094. SUB AUTOEXECCB (hDlg%, CtrlId%, Classes$, Inst%)
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.    DIM modflag%, notused1$
  2105.  
  2106.    SELECT CASE Classes$
  2107.  
  2108.    CASE "__DLGINIT"
  2109.      AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
  2110.      AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
  2111.      AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
  2112.      AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
  2113.      AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT5)
  2114.      AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  2115.  
  2116.    CASE "IDC_OK"                    
  2117.      modflag% = 0
  2118.      IF GetSymbolValue(SYM_NEEDNOTES$) <> gFALSE$ THEN
  2119.         modflag% = 1            
  2120.      END IF
  2121.      IF GetSymbolValue(SYM_NEEDSHARE$) <> gFALSE$ THEN
  2122.         modflag% = modflag% + 2 
  2123.      END IF
  2124.      IF modflag% <> FALSE THEN
  2125.         notused1$=ModifyAutoexec(modflag%, 1, "AUTOEXEC.LTS")
  2126.      END IF
  2127.      SetSymbolValue SYM_AUTOEXEC_CHOICE$, gAUTO$
  2128.  
  2129.    CASE "IDC_MENU"                  
  2130.      modflag% = 0               
  2131.      IF GetSymbolValue(SYM_NEEDNOTES$) <> gFALSE$ THEN
  2132.         modflag% = 1            
  2133.      END IF
  2134.      IF GetSymbolValue(SYM_NEEDSHARE$) <> gFALSE$ THEN
  2135.         modflag% = modflag% + 2 
  2136.      END IF
  2137.      IF modflag% <> FALSE THEN
  2138.         notused1$=ModifyAutoexec(modflag%, 0, "AUTOEXEC.LTS")
  2139.      END IF
  2140.      SetSymbolValue SYM_AUTOEXEC_CHOICE$, gAUTOCOPY$
  2141.  
  2142.    CASE "IDC_CONTINUE"                
  2143.      SetSymbolValue SYM_AUTOEXEC_CHOICE$, gMAN$
  2144.  
  2145.    END SELECT
  2146.  
  2147. END SUB
  2148.  
  2149.  
  2150. SUB INSTALLCOMPLETECB (hDlg%, CtrlId%, Classes$, Inst%)
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.    DIM notused1$, hwnd%, lr%
  2160.    
  2161.    SELECT CASE Classes$
  2162.  
  2163.    CASE "__DLGINIT"
  2164.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
  2165.       AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
  2166.       AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  2167.  
  2168.      
  2169.    CASE "IDC_OK"                    
  2170.  
  2171.    END SELECT
  2172.  
  2173. END SUB
  2174.  
  2175.