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

📄 filecopy.tcl

📁 vxworks下MV5500的BSP支持包。是支持tornad221下的版本。
💻 TCL
📖 第 1 页 / 共 4 页
字号:
# FILECOPY.TCL  - Setup procedures for implementing file-copying wizard page## Copyright 1999-2003 Wind River Systems, Inc## modification history# --------------------# 03h,27feb03,bjl  changed toolset to be extracted dynamically rather than#                  using a hardcoded list.  # 03g,03oct02,bjl  fixed skipping of slideshow bitmap (spr 82816).# 03f,31may02,wmd  Remove the fadebmp option from the slideshow, Spr #78088.# 03e,23may02,bjl  fixed postInstall to be executed per product rather than#                  for all parts (spr 77976).  # 03d,19nov01,bwd  Added checks to store a list of new archives# 03c,30oct01,bwd  SPR 70033: added option "DO NOT OVERWRITE ANY NEWER FILES"# 03b,17sep01,bwd  Fixed SPR 69435 and 69982# 03a,12jun01,j_w  Modified for Tornado 2.2# 02y,07nov00,wmd  Fix SPR # 35911, the retry command to remove a file doesn't#                  work.# 02x,25oct00,bwd  Initialize setupFiles variable. Do not skip installing#                  mainwin-related files if no mw source. Fixed setupFiles#                  selection process.# 02w,16oct00,bwd  SPR 35262: fixed mw linking to first check if files exist# 02v,25sep00,bwd  Skip linking mainwin-related files if running SETUP on#                  Windows# 02u,19sep00,bwd  Changed /usr/bin to /bin# 02t,18sep00,j_w  Added libUpdate back for FCS. Added product index back in#                  archListPut{}# 02s,18sep00,bwd  LINUX: skip coping mainwin-related files under SETUP#                  directory and creat links instead# 02r,05sep00,bwd  Skip coping mainwin-related files under SETUP directory #                  and creat links instead# 02q,26jun00,bwd  Added cases to skip copying non-native-host files under#                  SETUP directory# 02p,26jun00,bwd  Added CD description in setup.log# 02o,22jun00,bwd  SPR 31613: write to setup.log the list of licensed products#                  on this page to avoid any duplicate logging# 02n,22jun00,bwd  SPR 32060: hide HELP button for this page# 02m,09jun00,bwd  Added another host type check for x86-linux2# 02l,09may00,bwd  Catch error when closing a file in procedure execute# 02k,03feb00,bjl  always pageRemove libExtract for EAR-2.# 02j,01feb00,bwd  Fixed error handling for test automation# 02i,11jan00,bwd  Removed test automations from command line SETUP# 02h,23nov99,clc  add text mode# 02g,12nov99,bwd  Corrected typo# 02f,25oct99,bjl  removed product index from object list so that related#                  optional comp. objects are stored in one array.# 02e,21oct99,bjl  removed parisc-hpux support.# 02d,18oct99,bjl  added handling of library archives.# 02c,18oct99,j_w  removed debug message# 02b,14oct99,bjl  remove readonly attribute during setupCopy,#                  set default bitmap for Unix if no billboard list.# 02a,30Sep99,j_w  Modified for T3# 01n,11aug99,j_w  Added messages# 01m,26apr99,bjl  do not resize or reposition window for KDE.# 01l,23apr99,bjl  check for KDE and FVWM.# 01k,22apr99,wmd  Added fix for window resizing problem.# 01j,22mar99,bjl  do not move window during resizing.# 01i,19mar99,wmd  Output to a file any debug messages.# 01h,15mar99,wmd  Need to make array multipleVersion global, spr #25678..# 01g,15mar99,tcy  use setupWinVerGetEx() to obtain os version info# 01f,12mar99,wmd  Add line indicating host os type to setup.log.# 01e,04mar99,tcy  fixed problem with last checkin# 01d,03mar99,tcy  save CD number in installCDnumber file for About-Box usage# 01c,01feb99,tcy  invoke setExecutePermissions in filesCopy()# 01b,28jan99,tcy  moved procs here from INSTALL.TCL# 01a,26jan99,tcy  extracted from INSTW32.TCL.################################################################################ pageCreate(filesCopy) - display file installation progress with meter and#                         install files onto user's destination directory and#                         back up files if necessary## This procedure will display file installation progress with meter, install# files onto user's destination directory and back up files if necessary## SYNOPSIS# .tS# pageCreate(filesCopy)# .tE## PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#proc pageCreate(filesCopy) {} {    global ctrlVals    global setupVals    global tornadoInstalled    if { [isGUImode] } {        if {[limitColors]} {            # create the meter here, so it can be displayed in the            # dialog window.  Do not display the billboard.             set ctrlVals(numBbrd) 0            meterCreate [strTableGet FILESCOPY_LABEL]        } elseif {[removeBackground]} {            resizeBbrdDialog        }        set w [dlgFrmCreate [strTableGet FILESCOPY_TITLE]]        controlEnable $w.backButt 0        controlEnable $w.nextButt 0        set setupVals(cancel) 0        if {![removeBackground]} {            # create the billboards and meter to be placed in the background.            set ctrlVals(bbrdList) [bbrdListGet .BMP]            if {"$ctrlVals(bbrdList)" == ""} {                set ctrlVals(bbrdList) \                    [dosToUnix [cdFileNameGet \                               [file join RESOURCE BITMAPS SETUP.BMP]]]            }            set ctrlVals(numBbrd) [llength $ctrlVals(bbrdList)]            set ctrlVals(displayInt) [expr 100 / $ctrlVals(numBbrd)]            set ctrlVals(bbrdElapse) $ctrlVals(displayInt)            meterCreate [strTableGet FILESCOPY_LABEL]        }         controlPropertySet $ctrlVals(meterWindow).$ctrlVals(meterWg) \                            -background Blue -foreground Black    } else { # TEXT MODE                printPageTitle [strTableGet FILESCOPY_TITLE]        puts [strTableGet FILESCOPY_LABEL]                set setupVals(cancel) 0    }    setupCopy    if {!$setupVals(cancel)} {        # call filesCopy        # for TEXT mode, if return value = 0, exit SETUP        if { [filesCopy] == 0 } {            if { ![isGUImode] } { return 0 }        }        backupFileQueueFlush        lappend setupVals(commandQueue) [list backupFileQueueFlush]    }        if { [isGUImode] } {        controlEnable $w.backButt 1        controlEnable $w.nextButt 1        # test automation        if { $ctrlVals(useInputScript) } {            autoSetupLog "Files copy page:"            autoSetupLog "\tFiles copied onto $setupVals(destDir)"        }        nextCallback    } else { # TEXT mode        nextCallback        return 0    }}############################################################################### pageProcess(filesCopy) - process inputs from filesCopy page## This procedure will process inputs from filesCopy page## SYNOPSIS# .tS# pageProcess(filesCopy)# .tE## PARAMETERS: N/A## RETURNS: 0 if successful#          1 if cancel button is pushed## ERRORS: N/A#proc pageProcess(filesCopy) {} {    global setup_objects    global ctrlVals    global setupVals    # This global variable is set in the tornado/postInstall.tcl    global tornadoInstalled    set retVal 0    if {"$setupVals(cancel)" != "1"} {        if {[array names setup_objects] == ""} {            dbgputs "Remove libUpdate"            pageRemove "libUpdate"        }        if { [isGUImode] } {            meterDestroy $ctrlVals(meterWindow)        }        set retVal 1    } else {        if { [isGUImode] } {            applicationExit        }    }    return $retVal}############################################################################### resizeBbrdDialog - resize the billboard dialog box## This procedure will resize the billboard dialog box according to window size## SYNOPSIS# resizeBbrdDialog## .tE# PARAMETERS: N/A## RETURNS: N/A## ERRORS: N/A#proc resizeBbrdDialog {} {    global ctrlVals    global env    set ctrlVals(restoredDialog) 0    # calculate the billboard dimensions.    set bbrdW $ctrlVals(bbrdW)    set bbrdH $ctrlVals(bbrdH)    set dimension [pixelsToDialogUnits $ctrlVals(mainWindow) \                    [list $bbrdW $bbrdH]]    set bbrdW [lindex $dimension 0]    set bbrdH [lindex $dimension 1]    # move and resize the dialog window so the billboards can fit.    # save the original values of the dialog window first.    set ctrlVals(dlg_orig_xpos) [lindex [windowPositionGet \                                             $ctrlVals(mainWindow)] 0]    set ctrlVals(dlg_orig_ypos) [lindex [windowPositionGet \                                         $ctrlVals(mainWindow)] 1]    set ctrlVals(dlg_orig_size) [windowSizeGet $ctrlVals(mainWindow)]    set ctrlVals(dlg_orig_frm2_size) [controlSizeGet \                                         $ctrlVals(mainWindow).frm2]    set ctrlVals(dlg_orig_frm2_pos) [controlPositionGet \                                         $ctrlVals(mainWindow).frm2]    set ctrlVals(dlg_orig_back_pos) [controlPositionGet \                                         $ctrlVals(mainWindow).backButt]    set ctrlVals(dlg_orig_next_pos) [controlPositionGet \                                         $ctrlVals(mainWindow).nextButt]    set ctrlVals(dlg_orig_next_size) [controlSizeGet \                                         $ctrlVals(mainWindow).nextButt]    set ctrlVals(dlg_orig_cancel_pos) [controlPositionGet \                                         $ctrlVals(mainWindow).cancelButt]    set dlg_orig_w [lindex $ctrlVals(dlg_orig_size) 0]    set right_border [expr $dlg_orig_w - 10]    set dlg_orig_h [lindex $ctrlVals(dlg_orig_size) 1]    set dlg_orig_cancel_w \        [lindex [controlSizeGet $ctrlVals(mainWindow).cancelButt] 0]    set dlg_orig_next_w \        [lindex [controlSizeGet $ctrlVals(mainWindow).nextButt] 0]    set dlg_orig_back_w \        [lindex [controlSizeGet $ctrlVals(mainWindow).backButt] 0]    # The dialog window will be reduced in width to just fit the billboard    # width, and increased in height to account for the billboard.    # subtract billboard width but add 20 for the edges    set width_reduction [expr $dlg_orig_w - $bbrdW + 20]    # now calculate the height increase    # based on the the billboard ypos    if {[info exists env(SETUP_USEKDE)]} {        set billboard_ypos 10    } else {        set billboard_ypos 40    }    set billboard_bottom [expr $billboard_ypos + $bbrdH]    set meterlabel_ypos [expr $billboard_bottom + 10]    set meter_ypos [expr $meterlabel_ypos + 12]    set frm2_ypos [expr $meter_ypos + 15]    set button_ypos [expr $frm2_ypos + 7]    # bottomedge is also the new dialog window height    set bottomedge [expr $button_ypos + 19]    set height_increase [expr $bottomedge - $dlg_orig_h]    # do not reposition the window for KDE to avoid window manager    # crash.    if {![info exists env(SETUP_USEKDE)]} {        windowPositionSet $ctrlVals(mainWindow) \                          $ctrlVals(dlg_orig_xpos) \                          $ctrlVals(dlg_orig_ypos)    }        # Hide the help button - no use during copying    controlHide $ctrlVals(mainWindow).helpButt 1    # Hide the Next button and substitute it with a "phony" button.    # The Next button is set to be the default button, which causes    # UITclSh to think that its size is larger due to the border.    # This causes problems with the button appearance when moving the    # button around and when restoring the original dialog window.    # Restore the Next button in the "restoreOriginalDialog" procedure.    controlHide $ctrlVals(mainWindow).nextButt 1    controlCreate $ctrlVals(mainWindow) \                [list button -name phonynextButt -title "&Next >" \                             -callback nextCallback \                              -x 197 -y 185 -w 50 -h 14]    controlEnable $ctrlVals(mainWindow).phonynextButt 0    controlFocusSet $ctrlVals(mainWindow).cancelButt    controlHide $ctrlVals(mainWindow).bitmap 1    # controls are specially set for KDE because we do not shrink    # the window.    if {[info exists env(SETUP_USEKDE)]} {        controlSizeSet $ctrlVals(mainWindow).frm2 [expr $right_border - 10] 2    } else {        controlSizeSet $ctrlVals(mainWindow).frm2 $bbrdW 2    }    controlPositionSet $ctrlVals(mainWindow).frm2 10 $frm2_ypos    if {[info exists env(SETUP_USEKDE)]} {        set cancel_xpos [expr $right_border - $dlg_orig_cancel_w]    } else {        set cancel_xpos [expr 10 + $bbrdW - $dlg_orig_cancel_w]    }    set next_xpos [expr $cancel_xpos - 8 - $dlg_orig_next_w ]    set back_xpos [expr $next_xpos - $dlg_orig_back_w]    controlPositionSet $ctrlVals(mainWindow).backButt $back_xpos \                                                      $button_ypos    controlPositionSet $ctrlVals(mainWindow).phonynextButt $next_xpos \                                                      $button_ypos    controlPositionSet $ctrlVals(mainWindow).cancelButt $cancel_xpos \                                                        $button_ypos    # do not resize the window for KDE to avoid a window manager crash.    if {![info exists env(SETUP_USEKDE)]} {        set ctrlVals(mainWindowSize) [list [expr $bbrdW + 20] $bottomedge]        windowSizeSet $ctrlVals(mainWindow) \            [expr $bbrdW + 20] $bottomedge    }    set ctrlVals(bbrdList) [bbrdListGet .BMP]    if {"$ctrlVals(bbrdList)" == ""} {        set ctrlVals(bbrdList) \            [dosToUnix [cdFileNameGet \                       [file join RESOURCE BITMAPS SETUP.BMP]]]    }    set ctrlVals(numBbrd) [llength $ctrlVals(bbrdList)]    set ctrlVals(displayInt) [expr 100 / $ctrlVals(numBbrd)]    set ctrlVals(bbrdElapse) $ctrlVals(displayInt)    # create the meter here, so it can be displayed in the    # dialog window.    meterCreate [strTableGet FILESCOPY_LABEL]}############################################################################### toolsetExtract - extracts the toolset list from the installed makefiles## This procedure will extract the toolset list by searching for# "TOOL = <tool>" lines in the make.*<tool>* files in target/h/tool/<tool># or target/h/make.  The string returned is the list of tools found# separated by |, for example "sfgnule|sfgnu|gnu|diab".  Substrings must# come later in the list, for example "gnu" must come after "sfgnule|sfgnu".  # This list is used as a pattern matcher during file copying and archiving.## SYNOPSIS# .tS# toolSetExtract# .tE## PARAMETERS: N/A## RETURNS: the toolset list, each tool separated by | and sorted so that

⌨️ 快捷键说明

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