📄 insttk.tcl
字号:
if [info exists tornadoInstalled] {
torVarsCreate
}
wm withdraw .
uninstStop
endWaitCursor
return 1
}
proc pageCreate(licenseFinish) {} {
beginWaitCursor
set w [dlgFrmCreate [strTableGet 1500_TITLE_FINISH]]
uninstLog setupLog "[cdInfoGet number] SETUP"
uninstLog setupLog [strTableGet 1261_LICENSE]
$w.msg config -text [exitMsgGet]
.buts.next config -text "Finish"
.buts.cancel config -state disabled
.buts.back config -state disabled
endWaitCursor
}
proc pageProcess(licenseFinish) {w} {
global setupVals
beginWaitCursor
wm withdraw .
uninstStop
endWaitCursor
return 1
}
proc mailSend {} {
global setupVals
set tmpFile [tempDirGet]/licInfo.[pid]
set f [open $tmpFile "w"]
puts $f $setupVals(mailMsg)
close $f
set to [strTableGet 1220_MAIL_TO]
set subject [strTableGet 1230_MAIL_SUBJECT]
if [catch {exec mail -s $subject $to < $tmpFile} error] {
if [catch {exec mail $to < $tmpFile} e] {
messageBox [strTableGet 1240_MAIL_ERROR]
return 0
}
}
messageBox [strTableGet 1250_MAIL_OK]
return 1
}
proc pageCreate(licenseKey) {} {
global ctrlVals
global setupVals
beginWaitCursor
set w [dlgFrmCreate [strTableGet 1510_TITLE_LICENSE_KEY]]
$w.msg config -text [strTableGet 1260_LICENSE_KEY [info host]]
# Create license key field
labelCreate $w.licenseKeyLabel "License Key:"
place $w.licenseKeyLabel -in $w -y 60
entry $w.licenseKeyText -relief sunken -width 32 -font 7x13 \
-textvariable setupVals(licenseKey)
place $w.licenseKeyText -in $w -y 85
focus $w.licenseKeyText
set frm $w.frm
frame $frm -height 50
place $frm -in $w -y 115
listbox $frm.list -width 29 -height 3 \
-yscrollcommand "$frm.scroll set" -font $ctrlVals(textFont)
bind $frm.list <ButtonRelease-1> "updateKeyInfo $frm.list $w.licenseInfo"
scrollbar $frm.scroll -command "$frm.list yview"
pack $frm.list $frm.scroll -side left -fill y -expand yes
if {[llength $setupVals(licenseKeyList)] != 0} {
foreach key $setupVals(licenseKeyList) {
$frm.list insert end $key
}
}
# Create the "add key" button
set setupVals(licenseKey) ""
button $w.addKey -text "Add" \
-command "addKey $frm.list" \
-font $ctrlVals(textFont) \
-padx 14 -pady 2
place $w.addKey -in $w -x 250 -y 83
# Create the "remove key" button
button $w.remKey -text "Remove" \
-command "remKey $frm.list" \
-font $ctrlVals(textFont) \
-padx 3 -pady 2
place $w.remKey -in $w -x 250 -y 115
labelCreate $w.licenseInfo ""
place $w.licenseInfo -in $w -y 190
endWaitCursor
}
proc addKey {w} {
global setupVals
global ctrlVals
set retVal 1
if {([string trim $setupVals(licenseKey)] != "") && \
([lsearch [$w get 0 end] "$setupVals(licenseKey)"] == -1)} {
set prog [cdromBinDirGet]/WLMUTILS
if [catch {exec $prog -decodeKey $setupVals(licenseKey)} error] {
messageBox [strTableGet 1281_LICENSE_KEY_ERROR_2 \
$setupVals(licenseKey)]
set retVal 0
} {
$w insert end $setupVals(licenseKey)
set setupVals(licenseKeyList) [$w get 0 end]
updateKeyInfo $w $ctrlVals(volatileFrm).licenseInfo\
$setupVals(licenseKey)
}
} elseif {[string trim $setupVals(licenseKey)] == ""} {
messageBox "Please enter a license key first."
set retVal 0
}
set setupVals(licenseKey) ""
return $retVal
}
proc remKey {w} {
global setupVals
global ctrlVals
if {[$w curselection] >= 0} {
$w delete [$w curselection]
}
set setupVals(licenseKeyList) [$w get 0 end]
$ctrlVals(volatileFrm).licenseInfo config -text ""
}
proc updateKeyInfo {listW keyInfoW {key ""}} {
global setupVals
if {[llength $setupVals(licenseKeyList)] == 0} {
return 0
}
if {$key == ""} {
set key [$listW get [$listW curselection]]
}
set prog [cdromBinDirGet]/WLMUTILS
if [catch {exec $prog -decodeKey $key} retVal] {
messageBox "$retVal"
return 0
}
set pList [split $retVal "\n"]
set licenseInfo ""
append licenseInfo "Feature Id\t: [lindex $pList 0]\n"
append licenseInfo "Feature Name\t: [featureDescGet [lindex $pList 0]]\n"
append licenseInfo "Licenses\t\t: [lindex $pList 2]\n"
append licenseInfo "Start date\t: \
[clock format [lindex $pList 3] -format "%b %d %Y"]\n"
append licenseInfo "Expire date\t: \
[clock format [lindex $pList 4] -format "%b %d %Y"]\n\n"
$keyInfoW config -text $licenseInfo
}
proc pageProcess(licenseKey) {w} {
global ctrlVals
global setupVals
beginWaitCursor
if {[llength $setupVals(licenseKeyList)] == 0} {
messageBox [strTableGet 1270_LICENSE_KEY_ERROR]
endWaitCursor
return 0
}
set binDir [destDirGet]/host/[windHostTypeGet]/bin
set relBinDir host/[windHostTypeGet]/bin
foreach filepath [glob -nocomplain [cdromBinDirGet]/WLM/*] {
set filename [string tolower [file tail $filepath]]
fileDup $filepath $binDir/$filename
uninstLog file "wind_base\t$relBinDir/$filename"
}
if ![file isdirectory [licenseHomeDirGet]] {
file mkdir [licenseHomeDirGet]
}
foreach key $setupVals(licenseKeyList) {
set prog [cdromBinDirGet]/WLMUTILS
if [catch {exec $prog -putKeyfile \
[join $key ""] \
[info host] \
[licenseHomeDirGet]} result] {
uninstLog setup \
"\t[strTableGet 1280_LICENSE_KEY_ERROR_1 $result]"
messageBox [strTableGet 1280_LICENSE_KEY_ERROR_1 $result]
endWaitCursor
return 0
}
}
exitMsgSet [strTableGet 1355_LICENSE_SUCCESS]
endWaitCursor
return 1
}
proc pageCreate(licenseChoice) {} {
global ctrlVals
global setupVals
beginWaitCursor
set w [dlgFrmCreate [strTableGet 1520_TITLE_LICENSE_CHOICE]]
set setupVals(licenseNum) [setupLicenseNumGet]
set prog [cdromBinDirGet]/WLMUTILS
if ![catch {exec $prog -genHostCode [info host]} retVal] {
set setupVals(hostId) $retVal
} {
set setupVals(hostId) ""
uninstLog setupLog "\tFailed to detect HostId: $retVal"
}
set ctrlVals(pageList) $ctrlVals(pageListBack)
$w.msg config -text [strTableGet 1290_LICENSE_CHOICE]
set frm $w.frm
frame $frm -height 50
place $frm -in $w -y 60
listbox $frm.list -width 35 -height 3 \
-yscrollcommand "$frm.scroll set" -font $ctrlVals(textFont)
scrollbar $frm.scroll -command "$frm.list yview"
pack $frm.list $frm.scroll -side left -fill y -expand yes
foreach featureId [cdInfoGet featureIdList] {
$frm.list insert end [featureDescGet $featureId]
}
labelCreate $w.msg2 [strTableGet 1291_LICENSE_CHOICE]
place $w.msg2 -in $w -y 140
radiobutton $w.remote -text [strTableGet 1300_LICENSE_CHOICE_0] \
-variable setupVals(licAction) \
-font $ctrlVals(textFont) \
-highlightthickness 0 \
-relief flat -pady 0 \
-value "remote"
place $w.remote -in $w -y 165 -x 10
radiobutton $w.haveKey -text [strTableGet 1300_LICENSE_CHOICE_1] \
-variable setupVals(licAction) \
-font $ctrlVals(textFont) \
-highlightthickness 0 \
-relief flat -pady 0 \
-value "haveKey"
place $w.haveKey -in $w -y 185 -x 10
radiobutton $w.email -text [strTableGet 1310_LICENSE_CHOICE_2] \
-variable setupVals(licAction) \
-font $ctrlVals(textFont) \
-highlightthickness 0 \
-relief flat -pady 0 \
-value "email"
place $w.email -in $w -y 205 -x 10
radiobutton $w.call -text [strTableGet 1320_LICENSE_CHOICE_3] \
-variable setupVals(licAction) \
-font $ctrlVals(textFont) \
-highlightthickness 0 \
-relief flat -pady 0 \
-value "call"
place $w.call -in $w -y 225 -x 10
.buts.next config -text "Next"
endWaitCursor
}
proc pageProcess(licenseChoice) {w} {
global setupVals
beginWaitCursor
switch $setupVals(licAction) {
haveKey {
pageRemove licEmail
pageRemove licCall
pageRemove remoteLicenseHost
}
email {
pageRemove licCall
pageRemove remoteLicenseHost
}
call {
pageRemove licEmail
pageRemove remoteLicenseHost
}
remote {
pageRemove licEmail
pageRemove licCall
pageRemove licenseKey
}
}
endWaitCursor
return 1
}
proc pageCreate(licEmail) {} {
global setupVals ctrlVals
beginWaitCursor
set w [dlgFrmCreate [strTableGet 1530_TITLE_LICENSE_MAIL]]
$w.msg config -text [strTableGet 1330_LICENSE_MAIL]
set frm $w.frm
frame $frm -height 100 -width 150
place $frm -in $w -y 55
text $frm.licenseInfo -bd 2 -yscrollcommand "$frm.scroll set" \
-width 49 -height 16 -font $ctrlVals(smallFont)
scrollbar $frm.scroll -command "$frm.licenseInfo yview"
pack $frm.licenseInfo $frm.scroll -side left -fill y -expand yes
set mailMsg "[strTableGet 1340_LICENSE_MAIL_HEADER_LINE1]\
\n\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE2]\
\n\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE3 [userNameGet]]\
\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE4 [companyNameGet]]\
\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE5a [instKeyGet]]\
\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE6 \
$setupVals(licenseNum)]\
\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE7 \
[info host]]\
\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE8 \
$setupVals(hostId)]\
\n\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE9]\
\n\n"
foreach featureId [cdInfoGet featureIdList] {
append mailMsg "[featureDescGet $featureId] (id = $featureId)\n"
}
set setupVals(mailMsg) $mailMsg
$frm.licenseInfo insert end $setupVals(mailMsg)
$frm.licenseInfo config -state disabled
.buts.next config -text "Send"
endWaitCursor
}
proc pageProcess(licEmail) {w} {
global setupVals
global ctrlVals
beginWaitCursor
set setupVals(licAction) haveKey
set ctrlVals(pageList) $ctrlVals(pageListBack)
set ctrlVals(currPage) destDir
.buts.next config -text "Next"
set retVal [mailSend]
endWaitCursor
return $retVal
}
proc pageCreate(licCall) {} {
global setupVals ctrlVals
beginWaitCursor
set w [dlgFrmCreate [strTableGet 1540_TITLE_LICENSE_CALL]]
$w.msg config -text [strTableGet 1350_LICENSE_CALL]
set callMsg "[strTableGet 1340_LICENSE_MAIL_HEADER_LINE7 \
[info host]]\
\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE8 \
$setupVals(hostId)]\
\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE6 \
$setupVals(licenseNum)]\
\n\n[strTableGet 1340_LICENSE_MAIL_HEADER_LINE9]\n\n"
foreach featureId [cdInfoGet featureIdList] {
append callMsg "[featureDescGet $featureId] (id = $featureId)\n"
}
set frm $w.frm
frame $frm -height 60 -width 150
place $frm -in $w -y 80
text $frm.licenseInfo -bd 2 -yscrollcommand "$frm.scroll set" \
-width 49 -height 12 -font $ctrlVals(smallFont)
scrollbar $frm.scroll -command "$frm.licenseInfo yview"
pack $frm.licenseInfo $frm.scroll -side left -fill y -expand yes
$frm.licenseInfo insert end $callMsg
endWaitCursor
}
proc pageProcess(licCall) {w} {
global setupVals
global ctrlVals
beginWaitCursor
set setupVals(licAction) haveKey
set ctrlVals(pageList) $ctrlVals(pageListBack)
set ctrlVals(currPage) destDir
endWaitCursor
return 1
}
#
# Supported functions:
#
proc dlgFrmCreate {title} {
global ctrlVals
# Make sure that we don't unneccessary create the whole frame again.
if {[winfo exists .bitmap] != "1"} {
# Creating the dialog
wm maxsize . $ctrlVals(dlgWidth) $ctrlVals(dlgHeight)
wm minsize . $ctrlVals(dlgWidth) $ctrlVals(dlgHeight)
wm geometry . $ctrlVals(dlgPos)
wm iconname . Setup
. configure -bg $ctrlVals(mainBg)
# Display the bitmap
label .bitmap -image $ctrlVals(dlgImage)
place .bitmap -in . -x 20 -y 20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -