⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projinfo.tcl

📁 vxworks下MV5500的BSP支持包。是支持tornad221下的版本。
💻 TCL
字号:
# PROJINFO.TCL - Setup procedures for implementing project-information #                wizard page## Copyright 1999 Wind River Systems, Inc## modification history# --------------------# 03c,17may02,wmd  Fix text formatting, grammatical problems.# 03b,05mar02,bwd  Modified SETUP to be non-tornado centric# 03a,12jun01,j_w  Modified for Tornado 2.2# 02l,15dec00,wmd  Fix puntuation and typos.# 02k,31jul00,bwd  Modified codes in projInfoGet to be more concise# 02j,31jan00,bwd  Fixed error handling for test automation. Deleted redundant#                  codes. Replaced setupVals(cmdMode) with isGUImode# 02i,13jan00,bwd  Fixed typo: "nextCallback" to "backCallback" in TEXT MODE# 02h,06jan00,bwd  No test automation for command line SETUP# 02g,17dec99,clc  change  switch statement patterns# 02f,16dec99,clc  edit default text mode values# 02e,09nov99,clc  modify text mode# 02d,07nov99,clc  edit text mode return to previous page# 02c,07nov99,clc  edit text mode exit# 02b,01nov99,bwd  Added sections for automatic setup# 02b,21oct99,clc  add text mode# 02a,30Sep99,j_w  Modified for T3# 01d,22jul99,j_w  added text messages# 01c,24mar99,bjl  turn off inf write to registry after queueExecute.# 01b,08feb99,wmd  Need to validate that the number of licenses field is#                  numeric.# 01a,26jan99,tcy  extracted from INSTW32.TCL.################################################################################ pageCreate(projectInfo) - prompts users for project information## This procedure will prompt user for project information such as project name# and number of Tornado seats## SYNOPSIS# .tS# pageCreate(projectInfo)# .tE## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#proc pageCreate(projectInfo) {} {    global ctrlVals    global setupVals    global projLic    global projName    global projLicUsers    global projInfoTempVar    if { [isGUImode] } {        set ctrlVals(volatileFrm) [list \                [list label -name message1 \                            -title [strTableGet PROJECTINFO_MSG_1] \                            -x 99 -y 10 -w 206 -h 35] \                [list label -name message2 \                            -title [strTableGet PROJECTINFO_MSG_2] \                            -x 99 -y 56 -w 75 -h 10] \                [list label -name message3 \                            -title [strTableGet PROJECTINFO_MSG_3] \                            -x 99 -y 80 -w 75 -h 10] \                [list label -name message4 \                            -title [strTableGet PROJECTINFO_MSG_4] \                            -x 99 -y 104 -w 99 -h 8] \                [list text -name WRSLicText -border -x 187 -y 56 -w 120 \                            -h 13 -readonly ] \                [list text -name projNameText -border -x 187 -y 79 -w 120 \                           -h 13 -callback \                           {onTextChange projNameText projName}] \                [list text -name numUsersText -border -x 187 -y 102 -w 120 \                           -h 13 -callback \                           {onTextChange numUsersText numUsers}] \        ]        set w [dlgFrmCreate [strTableGet PROJECTINFO_TITLE]]        # initialize values in controls if they exist in the registry         controlValuesSet $w.WRSLicText [projInfoGet WRSLic]        #if automatic setup, use values from SETUP_ANS_FILE file        #if not, use values from projInfoGet        if {$ctrlVals(useInputScript)} {            controlValuesSet $w.projNameText $setupVals(projName)            controlValuesSet $w.numUsersText $setupVals(projLicUsers)        } else {            controlValuesSet $w.projNameText [projInfoGet projName]            controlValuesSet $w.numUsersText [projInfoGet numUsers]        }        controlFocusSet $w.nextButt        if {$projLic != "" && $projName != "" && $projLicUsers != "" } {            controlValuesSet $w.WRSLicText $projLic            controlValuesSet $w.projNameText $projName            controlValuesSet $w.numUsersText $projLicUsers        }        # test automation        if {$ctrlVals(useInputScript)} {            autoSetupLog "Project Information page:"            autoSetupLog "\tWRS License  : [projInfoGet WRSLic]"            autoSetupLog "\tProject Name : $setupVals(projName)"            autoSetupLog "\t[getProdInfo name] seats: $setupVals(projLicUsers)"            nextCallback        }    } else { # TEXT mode        printPageTitle [strTableGet PROJECTINFO_TITLE]        puts "[strTableGet PROJECTINFO_MSG_1_TEXT]\n"        puts "[strTableGet PROJECTINFO_MSG_2]: [projInfoGet WRSLic]\n"        # this temporary variable is used to return to the regist. page        set projInfoTempVar 0        if { ![info exists setupVals(projName)] ||              ![info exists setupVals(numUsers)] } {            set setupVals(projName) [projInfoGet projName]            set setupVals(numUsers) [projInfoGet numUsers]        }        set question "projName"        while {[string compare $question "done"] != 0} {            switch $question {                "projName" {                     # get project name                    set msg "Enter the [strTableGet PROJECTINFO_MSG_3]: \                             \[$setupVals(projName)\]"                    set ret [prompt "$msg"]                    switch -regexp -- $ret {                        "^-$" {                             set projInfoTempVar 1                            backCallback                            return 0                        }                        "^$" {                             if { $setupVals(projName) != "" } {                                 set question "seats"                            }                        }                         "[eE][xX][iI][tT]"  { return 0 }                        default {                             set setupVals(projName) $ret                            set question "seats" }                        }                    }                "seats"   {                     # get registration key                    set msg "Enter the [strTableGet PROJECTINFO_MSG_4]: \                                \[$setupVals(numUsers)\]"                    set ret [prompt "$msg"]                    switch -regexp -- $ret {                        "^-$" { set question "projName" }                        "^$" {                             if { $setupVals(numUsers) != "" } {                                set question done                            }                         }                        "[eE][xX][iI][tT]"  { return 0 }                        default {                             if {[regexp {[^0-9]+} $ret var]} {                                puts [strTableGet PROJECTINFO_MSG_6]                            } else {                            set setupVals(numUsers) $ret                            set question "done"                             }                        }                    }                    }            }        }        nextCallback        return 0   }        }############################################################################### pageProcess(projectInfo) - process inputs from projectInfo page## This procedure will process inputs from projectInfo page## SYNOPSIS# .tS# pageProcess(projectInfo)# .tE## PARAMETERS: N/A## RETURNS: 0 if procedure onProjLicRecordOK returns 0#          1 if procedure onProjLicRecordOK returns 1## ERRORS: N/A#proc pageProcess(projectInfo) {} {    global infVals    global setupVals    global projInfoTempVar 1        set retVal 1    if { ![isGUImode] } { # TEXT MODE        if { $projInfoTempVar == 1 } {             # go back to registration page             return [calcPage registration]        }    }    set infVals(addProjectInfo) 1    set retVal [onProjLicRecordOK]    set prod [string toupper [getProdInfo name]]    searchAndProcessSection AddRegistry [cdFileNameGet [file join RESOURCE \                                         INF $prod.INF]]    queueExecute    set infVals(addProjectInfo) 0    return $retVal}############################################################################### projInfoGet - initialize licenseAgreement page## This procedure will initialize licenseAgreement page## SYNOPSIS# .tS# projInfoGet <info># .tE## PARAMETERS:# .IP <info> information needed for project. It can be one of the following:#  WRSLic   - WRS license number assigned to vendor#  projName - project name#  numUsers - numbers of registered users## RETURNS: registry value of requested info## ERRORS: N/A#proc projInfoGet {info} {    global setupVals    if {$info == "WRSLic"} {        if {![catch {setupLicenseNumGet} lic]} {            return $lic        }    }    set root ""    set sp "SOFTWARE\\$setupVals(WRS)"    if {![catch {sysRegistryValueRead HKEY_LOCAL_MACHINE $sp "WRSLicense"} value]} {        set root "HKEY_LOCAL_MACHINE"    } elseif {![catch {sysRegistryValueRead HKEY_CURRENT_USER $sp "WRSLicense"} value]} {        set root "HKEY_CURRENT_USER"    } else {        dbgputs "ERROR registry reading: $value"        return ""    }    if {$root != ""} {        switch -exact -- $info {            WRSLic {                if {![catch {sysRegistryValueRead \                           $root $sp "WRSLicense"} value]} {                    return $value                } else { return ""}            }            projName {                if {![catch {sysRegistryValueRead \                           $root $sp "projectName"} value]} {                    return $value                } else { return ""}            }            numUsers {                if {![catch {sysRegistryValueRead \                           $root $sp "nLicensedUsers"} value]} {                    return $value                } else { return ""}            }        }    }}############################################################################### onProjLicRecordOK - process inputs from projectInfo page## This procedure is a helper which processes inputs ffrom projectInfo page## SYNOPSIS# .tS# onProjLicRecordOK# .tE## PARAMETERS: N/A## RETURNS: 0 if project information is not completely filled#          1 if project information is completely filled## ERRORS: N/A#proc onProjLicRecordOK {} {    global setupVals    global projLic    global projName    global projLicUsers    global ctrlVals    # query the user with the info he has entered    if [catch {setupLicenseNumGet} error] {        puts "Error: $error"    } else {        set projLic $error    }    set projName $setupVals(projName)    set projLicUsers [string trim $setupVals(numUsers)]    if { [isGUImode] } {        if {$projLic == "" || $projName == "" || $projLicUsers == "" } {            if { $ctrlVals(useInputScript) } {                autoSetupLog "[strTableGet PROJECTINFO_MSG_5]"                autoSetupLog "Application Exit\n"                set setupVals(cancel) 1                                applicationExit            } else {                messageBox -ok -exclamationicon \                    [strTableGet PROJECTINFO_MSG_5]            }            return 0        }        if { [regexp {[^0-9]+} $projLicUsers var]} {            if { $ctrlVals(useInputScript) } {                autoSetupLog "Error: invalid input for \"Number of [getProdInfo name] Seats\""                autoSetupLog "Application Exit\n"                set setupVals(cancel) 1                                applicationExit            } else {                messageBox -ok -exclamationicon \                    [strTableGet PROJECTINFO_MSG_6]            }            return 0        }    }    # record the license record in the registry under "WIND RIVER SYSTEMS",    # done in <$productName>.INF    return 1}####################################################################### Dialog Text Messages######################################################################set strTable(PROJECTINFO_TITLE) "Project Information"set strTable(PROJECTINFO_MSG_1) \    "Please enter your project name and the number of licensed\    users on the project in the spaces below.  The information\    can be found on the [getProdInfo name] Installation Keys form\    shipped with this product."set strTable(PROJECTINFO_MSG_1_TEXT) \    "Please enter your project name and the number of licensed\    users on the project.  The information can be found on the\    [getProdInfo name] Installation Keys form shipped with this product."set strTable(PROJECTINFO_MSG_2) "WRS License Number"set strTable(PROJECTINFO_MSG_3) "Project Name"set strTable(PROJECTINFO_MSG_4) "Number of [getProdInfo name] Seats"set strTable(PROJECTINFO_MSG_5) \        "You have not completely entered your\        project information."set strTable(PROJECTINFO_MSG_6) \        "The value you entered for the \"Number of [getProdInfo name] Seats\"\        field is non-numeric, please re-enter it."

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -