📄 lminst.tcl
字号:
# LMINST.TCL - Setup procedures for implementing LM installation-choice
# wizard page
#
# Copyright 1999-2003 Wind River Systems, Inc
#
# modification history
# --------------------
# 02d,29apr03,bjl do not reset values for manual if successful db query
# for elm user (spr 88068).
# 02c,14feb03,bjl added controls for manual page sequence, differentiate
# between license server and manual/nodelocked sequences.
# 02b,25apr02,j_w fixed a typo
# 02a,12jun01,j_w Modified for Tornado 2.2
# 02c,08jan01,bwd SPR 63370: added additional header for alternative host id.
# 02b,01nov00,j_w Fixed page list for autoInst in proc onNoOutsideAccess
# 02a,12sep00,j_w fixed URL for web form
# 01z,26may00,bwd Enable Back button if the previous page is currLicInfo
# 01y,23may00,bwd Fixed message
# 01x,19may00,bwd SPR 31032 - do not skip lmInstOption page on reload to fix
# errors
# 01w,18may00,bwd SPR 31030 - design change: lmInstOptions page before
# DBQUERY and added a check to add nodelock page list
# 01v,15may00,bwd SPR 31030 - enable Back button to go back to DBQUERY page
# for Node Locked licensing
# 01u,12may00,bwd SPR 31204 - added URL for contact information and fax
# number for LICPHONE page
# 01t,25apr00,j_w Replaced the value of strTable(1220_MAIL_TO) to
# license@windriver.com
# 01s,20mar00,bwd Fixed TEXT mode to prevent going back to previous page
# 01r,20mar00,bwd Fixed TEXT mode to default a choice to Automatic License
# Installation
# 01q,17mar00,j_w Renamed WRS to Wind River
# 01p,09feb00,j_w Called onPhone if no outside network access is selected
# 01o,24jan00,bwd Fixed codes for "RELOAD" option to skip this page properly
# 01n,21jan00,bwd Removed code that resets lmVals(reload) to 0 for TEXT MODE
# 01m,20jan00,j_w Remove the line that reset lmVals(reload) to 0
# 01l,14jan00,bwd Added codes to display this page for TEXT MODE
# 01k,11jan00,j_w Fixed radio button selection
# 01j,10dec99,j_w Unset lmVals(reload) to 0
# 01i,30nov99,j_w Added a check box for no outside access
# 01h,23nov99,j_w Fixed typo
# 01g,17nov99,j_w Skip the page if lmVals(reload) is set to 1
# 01f,15nov99,j_w Fixed indent spacing
# 01e,15nov99,wmd Add line to unhide the setup bitmap incase it is hidden on
# subsequent pages.
# 01d,12nov99,bwd Added sections for automatic setup installation
# 01c,05nov99,wmd Add code to make sure back and next buttons are enabled.
# 01b,04oct99,j_w Fix radio buttons
# 01a,15Sep99,j_w written
#
#############################################################################
#
# pageCreate(lmInstOptions) - displays choices of LM installation
#
# This procedure will display choices of LM installation such as:
# Auto Install - license file auto installation
# Email - email wrs for license file
# phone or fax - contact wrs for license file by phone or fax
#
# SYNOPSIS
# .tS
# pageCreate(lmInstOptions)
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#
proc pageCreate(lmInstOptions) {} {
global ctrlVals env setupVals lmVals
if { [isGUImode] } {
# unhide the setup bitmap
controlHide $ctrlVals(mainWindow).bitmap 0
if {[instTypeGet] == "license"} {
set ctrlVals(volatileFrm) [list \
[list label -name message1 \
-title [strTableGet LM_INSTALLOPTIONS_MSG_1] \
-x 99 -y 10 -w 190 -h 20] \
[list choice -name autoInstChoice -newgroup -auto \
-title [strTableGet LM_INSTALLOPTIONS_AUTO_INSTALL] \
-x 99 -y 35 -w 190 -h 15 \
-callback onAutoInst] \
[list label -name autoInstLabel \
-title \
[strTableGet LM_INSTALLOPTIONS_AUTO_INSTALL_DESC] \
-x 111 -y 50 -w 198 -h 15] \
[list choice -name emailChoice -auto \
-title [strTableGet LM_INSTALLOPTIONS_EMAIL] \
-x 99 -y 65 -w 100 -h 15 \
-callback onEmail] \
[list label -name emailLabel \
-title \
[strTableGet LM_INSTALLOPTIONS_EMAIL_DESC] \
-x 111 -y 80 -w 198 -h 15 ] \
[list choice -name phoneChoice -auto \
-title [strTableGet LM_INSTALLOPTIONS_PHONE] \
-x 99 -y 95 -w 190 -h 15 \
-callback onPhone] \
[list label -name phoneLabel \
-title \
[strTableGet LM_INSTALLOPTIONS_PHONE_DESC] \
-x 111 -y 110 -w 198 -h 15] \
[list boolean -name noOutsideAccessCkbox -newgroup -auto \
-title [strTableGet LM_CKBOX_1] \
-x 99 -y 140 -w 170 -h 15 \
-callback onNoOutsideAccess]]
} else {
# controls for manual node-locked page
set ctrlVals(volatileFrm) [list \
[list choice -name emailChoice -auto \
-title [strTableGet LM_INSTALLOPTIONS_EMAIL] \
-x 99 -y 29 -w 100 -h 15 \
-callback onEmail] \
[list label -name emailLabel \
-title \
[strTableGet LM_INSTALLOPTIONS_EMAIL_DESC] \
-x 111 -y 44 -w 198 -h 15 ] \
[list choice -name phoneChoice -auto \
-title [strTableGet LM_INSTALLOPTIONS_PHONE] \
-x 99 -y 67 -w 190 -h 15 \
-callback onPhone] \
[list label -name phoneLabel \
-title \
[strTableGet LM_INSTALLOPTIONS_PHONE_DESC] \
-x 111 -y 82 -w 198 -h 15] ]
}
set w [dlgFrmCreate [strTableGet LM_INSTALLOPTIONS_TITLE]]
# rename the next button to "Send" (in case of UNIX)
controlValuesSet $w.nextButt "&Next >"
# set default setting
controlEnable $w.nextButt 1
controlEnable $w.cancelButt 1
if { $setupVals(lmInstType) == "nodeLocked" } {
controlEnable $w.backButt 1
} else {
set currPageIndex [lsearch $ctrlVals(pageList) $ctrlVals(currPage)]
set prevPageIndex [expr $currPageIndex - 1]
set prevPage [lindex $ctrlVals(pageList) $prevPageIndex]
if { $prevPage == "currLicInfo" } {
controlEnable $w.backButt 1
} else {
controlEnable $w.backButt 0
}
}
if { $setupVals(lmInstOptions) == "" } {
if {[instTypeGet] == "license" } {
controlCheckSet $w.autoInstChoice 1
} else {
# manual, node-locked
controlCheckSet $w.emailChoice 1
}
} else {
switch $setupVals(lmInstOptions) {
onAutoInst { controlCheckSet $w.autoInstChoice 1 }
onEmail { controlCheckSet $w.emailChoice 1 }
onPhone { controlCheckSet $w.phoneChoice 1 }
default { controlCheckSet $w.autoInstChoice 1 }
}
}
# test automation
if { $ctrlVals(useInputScript) } {
autoSetupLog "LM Installation Option Page: skipped"
autoSetupLog "\tInstallation Option: $setupVals(lmInstOptions)"
nextCallback
}
} else { # TEXT mode
printPageTitle [strTableGet LM_INSTALLOPTIONS_TITLE]
puts "[strTableGet LM_INSTALLOPTIONS_MSG_1_TEXT]\n"
puts "1 - [strTableGet LM_INSTALLOPTIONS_AUTO_INSTALL]"
puts " [strTableGet LM_INSTALLOPTIONS_AUTO_INSTALL_DESC]"
puts "2 - [strTableGet LM_INSTALLOPTIONS_EMAIL]"
puts " [strTableGet LM_INSTALLOPTIONS_EMAIL_DESC]"
puts "3 - [strTableGet LM_INSTALLOPTIONS_PHONE]"
puts " [strTableGet LM_INSTALLOPTIONS_PHONE_DESC]"
puts "4 - Have no access to the outside network.\n\n"
while (1) {
puts "Please enter your selection. \[1\]\n"
set ret [prompt]
switch -regexp -- $ret {
"^$" -
"^1$" { onAutoInst ; nextCallback ; return 0 }
"^2$" { onEmail ; nextCallback ; return 0 }
"^3$" { onPhone ; nextCallback ; return 0 }
"^4$" {
set setupVals(noOutsideAccess) 1
onNoOutsideAccess
return [pageCreate(lmInstOptions)]
}
"^-$" {
if { $setupVals(lmInstType) == "nodeLocked" } {
backCallback
return 0
} else {
set currPageIndex [lsearch $ctrlVals(pageList) $ctrlVals(currPage)]
set prevPageIndex [expr $currPageIndex - 1]
set prevPage [lindex $ctrlVals(pageList) $prevPageIndex]
if { $prevPage == "currLicInfo" } {
backCallback
return 0
} else {
puts "Error: Cannot go back any further"
while { [prompt "Press <Enter> to continue."] != "" } {
}
return [pageCreate(lmInstOptions)]
}
}
}
"^[eE][xX][iI][tT]$" {
return 0
}
default {
puts "Error: Invalid input."
}
}
}
}
}
#############################################################################
#
# pageProcess(lmInstOptions) - process inputs from lmInstOptions page if any
#
# This procedure will process inputs from lmInstOptions page if any
#
# SYNOPSIS
# .tS
# pageProcess(lmInstOptions)
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: 1 when successful
#
# ERRORS: N/A
#
proc pageProcess(lmInstOptions) {} {
global setupVals ctrlVals lmVals
global valuesReset
# valuesReset is a global variable used in LICMANUAL
# to see if lmVals needs to be initialized
set choice $setupVals(lmInstOptions)
switch $choice {
onAutoInst {
if { $setupVals(lmInstType) == "nodeLocked" } {
pageListAdd nodeLock
} else {
pageListAdd autoInst
}
}
onEmail {
pageListAdd email
if {$lmVals(successfulDbQuery) && $setupVals(ELMUser) &&
[instTypeGet] == "license"} {
set valuesReset 0
} else {
set valuesReset 1
}
}
onPhone {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -