📄 register.tcl
字号:
# REGISTER.TCL - Setup procedures for implementing user registration wizard page
#
# Copyright 1999 Wind River Systems, Inc
#
# modification history
# --------------------
# 01h,15apr99,wmd If ALT-F is used, remove the corresponding key if it exists
# in the registry.
# 01g,15apr99,wmd Need to destroy the "nokey" control created when no
# installation key is required.
# 01f,12apr99,wmd Need to add full simulator product to the tornadoIndex in
# the setupVals array.
# 01e,31mar99,wmd Fix spr# 26130, blank components page.
# 01d,24mar99,bjl turn off inf write to registry after queueExecute.
# 01c,19mar99,wmd Output to a file any debug messages.
# 01b,01feb99,tcy moved procs from INSTALL.TCL.
# 01a,26jan99,tcy extracted from INSTW32.TCL.
#
#############################################################################
#
# onClickFaeBox - prompt FAEs to save the installation key
#
# This procedure will prompt FAEs to save the installation key
#
# SYNOPSIS
# .tS
# onClickFaeBox
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#
proc onClickFaeBox {} {
global setupVals
if {![dialog yes_no "Setup" [strTableGet 5020_DO_NOT_SAVE_KEY_FOR_FAE]]} {
set setupVals(instKeyNotSaved) 1
} elseif [info exists setupVals(instKeyNotSaved)] {
unset setupVals(instKeyNotSaved)
}
}
#############################################################################
#
# pageCreate(registration) - displays CD information and prompt users for
# registration information
#
# This procedure will display CD information and prompt users for
# registration information such as user name, company name and installation key
#
# SYNOPSIS
# .tS
# pageCreate(registration)
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#
proc pageCreate(registration) {} {
global ctrlVals
global setupVals
# read user's information
registrationValuesReadFromRegistry
if { "$setupVals(keyList)" == "" } {
set numKeys 0
} else {
set numKeys [llength $setupVals(keyList)]
}
set ctrlVals(volatileFrm) [list \
[list label -name message1 \
-title [strTableGet 1060_REGISTRATION] \
-x 99 -y 10 -w 206 -h 27] \
[list label -name message2 \
-title "Name" \
-x 99 -y 56 -w 32 -h 10] \
[list label -name message3 \
-title "Company" \
-x 99 -y 80 -w 35 -h 10] \
[list label -name message4 \
-title "Key" \
-x 99 -y 104 -w 29 -h 8] \
[list text -name nameText -border -x 139 -y 56 -w 166 -h 13 \
-callback {onTextChange nameText name}] \
[list text -name companyText -border -x 139 -y 79 -w 166 -h 13 \
-callback {onTextChange companyText company}] \
[list combo -name keyText -x 139 -y 102 -w 166 \
-h [expr 13 * ($numKeys + 1)] \
-editable \
-callback {onTextChange keyText instKey}]\
[list label -name Information \
-title "Information" \
-x 105 -y 125 -w 40 -h 8] \
[list frame -name frm1 \
-xpos 100 -ypos 135 -width 207 -height 30] \
[list label -name cdInfo \
-x 107 -y 140 -w 180 -h 20] \
[list button -name fae -title "&f" -x 280 -y 35 -w 1 -h 1 \
-callback {onClickFaeBox} ] \
]
set w [dlgFrmCreate [strTableGet 1430_TITLE_REGISTRATION]]
controlHide $w.fae 1
controlValuesSet $w.companyText [companyNameGet]
controlValuesSet $w.nameText [userNameGet]
controlValuesSet $w.keyText [instKeyDataGet]
if {[string length $setupVals(CDdescription)] > 45} {
set cdDesc [cdromDescGet]
} else {
set cdDesc [strTableGet 1000_WELCOME_CD]
}
controlValuesSet $w.cdInfo "CD number:\t$setupVals(CDnumber)\
\nCD description:\t$cdDesc"
# overwrite keyText
# test automation
if { $ctrlVals(useInputScript) } {
controlValuesSet $w.keyText $setupVals(instKey2)
}
# use the user key as default; otherwise use the first key as default
set index 0
if { [instKeyGet] != "" } {
set keyList [split [instKeyDataGet]]
set index [lsearch -exact $keyList [instKeyGet]]
if {$index == -1} {
set index 0
}
}
if {[string compare "none" [instKeyGet]] == 0} {
# if the key "none" works, set the value and hide the key edit text box
instKeySet "none"
controlHide $w.keyText 1
controlHide $w.message4 1
# shows message informing user that no key is required for installation
controlCreate $w [list label -name noKeyText \
-title [strTableGet 1085_WARN_4] \
-x 99 -y 102 -w 206 \
-h [expr 24 * ($numKeys + 1)]]
} else {
controlSelectionSet $w.keyText $index
}
if {"[userNameGet]" == ""} {
controlFocusSet $w.nameText
} elseif {"[companyNameGet]" == ""} {
controlFocusSet $w.companyText
} else {
controlFocusSet $w.keyText
}
# test automation
if { $ctrlVals(useInputScript) } {
autoSetupLog "Registration page:"
autoSetupLog "\tUser name: [userNameGet]"
autoSetupLog "\tCompany Name: [companyNameGet]"
autoSetupLog "\tInstall Key: $setupVals(instKey2)"
if {[isUnix]} { pageRemove projectInfo }
nextCallback
}
}
#############################################################################
#
# onFindZipFileDlgCancel - close the findZipFileDlg dialog box
#
# This procedure will close the findZipFileDlg dialog box when the cancel
# button is pushed
#
# SYNOPSIS
# .tS
# onFindZipFileDlgCancel
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#
proc onFindZipFileDlgCancel {} {
if [catch {windowClose findZipFileDlgHnd} error] {
puts "Error: $error"
}
}
#############################################################################
#
# onFindZipFileDlgOK - close the findZipFileDlg dialog box
#
# This procedure will save the zip directory and close the findZipFileDlg
# dialog box when the cancel button is pushed
#
# SYNOPSIS
# .tS
# onFindZipFileDlgOK
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#
proc onFindZipFileDlgOK {} {
cdromZipDirSet \
[string trim [controlValuesGet findZipFileDlgHnd.zipDirText] " "]
windowClose findZipFileDlgHnd
}
#############################################################################
#
# findZipFileDlgInit - place default zip directory in zipDirText edit box
#
# This procedure will place default zip directory in zipDirText edit box
#
# SYNOPSIS
# .tS
# findZipFileDlgInit
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#
proc findZipFileDlgInit {} {
controlValuesSet findZipFileDlgHnd.zipDirText [cdromZipDirGet]
controlFocusSet findZipFileDlgHnd.zipDirText
}
#############################################################################
#
# findZipFileDlg - create dialog box for findind WIND zip files
#
# This procedure will create dialog box for findind WIND zip files
#
# SYNOPSIS
# .tS
# findZipFileDlg
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#
proc findZipFileDlg {} {
global ctrlVals
global setupVals
set controls [list \
[list label -title [strTableGet 4030_NO_ZIP_FILE] \
-name zipDirLabel \
-xpos 7 -ypos 10 -width 186 -height 80] \
[list label -name windLabel \
-title "archive directory" \
-xpos 12 -ypos 134 -w 100 -h 8] \
[list frame -name zipDirFrame \
-xpos 7 -ypos 144 -width 198 -height 24] \
[list text -name zipDirText -border \
-xpos 11 -ypos 149 -width 133 -height 14 ] \
[list button -title "&Browse" -name browse \
-xpos 150 -ypos 149 -width 50 -height 14 \
-callback {onFindZipFileBrowse zipDirText} ] \
[list button -title "&Cancel" -name cancelButt \
-xpos 150 -ypos 173 -width 50 -height 14 \
-callback onFindZipFileDlgCancel ] \
[list button -title "&OK" -name okButt -default \
-xpos 94 -ypos 173 -width 50 -height 14 \
-callback onFindZipFileDlgOK] \
]
dialogCreate \
-name findZipFileDlgHnd \
-title "Locating archive files" \
-width 212 -height 195 \
-parent $ctrlVals(mainWindow) \
-init findZipFileDlgInit \
-controls $controls \
-helpfile $setupVals(setupHelp)
}
#############################################################################
#
# pageProcess(registration) - process inputs from registration page
#
# This procedure will process inputs from registration page
#
# SYNOPSIS
# .tS
# pageProcess(registration)
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#
proc pageProcess(registration) {} {
global setupVals
global ctrlVals
global infVals
beginWaitCursor
if {[string compare "none" [instKeyGet]] != 0} {
instKeySet [controlValuesGet $ctrlVals(mainWindow).keyText -edit]
}
set retVal 0
if {![catch {setupKeyValidate [instKeyGet]} error]} {
companyNameSet [controlValuesGet $ctrlVals(mainWindow).companyText]
userNameSet [controlValuesGet $ctrlVals(mainWindow).nameText]
if {![regexp {^[ ]*$} [companyNameGet] junk] && \
![regexp {^[ ]*$} [userNameGet] junk]} {
# change dir to avoid pwd being a UNC directory which
# fails under Win95
catch {cd c:/}
if ![catch {setupInit [cdromZipDirGet]} error] {
# user has a new location for ZIP files, and
# installation key may not match the CD id in DISK_ID
# so we don't write the key to registry
if ![info exists setupVals(noZipDir)] {
# do not write to the registry if hidden box is checked
if ![info exists setupVals(instKeyNotSaved)] {
# Set keyData to be written to the registry.
setKeyDataRegistryValue
} else {
# remove the key if found in registry
modKeyDataRegistryValue
}
}
set retVal 1
} else {
# test automation
if { $ctrlVals(useInputScript) } {
autoSetupLog "\tError in CD: $error\n"
autoSetupLog "Application Exit\n"
set setupVals(cancel) 1
applicationExit
set retVal 0
return $retVal
}
switch -exact -- $error {
BAD_CD_KEY {
messageBox [strTableGet 1080_WARN_2]
set retVal 0
}
BAD_CD_REVISION {
messageBox [strTableGet 1080_WARN_4]
# do not write to the registry if hidden box is checked
if ![info exists setupVals(instKeyNotSaved)] {
setKeyDataRegistryValue
} else {
# remove the key if found in registry
modKeyDataRegistryValue
}
set retVal 1
}
BAD_CD_VENDOR_ID {
messageBox [strTableGet 1080_WARN_3]
set retVal 0
}
NO_ZIP_FILE {
set setupVals(noZipDir) 1
findZipFileDlg
# avoid calling objectConstruct by returning 0 here
# user will return to the registration page
return 0
}
default {
exitWithMessage [strTableGet 1090_WARN_3 $error]
}
}
}
} else {
messageBox [strTableGet 1071_WARN_1]
return $retVal
}
} else {
# test automation
if { $ctrlVals(useInputScript) } {
autoSetupLog "[strTableGet 1070_WARN_1]"
autoSetupLog "Application Exit\n"
set setupVals(cancel) 1
applicationExit
set retVal 0
return $retVal
} else {
messageBox [strTableGet 1070_WARN_1]
return $retVal
}
}
objectConstruct
set infVals(addRegistration) 1
searchAndProcessSection AddRegistry [cdFileNameGet [file join RESOURCE \
INF TORNADO.INF]]
queueExecute
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -