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

📄 liccfg.tcl

📁 windml3.0.3
💻 TCL
📖 第 1 页 / 共 5 页
字号:
# RETURNS: N/A
#
# ERRORS: N/A
#
#
proc doTextMode {isFloatLic} {

    global ctrlVals setupVals lmVals lmHostFeaturesNum
    global licConfigReturn
    global returnValue


    # find the maximum width of the product names

    set nameWidth 0
    foreach name $lmVals(lmLicensedProductNames) {
        if { [string length $name] > $nameWidth } {
            set nameWidth [string length $name]
        }
    }

    set host $lmVals(lmHostName)

    while (1) {

    # Set title
    if {$lmVals(reload)} {

        printPageTitle [strTableGet LICCFG_TITLE_RELOAD]
        puts "[strTableGet LICCFG_RELOAD_1]\n"

    } elseif {$isFloatLic} {

        # Floating License End User

        printPageTitle [strTableGet LICCFG_TITLE_FLOATING]
        puts "[strTableGet LICCFG_FLOAT_1]\n"

    } else {

        # Nodelocked End User

            printPageTitle [strTableGet LICCFG_TITLE_NODELOCKED]
        puts "[strTableGet LICCFG_NODELOCK_1]\n"
    }

    # print column labels for table of products

    # print column label

    if { $lmVals(reload) || $isFloatLic } {
        set HEADER_L1 "Additional"
        set HEADER_L2 "licenses"
        set HEADER_L3 "to allocate"
    } else {
        set HEADER_L1 "Check to"
        set HEADER_L2 "request a"
        set HEADER_L3 "license"
    }

    puts [format " %-4s  %-*s\t %-13s %-13s  %-11s  %-13s   %-13s" \
          "" $nameWidth "" "Total No." "Total No." \
          "Existing" "Licenses" "$HEADER_L1"]
    puts [format " %-4s  %-*s\t %-13s %-13s  %-11s  %-13s   %-13s" \
          "" $nameWidth "Licensed" "of licenses" "of licenses"\
          "licenses" "available for" "$HEADER_L2"]
    puts [format " %-4s  %-*s\t %-13s %-13s  %-11s  %-13s   %-13s" \
          "item" $nameWidth "Product" "purchased" "allocated"\
          "on host" "allocation" "$HEADER_L3"]
    for { set i 0 } { $i < [expr $nameWidth + 80] } { incr i } {
        puts -nonewline "-"
    }
    puts ""

    # display table contents 

    set hostIndex [lsearch $lmVals(lmHosts) $lmVals(lmHostName)]
    if {$hostIndex == -1} {
        set numberOfFeatures 0
    } else {
        set numberOfFeatures [lindex $lmHostFeaturesNum $hostIndex]
    }

    if {$isFloatLic} {
        for { set ix 0 } { $ix < [llength $lmVals(lmLicensedProductNames)] } { incr ix } {
            set feature [lindex $lmVals(lmLicensedProductNames) $ix]
            set featureId [lindex $lmVals(lmLicensedFeatureIds) $ix]              
            set fHostAllocated 0

            set fAllocated [lmFeaturesValueGet lmFLFeaturesAllocated $feature]
            set fAvailable [lmFeaturesValueGet lmFLFeaturesAvailable $feature]
            set fTotal [lmFeaturesValueGet lmFLFeaturesTotal $feature]

            for {set ixf 0} {$ixf < $numberOfFeatures} {incr ixf} {

                # only if the feature is previously allocated on this host
                # (name match), retrieve allocated value

                if { $feature == [lmLicProdInfoGet prodName $lmVals(lmHostName) $ixf] } {
                      set fHostAllocated \
                        [lmLicProdInfoGet licFLAllocated $lmVals(lmHostName) $ixf]
                }
            }

            if {$lmVals(reload)} {
                set lmVals(lmFeaturesRequested) \
                    [lreplace $lmVals(lmFeaturesRequested) $ix $ix \
                              0 $ix]

                puts [format " %-4s  %-*s\t   %-13s  %-13s  %-11s  %-13s   %-4s" \
                    [expr $ix + 1] \lmLicProdInfoGet
                    $nameWidth $feature $fTotal $fAllocated $fHostAllocated $fAvailable \
                    [lindex $lmVals(lmFeaturesRequested) $ix] ]

            } else {
                puts [format " %-4s  %-*s\t   %-13s  %-13s  %-11s  %-13s   %-4s" \
                    [expr $ix + 1] \
                    $nameWidth $feature $fTotal $fAllocated $fHostAllocated $fAvailable 1 ]
            }
        }
    } else { # Node-locked section
        for { set ix 0 } { $ix < [llength $lmVals(lmLicensedProductNames)] } { incr ix } {
            set feature [lindex $lmVals(lmLicensedProductNames) $ix]
            set featureId [lindex $lmVals(lmLicensedFeatureIds) $ix]              
            set fHostAllocated 0

            set fAllocated [lmFeaturesValueGet lmNLFeaturesAllocated $feature]
            set fAvailable [lmFeaturesValueGet lmNLFeaturesAvailable $feature]
            set fTotal [lmFeaturesValueGet lmNLFeaturesTotal $feature]

            for {set ixf 0} {$ixf < $numberOfFeatures} {incr ixf} {

                # only if the feature is previously allocated on this host
                # (name match), retrieve allocated value

                if { $feature == [lmLicProdInfoGet prodName $lmVals(lmHostName) $ixf] } {
                      set fHostAllocated \
                        [lmLicProdInfoGet licNLAllocated $lmVals(lmHostName) $ixf]
                }
            }

            if {$lmVals(reload)} {
                set lmVals(lmFeaturesRequested) \
                    [lreplace $lmVals(lmFeaturesRequested) $ix $ix \
                              0 $ix]

                puts [format " %-4s  %-*s\t   %-13s  %-13s  %-11s  %-13s   %-4s" \
                    [expr $ix + 1] \lmLicProdInfoGet
                    $nameWidth $feature $fTotal $fAllocated $fHostAllocated $fAvailable \
                    [lindex $lmVals(lmFeaturesRequested) $ix] ]

            } else {
                if { [lindex $lmVals(lmFeaturesRequested) $ix] == 0 } {
                    set request ""
                } else {
                    set request "x"
                }

                puts [format "%4s  %-*s  %-13s  %-13s  %-11s  %-13s   %4s" \
                    [expr $ix + 1] \
                    $nameWidth $feature $fTotal $fAllocated $fHostAllocated $fAvailable \
                    $request ]
            }
        }
    }
        
    # prompt for user input

    if {$lmVals(reload)} {

        # reload current license file

        puts "\n[strTableGet LICCFG_RELOAD_2_TEXT]\n"

        set totalProd [llength $lmVals(lmLicensedProductNames)]
        set ret [prompt]

        switch -regexp -- $ret {
            "^$" {
                set ret [licConfigCallBack]
                if { $ret == 1} {
                    set licConfigReturn 0
                    nextCallback
                    return 0
                } elseif { $ret == -1 } {
                    set licConfigReturn 1
                    nextCallback
                    return 0
                } elseif { $ret == 0 } {
                    return 0
                } else {
                    return [pageCreate(licConfig)]
                }
            }
            "^-$" {
                backCallback
                return 0  
            }
            "^[eE][xX][iI][tT]$" { 
                set returnValue 0
                return 0  
            }
            default {
                puts "Error: Invalid input. You are requesting to\
                      reload the existing license file."
                while {[prompt "Press <Enter> to continue."] != "" } {
                }
            }
        }
    } elseif {$isFloatLic} {

        #floating license configuration

        puts "\n\n[strTableGet LICCFG_FLOAT_2_TEXT]\n"

        set totalProd [llength $lmVals(lmFeaturesAvailable)]
        set ret [prompt]

        switch -regexp -- $ret {
            "^$" {
                if { [isLMFeaturesRequestedNull] } {
                    puts "Warning: Please enter the number of\
                          license\(s\) for all products"
                } else {
                    set ret [licConfigCallBack]
                    if { $ret == 1} {
                        set licConfigReturn 0
                        nextCallback
                        return 0
                    } elseif { $ret == -1 } {
                        set licConfigReturn 1
                        nextCallback
                        return 0
                    } elseif { $ret == 0 } {
                        return 0
                    } else {
                        return [pageCreate(licConfig)]
                    }
                }
            }
            "^-$" {  
                backCallback
                return 0  
            }
            "^[eE][xX][iI][tT]$" {  
                set returnValue 0
                return 0  
            }
            "[ ]+" {
                puts "Error: please enter select only one item"
                while {[prompt "Press <Enter> to continue."] != "" } {
                }
            }
            "([1-9])+" {
                if { $ret > $totalProd } {
                     puts [strTableGet 3145_COMP_SELECT_CHANGE_INVALID]
                    while {[prompt "Press <Enter> to continue."] != "" } {
                    }
                } else {
                    floatingLicRequestedUpdate [expr $ret - 1]
                }
            }
            default {
                puts "Error: Invalid input."
                while {[prompt "Press <Enter> to continue."] != "" } {
                }
            }
        }

    } else {

        # nodelock end user mode

        puts "\n[strTableGet LICCFG_NODELOCK_2_TEXT]"

        set totalProd [llength $lmVals(lmFeaturesAvailable)]
        set ret [prompt]

        switch -regexp -- $ret {
            "^$" {
                if { [isLMFeaturesRequestedNull] } {
                    puts "Error: At least one product must be selected."
                    while {[prompt "Press <Enter> to continue."] != "" } {
                    }
                } else {
                    set ret [licConfigCallBack]
                    if { $ret == 1} {
                        set licConfigReturn 0
                        nextCallback
                        return 0
                    } elseif { $ret == -1 } {
                        set licConfigReturn 1
                        nextCallback
                        return 0
                    } elseif { $ret == 0 } {
                        return 0
                    } else {
                        return [pageCreate(licConfig)]
                    }
                }
            }
            "^-$" {
                backCallback
                return 0
            }
            "[eE][xX][iI][tT]" {
                set returnValue 0
                return 0
            }
            "([1-9])+" {
                set okFlag 1
                foreach index $ret {
                    if { $index > $totalProd } {
                        set okFlag 0
                    }
                }

                if { $okFlag == 0 } {
                    puts [strTableGet 3145_COMP_SELECT_CHANGE_INVALID]
                    while {[prompt "Press <Enter> to continue."] != "" } {
                    }
                } else {
                   foreach index $ret {
                       nodelockLicRequestedUpdate [expr $index - 1]
                   }
                }
            }
            default {
                puts "Warning: The list you have entered is invalid."
                while {[prompt "Press <Enter> to continue."] != "" } {
                }
            }
        }
     }
  }
}

#############################################################################
#
# licConfigDlgCreate() - Create License Configuration dialog
#
# This procedure will create License Configuration dialog
#
# SYNOPSIS
# .tS
# licConfigDlgCreate() 
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc licConfigDlgCreate {} {
    global ctrlVals
    global setupVals
    global env

    if { [windHostTypeGet] == "x86-linux2"} {
        dialogCreate \
            -name licConfigDlg \
            -notitle \
            -parent $ctrlVals(parentDialog) \
            -helpfile $setupVals(setupHelp) \
            -width 250 -height 32 \
            -init {
                controlPropertySet licConfigDlg.message1 -bold 1; \
                windowTimerCallbackSet licConfigDlg \
                            -milliseconds 200 licConfigCallBack
            } \

⌨️ 快捷键说明

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