home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-06-19 | 114.7 KB | 3,462 lines |
- ''*********************************************************************
- ''
- '' Module Name: cominst\toolkit\callback.lss
- ''
- '' Module Code: COMINST
- ''
- '' Author: Dave Dupre
- ''
- '' Creation Date: Wednesday January 5, 1994
- ''
- '' Copyright Lotus Development Corporation, (c) 1994
- ''
- ''
- '' Description:
- ''
- ''
- '' Additional authors: MZ
- ''
- '' Change History:
- '' $Log: //CIT/VOL1/CFLOG/logfiles/cominst/toolkit/callback.l@s $
- ''
- '' Rev 1.194 19 Jun 1996 07:41:58 jdonohue
- '' Added looking for readnet.wri filename w/o path since other two tests fail for
- '' unknown reasons in LAUNCHNAGCB
- ''
- '' Rev 1.193 17 Jun 1996 11:11:34 jdonohue
- '' Ref SPR: KYEE36MSLU
- '' Removed call to MakePath in LAUNCHNAGCB callback, since MakePath doesn't like
- '' embedded dots in path (LOTUSTMP.000)
- ''
- '' Rev 1.192 14 Jun 1996 17:53:16 dfristro
- '' Simplified error message for excessive path length (SID_ERR_PATHLEN) to
- '' fix SPR RWIS36HHHN.
- ''
- '' Rev 1.189 10 Jun 1996 15:06:52 mhishinu
- '' Replaced six LEFT calls with LEFTBP to fix DBCS bug.
- ''
- '' Rev 1.188 22 May 1996 15:24:36 jdonohue
- '' Replaced LEFTBP calls with LEFT
- ''
- '' Rev 1.187 16 May 1996 12:53:04 jdonohue
- '' Changed notepad.exe and readme.txt to write.exe and readme.wri, and changed
- '' corresponding string symbolic names to be consistent
- ''
- '' Rev 1.186 15 May 1996 13:34:32 glutz
- '' SrvNodeOptionsCB and NodeNodeOptionsCB were not veryfying the number
- '' of member check boxes accociated with each group box.
- ''
- '' Rev 1.185 07 May 1996 11:16:32 glutz
- '' Changed dirChanged% to static in nodenodeoptionscb.
- ''
- '' Rev 1.184 07 May 1996 10:18:36 glutz
- '' Fixed up logic for displaying personal dir and node options dialog
- '' SPR#CDWT34NSKG
- ''
- '' Rev 1.183 12 Apr 1996 15:43:58 glutz
- '' Fixed problem in node options callbacks with member boxes being checked.
- ''
- '' Rev 1.182 09 Apr 1996 15:42:24 glutz
- '' Srvnodeoptions group boxes are not selected if no members are selected.
- ''
- '' Rev 1.181 09 Apr 1996 14:52:00 glutz
- '' in nodenodeoptions and srvnodeoptions toggling off all member boxes
- '' will turn off group box.
- ''
- '' Rev 1.180 28 Mar 1996 08:36:48 jdonohue
- '' Install fonts to "win\fonts" on server
- ''
- '' Rev 1.178 27 Mar 1996 13:16:14 jdonohue
- '' Changed LOTUSFONTSDIR handling to mimic WIN/WINSYS fonts go to win directory
- '' on server
- ''
- '' Rev 1.177 14 Mar 1996 14:00:36 jdonohue
- '' Don't put up any node options if product not selected in NODENODEOPTIONSCB
- ''
- '' Rev 1.176 13 Mar 1996 13:42:26 jdonohue
- '' Changed GetListItem argument for "IDC_TREE" to 1 instead of Inst%, since there
- '' is only one list item ever
- ''
- '' Rev 1.175 11 Mar 1996 09:06:02 jdonohue
- '' Added sticky settings to SRVNODEOPTIONSCB and NODENODEOPTIONSCB
- ''
- '' Rev 1.174 06 Mar 1996 12:29:22 jdonohue
- '' Ref SPR: LSCR32FVVK
- '' Caused edit control for new program group to be highlighted by tabbing out of
- '' and back into control
- ''
- '' Rev 1.173 04 Mar 1996 08:31:50 jdonohue
- '' Remove 16 bit shared component support -- pass 1 : eliminate LOTUSAPP
- ''
- '' Rev 1.172 29 Feb 1996 15:37:14 glutz
- '' Callbacks that have combo/edit pairs now use ComboSelChanged and
- '' GetPathFromComboEdit for path handling.
- ''
- '' Rev 1.171 23 Jan 1996 16:02:20 cmoy
- '' Merged FE changes
- ''
- '' Rev 1.170 17 Jan 1996 14:22:54 glutz
- '' modified NODENODEOPTIONSCB for LCBs.
- ''
- '' Rev 1.169 17 Jan 1996 11:47:12 jdonohue
- '' Backed out shared windows handling -- copy to normal server location as well
- ''
- '' Rev 1.168 15 Jan 1996 15:05:34 jdonohue
- '' Added function Lot_SharedWindowsDlg for Shared Windows Server installs
- ''
- '' Rev 1.167 12 Jan 1996 14:10:56 jdonohue
- '' Added special handling of SYM_LOTUSFONTSDIR$ and SYM_WINSYSDIR$) in dialogs
- ''
- '' Rev 1.166 12 Jan 1996 10:02:08 jdonohue
- '' Added flag for server install to shared windows location
- ''
- '' Rev 1.165 22 Dec 1995 10:13:04 jdonohue
- '' Removed all references to SYM_PARENTDIR$ -- is now SYM_BASEDIR$ for all
- ''
- '' Rev 1.164 Oct 24 1995 16:54:26 cmoy
- '' removed eof char
- ''
- '' Rev 1.163 22 Oct 1995 17:40:24 cmoy
- '' HISHI: Changed GetGroupName and PROGMANGROUPCB
- '' They call GetDBCSSymbolValue and GetDBCSListItem.
- '' GetGroupName doesn't call FDBCSCharLen.
- ''
- '' Rev 1.162 28 Sep 1995 10:26:40 amontalv
- '' Changed how the default folder is gotten to allow clients to change it when they
- '' change default program group name. This broke when I changed the UI for folders.
- ''
- '' Rev 1.161 27 Sep 1995 16:40:52 amontalv
- '' Don't allow entries of illegal characters or blank fields for program folders.
- ''
- '' Rev 1.160 26 Sep 1995 13:01:48 amontalv
- '' Having problem redisplaying item that was previously clicked on after clicking on
- '' tab, so reset gPrevInst% when you click on tab.
- ''
- '' Rev 1.159 26 Sep 1995 12:40:00 amontalv
- '' Changed check for invalid characters.
- ''
- '' Rev 1.158 25 Sep 1995 17:45:42 amontalv
- '' Added code to check for valid folder item. If invalid do not allow user to
- '' change selection or hit okay.
- ''
- '' Rev 1.157 Sep 25 1995 10:58:40 cmoy
- '' Fixed declaration errors
- ''
- '' Rev 1.156 22 Sep 1995 16:44:24 tveerapp
- '' Fixed spr# LSCR2VZVGB. GETLOTUSAPPDIRCB changes.
- ''
- '' Rev 1.155 22 Sep 1995 15:07:12 jdonohue
- '' Remove SYM_LOTUSUSERDIR$ processing
- ''
- '' Rev 1.154 22 Sep 1995 12:17:10 amontalv
- '' Check for focus before making change to Program Folder entry in tree from edit line.
- ''
- '' Rev 1.153 21 Sep 1995 15:40:10 amontalv
- '' Fixed notebook focus issues. Had to call text1 and bitmap window directly.
- '' Also changed check for updating these.
- ''
- '' Rev 1.152 21 Sep 1995 09:33:56 jdonohue
- '' Disable browse buttons 2 and 3 for a language install
- ''
- '' Rev 1.151 20 Sep 1995 13:38:08 glutz
- '' CUSTOM2CB disables the path change button if the selected component
- '' belongs in the component dir.
- ''
- '' Rev 1.150 19 Sep 1995 15:30:00 amontalv
- '' After creating new folder, put focus in edit box.
- ''
- '' Rev 1.149 Sep 14 1995 18:30:06 cmoy
- '' fixed focus problem (Mak Inada)
- ''
- '' Rev 1.148 14 Sep 1995 12:26:20 cmoy
- '' fixed folder to foldername
- ''
- '' Rev 1.147 13 Sep 1995 16:31:34 amontalv
- '' Resourced New folder name.
- ''
- '' Rev 1.146 13 Sep 1995 16:26:36 amontalv
- '' Changed processing for program folder input dialog.
- ''
- '' Rev 1.145 07 Sep 1995 15:21:50 amontalv
- '' Added check to make sure folders names are not blank.
- ''
- '' Rev 1.144 05 Sep 1995 16:39:26 amontalv
- '' Added logic to get readnet.txt out of temp directory if it exists.
- ''
- '' Rev 1.143 31 Aug 1995 15:09:22 callanan
- '' Displaying tip in custom dlg using the setsymbol, to avoid losing bitmap. Also added param to SetCustomInfo
- ''
- '' Rev 1.142 29 Aug 1995 08:29:10 jdonohue
- '' Changed symbol of USERDIR to LOTUSUSERDIR
- ''
- '' Rev 1.141 25 Aug 1995 14:22:56 amontalv
- '' Always calculate size when item gets clicked.
- ''
- '' Rev 1.140 24 Aug 1995 07:55:18 jdonohue
- '' Added SYM_USERDIR and set it
- ''
- '' Rev 1.139 23 Aug 1995 15:33:14 cmoy
- '' Moved MAX_NO_DRIVECOMBOS to toolkit.lss
- ''
- '' Rev 1.138 21 Aug 1995 14:24:48 tveerapp
- '' Made MAX_NO_DRIVECOMBOS a POUBLIC CONST.
- ''
- '' Rev 1.137 18 Aug 1995 17:27:44 tveerapp
- '' Fixed ResetWinWinSys to fix spr#JHAE2V7UNL.(This involved backing out
- '' Jdonahue's change on July29.)
- ''
- '' Rev 1.136 18 Aug 1995 16:38:24 glutz
- '' Took out a print statement.
- ''
- '' Rev 1.135 18 Aug 1995 16:35:54 glutz
- '' Had to make sure SetCustomInfo does not enable IDC_B1 if it is not
- '' visible.
- ''
- '' Rev 1.134 18 Aug 1995 11:13:34 callanan
- '' If item in custom dlg has no bmp set ID_BMP1 to null string, this will cause
- '' the bitmap symbol handler to clear out the old bmp.
- ''
- '' Rev 1.133 17 Aug 1995 14:16:54 callanan
- '' Changed the default way to handle bitmaps in dialogs
- ''
- '' Rev 1.132 14 Aug 1995 10:35:00 callanan
- '' Changed CUSTOM2CB to only display bitmap once when select
- ''
- '' Rev 1.131 11 Aug 1995 10:44:16 jdonohue
- '' Disable path change for server language install
- ''
- '' Rev 1.130 08 Aug 1995 17:03:06 tveerapp
- '' Added the browse functionality to GETLOTUSAPPDIRCB.
- ''
- '' Rev 1.129 08 Aug 1995 16:18:54 glutz
- '' Had to make sure in sizeofinstallcb the edit boxes only get validated
- '' if they exist.
- ''
- '' Rev 1.128 07 Aug 1995 08:28:24 mmeth
- '' Part 2 of fix for SPR# JHOH2M4HZL:
- '' In WELCOMECB changed the length of the truncations from 30 to 80.
- ''
- '' Rev 1.127 05 Aug 1995 15:51:36 tveerapp
- '' Removed a space that was put in when the second path was being validated
- '' in SIZEOFINSTALLCB.
- ''
- '' Rev 1.126 05 Aug 1995 15:05:12 tveerapp
- '' Fixed an spr. Changed SIZEOFINSTALLCB. For server components dir use
- '' IDC_EDIT3 and IDC_COMBO3 to be consistent with the dialog templates.
- ''
- '' Rev 1.125 04 Aug 1995 16:39:30 glutz
- '' ParentDirCB and SizeofInstallCB always start out with dirchanged true.
- ''
- '' Rev 1.124 04 Aug 1995 11:15:06 jdonohue
- '' Don't allow user path changes for a language install
- ''
- '' Rev 1.123 01 Aug 1995 16:01:30 glutz
- '' Commented out 4 lines in SetCustomInfo so paths would show for tabs in
- '' server install.
- ''
- '' Rev 1.122 30 Jul 1995 07:51:20 glutz
- '' Added unc paths to Lot_SetSpaceDirTip.
- ''
- '' Rev 1.121 29 Jul 1995 17:44:12 jdonohue
- '' Set WINDIR and WINSYSDIR back to defaults if change from server to other
- ''
- '' Rev 1.120 29 Jul 1995 15:39:08 jdonohue
- '' PARENTDIRCB set dirChanged to true always for server since we fiddle with
- '' drives list
- ''
- '' Rev 1.119 28 Jul 1995 16:47:56 pdonahue
- '' modified sizeofinstall in case of server to use IDC_Edit3 for lotusapp.
- ''
- '' Rev 1.118 27 Jul 1995 13:00:04 amontalv
- '' Changed the program manager group name to not do certain check if we
- '' are in Win95.
- ''
- '' Rev 1.117 26 Jul 1995 10:36:52 pdonahue
- '' added error message for invalid folder name in case of win95 install.
- ''
- '' Rev 1.116 25 Jul 1995 12:43:10 jdonohue
- '' Grey out change path when on tab and item not selected
- ''
- '' Rev 1.115 20 Jul 1995 15:52:00 glutz
- '' SetCustomInfo now calls GetFreeSpaceForDrive every time a tab changes.
- ''
- '' Rev 1.114 20 Jul 1995 10:55:24 glutz
- '' GetFreeSpaceForDrive now returns K bytes so I made changes accordingly.
- ''
- '' Rev 1.113 17 Jul 1995 16:39:44 glutz
- '' Callback functions that have browse buttons now call ValidateBrowse if
- '' IDC_BROWSE is the callback message.
- ''
- '' Rev 1.112 17 Jul 1995 13:17:30 amontalv
- '' Added check to see if current folder existed after the removal of a folder.
- '' If the folder exists then the Remove Folder button must be disabled, which it
- '' is, but the focus must be moved off this disabled button. This part was
- '' missing and I added it here.
- ''
- '' Rev 1.111 14 Jul 1995 14:50:08 glutz
- '' SetCustomInfo had wrong return val type for call to LcbGetChapterCost.
- ''
- '' Rev 1.110 11 Jul 1995 12:04:56 glutz
- '' In CUSTOM1CB if it's a server install IDC_TEXT4 and IDC_B1 are hidden
- '' and IDC_TEXT8 is made visible.
- ''
- '' Rev 1.109 11 Jul 1995 08:53:08 glutz
- '' Disable IDC_B1 in CUSTOM1CB when the control is hidden.
- ''
- '' Rev 1.108 10 Jul 1995 15:02:16 glutz
- '' Set IDC_TEXT2 after browse in DISTSIZEINSTALLCB.
- ''
- '' Rev 1.107 05 Jul 1995 14:24:52 amontalv
- '' Added test to check if path already exists before accepting it on New Folder.
- ''
- '' Rev 1.106 30 Jun 1995 22:11:14 amontalv
- '' Added code to display Current Folder in Select Folder dialog. And ended up adding
- '' a hack to allow me to display this when the dialog first comes up.
- ''
- '' Rev 1.105 30 Jun 1995 10:49:20 glutz
- '' Straightend out some problems with second path in sizeofinstallcb.
- ''
- '' Rev 1.104 29 Jun 1995 11:47:28 jdonohue
- '' Took out print statement
- ''
- '' Rev 1.103 28 Jun 1995 19:57:30 amontalv
- '' Changed the possible length of program group from 30 to 254 characters.
- ''
- '' Rev 1.102 28 Jun 1995 19:49:22 amontalv
- '' Added check to make sure you couldn't create a folder
- '' with just spaces.
- ''
- '' Rev 1.101 26 Jun 1995 19:06:28 amontalv
- '' Added check for length of path for folders.
- ''
- '' Rev 1.100 22 Jun 1995 16:44:12 glutz
- '' SIZEOFINSTALLCB has to differentiate between dirChanged and dischanged2.
- ''
- '' Rev 1.99 22 Jun 1995 15:30:08 tveerapp
- '' Changed WELCOMECB. case IDC_BACK (which is called when the esc. key is hit).
- '' Allow the user to quit from the Welcome dialog when the esc. key is hit.
- ''
- '' Rev 1.98 22 Jun 1995 10:21:56 pdonahue
- '' fixed merge error
- ''
- '' Rev 1.97 22 Jun 1995 09:31:06 pdonahue
- '' fixed bug in additional directory code,
- ''
- '' Rev 1.96 21 Jun 1995 14:28:46 glutz
- '' Simplified UNC and browse validations in callbacks
- ''
- '' Rev 1.95 19 Jun 1995 10:25:36 amontalv
- '' Put in code to add function to New Folder button and Remove Folder button. Also
- '' fixed some of the selection problems in the tree list.
- ''
- '' Rev 1.94 16 Jun 1995 13:53:36 glutz
- '' Don't set drvIndex if SelectDriveCombo returns false
- ''
- '' Rev 1.93 16 Jun 1995 11:50:02 amontalv
- '' Made program groups list box get entries form Common Program Groups instead of
- '' Current user program groups. Also made it so that it would be easier to display
- '' both if necessary.
- ''
- '' Rev 1.92 14 Jun 1995 22:12:10 amontalv
- '' Gave program folder a new look.
- ''
- '' Rev 1.91 14 Jun 1995 16:31:38 amontalv
- '' Fixed problem with NT Program Groups. Look through the registry for
- '' program groups and display them for the user. Most of the code
- '' is in C in lotusui.c. Put calls to registry functions in regwrap.
- ''
- '' Rev 1.90 12 Jun 1995 17:40:36 cmoy
- '' fixed bug in changing paths
- ''
- '' Rev 1.89 12 Jun 1995 14:36:54 amontalv
- '' SPR KHAN2SSMDL - Resourced name of program group and added to end.
- ''
- '' Rev 1.88 09 Jun 1995 16:41:04 glutz
- '' Fixed bug with browse not chaging drive letter
- ''
- '' Rev 1.87 07 Jun 1995 20:59:26 amontalv
- '' Moved setting of Tree item around so that it would be set correctly
- ''
- '' Rev 1.86 07 Jun 1995 17:51:28 amontalv
- '' Don't set the selected folder again at OK of callback.
- ''
- '' Rev 1.85 07 Jun 1995 16:30:34 amontalv
- '' Changed the Win95 start folder so that it initializes
- '' earlier in the program. This should make automation
- '' easier to implement for it. There are still a couple of
- '' bugs that I need to work out, but I feel that I should
- '' check what I have now.
- ''
- '' Rev 1.84 02 Jun 1995 14:51:06 tveerapp
- '' Changed IDC_HELP to IDC_CITHELP.
- ''
- '' Rev 1.83 01 Jun 1995 11:10:44 amontalv
- '' Added API function CreateLink to create shortcuts. Also added functions
- '' to save and get the link path to support the CreateLink. I also changed
- '' the startup program folder code to use the default dialog proc and changed
- '' the default dialog proc to process directory trees.
- ''
- '' Rev 1.82 30 May 1995 15:03:40 amontalv
- '' Needed to lower case drive letter before looking for cost.
- ''
- '' Rev 1.81 25 May 1995 20:54:56 amontalv
- '' Added Win95 Program folder dialog and supporting code. Still need to write code
- '' that creates the link files.
- ''
- '' Rev 1.80 22 May 1995 19:19:06 mzgripce
- '' delete print messages
- ''
- '' Rev 1.79 21 May 1995 17:21:28 mzgripce
- '' display the DB_SIZEOFINSTALL# depending on components support and
- '' set the components symbol when SIZEOFINSTALLCB runs
- ''
- '' Rev 1.78 20 May 1995 20:11:12 glutz
- '' Added UNC and Browse to DISTSIZEOFINSTALLCB and NODENODEOPTIONSCB
- ''
- '' Rev 1.77 19 May 1995 18:20:26 glutz
- '' SIZEOFINSTALLCD now supports Browse and UNC in multiple
- '' Combo and Edit controls
- ''
- '' Rev 1.76 19 May 1995 14:58:48 glutz
- '' Added UNC and Browse to PARENTDIRCB
- ''
- '' Rev 1.75 18 May 1995 12:11:26 tveerapp
- '' Fixed a Numdirs% in sizeofinstallcb
- ''
- '' Rev 1.74 18 May 1995 12:05:24 tveerapp
- '' 1. Added call to SetTheComponentsDir to PARENTDIRCB.
- '' 2. Fixed SIZEOFINSTALLCB added check for extra directory.
- ''
- '' Rev 1.73 17 May 1995 15:11:44 mzgripce
- '' change >= with > in GetListLength in SIZEOFINSTALLCB
- ''
- '' Rev 1.72 16 May 1995 17:09:32 glutz
- '' Changed USE to AUTOMATE
- ''
- '' Rev 1.71 16 May 1995 12:53:00 mzgripce
- '' added PARENTDIRCB subroutine
- ''
- '' Rev 1.70 16 May 1995 11:57:50 glutz
- '' Added UNC paths to CHANGEPRODUCTDIRCB, SIZEOFINSTALLCB and SetCustomInfo
- ''
- '' Rev 1.69 16 May 1995 09:47:54 pdonahue
- '' fixed typo
- ''
- '' Rev 1.68 16 May 1995 09:39:04 pdonahue
- '' added support for additional directories.
- ''
- '' Rev 1.67 03 May 1995 13:04:58 amontalv
- '' Upped the number of tabs from 8 to 9.
- ''
- '' Rev 1.66 02 May 1995 12:52:30 cmoy
- '' Merged c2 into cf build
- ''
- '' Rev 1.68 18 Apr 1995 17:31:04 mheerman
- '' SetFocus now returns a long. I changed the variables which catch its
- '' return value to long to avoid an overflow.
- ''
- '' Rev 1.67 11 Apr 1995 14:23:02 amontalv
- '' Deleted debug print
- ''
- '' Rev 1.66 07 Apr 1995 19:35:44 amontalv
- '' LSS 32 bit port merge changes.
- ''
- '' Rev 1.65 06 Apr 1995 17:43:28 tveerapp
- '' Script port changes to CBs and Window calls.
- ''
- '' Rev 1.64 05 Apr 1995 20:21:18 amontalv
- '' Porting to 32 bit.
- ''
- '' Rev 1.63 02 Feb 1995 14:32:40 cmoy
- ''
- '' Added Thangaraj's fix to Pipeline Problem
- ''
- '' Rev 1.62 29 Dec 1994 10:31:08 tveerapp
- ''
- '' Commented out the Restart processing (IDC_CONTINUE) in INSTALLCOMPLETECB.
- ''
- '' Rev 1.61 09 Dec 1994 14:38:38 cmoy
- '' No change.
- ''
- '' Rev 1.60 06 Dec 1994 09:48:00 cmoy
- '' No change.
- ''
- '' Rev 1.59 18 Nov 1994 16:12:56 amontalv
- '' Japan DBCS: Added some resources to
- ''
- '' Rev 1.58 14 Oct 1994 11:40:12 tveerapp
- '' Fixed spr#1022903. The fix is in SRVNODEOPTIONSCB.
- ''
- '' Rev 1.57 11 Oct 1994 15:21:20 tveerapp
- ''
- '' Added check to see if the prod. was not deselected to account
- '' for the min. and max size in SIZEOFINSTALLCB. This fixes spr#
- '' 32162.
- ''
- '' Rev 1.56 30 Sep 1994 14:48:20 cmoy
- '' Added InvChar("(") to the list of invalid chars.
- ''
- '' Rev 1.55 27 Sep 1994 14:07:44 cmoy
- ''
- '' Changed find window inside INSTALLCOMPLETECB to use resourced
- '' string SID_INST_WINDOW_TITLE
- '' the WndTitle field in install.lst must match this field for reboot
- '' and restart functionality to work properly.
- ''
- '' Rev 1.54 27 Sep 1994 13:06:22 cmoy
- ''
- '' moved rebooting and restarting constants to toolkit.lss
- ''
- '' Rev 1.53 26 Sep 1994 16:30:00 cmoy
- ''
- '' Added Constant UM_RESTARTWINDOWS=1528
- ''
- '' Rev 1.52 16 Sep 1994 11:53:34 tveerapp
- '' Changed ProgmanCB. failed% =1. This change should have been made with
- '' the previous change.
- ''
- '' Rev 1.51 15 Sep 1994 16:17:14 tveerapp
- '' Changed ProgmangroupCb to accept characters that can be allowed to create
- '' program groups. InvChar is now a list.
- ''
- '' Rev 1.50 25 Aug 1994 16:46:22 mzgripce
- '' Gray out the Change Path button for win and winsys dir
- ''
- '' Rev 1.49 02 Aug 1994 16:46:52 mzgripce
- '' put a check for Lot_IsTheNodeOptionsAvailtoNode() bfore turning
- '' the options on in NODENODEOPTIONSCB
- ''
- '' Rev 1.48 24 Jun 1994 11:30:08 thangv
- '' Reverted back to using the old value (fixedin lcb.c by james) of
- '' Lot_LCBGetItem(..LCBITEM_SELECTED) in SRVNODEOPTIONSCB. The change was in
- '' line 1991 and 1999 in the check for the Selection% variable.
- ''
- '' Rev 1.47 21 Jun 1994 13:00:18 thangv
- '' Added code(lines 2010 and 2011) to get the groups chapter$. This was not
- '' having the right chapter number(had only the options for the group).This
- '' should fix the tip not showing up.(spr# 30277).
- ''
- '' Rev 1.46 21 Jun 1994 10:41:20 thangv
- '' Added code to CHANGEPRODUCTDIRCB (981-985) to restore the original
- '' value of the path if the product group rejects the path in their
- '' PathCahnge function.
- ''
- '' Rev 1.45 20 Jun 1994 14:49:36 thangv
- '' Changed the value of Selection% being checked in line 1970,1978 in
- '' SRVNODEOPTIONSCB to fix spr#31525. Lot_LCBGetItem returns the present state
- '' and not after the checkbox has been refreshed.
- ''
- '' Rev 1.44 16 Jun 1994 10:16:42 thangv
- ''
- '' Added code to ungrey IDC_TEXT4 andIDC_TEXT5 in SIZEOFINSTALLCB,
- '' lines 1249 and 1250 to fix the bug for organizer(product with only full
- '' install and lotusapp support).
- ''
- '' Rev 1.43 08 Jun 1994 17:19:26 thangv
- '' The NODENODEOPTIONSCB was not calling the pathchange function for
- '' the products. Added the Lot_CallOneProd... function in the callback.
- '' This fixes Amipro's problem.
- ''
- '' Rev 1.42 06 Jun 1994 14:09:04 cmoy
- '' In SetCustomInfo refreshed the drive space available box more often.
- ''
- '' Rev 1.41 05 Jun 1994 20:11:46 ptilton
- '' Added calls to update OracleHomeDir and NotesDataDir Symbols in copylist
- ''
- '' Rev 1.40 02 Jun 1994 12:49:04 thangv
- ''
- '' Removed an extra , in line 1759.
- ''
- '' Rev 1.39 02 Jun 1994 12:43:38 thangv
- ''
- '' Added TrimNetlotusapp code to NODELOTUSAPPCB.
- ''
- '' Rev 1.38 01 Jun 1994 16:54:36 mmeth
- '' Check The return code from change path, and don't bring down the
- '' dialog, if the calling function returns gBACK
- ''
- '' Rev 1.37 26 May 1994 17:14:12 thangv
- ''
- '' Added a check to ungrey IDC_TEXT3 in SIZEOFINSTALLCB for a simple
- '' product (like organizer) that supports only full install.
- ''
- '' Rev 1.36 25 May 1994 14:32:46 cmoy
- ''
- '' removed rebooting feature instead a msg is sent to install.c
- ''
- '' Rev 1.35 18 May 1994 14:56:34 tingmann
- '' add SetYieldActive calls around lcb handling
- ''
- '' Rev 1.34 09 May 1994 15:11:36 ddupre
- '' Moved RegisterCallback call inside while loop in Custom1cb subroutine. JG
- ''
- '' Rev 1.33 06 May 1994 14:17:56 mzgripce
- ''
- '' change progmancb to work for server
- ''
- '' Rev 1.32 06 May 1994 08:32:38 ddupre
- '' Added Lot_LCBSetSel to the SRVNODEOPTIONSCB SUB to select the first lb item
- ''
- '' Rev 1.31 05 May 1994 15:42:50 thangv
- '' Fixed the problem with the size of installcb not putting
- '' the correct focus on the radio button.
- ''
- '' Rev 1.30 05 May 1994 15:35:22 mzgripce
- '' fixed spr #28876
- ''
- '' Rev 1.29 02 May 1994 13:55:26 mmeth
- '' Jame's fix for set focus
- ''
- '' Rev 1.27 26 Apr 1994 18:33:14 mzgripce
- '' fixed spr 28121
- ''
- '' Rev 1.26 15 Apr 1994 13:15:06 mmeth
- '' added space between notepad.exe and readme.txt
- ''
- '' Rev 1.25 13 Apr 1994 14:07:22 cmoy
- ''
- '' Modified callbacks to unbold text.
- ''
- '' Rev 1.24 13 Apr 1994 12:40:20 thangv
- '' Removed the extra `character in line 2010.
- ''
- '' Rev 1.23 13 Apr 1994 09:24:02 cmoy
- '' Added AUTOEXECCB and INSTALLCOMPLETECB
- ''
- '' Rev 1.22 12 Apr 1994 16:51:10 thangv
- '' Changed SIZEOFINSTALLCB: Removed the truncation of lotusapp
- '' in the display.Now lotusapp will be displayed.(lines 1033,1034 old
- '' code.). Fixed the bug.
- ''
- '' Rev 1.21 31 Mar 1994 10:30:38 thangv
- ''
- '' Size of Install Callback for a single product with no lotusapp
- '' was trying to validate lotusappdir. put the check to see if the
- '' product supported share. fixed it.
- ''
- '' Rev 1.20 28 Mar 1994 17:10:02 thangv
- ''
- '' resourced Notepad.exe and readnet.txt to SID_NOTEPADEXE and
- '' SID_READNETTXT
- ''
- '' Rev 1.19 28 Mar 1994 15:39:46 mzgripce
- '' change SIZEOFINSTALLCB to not add lotusapp word to the lotusapp directory for
- '' server
- ''
- '' Rev 1.18 28 Mar 1994 14:29:08 mmeth
- '' Changes with Christopher, obsoleteing dialosg
- ''
- '' Rev 1.17 28 Mar 1994 10:01:12 mmeth
- '' Greying out Change Directory Boutton for Shared Components
- ''
- '' Rev 1.16 25 Mar 1994 14:14:12 mzgripce
- '' added getlotusappdircb
- ''
- '' Rev 1.15 15 Mar 1994 12:30:18 jbrodeur
- '' Fix Node Inst Error
- ''
- '' Rev 1.14 11 Mar 1994 17:07:26 thangv
- ''
- '' Set the SYM_NETWORK symbol to gDISTRIBUTION and checked
- '' to incorporate this WELCOMECB
- ''
- '' Rev 1.13 08 Mar 1994 14:47:22 mmeth
- ''
- '' Hide the path button in custom1cb
- ''
- '' Rev 1.12 08 Mar 1994 14:35:14 mzgripce
- '' move ResetWinWinsys... call out of single prod if in SIZEOFINSTALLCB
- ''
- '' Rev 1.11 08 Mar 1994 10:55:28 mmeth
- '' fixed the Welcome Box
- ''
- '' Rev 1.10 07 Mar 1994 18:08:38 cmoy
- '' Added DISTSIZEINSTALLCB callback
- ''
- '' Rev 1.9 07 Mar 1994 17:56:04 mzgripce
- '' make resetWinWinsys SUB public
- ''
- '' Rev 1.8 07 Mar 1994 15:31:12 mzgripce
- '' fixed NODENODEDEOPTIONSCB
- ''
- '' Rev 1.7 02 Mar 1994 09:18:14 mzgripce
- '' Fixed SRVNODEOPTIONSCB using Reg_ReSet... and counting for customize
- ''
- '' Rev 1.6 01 Mar 1994 11:29:46 mmeth
- '' Fixed misspelling in SYM_SMARTSUITE....
- ''
- '' Rev 1.5 01 Mar 1994 10:33:06 mmeth
- '' ELSE IF --> ELSEIF
- ''
- '' Rev 1.4 28 Feb 1994 17:21:10 cmoy
- '' Added DB_SIZEOFINSTALL6 & 7 for server and standard
- '' installs in Lot_GetSizeofInstall
- ''
- '' Rev 1.3 25 Feb 1994 18:37:12 mzgripce
- '' add Lot_SetSpaceDirTip(), SRVNODEOPTIONSCB AND NODENODEOPTIONSCB
- ''
- '' Rev 1.2 18 Feb 1994 13:29:52 mmeth
- ''
- '' Now check for Listlength of Reg_GetDirSymbolList
- ''
- '' Rev 1.1 15 Feb 1994 15:01:50 mmeth
- '' added pvcs line for toolkit.lss &
- ''
- '' Rev 1.0 11 Feb 1994 10:56:22 jbrodeur
- '' Initial Revision
- ''----------------------------------------------------------------------
- '' Date Vers. Pgmr SPR# Change
- ''----------------------------------------------------------------------
- '' 02-04-94 0018 MMETH changed characters allowed in progrmangroup
- '' 02-04-94 0017 MMETH SIZEOFINSTALLCB now support distribtuin dialog also
- ''!
- '' 02-01-94 0016 MZ Added PROGMANGROUPCB
- '' 02-02-94 0015 MMETH added NODELOTUSAPP stuff
- '' 01-24-94 0014 TQI Capture all function returns (lsi36)
- '' 01-21-94 0013 DND Custom2 shows the tips in normal text.
- '' 01-21-94 0012 MZ Add SRV_SUCCESSCB
- '' 01-21-94 0011 MMETH Added gNext parm to Lot_Call1Product
- '' 01-21-94 0010 DND The path change dialogs now work correctly
- '' for server.
- '' 01-20-94 0009 DND SIZEOFINSTALL should work for SmartSuite.
- '' Call the PathChange callbacks
- '' 01-19-94 0008 DND Finish SINGLESIZEOFINSTALLCB. Added
- '' Lot_GetSizeOfInstall
- '' 01-19-94 0007 MMeth Move SYM_UPDATELIST$ abd SYM_NORMALFONT
- '' 01-13-94 0006 DND Add ability to change the currently shown
- '' path. Removed CHNGPATHBASE, PROGRAMPATHCB,
- '' Lot_DetectVersionPriorToDarwinA,
- '' PathChange123A, Lot_CheckProductDirs.
- '' 01-12-94 0005 DND The custom dialogs now show the path
- '' based on what LCB item is selected.
- '' IN PROCESS
- '' 01-12-94 0004 MMETH Changed Return code of CallProd to string
- '' 01-12-94 0003 MMETH Commented out call to PathChang123A
- '' 01-11-94 0002 TQI Option declare
- '' 01-10-94 0001 MZ Make all symbols Constants and put them
- '' in GLOBALS.LSS
- '' 01-05-94 0000 DND Initial checkin
- ''----------------------------------------------------------------------
- ''
- ''**********************************************************************
-
- USE "AUTOMATE"
- OPTION DECLARE
-
- '** Constants ----------------------------------------------------------
-
-
- CONST MAX_PAGES = 9 '** Match LT_MAXPAGES from notebook.h
- CONST LCBITEM_ENTIRE = 0
- CONST LCBITEM_SELECTED = 1
- CONST LCBITEM_TEXT = 2
- CONST LCBITEM_SIZE = 3
- CONST LCBITEM_CHAPTER = 4
-
- CONST SYM_CUSTOMCOST$ = "CustomCostList" '** Use only in this module
-
- CONST UM_SETBITMAP = WM_USER+100
-
- '** Module globals -----------------------------------------------------
-
- '** Structure to contain static information of a page (Custom)
- TYPE PAGEINFO
- szChapter AS STRING '** Chapter that started the page
- idPage AS INTEGER '** Page ID
- hDlgPage AS LONG '** Page dialog handle
- nSel AS INTEGER '** Current Selection in page
- END TYPE
-
- '** These module globals are used for CUSTOM1 and CUSTOM2
- DIM ghdlg& '** Save the parent dialog
- DIM gCurrentPageIndex% '** The current page index (into array)
- DIM gNumPages% '** Number of pages in gPageArray
- DIM gPageArray(MAX_PAGES) AS PAGEINFO '** Page info for up to 8 pages
- '** Folder
- DIM gEntered$
- '** Focus problems
- DIM gPrevInst%
-
- '** Declares -----------------------------------------------------------
-
- DECLARE PUBLIC FUNCTION Lot_ConfirmNamesDlg () AS STRING
- DECLARE PUBLIC FUNCTION Lot_GetSizeOfInstall () AS STRING
- DECLARE PUBLIC SUB ResetWinWinsysSymbols()
- DECLARE PUBLIC FUNCTION Lot_SharedWindowsDlg (Id%) AS STRING
-
- DECLARE SUB SetCustomInfo(fOnTab%,fNewSpace%,fUpdateAll%)
- DECLARE FUNCTION DoesFileExistInDir (dirlist$) AS INTEGER
- DECLARE SUB Lot_SetSpaceDirTip(hDlg&,chpt$,index%,ProdNum%,tiponly%)
-
- '*************************************************************************
- '************************* Public Functions ******************************
- '*************************************************************************
-
- '*************************************************************************
- '** PUBLIC FUNCTION Lot_ConfirmNamesDlg () AS STRING
- '** Purpose: This function puts up the DB_CONFIRMNAME dlg box.
- '**
- '**
- '** Author:
- '** Arguments:
- '**
- '** Returns:
- '**
- '*************************************************************************
-
- PUBLIC FUNCTION Lot_ConfirmNamesDlg () AS STRING
-
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- SetListItem "IDC_TEXT", 1, GetSymbolValue(SYM_NAME$)
- SetListItem "IDC_TEXT", 2, GetSymbolValue(SYM_COMPANY$)
-
- Lot_ConfirmNamesDlg = PopupModalDlg (DB_CONFIRMNAMES, DB_CONFIRMNAMES)
-
- END FUNCTION
-
- '*************************************************************************
- '** PUBLIC FUNCTION Lot_GetSizeOfInstall () AS STRING
- '** Purpose: Bring up the appropriate size dialog. When this dialog
- '** comes in, all products are set to the value in
- '** SYM_SIZEOFINSTALL$. Before leaving all products are
- '** set again to the value in SYM_SIZEOFINSTALL$
- '**
- '** Author: DND
- '** Arguments:
- '** Symbols: SYM_SIZEOFINSTALL$ - The default install type. Reset
- '** to the selected when done.
- '**
- '** Returns: Value from PopupModalDlg
- '**
- '*************************************************************************
- PUBLIC FUNCTION Lot_GetSizeOfInstall () AS STRING
-
- DIM IdDlg%, i%, nProds%, network$, size$, notused%, NumDirs%
-
- '** Set all the applications to start with the default
- size$ = GetSymbolValue(SYM_SIZEOFINSTALL$)
- nProds% = Reg_GetNumberOfProducts()
- FOR i% = 1 to nProds%
- Reg_SetSelectedInstallType i%, size$
- NEXT
-
- '** Bring up the size of install dialog
- network$ = GetSymbolValue(SYM_NETWORK$)
-
- NumDirs% = Reg_GetProdSupportForExtraProdDirs(1)
-
- IF NumDirs < 1 Then
- IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
- '** Check for the case where the product only does full install
- IF Reg_GetProdSupportForFullInstall(1) <> FALSE AND _
- Reg_GetProdSupportForMinInstall (1) = FALSE AND _
- Reg_GetProdSupportForCustInstall(1) = FALSE THEN
- '** This product only allows full install. If server then
- '** Ask for two paths. If not, then ask for one.
- IF network$ = gSERVER$ THEN
- IF Reg_GetProdSupportForShare32(1) <> FALSE Then
- IdDlg% = DB_SIZEOFINSTALL2
- ELSE
- IdDlg% = DB_SIZEOFINSTALL1
- END IF
-
- ELSE
- IdDlg% = DB_SIZEOFINSTALL1
- END IF
- ELSEIF network$ = gSERVER$ THEN
-
- '** For server, only Full and Custom are allowed. Both the
- '** main path and lotusapp are asked for
- IF Reg_GetProdSupportForShare32(1) <> FALSE Then
- IdDlg% = DB_SIZEOFINSTALL3
- ELSE
- IdDlg% = DB_SIZEOFINSTALL5
- END IF
-
- ELSE
-
- '** Use the dialog with three choices and choices are grayed.
- '** Only the main path is asked for.
- IdDlg% = DB_SIZEOFINSTALL4
-
- END IF
-
- '** SmartSuite
- ELSEIF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
-
- IF network$ = gSERVER$ THEN
- IdDlg% = DB_SIZEOFINSTALL6 '** server
- ELSE
- IdDlg% = DB_SIZEOFINSTALL7 '** standard or node
- END IF
-
- ELSE
- '** TEMPORARY ???MMETH
- IdDlg% = DB_SIZEOFINSTALL4
-
- END IF
-
- ELSE
-
- IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
-
- '** Check for the case where the product only does full install
- IF Reg_GetProdSupportForFullInstall(1) <> FALSE AND _
- Reg_GetProdSupportForMinInstall (1) = FALSE AND _
- Reg_GetProdSupportForCustInstall(1) = FALSE THEN
-
- '** This product only allows full install. If server then
- '** Ask for two paths. If not, then ask for one.
-
- IF network$ = gSERVER$ THEN
- IF Reg_GetProdSupportForShare32(1) <> FALSE Then
- IdDlg% = DB_SIZEOFINSTALL9
- ELSE
- IdDlg% = DB_SIZEOFINSTALL8
- END IF
- ELSE
- IdDlg% = DB_SIZEOFINSTALL8
- END IF
-
- ELSEIF network$ = gSERVER$ THEN
-
- '** For server, only Full and Custom are allowed. Both the
- '** main path and lotusapp are asked for
- IF Reg_GetProdSupportForShare32(1) <> FALSE Then
- IdDlg% = DB_SIZEOFINSTALL10
- ELSE
- IdDlg% = DB_SIZEOFINSTALL12
- END IF
-
- ELSE
-
- '** Use the dialog with three choices and choices are grayed.
- '** Only the main path is asked for.
- IdDlg% = DB_SIZEOFINSTALL11
-
- END IF
-
- '** SmartSuite
- ELSEIF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
- IF network$ = gSERVER$ THEN
- IdDlg% = DB_SIZEOFINSTALL6 '** server
- ELSE
- IdDlg% = DB_SIZEOFINSTALL7 '** standard or node
- END IF
-
- ELSE
- '** TEMPORARY ???MMETH
- IdDlg% = DB_SIZEOFINSTALL11
- END IF
-
- END IF
-
- '** Ask the user for the selected size
- notused% = RegisterCallback("CALLBACK", "SIZEOFINSTALLCB")
- Lot_GetSizeOfInstall = PopupModalDlg (IdDlg%, CLNG(IdDlg%))
-
- '** Reset all the sizes
- size$ = GetSymbolValue(SYM_SIZEOFINSTALL$)
- FOR i% = 1 to nProds%
- Reg_SetSelectedInstallType i%, size$
- NEXT
-
- END FUNCTION
-
- '*************************************************************************
- '** PUBLIC FUNCTION GetGroupName () AS STRING
- '** Purpose: Get the group name from the dialog and verify it.
- '**
- '** Author:
- '** Arguments:
- '** fDisplayErr% - TRUE if the error needs to be displayed.
- '** Symbols:
- '**
- '** Returns: Program Group Name
- '**
- '*************************************************************************
- FUNCTION GetGroupName () AS STRING
- DIM count%, charlen%, failed%, inloopset%
- DIM CheckName$, targetstr$, EnteredName$
-
- DIM InvChar LIST AS STRING
-
- IF LENBP(GetListItem ("IDC_EDIT", 1)) < 254 THEN
- EnteredName$=GetListItem("IDC_EDIT",1)
- ELSE
- targetstr$ = GetListItem ("IDC_EDIT", 1)
-
- IF IsDBCSFirstAtOffset (targetstr$, 254) = 1 THEN
- EnteredName$=LEFTBP(GetListItem ("IDC_EDIT", 1), 253)
- ELSE
- EnteredName$=LEFTBP(GetListItem ("IDC_EDIT", 1), 254)
- END IF
- END IF
-
- IF EnteredName$ = "" AND NOT IsNewShell() THEN
- EnteredName$=Reg_GetProgManagerGroupName(1)
- END IF
-
-
- InvChar("\") = "1"
- InvChar("/") = "1"
- InvChar("<") = "1"
- InvChar(">") = "1"
- InvChar("*") = "1"
- InvChar("?") = "1"
- InvChar(|"|) = "1"
- InvChar("|") = "1"
- InvChar(":") = "1"
-
- failed% = 0
-
- IF IsNewShell() THEN
- ' Look for invalid char. Fail if any are invalid
-
- CheckName$ = EnteredName$
- FOR count% = 1 TO LEN(EnteredName$)
- ' charlen% = FDBCSCharLen(CheckName$,0)
- IF ISELEMENT(InvChar(LEFT$(CheckName$,1))) = TRUE THEN
- failed% = 1
- EXIT FOR
- END IF
- ' count% = count% + charlen% - 1
- CheckName$ = RIGHT$(Checkname$,LEN(CheckName$)-1)
- NEXT
-
- InvChar(" ") = "1"
- END IF
-
- IF NOT IsNewShell() THEN
- InvChar("+") = "1"
- InvChar("=") = "1"
- InvChar("[") = "1"
- InvChar("]") = "1"
- InvChar(";") = "1"
- InvChar(",") = "1"
- InvChar(")") = "1"
- InvChar("(") = "1"
- InvChar(".") = "1" '* MMETH; I believe that this is a valid character
-
- 'TV: These are also invalid characters.
- InvChar("'") = "1"
- InvChar("@") = "1"
- InvChar("{") = "1"
- InvChar("}") = "1"
- InvChar("#") = "1"
- InvChar("%") = "1"
- InvChar("!") = "1"
- InvChar("`") = "1"
- InvChar("$") = "1"
- InvChar("^") = "1"
- InvChar("~") = "1"
- InvChar("-") = "1"
- InvChar("_") = "1"
- InvChar("&") = "1"
- END IF
-
- IF failed% = 0 THEN
- failed% = 1
-
- ' Validate the name if it is a new one
- ' The ilegal characters in the name are:
- ' * + | : " < > ? + { } \ ; , / MMETH removed the period
- ' if the path consists only of " then the group name will be )]
- ' if the path consists only of ) or ] or , the group is not created
-
- '** TV: Reject only if the group name consists entirely of Invalid
- '**characters
- CheckName$ = EnteredName$
- FOR count% = 1 TO LEN(EnteredName$)
- ' charlen% = FDBCSCharLen(CheckName$,0)
- IF ISELEMENT(InvChar(LEFT$(CheckName$,1))) = FALSE THEN
- failed% = 0
- EXIT FOR
- END IF
- ' count% = count% + charlen% - 1
- CheckName$ = RIGHT$(Checkname$,LEN(CheckName$)-1)
- NEXT
- END IF
-
- '*** TV: The " character cannot be permitted.
- '** This breaks the script execution later!!
- IF INSTR(1,EnteredName$,|"|) <> 0 THEN
- failed% = 1
- END IF
-
-
- IF IsNewShell() THEN
- IF failed% <> 0 THEN
- ShowPathErrorNoDlgExit SID_ERR_INVALIDFOLDERNAME,SID_ERR_INVALIDFOLDERNAMEDESC95,EnteredName$
- GetGroupName = ""
- ELSE
- GetGroupName = EnteredName$
- END IF
- ELSE
- IF failed% <> 0 THEN
- ShowPathErrorNoDlgExit SID_ERR_INVALIDGROUPNAME,SID_ERR_INVALIDGROUPNAMEDESC,EnteredName$
- GetGroupName = ""
- ELSE
- GetGroupName = EnteredName$
- END IF
- END IF
-
- END FUNCTION
-
- PUBLIC CONST WM_NEXTDLGCTL = 40 ' 0x0028
-
- '*************************************************************************
- '************************* Callbacks *************************************
- '*************************************************************************
- '*************************************************************************
- '** PROGMANGROUPCB
- '** Purpose: This is a for the Program Group selection
- '** IN SYMBOLS
- '**
- '** Author:
- '** Arguments:
- '**
- '**
- '** Returns:
- '**
- '*************************************************************************
- SUB PROGMANGROUPCB (hDlg&, CtrlId%, Classes$, LInst&)
- DIM ProgManIni$, Group$, GroupId%, Index%,notused%,DefaultGroup$
- DIM EnteredName$,order%,RootFolder$
- DIM Inst%
-
- ' *** script port to win32
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- CASE "__DLGINIT"
-
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- IF NOT IsNewShell() THEN
- ProgManIni$=GetWindowsDir()+"progman.ini"
- END IF
- DefaultGroup$=Reg_GetProgManagerGroupName(1)
- IF DefaultGroup$="" THEN
- DefaultGroup$=LdString(SID_TKT_DEF_PROGMANGRP)
- END IF
-
- SetListItem "IDC_EDIT", 1, DefaultGroup$
- IF IsNewShell() THEN
- SetListItem "IDC_TREE",1, Reg_GetSelectedFolder(1)
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
- AddListItem SYM_UPDATELIST$, "IDC_TREE"
- AddListItem SYM_UPDATELIST$, "IDC_B1"
- AddListItem SYM_UPDATELIST$, "IDC_B2"
- AddListItem SYM_UPDATELIST$, "IDC_B3"
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_B1), TRUE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_B2), FALSE))
- ELSE
- if (GetListLength("IDC_LIST1") > 1) THEN
- RemoveSymbol("IDC_LIST1")
- END IF
- SetListItem "IDC_LIST1",1, DefaultGroup$
- notused% = CInt(FAddProgramGroupsToList(HKEY_LOCAL_MACHINE&, gPROGMANREGNAME, "IDC_LIST1", DefaultGroup$))
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
- AddListItem SYM_UPDATELIST$, "IDC_LIST1"
- END IF
-
- CASE "IDC_EDIT"
- IF IsNewShell() THEN
- IF GetFocus() = GetDlgItem(hDlg, IDC_EDIT1) THEN
- EnteredName$ = GetGroupName()
- IF EnteredName$ = "" THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_B1), FALSE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), FALSE))
- SetFocus(GetDlgItem(hDlg&,IDC_EDIT1))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_B1), TRUE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- gEntered$=GetListItem("IDC_EDIT",1)
- notused%=FChangeNameCurrTreeItem(hDlg&, gEntered$)
- Reg_SetProgManagerGroup 1,gEntered
- END IF
- END IF
- END IF
-
- CASE "IDC_TREE"
- EnteredName$=GetGroupName()
- IF EnteredName$ = "" THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- SetFocus(GetDlgItem(hDlg&,IDC_EDIT1))
- EXIT SUB
- END IF
-
- DISPLAYTEXT:
- EnteredName$ = GetListItem("IDC_TREE", 1)
- Reg_SetSelectedFolder 1,EnteredName$
- IF DoesDirExist (Reg_GetSelectedFolder(1)) THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_EDIT1), FALSE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_B2), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_EDIT1), TRUE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_B2), TRUE))
- END IF
- RootFolder = Reg_GetRootFolder()
- order% = 1
- DO
- Index% = order%
- order% = InStr(Index%+1,RootFolder,"\")
- LOOP UNTIL order% = 0
- Group$ = RIGHT$(EnteredName$,LEN(EnteredName$)-Index%)
- SetListItem "IDC_TEXT",3,Group$
- AddListItem SYM_UPDATELIST$, "IDC_TEXT3"
- gEntered = GetLastPathComponent(Group$)
- SetListItem "IDC_EDIT", 1, gEntered
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
-
- CASE "IDC_LIST1"
- EnteredName$=GetListItem("IDC_LIST1",Inst%)
- SetListItem "IDC_EDIT", 1, EnteredName$
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
-
- CASE "IDC_B"
- IF CtrlId% = cIDC_B1 THEN
- IF GetSymbolValue("USEDEFAULTGRP")<>"" THEN
- EnteredName$=Reg_GetProgManagerGroupName(1)
- IF EnteredName$="" THEN
- EnteredName$=LdString(SID_TKT_DEF_PROGMANGRP)
- END IF
- RemoveSymbol("USEDEFAULTGRP")
- ELSE
- EnteredName$=LdString(SID_TKT_DEF_NEWFOLDERNAME)
- END IF
- Group$ = GetListItem("IDC_TREE", 1)+"\"+EnteredName$
- IF LENBP(Group$) > (MAX_DIR_PATH - 11) THEN
- '** This is only about the path length and might need a new message
- ErrorMsg SID_ERR_PATHLEN, ""
- ELSE
- Index% = 0
- DO WHILE DoesDirExist (Group$)
- Index% = Index%+1
- Group$ = GetListItem("IDC_TREE", 1)+"\"+EnteredName$+"("+CSTR(Index%)+")"
- LOOP
- If Index% > 0 Then
- EnteredName$ = EnteredName$+"("+CSTR(Index%)+")"
- End If
- Reg_SetProgManagerGroup 1,EnteredName$
- notused% = FAddItemToTree(hDlg&, EnteredName$)
- SetFocus(GetDlgItem(hDlg&,IDC_EDIT1))
- 'JMD: LSCR32FVVK: Change focus off and back will highlight selection
- notused% = SendMessage (hDlg&,WM_NEXTDLGCTL, 1, 0)
- notused% = SendMessage (hDlg&,WM_NEXTDLGCTL, 0, 0)
- END IF
- ELSEIF CtrlId% = cIDC_B1+1 THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_B1), TRUE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- notused%=FDeleteCurrTreeItem(hDlg&)
- IF DoesDirExist(GetListItem("IDC_TREE",1)) THEN
- SetFocus(GetDlgItem(hDlg&,IDC_B1))
- END IF
- ELSE
- Inst% = 1
- GOTO DISPLAYTEXT
- END IF
-
- CASE "IDC_OK"
- IF IsNewShell() THEN
- Reg_SetSelectedFolder 1,GetListItem("IDC_TREE", 1)
- ELSE
- Reg_SetProgManagerGroup 1,GetGroupName()
- END IF
-
- CASE "IDC_BACK"
- CASE "IDC_CITHELP"
- CASE "IDC_EXIT"
-
- END SELECT
-
- END SUB
-
- '*************************************************************************
- '** WELCOMECB
- '** Purpose: This is a for the Welcome Dialog Boxes
- '** there are two distinct types of dialogs:
- '** A STANDARD/SERVER dialog vs a NODE dialog.
- '**
- '** IN SYMBOLS NAME, COMPANY, NETWORK
- '**
- '** Author:
- '** Arguments:
- '**
- '**
- '** Returns:
- '**
- '*************************************************************************
- SUB WELCOMECB (hDlg&, CtrlId%, Classes$, LInst&)
- DIM lname$, company$, network$, i%, notused%
- DIM sz$
-
- ' Changes from Japan for DBCS
- DIM targetstr$, Inst%
-
- Inst% = CINT(LInst&)
- ' End: Changes from Japan for DBCS
-
- SELECT CASE Classes$
-
- CASE "__DLGINIT"
-
- '** Set the product bitmap
- SetListItem "IDC_BMP", 1, STR$(IDD_TKT_PROD_BMP)
-
- lname$ = GetSymbolValue(SYM_NAME$)
- company$ = GetSymbolValue(SYM_COMPANY$)
- SetListItem "IDC_EDIT", 1, lname$
- SetListItem "IDC_EDIT", 2, company$
-
- '** Set text to normal font
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT5)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT6)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT7)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT8)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
- AddListItem SYM_UPDATELIST$, "IDC_BMP1"
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
- AddListItem SYM_UPDATELIST$, "IDC_EDIT2"
-
- network$ = GetSymbolValue(SYM_NETWORK$)
- IF network$ = "" THEN
- SetSymbolValue SYM_NETWORK$, gSTANDARD$
- ELSEIF network$ = gNODE$ Then
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_EDIT2), FALSE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_TEXT3), FALSE))
- ELSEIF network$ = gSERVER$ OR network$ = gDISTRIBUTION$ THEN
- SetListItem "IDC_B", 1, "T"
- AddListItem SYM_UPDATELIST$, "IDC_B1"
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_EDIT1), FALSE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_TEXT2), FALSE))
- END IF
-
- '** if userName OR companyName is empty inctivate the next button
- IF network$ = gSTANDARD$ THEN
- IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 OR _
- LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- ELSEIF network$ = gNODE$ THEN
- IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- ELSEIF network$ = gSERVER$ THEN
- IF LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- CASE "IDC_B"
-
- If GetListItem("IDC_B",1) = "F" Then
- SetSymbolValue SYM_NETWORK$, gSTANDARD$
- Else
- '*** if both Srv and Dist are supported then Srv overrides
- If Reg_GetProdSupportForSrv(1) = 1 Then
- SetSymbolValue SYM_NETWORK$, gSERVER$
- ElseIf Reg_GetProdSupportForDist(1) = 1 Then
- SetSymbolValue SYM_NETWORK$, gDISTRIBUTION$
- End If
- End If
-
- '** If Server checkbox is selected, grey out the User name.
- IF IsDlgButtonChecked(hDlg&,IDC_B1) <> FALSE THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_EDIT1), FALSE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_TEXT2), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_EDIT1), TRUE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_TEXT2), TRUE))
- END IF
-
- network$ = GetSymbolValue(SYM_NETWORK$)
- IF network$ = gSTANDARD$ THEN
- IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 OR _
- LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- ELSEIF network$ = gNODE$ THEN
- IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- ELSEIF network$ = gSERVER$ THEN
- IF LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- CASE "IDC_EDIT"
-
- network$ = GetSymbolValue(SYM_NETWORK$)
- IF network$ = gSTANDARD$ THEN
- IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 OR _
- LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- ELSEIF network$ = gNODE$ THEN
- IF LEN(GetListItem ("IDC_EDIT", 1)) < 1 THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- ELSEIF network$ = gSERVER$ THEN
- IF LEN(GetListItem ("IDC_EDIT", 2)) < 1 THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), FALSE))
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- ELSE
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&,IDC_OK), TRUE))
- END IF
-
- CASE "IDC_OK"
- network$ = GetSymbolValue(SYM_NETWORK$)
- FOR i% = 1 TO 2
- IF network$ = gNODE$ AND i% = 2 THEN
- Exit For
- END IF
- IF network$ = gSERVER$ AND i% = 1 THEN
- GOTO NEXTFIELD
- END IF
-
- IF LEN(GetListItem ("IDC_EDIT", i%)) < 1 THEN
- ErrorMsgNoDlgExit SID_TKT_ERR_NEEDNAMES, ""
- EXIT FOR
- END IF
-
- NEXTFIELD:
-
- NEXT
-
- ' Changes from Japan for DBCS
- ' This code is intimately related to code in
- ' callback.lss:Lot_ReadDefaultsfromRi &
- ' lcomstf\userreg.cpp:ReadDefaultsfromRi
- IF LENBP(GetListItem ("IDC_EDIT", 1)) < 80 THEN
- SetSymbolValue SYM_NAME$, GetListItem ("IDC_EDIT", 1)
- ELSE
- targetstr$ = GetListItem ("IDC_EDIT", 1)
- IF IsDBCSFirstAtOffset (targetstr$, 80) = 1 THEN
- SetSymbolValue SYM_NAME$, LEFTBP(GetListItem ("IDC_EDIT", 1), 79)
- ELSE
- SetSymbolValue SYM_NAME$, LEFTBP(GetListItem ("IDC_EDIT", 1), 80)
- END IF
- END IF
-
- IF LENBP(GetListItem ("IDC_EDIT", 2)) < 80 THEN
- SetSymbolValue SYM_COMPANY$, GetListItem ("IDC_EDIT", 2)
- ELSE
- targetstr$ = GetListItem ("IDC_EDIT", 2)
- IF IsDBCSFirstAtOffset (targetstr$, 80) = 1 THEN
- SetSymbolValue SYM_COMPANY$, LEFTBP(GetListItem ("IDC_EDIT", 2), 79)
- ELSE
- SetSymbolValue SYM_COMPANY$, LEFTBP(GetListItem ("IDC_EDIT", 2), 80)
- END IF
- END IF
- ' End: Changes from Japan for DBCS
-
- '** Allow the user to exit without hitting the button
- Case "IDC_BACK"
- sz$ = PopupModalDlg (DB_EXITHISTORY, DB_EXITHISTORY)
- If sz$ = "BACK" Then
- SetListItem "__LASTSTATUS", 1, "Q"
- End If
-
- END SELECT
-
- END SUB
-
- '************************************************************************
- '* Routines to handle Custom *
- '************************************************************************
-
- '*************************************************************************
- '** SUB CUSTOM1CB (hDlg&, CtrlId%, Classes$, LInst&)
- '**
- '** Purpose: Customize a product. This is main dialog proc. Each dialog
- '** page uses CUSTOM2CB.
- '**
- '** This dialog callback can be used only once! Do not display
- '** more than one dialog at a time with this callback!
- '**
- '** Author: DND
- '** Arguments: Callback args
- '** Returns: NONE
- '*************************************************************************
-
- SUB CUSTOM1CB (hDlg&, CtrlId%, Classes$, LInst&)
-
- DIM chpt$, product_name$, child$, dirsym$, network$
- DIM page%, tab_handle&
- DIM RC$, i%, notused%, Inst%, unused&
-
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- case "__DLGINIT"
-
- '** Set some globals
- gNumPages% = 0
- ghdlg& = hDlg&
-
- ''Display bmps with transparent background
- SetSymbolValue SYM_BMP_DISPLAY_MODE$, "STRETCH"
-
- '** make text normal
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT6)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- '** Hide the Path Button for a server or a language install
- network$ = GetSymbolValue(SYM_NETWORK$)
- If network$ = gSERVER$ OR _
- GetSymbolValue(SYM_INSTALLKIND$) = gLANGUAGEINSTALL$ _
- Then
- notused% = CINT(ShowWindow (GetDlgItem(hDlg&, IDC_B1), SW_HIDE))
- notused% = CINT(ShowWindow (GetDlgItem(hDlg&, IDC_TEXT4), SW_HIDE))
- notused% = CINT(ShowWindow (GetDlgItem(hDlg&, IDC_TEXT8), SW_SHOW))
- End If
- notused% = CINT(EnableWindow (GetDlgItem(ghdlg&, IDC_B1), FALSE))
-
- '** Set the starting chapter based on the current product
- i% = Lot_GetCurrentProduct()
- chpt$ = Lot_GetChapterFromKeyword(Reg_GetProductAcronym(i%) + gTOP$)
- chpt$ = Lot_GetFirstChild(chpt$, F_DISPLAY + F_CUSTOM)
-
- '** DND: If no first chapter then we need to do somthing
-
- WHILE (chpt$ <> "")
- product_name$ = Lot_GetChapterValStr(chpt$, F_NAME)
- child$ = Lot_GetFirstChild(chpt$, F_DISPLAY + F_CUSTOM)
-
- '** Add new page to notebook
- notused% = RegisterCallback("CALLBACK","CUSTOM2CB")
- page% = Lot_AddPagetoNotebook(hDlg&,IDC_NOTEBOOK1,DBNM_1,product_name$)
- tab_handle& = Lot_GetPagehandle(hDlg&,IDC_NOTEBOOK1,page%)
- IF FPopulateLCB(tab_handle&, child$) = FALSE THEN
- ErrorMsg SID_ERR_POPULATELCB, ""
- ERROR STFQUIT
- END IF
-
- '** Store the page information
- gNumPages% = gNumPages% + 1
- gPageArray(gNumPages%).szChapter = chpt$
- gPageArray(gNumPages%).idPage = page%
- gPageArray(gNumPages%).hDlgPage = tab_handle&
- gPageArray(gNumPages%).nSel = 1
-
- '** Make sure to save the page id of the first page. For now,
- '** use gCurrentPageIndex to save the page id of first page.
- IF gNumPages% = 1 THEN gCurrentPageIndex% = page%
-
- '** Goto next sibling of chpt$
- chpt$ = Lot_GetNextSibling(chpt$, F_DISPLAY + F_CUSTOM)
- WEND
-
- Lot_TurnToPage hDlg&, IDC_NOTEBOOK1, gCurrentPageIndex%
- gCurrentPageIndex% = 1
- SetCustomInfo TRUE, TRUE, TRUE
-
- case "IDC_B"
- chpt$ = Lot_LCBGetItem(gPageArray(gCurrentPageIndex%).hDlgPage, _
- gPageArray(gCurrentPageIndex%).nSel, _
- LCBITEM_CHAPTER)
- dirsym$ = Lot_GetChapterValStr(chpt$, F_DESTDIRSYM)
- SetSymbolValue SYM_CHANGEDIRSYMBOL$, dirsym$
-
- IF GetSymbolValue(SYM_NETWORK$) = gSTANDARD$ THEN
-
- IF (dirsym$ <> SYM_WINDIR$ AND _
- dirsym$ <> SYM_LOTUSFONTSDIR$ AND _
- dirsym$ <> SYM_WINSYSDIR$) THEN
- notused% = RegisterCallback ("CALLBACK", "CHANGEPRODUCTDIRCB")
- RC$ = PopupModalDlg (DBM_CHANGEDIR, DBM_CHANGEDIR)
- END IF
-
- ELSE
-
- dirSym$ = Reg_GetDirSymbolList(Lot_GetCurrentProduct())
- '** SHOULD NEVER BE IN THIS CODE ANYWAY
- If GetListLength(dirSym$) >= 1 Then
- dirSym$ = GetListItem(dirSym$, 1)
- SetSymbolValue SYM_CHANGEDIRSYMBOL$, dirsym$
- notused% = RegisterCallback ("CALLBACK", "CHANGEPRODUCTDIRCB")
- RC$ = PopupModalDlg (DBM_CHANGEDIR, DBM_CHANGEDIR)
- End If
-
- END IF
-
- '' SELECT CASE RC$
- ''
- '' case "OK"
- '' SetCustomInfo FALSE, TRUE, TRUE
- '' unused& = SetFocus(GetDlgItem(hDlg&, IDC_B1))
- ''
- '' case "BACK"
- '' SetCustomInfo TRUE, TRUE, TRUE
- '' unused& = SetFocus(GetDlgItem(hDlg&, IDC_B1))
- ''
- '' END SELECT
- SetCustomInfo FALSE, TRUE, TRUE
-
- case "IDC_NOTEBOOK"
- FOR i% = 1 TO gNumPages%
- IF gPageArray(i%).idPage = Inst% THEN
- gCurrentPageIndex% = i%
- gPrevInst% = -1
- SetCustomInfo TRUE, FALSE, TRUE
- EXIT FOR
- END IF
- NEXT
-
- case "IDC_OK"
- ''**Display bitmaps the default way from now on
- SetSymbolValue SYM_BMP_DISPLAY_MODE$, ""
-
- ResetWinWinsysSymbols
-
- case "__DLGDESTROY"
- ''**Display bitmaps the default way from now on
- SetSymbolValue SYM_BMP_DISPLAY_MODE$, ""
-
- RemoveSymbol SYM_CUSTOMCOST$
- RemoveSymbol SYM_CHANGEDIRSYMBOL$
-
- END SELECT
-
- END SUB
-
- '*************************************************************************
- '** SUB CUSTOM2CB (hDlg&, CtrlId%, Classes$, LInst&)
- '**
- '** Purpose: Page dialogs. Use with CUSTOM1
- '**
- '** This dialog callback can be used only once! Do not display
- '** more than one dialog at a time with this callback!
- '**
- '** Author: DND
- '** Arguments: Callback args
- '** Returns: NONE
- '*************************************************************************
-
- SUB CUSTOM2CB (hDlg&, CtrlId%, Classes$, LInst&)
-
- DIM chpt$, tiponly%, index%, dirsym$, notused%, Inst%
- STATIC PrevPage%
-
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- case "__DLGINIT"
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- case "IDC_LCB"
-
- SetYieldActive FALSE
-
- '** If Inst% is negative that just means that the section changed.
- '** If Inst% is positive then a check box was toggled.
-
- IF Inst% < 0 THEN
- Inst% = -Inst%
- tiponly% = TRUE
- ELSE
- tiponly% = FALSE
- END IF
-
- '** Get the chapter from the LCB item
- index% = Inst% - IDC_LCB1 + 1
- chpt$ = Lot_LCBGetItem(hDlg&, index%, LCBITEM_CHAPTER)
- gPageArray(gCurrentPageIndex%).nSel = index%
-
- '** Process the LCB info
- IF chpt$ <> "" THEN
- IF tiponly% = FALSE THEN
- Lot_ToggleChapterFilesInCopyList chpt$
- END IF
- '** Only redisplay if the page or the selection has changed
- IF (PrevPage% <> gCurrentPageIndex% OR Inst% <> gPrevInst%) THEN
- SetCustomInfo FALSE, TRUE, TRUE
- ELSE
- SetCustomInfo FALSE, TRUE, FALSE
- END IF
- END IF
- ''* Disable the Change Path.. Button if on a shared directory
- IF GetSymbolValue(SYM_NETWORK$) = gSTANDARD$ THEN
- chpt$ = Lot_LCBGetItem(gPageArray(gCurrentPageIndex%).hDlgPage, _
- gPageArray(gCurrentPageIndex%).nSel, _
- LCBITEM_CHAPTER)
- dirsym$ = Lot_GetChapterValStr(chpt$, F_DESTDIRSYM)
- IF (dirsym$ = SYM_COMPONENTSDIR$ OR _
- dirsym$ = SYM_LOTUSUSERDIR$ OR _
- dirsym$ = SYM_LOTUSFONTSDIR$ OR _
- dirsym$ = SYM_WINDIR$ OR _
- dirsym$ = SYM_WINSYSDIR$) THEN
- notused% = CINT(EnableWindow (GetDlgItem(ghdlg&, IDC_B1), FALSE))
- ELSE
- IF IsWindowVisible(GetDlgItem(ghdlg&, IDC_B1)) <> FALSE THEN
- notused% = CINT(EnableWindow (GetDlgItem(ghdlg&, IDC_B1), TRUE))
- END IF
- END IF
- END IF
- '** Remember last page and selection for next time
- PrevPage% = gCurrentPageIndex%
- gPrevInst% = Inst%
-
- SetYieldActive TRUE
-
- END SELECT
-
- END SUB
-
-
- '*************************************************************************
- '** SUB CHANGEPRODUCTDIRCB (hDlg&, CtrlId%, Classes$, LInst&)
- '**
- '** Purpose: Callback to handle dialog that lets you change one product
- '** directory.
- '**
- '** Author: DND
- '** Arguments: Callback args
- '** SymbolsIn: SYM_CHANGEDIRSYMBOL$
- '** Returns: NONE
- '*************************************************************************
-
- SUB CHANGEPRODUCTDIRCB (hDlg&, CtrlId%, Classes$, LInst&)
-
- STATIC drvIndex%, dirChanged%
- DIM dirSym$, dirToChange$, dirName$, rc$, i%, olddir$, Inst%
- DIM notused%
-
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- case "__DLGINIT"
- dirChanged% = FALSE
- dirSym$ = GetSymbolValue(SYM_CHANGEDIRSYMBOL$)
- dirToChange$ = GetSymbolValue(dirSym$)
- dirName$ = GetSymbolValue(dirSym$ + gNAME$)
-
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- SetWindowText GetDlgItem(hDlg&, IDC_GROUP1), dirName$
-
- Lot_GetDriveFreeSpaceList "IDC_COMBO1"
- ' drvIndex% = SelectDriveCombo ("IDC_COMBO1", dirToChange$)
-
- SetListItem "IDC_EDIT", 1, dirToChange$
- drvIndex% = ValidateEditBox(hDlg& , 1)
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
-
- case "IDC_EDIT"
- dirChanged% = TRUE
-
- case "IDC_BRWSDIR"
- notused% = ValidateBrowse(hDlg& , Inst%)
- dirChanged% = TRUE
-
- case "IDC_COMBO1"
- ComboSelChanged 1, Inst%
- drvIndex% = Inst%
- dirChanged% = TRUE
-
- case "IDC_OK"
- IF dirChanged% = TRUE THEN
- dirSym$ = GetSymbolValue(SYM_CHANGEDIRSYMBOL$)
- olddir$ = GetSymbolValue(dirSym$)
-
-
- IF ValidateEditBox(hDlg& , 1) = 0 THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- END IF
- dirToChange$ = GetPathFromComboEdit(hDlg&,1)
-
- IF ValidatePath(dirToChange$) = FALSE THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- ELSE
- dirSym$ = GetSymbolValue(SYM_CHANGEDIRSYMBOL$)
- SetSymbolValue dirSym$, dirToChange$
-
- '** Server is only allowed to change main product dir
- IF GetSymbolValue(SYM_NETWORK$) <> gSTANDARD$ THEN
- dirName$ = |"| + dirSym$ + |",TRUE|
- ELSE
- dirName$ = |"| + dirSym$ + |",FALSE|
- END IF
- rc$ = Lot_CallOneProductFunction(Lot_GetCurrentProduct(), _
- "PathChange", gNEXT$, FALSE, dirName$)
- If rc$ = gBACK Then
- SetListItem "IDC_EDIT", 1, Lot_ExtractDirectory(olddir$)
- drvIndex% = SelectDriveCombo ("IDC_COMBO1", olddir$)
- SetSymbolValue dirSym$, olddir$
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- End If
-
- Lot_RefreshDestination(dirSym$)
- END IF
- END IF
-
- END SELECT
-
- END SUB
-
- 'MARIANA
- '** SUB GETCOMPONENTDIRCB (hDlg&, CtrlId%, Classes$, LInst&)
- '** Purpose: Prompts for Lotusapp dir in install
- '** Author: MZ
- '** Arguments: Callback args
- '** Returns: NONE
- '*************************************************************************
- SUB GETCOMPONENTDIRCB (hDlg&, CtrlId%, Classes$, LInst&)
- STATIC drvIndex%(1 to MAX_NO_DRIVECOMBOS), dirChanged%
- DIM dirSym$, dirToChange$, dirName$, winLotApp$, Inst%
- DIM drvSel%
-
- Inst% = CINT(LInst&)
- SELECT CASE Classes$
-
- case "__DLGINIT"
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- dirChanged% = FALSE
- dirToChange$ = GetSymbolValue(SYM_COMPONENTSDIR$)
- dirName$ = GetSymbolValue(dirSym$ + gNAME$)
-
- Lot_GetDriveFreeSpaceList "IDC_COMBO1"
- AddListItem SYM_UPDATELIST$, "IDC_COMBO1"
- 'drvIndex% = SelectDriveCombo ("IDC_COMBO1", dirToChange$)
- SetListItem "IDC_EDIT", 1, dirToChange$
- drvIndex%(1) = ValidateEditBox(hDlg& , 1)
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
-
- case "IDC_COMBO1"
- ComboSelChanged 1,Inst%
- drvIndex%(1) = Inst%
- dirChanged% = TRUE
-
- case "IDC_EDIT"
- dirChanged% = TRUE
-
- case "IDC_BRWSDIR"
- drvSel% = ValidateBrowse(hDlg& , Inst%)
- dirChanged% = TRUE
-
- case "IDC_OK"
- IF dirChanged% = TRUE THEN
- IF ValidateEditBox(hDlg& , 1) = 0 THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- END IF
- dirToChange$ = GetPathFromComboEdit(hDlg&,1)
- IF ValidatePath(dirToChange$) = FALSE THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- ELSE
- SetSymbolValue SYM_COMPONENTSDIR$, dirToChange$
- Lot_RefreshDestination(SYM_COMPONENTSDIR$)
- END IF
- 'Initialize the symbols for Notes Data and ORACLE Home directories
- DL_SetNotesDataPath
- DL_SetOraclePath
- END IF
-
- END SELECT
-
- END SUB
-
- '************************************************************************
- '* End of Custom Routines *
- '************************************************************************
- '*************************************************************************
- '** SUB SIZEOFINSTALLCB (hDlg&, CtrlId%, Classes$, LInst&)
- '**
- '** Purpose: Handles the SizeOfInstall Dialog Box for Single Install
- '** Always works with the current product (should be 1).
- '**
- '** With a little work we might be able to use this callback
- '** for the main size of install dialog in SmartSuite.
- '** You would need to pay attention to minimum size and
- '** current product. Plus, the path asked for would be
- '** the BASEDIR, not a product path. However, I think the
- '** logic could be added.
- '**
- '** In Symbols:
- '**
- '** Author: DND
- '** Arguments: STANDARD CALLBACK ARGS
- '** Comments: SYM_SIZEOFINSTALL$ is an in-out param
- '** Returns:
- '**
- '*************************************************************************
- '** unc template for multiple COMBO-TEXT boxes
- SUB SIZEOFINSTALLCB (hDlg&, CtrlId%, Classes$, LInst&)
-
- STATIC drvIndex%(1 to MAX_NO_DRIVECOMBOS), dirChanged%, size$, lDistSize&, dirChanged2%, dirChanged3%
- DIM dirSym$, dirToChange$, rc$, i%, nProds%, lcb&, notused%
- DIM drvItem$, drvFree&, network$, Inst%, dirSym2$, dirToChange2$
- DIM NumDirs%, DriveChangedFlag%, drvSel%
-
- DriveChangedFlag% = FALSE '** MZ
-
- Inst% = CINT(LInst&)
-
- network$ = GetSymbolValue(SYM_NETWORK)
-
- SELECT CASE Classes$
-
- CASE "__DLGINIT"
-
- '** Init the radio buttons
- size$ = GetSymbolValue(SYM_SIZEOFINSTALL$)
- SELECT CASE size$
-
- CASE gCOMPLETE$
- SetListItem "IDC_B", 1, "T" '** Complete
-
- CASE gLAPTOP$
- SetListItem "IDC_B", 2, "T" '** Minimum
-
- CASE gCUSTOM$
- SetListItem "IDC_B", 3, "T" '** Custom
-
- END SELECT
- AddListItem SYM_UPDATELIST$, "IDC_B"
-
-
- '** Fill the product full size
- lcb& = 0
- nProds% = Reg_GetNumberOfProducts()
- FOR i% = 1 to nProds%
- IF Reg_GetUIInOrOut (i%) <> 0 THEN
- lcb& = lcb& + Reg_GetProdFullSize(i%)
- END IF
- NEXT
- SetListItem "IDC_TEXT", 2, LdString(SID_SPACENEEDED) + _
- STR$((lcb& \ 1048576) + 1) + gStrMB$
-
- '** Fill in the product laptop size
- lcb& = 0
- FOR i% = 1 to nProds%
- IF Reg_GetUIInOrOut (i%) <> 0 THEN
- lcb& = lcb& + Reg_GetProdMinSize(i%)
- END IF
- NEXT
- SetListItem "IDC_TEXT", 4, LdString(SID_SPACENEEDED) + _
- STR$((lcb& \ 1048576) + 1) + gStrMB$
-
- '** Set up the normal font controls
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT5)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT10)
-
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
- AddListItem SYM_UPDATELIST$, "IDC_TEXT2"
- AddListItem SYM_UPDATELIST$, "IDC_TEXT4"
-
- '** Init the path area. We only change first path in list.
- '** So far, the SmartSuite dlg does not have any paths.
-
- dirChanged% = FALSE
- dirChanged2% = FALSE
- IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
- dirChanged% = TRUE
- dirSym$ = Reg_GetDirSymbolList(1)
- If GetListLength(dirSym$) >= 1 Then
- dirSym$ = GetListItem(dirSym$, 1)
- dirToChange$ = GetSymbolValue(dirSym$)
- Lot_GetDriveFreeSpaceList "IDC_COMBO1"
- SetListItem "IDC_EDIT", 1, dirToChange$
- drvIndex%(1) = ValidateEditBox(hDlg& , 1)
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
- End If
-
- dirSym2$ = Reg_GetDirSymbolList(1)
- NumDirs% = Reg_GetProdSupportForExtraProdDirs(1)
-
- If GetListLength(dirSym2$) > 1 AND _
- NumDirs% = 1 Then
- dirChanged2% = TRUE
- dirSym2$ = GetListItem(dirSym2$, 2)
- dirToChange2$ = GetSymbolValue(dirSym2$)
- Lot_GetDriveFreeSpaceList "IDC_COMBO2"
- SetListItem "IDC_EDIT", 2, dirToChange2$
- drvIndex%(2) = ValidateEditBox(hDlg& , 2)
- AddListItem SYM_UPDATELIST$, "IDC_EDIT2"
- End If
-
- '** If server, then fill the COMPONENTS as well.
- '** TV: COMPONENTS is always IDC_EDIT/COMBO3
- IF GetSymbolValue(SYM_NETWORK$) = gSERVER$ THEN
- dirToChange$ = GetSymbolValue(SYM_COMPONENTSDIR$)
- Lot_GetDriveFreeSpaceList "IDC_COMBO3"
- SetListItem "IDC_EDIT", 3, dirToChange$
- drvIndex%(3) = ValidateEditBox(hDlg& , 3)
- AddListItem SYM_UPDATELIST$, "IDC_EDIT3"
- END IF
-
-
- '** Take care of whether the controls are enabled or not
- IF Reg_GetProdSupportForFullInstall(1) = FALSE THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_B1), FALSE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_TEXT1), FALSE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_TEXT2), FALSE))
- END IF
- IF Reg_GetProdSupportForMinInstall(1) = FALSE THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_B2), FALSE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_TEXT3), FALSE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_TEXT4), FALSE))
- END IF
- IF Reg_GetProdSupportForCustInstall(1) = FALSE THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_B3), FALSE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_TEXT5), FALSE))
- END IF
- '**** IDC_TEXT3and IDC_TEXT5 should be visible for a product with only full install
- IF (Reg_GetProdSupportForFullInstall(1) <> FALSE) AND _
- (Reg_GetProdSupportForMinInstall(1) = FALSE) AND _
- (Reg_GetProdSupportForCustInstall(1) = FALSE) THEN
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_TEXT3), TRUE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_TEXT4), TRUE))
- notused% = CINT(EnableWindow(GetDlgItem(hDlg&, IDC_TEXT5), TRUE))
- END IF
- '** Don't allow user path changes for a language install
- If GetSymbolValue(SYM_INSTALLKIND$) = gLANGUAGEINSTALL$ _
- Then
- notused% = CINT(ShowWindow (GetDlgItem(hDlg&, IDC_BRWSDIR1), SW_HIDE))
- notused% = CINT(EnableWindow (GetDlgItem(hdlg&, IDC_BRWSDIR1), FALSE))
- notused% = CINT(ShowWindow (GetDlgItem(hDlg&, IDC_BRWSDIR2), SW_HIDE))
- notused% = CINT(EnableWindow (GetDlgItem(hdlg&, IDC_BRWSDIR2), FALSE))
- notused% = CINT(ShowWindow (GetDlgItem(hDlg&, IDC_BRWSDIR3), SW_HIDE))
- notused% = CINT(EnableWindow (GetDlgItem(hdlg&, IDC_BRWSDIR3), FALSE))
- notused% = CINT(EnableWindow (GetDlgItem(hdlg&, IDC_COMBO1), FALSE))
- notused% = CINT(EnableWindow (GetDlgItem(hdlg&, IDC_EDIT1), FALSE))
- notused% = CINT(EnableWindow (GetDlgItem(hdlg&, IDC_COMBO2), FALSE))
- notused% = CINT(EnableWindow (GetDlgItem(hdlg&, IDC_EDIT2), FALSE))
- notused% = CINT(EnableWindow (GetDlgItem(hdlg&, IDC_COMBO3), FALSE))
- notused% = CINT(EnableWindow (GetDlgItem(hdlg&, IDC_EDIT3), FALSE))
- End If
- END IF
-
- case "IDC_COMBO1"
- ComboSelChanged 1,Inst%
- DirChanged% = TRUE
-
- case "IDC_COMBO2"
- ComboSelChanged 2,Inst%
- DirChanged2% = TRUE
-
- case "IDC_COMBO1"
- ComboSelChanged 3,Inst%
- DirChanged3% = TRUE
-
- case "IDC_B"
- SELECT CASE Inst%
-
- CASE 1
- size$ = gCOMPLETE$
-
- CASE 2
- size$ = gLAPTOP$
-
- CASE 3
- size$ = gCUSTOM$
-
- END SELECT
-
-
- case "IDC_EDIT"
- SELECT CASE Inst%
-
- CASE 1
- dirChanged% = TRUE
- CASE 2
- dirChanged2% = TRUE
- END SELECT
-
- case "IDC_BRWSDIR"
- drvSel% = ValidateBrowse(hDlg& , Inst%)
- SELECT CASE Inst%
-
- CASE 1
- dirChanged% = TRUE
- CASE 2
- dirChanged2% = TRUE
- END SELECT
-
- case "IDC_OK"
- SetSymbolValue SYM_SIZEOFINSTALL$, size$
-
- '** Handle the main application path
- IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ AND _
- dirChanged% = TRUE THEN
- IF ValidateEditBox(hDlg& , 1) = 0 THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- END IF
- dirToChange$ = GetPathFromComboEdit(hDlg&,1)
-
- IF ValidatePath(dirToChange$) = FALSE THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- ELSE
- dirSym$ = Reg_GetDirSymbolList(1)
- If GetListLength(dirSym$) >= 1 Then
- dirSym$ = GetListItem(dirSym$, 1)
- SetSymbolValue dirSym$, dirToChange$
- rc$ = Lot_CallOneProductFunction(1, "PathChange",gNEXT$, _
- FALSE, |"| + dirSym$ + |",TRUE|)
- If rc$ = gBACK Then
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- End If
- Lot_RefreshDestination(dirSym$)
- End If
- END IF
- END IF
-
- '** Handle the secondary application path
- IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ AND _
- dirChanged2% = TRUE THEN
- IF drvSel% = ValidateEditBox(hDlg& , 2) = 0 THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- END IF
- dirToChange2$ = GetPathFromComboedit(hDlg&,2)
- IF ValidatePath(dirToChange2$) = FALSE THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- ELSE
- dirSym2$ = Reg_GetDirSymbolList(1)
- If GetListLength(dirSym2$) > 1 Then
- dirSym2$ = GetListItem(dirSym2$, 2)
- SetSymbolValue dirSym2$, dirToChange2$
- rc$ = Lot_CallOneProductFunction(1, "PathChange",gNEXT$, _
- FALSE, |"| + dirSym2$ + |",TRUE|)
- If rc$ = gBACK Then
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- End If
- Lot_RefreshDestination(dirSym2$)
- End If
- END IF
- END IF
-
- '** If this is server, then check the COMPONENTS dir
- IF GetSymbolValue(SYM_NETWORK$) = gSERVER$ AND _
- Reg_GetProdSupportForShare32(1) = 1 AND _
- GetListLength("IDC_EDIT") > 2 THEN
- IF ValidateEditBox(hDlg& , 3) = 0 THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- END IF
- dirToChange2$ = GetPathFromComboedit(hDlg,3)
- IF ValidatePath(dirToChange2$) = FALSE THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- ELSE
- SetSymbolValue SYM_COMPONENTSDIR$, dirToChange2$
- Lot_RefreshDestination(SYM_COMPONENTSDIR$)
- END IF
- END IF
- ResetWinWinsysSymbols
- END SELECT
-
- DONESIZEOFINSTALLCB:
-
- END SUB
-
-
- '*************************************************************************
- '** SUB DISTSIZEINSTALLCB (hDlg&, CtrlId%, Classes$, LInst&)
- '**
- '** Purpose: Handles the DB_CHOOSEPATHDIST Dialog Box for Single
- '** and SmartSuite Install
- '** Always works with the current product (should be 1).
- '**
- '** With a little work we might be able to use this callback
- '** for the main size of install dialog in SmartSuite.
- '** You would need to pay attention to minimum size and
- '** current product. Plus, the path asked for would be
- '** the BASEDIR, not a product path. However, I think the
- '** logic could be added.
- '**
- '** In Symbols:
- '**
- '** Author: DND, CMOY
- '** Arguments: STANDARD CALLBACK ARGS
- '** Comments: SYM_SIZEOFINSTALL$ is an in-out param
- '** Returns:
- '**
- '*************************************************************************
-
- SUB DISTSIZEINSTALLCB (hDlg&, CtrlId%, Classes$, LInst&)
-
- STATIC drvIndex%, dirChanged%, size$, lDistSize&
- DIM dirSym$, dirToChange$, rc$, i%, nProds%, lcb&, notused%
- DIM drvItem$, drvFree&, network$, Inst%
- DIM drvSel%
-
- Inst% = CINT(LInst&)
-
- network$ = GetSymbolValue(SYM_NETWORK)
- SELECT CASE Classes$
-
- CASE "__DLGINIT"
- size$ = GetSymbolValue(SYM_SIZEOFINSTALL$)
- '** Fill the product full size
- lcb& = 0
- nProds% = Reg_GetNumberOfProducts()
- FOR i% = 1 to nProds%
- lcb& = lcb& + Reg_GetProdFullSize(i%)
- NEXT
- SetListItem "IDC_TEXT", 2, LdString(SID_SPACENEEDED) + _
- STR$((lcb& \ 1048576) + 1) + gStrMB$
-
-
- '** Set up the normal font controls
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT7)
-
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
- AddListItem SYM_UPDATELIST$, "IDC_TEXT2"
-
- '** Init the path area. We only change first path in list.
- '** So far, the SmartSuite dlg does not have any paths.
- ' dirChanged% = FALSE
- dirChanged% = TRUE
- dirSym$ = Reg_GetDirSymbolList(1)
- If GetListLength(dirSym$) >= 1 Then
- dirSym$ = GetListItem(dirSym$, 1)
- dirToChange$ = GetSymbolValue(dirSym$)
- Lot_GetDriveFreeSpaceList "IDC_COMBO1"
- SetListItem "IDC_EDIT", 1, dirToChange$
- drvIndex% = ValidateEditBox(hDlg& , 1)
- drvItem$ = GetListItem("IDC_COMBO1",drvIndex%)
- drvFree& = CLNG(MID$(drvItem$,3,Instr(drvItem$,";")-4))
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
- End If
- lDistSize& = Lot_GetInfSectionSize(gDISTRIBUTIONFILES$) \ 1024
- SetListItem "IDC_TEXT", 1, STR$(lDistSize&) + gStrK$
- SetListItem "IDC_TEXT", 2, STR$(drvFree& - lDistSize&) + gStrK$
- AddListItem SYM_UPDATELIST$, "IDC_TEXT1"
- AddListItem SYM_UPDATELIST$, "IDC_TEXT2"
-
- case "IDC_COMBO1"
- ComboSelChanged 1, Inst%
- dirChanged% = TRUE
- '** For distribution, update the text.
- drvItem$ = GetListItem("IDC_COMBO1",Inst%)
- drvFree& = CLNG(MID$(drvItem$,3,Instr(drvItem$,";")-4))
- 'changed for unc drvFree& = CLNG(MID$(drvItem$,3,LEN(drvItem$)-5))
- '** already computed in __DLGINIT
- '** lDistSize& = Lot_GetInfSectionSize(gDISTRIBUTIONFILES$) \ 1024
- SetListItem "IDC_TEXT", 1, STR$(lDistSize&) + gStrK$
- SetListItem "IDC_TEXT", 2, STR$(drvFree& - lDistSize&) + gStrK$
- AddListItem SYM_UPDATELIST$, "IDC_TEXT1"
- AddListItem SYM_UPDATELIST$, "IDC_TEXT2"
-
-
- case "IDC_EDIT"
- dirChanged% = TRUE
-
- case "IDC_BRWSDIR"
- drvSel% = ValidateBrowse(hDlg& , Inst%)
- drvItem$ = GetListItem("IDC_COMBO1",drvSel%)
- drvFree& = CLNG(MID$(drvItem$,3,Instr(drvItem$,";")-4))
- SetListItem "IDC_TEXT", 2, STR$(drvFree& - lDistSize&) + gStrK$
- AddListItem SYM_UPDATELIST$, "IDC_TEXT2"
- dirChanged% = TRUE
-
- case "IDC_OK"
-
- SetSymbolValue SYM_SIZEOFINSTALL$, size$
-
- IF dirChanged% = TRUE THEN
- '** Handle the main application path
-
- IF ValidateEditBox(hDlg& , 1) = 0 THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- END IF
- dirToChange = GetPathFromComboEdit(hDlg&,1)
- IF ValidatePath(dirToChange$) = FALSE THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- ELSE
- dirSym$ = Reg_GetDirSymbolList(1)
- If GetListLength(dirSym$) >= 1 Then
- dirSym$ = GetListItem(dirSym$, 1)
- SetSymbolValue dirSym$, dirToChange$
- rc$ = Lot_CallOneProductFunction(1, "PathChange",gNEXT$, _
- FALSE, |"| + dirSym$ + |",TRUE|)
-
- '** Not sure what to do with the return yet
-
- Lot_RefreshDestination(dirSym$)
- End If
-
- ResetWinWinsysSymbols
- '** TV:
- IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
- SetSymbolValue SYM_BASEDIR$, dirToChange$
- END IF
- END IF
- END IF
-
- END SELECT
-
- END SUB
-
- '*************************************************************************
- '** SUB DISKCOPYMETHODCB (hDlg&, CtrlId%, Classes$, LInst&)
- '**
- '** Purpose: Allows user to choose Server or Distribution
- '** IN SYMBOLS : NETWORK=SERVER | DISTRIBUTION
- '** OUT SYMBOLS: NETWORK=SERVER | DISTRIBUTION
- '**
- '** Author:
- '** Arguments:
- '**
- '**
- '** Returns:
- '**
- '*************************************************************************
-
- SUB DISKCOPYMETHODCB (hDlg&, CtrlId%, Classes$, LInst&)
- DIM network$, Inst%
-
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- CASE "__DLGINIT"
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- network$ = GetSymbolValue(SYM_NETWORK$)
- IF network$ = gSERVER$ THEN
- SetListItem "IDC_B", 1, "T"
- AddListItem SYM_UPDATELIST$, "IDC_B1"
- ELSEIF network$ = gDISTRIBUTION$ THEN
- SetListItem "IDC_B", 2, "T"
- AddListItem SYM_UPDATELIST$, "IDC_B2"
- END IF
-
- CASE "IDC_B"
- SELECT CASE Inst%
-
- CASE 1
- SetSymbolValue SYM_NETWORK$, gSERVER$
-
- CASE 2
- SetSymbolValue SYM_NETWORK$, gDISTRIBUTION$
-
- END SELECT
-
- END SELECT
-
- END SUB
-
- '*************************************************************************
- '** PUBLIC FUNCTION SRV_SUCCESSCB (hDlg&, CtrlId%, Classes$, LInst&)
- '** Purpose: This is a call back for Success dlg box for Server Install.
- '** It executes the licenser.exe, if start licenser button
- '** is selected.
- '** This works with DB_SRV_SUCCESS AND DB_SRV_SUCCESS_LIC
- '** Author: MZ
- '** Arguments:
- '*************************************************************************
-
- PUBLIC SUB SRV_SUCCESSCB (hDlg&, CtrlId%, Classes$, LInst&)
- DIM path$, exist%, ExecError%, Inst%
-
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- CASE "__DLGINIT"
- '** Set up the normal font controls
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- CASE "IDC_B"
- IF Inst% = 1 THEN
- path$ = GetSymbolValue(SYM_LICDIR$)
- path$ = path$ + "licenser.exe"
- exist% = DoesFileExist(path$, femExists)
-
- '** DND: Should I be displaying where we looked for licenser?
- IF exist% = FALSE THEN
- ErrorMsgNoDlgExit SID_NO_LICENSEREXE, ""
- ELSE
- '** DND: Should I display what we could not launch?
- ExecError% = WinExec (path$, SW_SHOWNORMAL)
- IF ExecError% < 32 THEN
- ErrorMsgNoDlgExit SID_ERR_EXECLIC, ""
- END IF
- END IF
- END IF
-
- END SELECT
-
- END SUB
-
- '*************************************************************************
- '** PUBLIC SUB LAUNCHNAGCB (hDlg&, CtrlId%, Classes$, LInst&)
- '** Purpose: Sole purpose is to launch Notepad on the NAG
- '**
- '**
- '** Author: Marcel Meth
- '** Arguments:
- '**
- '**
- '** Returns:
- '**
- '*************************************************************************
-
- PUBLIC SUB LAUNCHNAGCB (hDlg&, CtrlId%, Classes$, LInst&)
- DIM cmd$, ExecError%, Inst%
-
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- CASE "__DLGINIT"
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- CASE "IDC_B"
-
- '** DND: Will these filenames always be the same?
-
- cmd$ = GetSymbolValue(SYM_STF_CWDDIR$) + LdString(SID_READNETWRI)
- If NOT DoesFileExist(cmd$, femExists) Then
- cmd$ = MakePath(GetSymbolValue(SYM_STF_SRCDIR$),LdString(SID_READNETWRI))
- End If
- If NOT DoesFileExist(cmd$, femExists) Then
- cmd$ = LdString(SID_READNETWRI)
- End If
- cmd$ = LdString(SID_WRITEEXE) & " " & cmd$
- ExecError% = WinExec (cmd$, SW_SHOWNORMAL )
-
- '** DND: This does not seem like enough info for error
- IF ExecError% < 32 THEN
- ErrorMsg SID_ERR_EXECWRITE, ""
- END IF
-
- END SELECT
-
- END SUB
-
- '*************************************************************************
- '*************************** Local Functions *****************************
- '*************************************************************************
-
- '*************************************************************************
- '** SUB SetCustomInfo(fOnTab%,fNewSpace%,fUpdateAll%)
- '**
- '** Purpose: Fill with info for custom dialogs. Call this every time
- '** the LCB changes selection or state.
- '**
- '** Author: DND
- '** Arguments: fOnTab% TRUE if tab has focus
- '** fNewSpace% TRUE if we should get new space requirements
- '** fUpdateAll% TRUE if we should update all fields on the dlg
- '** Returns: NONE
- '*************************************************************************
-
- SUB SetCustomInfo(fOnTab%,fNewSpace%,fUpdateAll%)
-
- ' STATIC lckSpace&, drvSave$
- DIM chpt$, dest$, dirName$, dirSym$, drv$, tips$, tmpDrv$, szCost$
- DIM lckCost&, lckAvail&
- DIM bitmap%, n%, notused%, lnotused&, hwndtemp&
-
- '** Get the tip and chapter from the current LCB item
- IF fOnTab% = FALSE THEN
- chpt$ = Lot_LCBGetItem(gPageArray(gCurrentPageIndex%).hDlgPage, _
- gPageArray(gCurrentPageIndex%).nSel, _
- LCBITEM_CHAPTER)
- ELSE
- chpt$ = gPageArray(gCurrentPageIndex%).szChapter$
- END IF
- IF chpt$ = "" THEN EXIT SUB
-
- tips$ = Lot_GetChapterValStr(chpt$, F_TIPS)
-
- '** If instructed then build the custom cost list
- IF GetListLength(SYM_CUSTOMCOST$) = 0 OR fNewSpace% <> FALSE THEN
- lnotused& = LcbGetChapterCost("", "", SYM_CUSTOMCOST$, "")
- END IF
-
- '** Get the destination directory and dirName
- dirSym$ = Lot_GetChapterValStr(chpt$, F_DESTDIRSYM)
-
- dest$ = GetSymbolValue(dirSym$)
- dirName$ = GetSymbolValue(dirSym$ + gNAME$)
- drv$ = MID$(dest$, 1, 1)
- '** UNC stuff
- IF drv$ = "\" THEN
- Lot_SplitUNCPath dest$, drv$, tmpDrv$
- szCost$ = GetListItem(drv$,2)
- IF szCost$ = "" THEN
- lckCost& = 0
- ELSE
- lckCost& = CLNG(szCost$) \ 1024
- END IF
- ELSE
- n% = ASC(LCASE$(drv$)) - ASC("a") + 1
- lckCost& = CLNG(GetListItem(SYM_CUSTOMCOST$, n%)) \ 1024
- END IF
- '** Set the space available
- '** I commented this out because the space value would be inacurate if
- '** free space on a drive changed between visits to the LCB.
- '** I left the code here in case calling GetFreeSpaceForDrive
- '** proved to be too much of a performance hit
- '** IF drv$ = drvSave$ THEN
- '** lckAvail& = lckSpace&
- '** ELSE
- '** IF MID$(drv$,1,1) = "\" THEN
- '** szCost$ = GetListItem(drv$,4) 'get the drivefree space for the
- '** IF szCost$ <> "" THEN 'unc volume
- '** lckAvail& = CLNG(szCost$)
- '** ELSE
- '** lckAvail& = 0
- '** END IF
- '** ELSE
- lckAvail& = GetFreeSpaceForDrive(drv$)
- '** lckSpace& = lckAvail&
- '** drvSave$ = drv$
- '** END IF
- '** END IF
- IF fUpdateAll% <> FALSE THEN
- '** write out the tip text
- SetWindowText GetDlgItem(gPageArray(gCurrentPageIndex%).hDlgPage&, IDC_TEXT1), tips$
-
- '** Set the bitmap (if any)
- bitmap% = Lot_GetChapterValInt(chpt$, F_BITMAP)
- lnotused& = SendMessage(GetDlgItem(gPageArray(gCurrentPageIndex%).hDlgPage&, IDC_BMP1), WM_COMMAND, _
- UM_SETBITMAP, bitmap%)
-
- '** Set all the values in the dialogs
- '** SetWindowText GetDlgItem(gPageArray(gCurrentPageIndex%).hDlgPage&, IDC_TEXT1), tips$
- SetWindowText GetDlgItem(ghdlg&, IDC_TEXT4), dest$
- SetWindowText GetDlgItem(ghdlg&, IDC_TEXT8), dest$
- SetWindowText GetDlgItem(ghdlg&, IDC_TEXT5), dirName$
- END IF
-
- SetWindowText GetDlgItem(ghdlg&, IDC_TEXT2), Lot_MakeSizeString(lckCost&)
- SetWindowText GetDlgItem(ghdlg&, IDC_TEXT3), Lot_MakeSizeString(lckAvail&)
-
- ''* Disable the Change Path.. Button if on a shared directory
- IF GetSymbolValue(SYM_NETWORK$) = gSTANDARD$ AND _
- IsWindowVisible(GetDlgItem(ghdlg&, IDC_B1)) <> FALSE THEN
- notused% = CINT(EnableWindow (GetDlgItem(ghdlg&, IDC_B1), TRUE))
- ''* Disable the Change Path.. Button if on a tab, not an item
-
- IF fOnTab% = TRUE THEN _
- notused% = CINT(EnableWindow (GetDlgItem(ghdlg&, IDC_B1), FALSE))
- END IF
-
- END SUB
-
-
- PUBLIC SUB ResetWinWinsysSymbols()
- '** Purpose: Reset WINDIR, WINSYSDIR to the value of SymVal$ for server
- '** or set it back if change from server -> other
- '** Author: MZ, JMD
- '** Arguments:
- '*************************************************************************
-
- DIM network$, SymVal$
-
- network$ = GetSymbolValue(SYM_NETWORK$)
- IF network$ = gSERVER$ THEN
-
- IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
- SymVal$ = Reg_GetDirSymbolList(1)
- If GetListLength(SymVal$) >= 1 Then
- SymVal$ = GetListItem(SymVal$, 1)
- SymVal$ = GetSymbolValue(SymVal$)
- Else
- '** RESOURCE! ***
- ErrorMsg SID_ERR_SRV_MUST_HAVE_MAINDIR, ""
- ERROR STFQUIT
- End If
- ELSE
- SymVal$ = GetSymbolValue(SYM_BASEDIR$)
- END IF
-
- SetSymbolValue SYM_WINDIR$, SymVal$ + "win\"
- SetSymbolValue SYM_WINSYSDIR$, SymVal$ + "winsys\"
- SetSymbolValue SYM_LOTUSFONTSDIR$, SymVal$ + "win\fonts\"
-
- Lot_RefreshDestination(SYM_WINDIR$)
- Lot_RefreshDestination(SYM_WINSYSDIR$)
- Lot_RefreshDestination(SYM_LOTUSFONTSDIR$)
-
- ELSE
- Lot_InitializeWinWinsysSym
- END IF
-
- END SUB
-
- '** DND: This function should be moved to Toolkit. We might also
- '** want to think about calling this function whenever a destination
- '** directory is entered.
-
- FUNCTION DoesFileExistInDir (dirlist$) AS INTEGER
- '** Purpose: Takes a list of directories and puts up an error message
- '** listing all the directories which have files in them.
- '** In Symbols:
- '** OUT symbols:
- '**
- '**
- '** Author: JYOTI KEDIA
- '** Arguments: list of directories
- '**
- '**
- '** Returns: TRUE
- '**
- '*************************************************************************
- DIM errstr$, n%, i%, dirname$, RC%, temp$, sz$
-
- DoesFileExistInDir = TRUE
- errstr$ = ""
- n% = GetListLength(dirlist$)
- for i% = 1 to n%
- dirname$ = GetListItem(dirlist$,i%)
- rc% = DoesDirExist(dirname$)
- If DoesDirExist(dirname$)Then
- temp$ = Lot_Dir(dirname$+"\*.*")
- if temp$ <> "" Then
- errstr$ = errstr$ + CHR$(10) + CHR$(10) + " " + dirname$
- end if
- end if
- Next
-
- if errstr$ <> "" Then
- sz$ = LdString(SID_DIR_NOT_EMPTY) + errstr$
- RC% = DoMsgBox(sz$,LdString(SID_TKT_STD_TITLE),MB_OKCANCEL + MB_ICONEXCLAMATION)
- if RC% <> 1 Then
- SetListItem "__LASTSTATUS",1,"Q"
- EXIT FUNCTION
- end if
- end if
-
- END FUNCTION
-
- '** SUB SRVNODEOPTIONSCB (hDlg&, CtrlId%, Classes$, LInst&)
- '** Purpose: Drives DBSUIT_SRV_NODEOPTIONS dialog
- '** Author: MZ
- '** Arguments: Callback args
- '** Returns: NONE
- '** Restriction: this call back works only in custom install
- '*************************************************************************
- SUB SRVNODEOPTIONSCB (hDlg&, CtrlId%, Classes$, LInst&)
- DIM chpt$, firstchpt$, ProdName$, child$, dirsym$
- DIM toggle%,Selection%,sel%,Written%
- DIM NumOfProds%, OptNum%, OptName$, tiponly%,ProdNum%, Selected$, prodno$
- DIM RC$, i%, j%,k%, notused%, Item$, flag$, SaveInst%, index%,OptKeyWord$
- DIM Inst%,groupOn%,gIndex%,memberCount%
-
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- case "__DLGINIT"
-
- ' If no products are registered exit
- NumOfProds% = Reg_GetNumberOfProducts()
- IF NumOfProds%=0 THEN
- EXIT SUB
- END IF
-
- ' Make the right hand text not bold
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- ' Turn of the display during this operation
- Lot_LCBSetRedraw hDlg&, 0
- Lot_LCBResetContent hDlg&
-
- ' Loop through products
- gIndex% = 1 '*** group box index
- FOR i% = 1 TO NumOfProds%
- Reg_ReSetAllNodeOptsSelToDefaults i%
- OptNum%=Reg_GetNumofNodeOptions(i%)
- IF OptNum% <> 0 THEN
- chpt$ = Lot_GetChapterFromKeyword(Reg_GetProductAcronym(i%) + gTOP$)
- IF firstchpt$ = "" THEN
- firstchpt$ = chpt$
- END IF
- Lot_SetSpaceDirTip hDlg&,chpt$,1 - IDC_LCB1 + 1,i%,FALSE
- ProdName$ = Lot_GetChapterValStr(chpt$, F_NAME)
- Written% = 0
- groupOn% = FALSE
- memberCount% = 0
- ' Loop through the options
- FOR j% = 1 TO OptNum%
- ' Indent the option name under the product
- OptKeyWord$ = Reg_GetNodeOptionStr(i%,j%)
- chpt$ = Lot_GetChapterFromKeyword(OptKeyWord$)
- IF INT(Lot_GetChapterValInt(chpt$,F_INOROUT)) = 1 THEN
- IF Written% = 0 THEN
- ' Write: check box selected
- ' Name of the product;
- ' no size;
- ' number of node options for this product;
- ' product number;
- ' G for group
- Item$="0"+ProdName$+";;"+STR(OptNum%)+";"+STR(i%)+";G"
- IF Lot_LCBAddItem(hDlg&, Item$) = 0 THEN
- ErrorMsg SID_ERR_POPULATELCB, ""
- ERROR STFQUIT
- END IF
- Written% = 1
- memberCount = memberCount + 1
- END IF
-
- OptName$ = " "+Lot_GetChapterValStr(chpt$, F_NAME)
- ' Write: check box selected
- ' Indented Name of the feature;
- ' size of the feature in Kb;
- ' chapter number;
- ' product number;
- ' M for member;
- ' OptKeyWord$;
- ' OptSequence
- Selected$ = Reg_IsNodeOptionSelected(i%,j%)
- IF Selected$ = STR(1) THEN
- Selected$ = "1"
- groupOn% = TRUE
- ELSE
- Selected$ = "0"
- END IF
- Item$=Selected$+OptName$+";"+ _
- Lot_MakeSizeString(Lot_GetInfChapterSize(chpt$)\1024) _
- +";"+chpt$+";"+STR(i%)+";M;"+OptKeyWord$+";"+STR(j%)
- IF Lot_LCBAddItem(hDlg&, Item$) = 0 THEN
- ErrorMsg SID_ERR_POPULATELCB, ""
- ERROR STFQUIT
- END IF
- memberCount = memberCount + 1
- ELSE
- Reg_ReSetNodeOptionSelected i%,j%,0
- END IF
- NEXT
- IF groupOn <> FALSE THEN
- notused% = Lot_LCBReplaceItem(hDlg&, gIndex%, LCBITEM_SELECTED,"1")
- END IF
- 'The next group index is the previous plus number of member boxes
- gIndex% = gIndex% + memberCount%
- END IF
- NEXT
-
- ' Turn on the display
- Lot_LCBSetRedraw hDlg&, 1
-
- ' Select the first item in the listbox
- Lot_LCBSetSel hDlg&, 1
- prodno$ = Lot_LCBGetItem(hDlg&,1,5) '***5-productnumber
- Lot_SetSpaceDirTip hDlg&,firstchpt$,1,CINT(prodno$),FALSE
-
- case "IDC_LCB"
-
- SetYieldActive FALSE ' turn off yielding while handling lcb
-
- '** If Inst% is negative that just means that the section changed.
- '** If Inst% is positive then a check box was toggled.
- SaveInst% = Inst%
- IF Inst% < 0 THEN
- Inst% = -Inst%
- tiponly% = TRUE
- toggle% = FALSE
- ELSE
- tiponly% = FALSE
- toggle% = TRUE
- END IF
-
- ' Find what check box was hit
- index% = Inst% - IDC_LCB1 + 1
- ' Get the chapter no or number of options from the check box info
- chpt$ = Lot_LCBGetItem(hDlg&, index%, LCBITEM_CHAPTER)
- ' Get the product No from the check box info
- ProdNum% = CINT(Lot_LCBGetItem(hDlg&, index%, 5))
- ' Read Group/Member flag from the list of check boxes
- flag$ = Lot_LCBGetItem(hDlg&, index%, 6)
- ' Read if the check box is checked or not
- Selection% = CINT(Lot_LCBGetItem(hDlg&, index%, LCBITEM_SELECTED))
- ' Read the Keyword from the check box info
- OptKeyWord$ = Lot_LCBGetItem(hDlg&, index%, 7)
-
- '** Process the LCB info
-
- '** If you toggle a group
- '** set all members to the same
- '** index is the group box
- IF flag$ = "G" AND toggle% = TRUE THEN
- FOR i% = index%+1 TO index%+CINT(chpt$)
- IF i% > Lot_LCBGetCount(hDlg&) OR _
- Lot_LCBGetItem(hDlg&, i%, 6) = "G" THEN EXIT FOR
- IF Selection% = 0 THEN
- notused% = Lot_LCBReplaceItem(hDlg&, i%, LCBITEM_SELECTED,"0")
- ELSE
- notused% = Lot_LCBReplaceItem(hDlg&, i%, LCBITEM_SELECTED,"1")
- END IF
- Reg_SetNodeOptionSelected ProdNum%, CINT(Lot_LCBGetItem(hDlg&,_
- i%, 8)), Selection%
- NEXT
- END IF
-
- '** If you select a group
- IF flag$ = "G" AND toggle% = FALSE THEN
- prodno$ = Lot_LCBGetItem(hDlg&, index%,5) '***5-productnumber
- chpt$ = Lot_GetChapterFromKeyword(Reg_GetProductAcronym(_
- CINT(prodno$)) + gTOP$)
- Lot_SetSpaceDirTip hDlg&,chpt$,index%,ProdNum%,TRUE
- END IF
-
- '** If you toggle a member
- IF flag$ = "M" AND toggle% = TRUE THEN
- sel% = CINT(Lot_LCBGetItem(hDlg&, index%, LCBITEM_SELECTED))
-
- 'set node option
- Reg_SetNodeOptionSelected ProdNum%, CINT(Lot_LCBGetItem(hDlg&,_
- index%, 8)), sel%
-
- Lot_SetSpaceDirTip hDlg&,chpt$,index%,ProdNum%,FALSE
-
- 'go up the lcb until we find the group
- gIndex%=index%
- WHILE flag <> "G" AND gIndex% > 0
- gIndex%=gIndex%-1
- flag$ = Lot_LCBGetItem(hDlg&, gIndex%, 6)
- WEND
-
- 'now scroll down and look at all the members
- groupOn%=FALSE
- chpt$ = Lot_LCBGetItem(hDlg&, gIndex%, LCBITEM_CHAPTER)
- '** Scroll down the member boxes to see if any are on
- FOR i% = gIndex%+1 TO gIndex%+CINT(chpt$)
- IF i% > Lot_LCBGetCount(hDlg&) OR _
- Lot_LCBGetItem(hDlg&, i%, 6) = "G" THEN EXIT FOR
- sel% = CINT(Lot_LCBGetItem(hDlg&, i%, LCBITEM_SELECTED))
- IF sel% <> FALSE THEN
- groupOn% = TRUE
- EXIT FOR
- END IF
- NEXT
-
- IF groupOn% = FALSE THEN
- notused% = Lot_LCBReplaceItem(hDlg&, gIndex%, LCBITEM_SELECTED,"0")
- ELSE
- notused% = Lot_LCBReplaceItem(hDlg&, gIndex%, LCBITEM_SELECTED,"1")
- END IF
- END IF
-
- '** If you select a member
- IF flag$ = "M" AND toggle% = FALSE THEN
- Lot_SetSpaceDirTip hDlg&,chpt$,index%,ProdNum%,TRUE
- END IF
-
- SetYieldActive TRUE ' turn yielding back on
-
- END SELECT
-
- END SUB
-
-
-
-
- '*************************************************************************
- SUB NODENODEOPTIONSCB (hDlg&, CtrlId%, Classes$, LInst&)
- '** Purpose: Drives DBSUIT_NODE_NODEOPTIONS dialog
- '** Author: MZ
- '** Arguments: Callback args
- '** Returns: NONE
- '*************************************************************************
- DIM chpt$, firstchpt$, ProdName$, dirsym$,toggle%,Selection%,sel%,Written%
- DIM OptName$, tiponly%,ProdNum%, Selected$, prodno$
- DIM AllProdNum%,AllOptNum%
- DIM RC$, i%, j%, notused%, Item$, flag$, SaveInst%, index%,OptKeyWord$
- DIM Inst%, drvSel%, dirToChange$
- DIM avail&, gIndex%,groupOn%,tipChpt$,thisChptIn%,memberCount%
- STATIC dirChanged%
-
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- case "__DLGINIT"
- dirChanged% = FALSE
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- ' Turn of the display during this operation
- Lot_LCBSetRedraw hDlg&, 0
- Lot_LCBResetContent hDlg&
-
-
- IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
- Lot_GetDriveFreeSpaceList "IDC_COMBO1"
- dirSym$ = Reg_GetDirSymbolList(1)
- dirSym$ = GetListItem(dirSym$,1)
- dirToChange$ = GetSymbolValue(dirSym$)
- ELSE
- dirToChange$ = GetSymbolValue(SYM_BASEDIR$)
- END IF
- SetSymbolValue SYM_CHANGEDIRSYMBOL$, dirSym$
- SetListItem "IDC_EDIT", 1, dirToChange$
- notused% = ValidateEditBox(hDlg& , 1)
-
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
-
- 'Loop through the products and find the avail node options
- AllProdNum% = 0
- AllProdNum% = Reg_GetNumberOfProducts()
- IF AllProdNum% <> 0 THEN
- gIndex% = 1
- 'Loop through the products
- Written% = 0
- FOR prodNum%=1 TO AllProdNum%
- AllOptNum% = 0
- memberCount% = 0
- Reg_ReSetAllNodeOptsSelToDefaults prodNum%
- AllOptNum% = Reg_GetNumofNodeOptions(prodNum%)
- chpt$ = Lot_GetChapterFromKeyword(Reg_GetProductAcronym(prodNum%)_
- + gTOP$)
- IF AllOptNum% <> 0 AND (INT(Lot_GetChapterValInt(chpt$,F_INOROUT)) = 1) THEN
- IF firstchpt$ = "" THEN
- firstchpt$ = chpt$
- END IF
- ProdName$ = Lot_GetChapterValStr(chpt$, F_NAME)
- Written% = 0
- 'if none of the members are on we will deselect group box
- groupOn%=FALSE
- ' Loop through the options
- FOR j% = 1 TO AllOptNum%
- ' Indent the option name under the product
- OptKeyWord$ = Reg_GetNodeOptionStr(prodNum%,j%)
- chpt$ = Lot_GetChapterFromKeyword(OptKeyWord$)
- thisChptIn%=0
- avail& = Lot_IsTheNodeOptionsAvailToNode(prodNum%, OptKeyWord$)
- IF Lot_IsTheFeatureInstalled(OptKeyWord$) <> FALSE AND _
- avail <> FALSE THEN
- IF Written% = 0 THEN
- ' Write: check box selected
- ' Name of the product;
- ' no size;
- ' number of node options for this product;
- ' product number;
- ' G for group
- Item$="0"+ProdName$+";;"+STR(AllOptNum%)+";"+STR(prodNum%)+";G"
- IF Lot_LCBAddItem(hDlg&, Item$) = 0 THEN
- ErrorMsg SID_ERR_POPULATELCB, ""
- ERROR STFQUIT
- END IF
- Written% = 1
- memberCount% = memberCount% + 1
- END IF
- OptName$ = " "+Lot_GetChapterValStr(chpt$, F_NAME)
- ' Write: check box selected
- ' Indented Name of the feature;
- ' size of the feature in Kb;
- ' chapter number;
- ' product number;
- ' M for member;
- ' OptKeyWord$;
- ' OptSequence
- Selected$ = Reg_IsNodeOptionSelected(prodNum%,j%)
- IF Selected$ = STR(1) THEN
- groupOn%=TRUE
- thisChptIn%=1
- Item$="1"+OptName$+";"+ _
- Lot_MakeSizeString(Lot_GetInfChapterSize(chpt$)\1024) _
- +";"+chpt$+";"+STR(prodNum%)+";M;"+OptKeyWord$+";"+STR(j%)
- ELSE
- Item$="0"+OptName$+";"+ _
- Lot_MakeSizeString(Lot_GetInfChapterSize(chpt$)\1024) _
- +";"+chpt$+";"+STR(prodNum%)+";M;"+OptKeyWord$+";"+STR(j%)
- END IF
- memberCount% = memberCount% + 1
- IF Lot_LCBAddItem(hDlg&, Item$) = 0 THEN
- ErrorMsg SID_ERR_POPULATELCB, ""
- ERROR STFQUIT
- END IF
- ELSE
- Reg_ReSetNodeOptionSelected prodNum%,j%,0
- END IF
- notused% = Lot_SetChapterFilesInCopyListInOrOut(chpt$, thisChptIn%)
- NEXT
- IF groupOn% <> FALSE THEN
- notused% = Lot_LCBReplaceItem(hDlg&, gIndex%, LCBITEM_SELECTED,"1")
- END IF
- 'The next group index is the previous plus number of member boxes
- gIndex% = gIndex% + memberCount%
- END IF
- NEXT
- ' Turn on the display
- Lot_LCBSetRedraw hDlg&, 1
-
- ' Select the first item in the listbox
- IF gIndex > 1 THEN
- Lot_LCBSetSel hDlg&, 1
- prodno$ = Lot_LCBGetItem(hDlg&,1,5) '***5-productnumber
- Lot_SetSpaceDirTip hDlg&,firstchpt$,1,CINT(prodno$),FALSE
- END IF
- END IF
-
- case "IDC_LCB"
-
- SetYieldActive FALSE ' turn off yielding while handling lcb
-
- '** If Inst% is negative that just means that the section changed.
- '** If Inst% is positive then a check box was toggled.
- SaveInst% = Inst%
- IF Inst% < 0 THEN
- Inst% = -Inst%
- tiponly% = TRUE
- toggle% = FALSE
- ELSE
- tiponly% = FALSE
- toggle% = TRUE
- END IF
- ' Find what check box was hit
- index% = Inst% - IDC_LCB1 + 1
- ' Get the chapter no or number of options from the check box info
- chpt$ = Lot_LCBGetItem(hDlg&, index%, LCBITEM_CHAPTER)
- ' Get the product No from the check box info
- ProdNum% = CINT(Lot_LCBGetItem(hDlg&, index%, 5))
- ' Read Group/Member flag from the list of check boxes
- flag$ = Lot_LCBGetItem(hDlg&, index%, 6)
- ' Read if the check box is checked or not
- Selection% = CINT(Lot_LCBGetItem(hDlg&, index%, LCBITEM_SELECTED))
- ' Read the Keyword from the check box info
- OptKeyWord$ = Lot_LCBGetItem(hDlg&, index%, 7)
-
- '**save the chapter number to set the tip
- IF flag$ = "G" THEN
- prodno$ = Lot_LCBGetItem(hDlg&, index%,5) '***5-productnumber
- tipChpt$ = Lot_GetChapterFromKeyword(Reg_GetProductAcronym(CINT(prodno$)) + gTOP$)
- ELSE
- tipChpt$=chpt$
- END IF
- '** Process the LCB info
-
-
- '** If you toggle a group
- IF flag$ = "G" AND toggle% = TRUE THEN
-
- FOR i% = index%+1 TO index%+CINT(chpt$)
- IF i% > Lot_LCBGetCount(hDlg&) OR _
- Lot_LCBGetItem(hDlg&, i%, 6) = "G" THEN EXIT FOR
- thisChptIn% = 0
- 'here prodno$ is used to toggle member box on/off
- prodno$ = "0"
- sel% = CINT(Lot_LCBGetItem(hDlg&, i%, LCBITEM_SELECTED))
- 'selection is the group box state
- 'sel is the member box state
- 'if they are different make them the same
- IF sel% <> selection% THEN
- chpt$ = Lot_LCBGetItem(hDlg&, i%, LCBITEM_CHAPTER)
- IF selection% <> 0 THEN
- thisChptIn% = 1
- prodno$ = "1"
- END IF
- notused% = Lot_LCBReplaceItem(hDlg&, i%,_
- LCBITEM_SELECTED,prodno$)
- notused% = Lot_SetChapterFilesInCopyListInOrOut(chpt$, _
- thisChptIn%)
- Reg_SetNodeOptionSelected ProdNum%,_
- CINT(Lot_LCBGetItem(hDlg&, i%, 8)), thisChptIn%
- END IF
- NEXT
- END IF
-
- '** If you toggle a member
- IF flag$ = "M" AND toggle% = TRUE THEN
- 'go up the lcb until we find the group
- gIndex%=index%
- WHILE flag <> "G" AND gIndex% > 0
- gIndex%=gIndex%-1
- flag$ = Lot_LCBGetItem(hDlg&, gIndex%, 6)
- WEND
- sel% = CINT(Lot_LCBGetItem(hDlg&, index%, LCBITEM_SELECTED))
- IF sel% = 0 THEN
- Reg_SetNodeOptionSelected ProdNum%, _
- CINT(Lot_LCBGetItem(hDlg&, index%, 8)), 0
- notused% = Lot_SetChapterFilesInCopyListInOrOut(chpt$, 0)
- groupOn%=FALSE
- 'if all selections are off turn off group
- chpt$ = Lot_LCBGetItem(hDlg&, gIndex%, LCBITEM_CHAPTER)
-
-
- FOR i% = gIndex%+1 TO gIndex%+CINT(chpt$)
- IF i% > Lot_LCBGetCount(hDlg&) OR _
- Lot_LCBGetItem(hDlg&, i%, 6) = "G" THEN EXIT FOR
- sel% = CINT(Lot_LCBGetItem(hDlg&, i%, LCBITEM_SELECTED))
- IF sel% <> FALSE THEN
- groupOn% = TRUE
- EXIT FOR
- END IF
- NEXT
-
- 'if none of the options are on uncheck the group box
- IF groupOn% = FALSE THEN
- notused% = Lot_LCBReplaceItem(hDlg&, gIndex%, LCBITEM_SELECTED,"0")
- END IF
- ELSE
- Reg_SetNodeOptionSelected ProdNum%, CINT(Lot_LCBGetItem(hDlg&, index%, 8)), 1
- notused% = Lot_SetChapterFilesInCopyListInOrOut(chpt$, 1)
- notused% = Lot_LCBReplaceItem(hDlg&, gIndex%, LCBITEM_SELECTED,"1")
- END IF
- END IF
- '** If you select a member
- 'if we did not toggle then tiponly is true
- IF toggle = FALSE THEN
- Lot_SetSpaceDirTip hDlg&,tipChpt$,index%,ProdNum%,TRUE
- ELSE
- Lot_SetSpaceDirTip hDlg&,tipChpt$,index%,ProdNum%,FALSE
- END IF
-
- SetYieldActive TRUE ' turn yielding back on
-
- case "IDC_EDIT"
- dirChanged% = TRUE
-
- case "IDC_BRWSDIR"
- drvSel% = ValidateBrowse(hDlg& , Inst%)
- dirChanged% = TRUE
-
- case "IDC_COMBO1"
- ComboSelChanged 1, Inst%
- dirChanged% = TRUE
-
- case "IDC_OK"
- IF dirChanged% = TRUE THEN
- drvSel% = ValidateEditBox(hDlg& , 1)
- IF drvSel% = 0 THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- END IF
- dirToChange$ = GetPathFromComboEdit(hDlg&, 1)
- IF ValidatePath(dirToChange$) = FALSE THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- ELSE
- dirSym$ = GetSymbolValue(SYM_CHANGEDIRSYMBOL$)
- SetSymbolValue dirSym$, dirToChange$
- rc$ = Lot_CallOneProductFunction(Lot_GetCurrentProduct(), _
- "PathChange", gNEXT$, _
- FALSE, |"| + dirSym$ + |",FALSE|)
- If rc$ = gBACK Then
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- End If
- Lot_RefreshDestination(dirSym$)
- END IF
- END IF
- END SELECT
-
- END SUB
-
- '*************************************************************************
- SUB Lot_SetSpaceDirTip(hDlg&,chpt$,index%,ProdNum%,tiponly%)
- '** Purpose: Fill with info for Server NodeOptions dialogs. Call this every
- '** time the LCB changes selection or state in SRVNODEOPTIONSCB
- '** Author: MZ
- '** Arguments: hDlg&
- '** Chapter$
- '** index%
- '** tiponly%
- '*************************************************************************
- STATIC lckSpace&, drvSave$
- DIM dest$, dirName$, dirSym$, drv$, tips$, uncVol$, dirPath$
- DIM lckCost&, lckAvail&
- DIM bitmap%, n%, notused%
-
- '** Get the tip and chapter from the current LCB item
- tips$ = Lot_GetChapterValStr(chpt$, F_TIPS)
-
- '** If instructed then build the custom cost list
- IF GetListLength(SYM_CUSTOMCOST$) = 0 OR tiponly <> FALSE THEN
- notused% = LcbGetChapterCost("", "", SYM_CUSTOMCOST$, "")
- END IF
-
- '** Get the destination directory and dirName
- dirSym$ = Lot_GetChapterValStr(chpt$, F_DESTDIRSYM)
- IF GetSymbolValue(SYM_NETWORK$) <> gSTANDARD$ THEN
- dirSym$ = Reg_GetDirSymbolList(ProdNum%)
- dirSym$ = GetListItem(dirSym$, 1)
- END IF
-
- dest$ = GetSymbolValue(dirSym$)
- dirName$ = GetSymbolValue(dirSym$ + gNAME$)
- drv$ = MID$(dest$, 1, 1)
- Lot_SplitUNCPath dest$, uncVol$, dirPath$
- IF uncVol$ = "" THEN
- n% = ASC(drv$) - ASC("a") + 1
- lckCost& = CLNG(GetListItem(SYM_CUSTOMCOST$, n%)) \ 1024
- ELSE
- lckCost& = CLNG(GetListItem(uncVol$, UNC_COST)) \ 1024
-
- END IF
- '** Set the space available
- IF drv$ = drvSave$ THEN
- lckAvail& = lckSpace&
- ELSE
- lckAvail& = GetFreeSpaceForDrive(dest$)
- lckSpace& = lckAvail&
- drvSave$ = drv$
- END IF
-
- '** Set the bitmap (if any)
- bitmap% = Lot_GetChapterValInt(chpt$, F_BITMAP)
- IF bitmap% <> 0 THEN
- SetListItem "IDC_BMP", 1, STR$(bitmap%)
- AddListItem SYM_UPDATELIST$, "IDC_BMP1"
- END IF
-
- '** Set all the values in the dialogs
- SetWindowText GetDlgItem(hDlg&, IDC_TEXT1), tips$
- SetWindowText GetDlgItem(hDlg&, IDC_TEXT5), Lot_MakeSizeString(lckCost&)
- SetWindowText GetDlgItem(hDlg&, IDC_TEXT7), Lot_MakeSizeString(lckAvail&)
- SetWindowText GetDlgItem(hDlg&, IDC_TEXT9), dest$
- 'SetWindowText GetDlgItem(hDlg&, IDC_TEXT8), dirName$
-
- END SUB
-
- '*************************************************************************
- SUB AUTOEXECCB (hDlg&, CtrlId%, Classes$, LInst&)
- '** Purpose:
- '**
- '** Author: Christopher Moy
- '** Arguments: hDlg&
- '** CtrlId%
- '** Classes$
- '** LInst&
- '*************************************************************************
-
- DIM modflag%, notused1$, Inst%
-
- Inst% = CINT(LInst&)
-
-
- SELECT CASE Classes$
-
- CASE "__DLGINIT"
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT5)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- CASE "IDC_OK" '** Yes button
- modflag% = 0
- IF GetSymbolValue(SYM_NEEDNOTES$) <> gFALSE$ THEN
- modflag% = 1 '** autoexec needs notes
- END IF
- IF GetSymbolValue(SYM_NEEDSHARE$) <> gFALSE$ THEN
- modflag% = modflag% + 2 '** autoexec needs share
- END IF
- IF modflag% <> FALSE THEN
- notused1$=ModifyAutoexec(modflag%, 1, "AUTOEXEC.LTS")
- END IF
- SetSymbolValue SYM_AUTOEXEC_CHOICE$, gAUTO$
-
- CASE "IDC_MENU" '** Make Copy button **
- modflag% = 0 '** test flag situation
- IF GetSymbolValue(SYM_NEEDNOTES$) <> gFALSE$ THEN
- modflag% = 1 '** autoexec needs notes
- END IF
- IF GetSymbolValue(SYM_NEEDSHARE$) <> gFALSE$ THEN
- modflag% = modflag% + 2 '** autoexec needs share
- END IF
- IF modflag% <> FALSE THEN
- notused1$=ModifyAutoexec(modflag%, 0, "AUTOEXEC.LTS")
- END IF
- SetSymbolValue SYM_AUTOEXEC_CHOICE$, gAUTOCOPY$
-
- CASE "IDC_CONTINUE" '** No button
- SetSymbolValue SYM_AUTOEXEC_CHOICE$, gMAN$
-
- END SELECT
-
- END SUB
-
- '*************************************************************************
- SUB INSTALLCOMPLETECB (hDlg&, CtrlId%, Classes$, LInst&)
- '** Purpose:
- '**
- '** Author: Christopher Moy
- '** Arguments: hDlg&
- '** CtrlId%
- '** Classes$
- '** LInst&
- '*************************************************************************
- DIM notused1$, hwnd%, lr%, Inst%
-
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- CASE "__DLGINIT"
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- %rem
- CASE "IDC_CONTINUE" '** Restart button
-
- notused1$ = Lot_CallProductFunctions("PostSuccessReg", gNext, FALSE, gALLPRODUCTS,"")
- hwnd%=FindWindow("LInstallWClass",LdString(SID_INST_WINDOW_TITLE))
- ' Japanese build
- ' hwnd%=FindWindow("LInstallWClass","âìü[â^âX âCâôâXâgü[âïâvâìâOâëâÇé╓éµéñé▒é╗")
- lr%=SendMessage(hwnd%, WM_COMMAND, UM_REBOOTFLAG, 0)
- %endrem
-
- CASE "IDC_OK" '** Done button
-
- END SELECT
-
- END SUB
-
- '*************************************************************************
-
- SUB PARENTDIRCB (hDlg&, CtrlId%, Classes$, LInst&)
- '** Purpose: Drives DB_PARENTDIR dialog
- '** Author: MZ,TV
- '** Arguments: Callback args
- '** Returns: NONE
- '*************************************************************************
- STATIC drvIndex%(1 to MAX_NO_DRIVECOMBOS)
- ' STATIC dirChanged%
- DIM dirSym$, dirToChange$, dirName$, rc$, i%, Chapter$, Inst%
- DIM AllProdNum%,prodNum%,AllOptNum%,OptName$,OptNum%,notused%
- DIM drvSel%
-
- Inst% = CINT(LInst&)
-
- SELECT CASE Classes$
-
- case "__DLGINIT"
- 'For server, want to update always, since we fiddle with the drive list
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
- Lot_GetDriveFreeSpaceList "IDC_COMBO1"
- dirToChange$ = GetSymbolValue(SYM_BASEDIR$)
- SetListItem "IDC_EDIT", 1, dirToChange$
- drvIndex%(1) = ValidateEditBox(hDlg& , 1)
- AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
-
- case "IDC_COMBO1"
- ComboSelChanged 1, Inst%
-
- ' case "IDC_EDIT"
- ' dirChanged% = TRUE
-
- case "IDC_BRWSDIR"
- drvSel% = ValidateBrowse(hDlg& , Inst%)
- ' dirChanged% = TRUE
-
- case "IDC_OK"
- drvSel% = ValidateEditBox(hDlg& , 1)
- IF drvSel% = 0 THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- ELSE
- drvIndex%(1) = drvSel%
- END IF
- dirToChange$ = GetPathFromComboEdit(hDlg&, 1)
- IF ValidatePath(dirToChange$) = FALSE THEN
- SetListItem "__LASTSTATUS", 1, "Q"
- EXIT SUB
- ELSE
- SetSymbolValue SYM_BASEDIR$, dirToChange$
- 'IF Reg_GetProdSupportForShare32(1) = 1 THEN
- ' SetTheComponentsDir
- 'END IF
- Lot_RefreshDestination(SYM_BASEDIR$)
- END IF
- END SELECT
-
- END SUB
-
- '*************************************************************************
-
- PUBLIC FUNCTION Lot_SharedWindowsDlg (Id%) AS STRING
- '** Purpose: Drives DB_PARENTDIR dialog
- '** Author: JMD
- '** Arguments: ID of dialog, either:
- '** DB_SHAREDWINDOWS (Install to shared windows dir?)
- '** DB_NOSHAREDWINDOWS(Can't install to shared windows dir?)
- '** Returns: Return value of PopupModalDlg
- '*************************************************************************
-
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
- AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
- AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
-
- SetListItem "IDC_TEXT", 1, GetSymbolValue(SYM_WINDIR$)
- SetListItem "IDC_TEXT", 2, GetSymbolValue(SYM_WINSYSDIR$)
-
- Lot_SharedWindowsDlg = PopupModalDlg ( Id%, CLng(Id%) )
-
- END FUNCTION
- '*************************************************************************
-
-