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

📄 instw32.tcl

📁 这是vxworks 的图形界面开发软件windML2.0和另一个CP2可以构成完整的界面开发。
💻 TCL
📖 第 1 页 / 共 5 页
字号:
            windowSizeSet $ctrlVals(mainWindow) 315 204

            windowPositionSet $ctrlVals(mainWindow) \
                          [expr $ctrlVals(screenW) / 2] \
                          [expr $ctrlVals(screenH) / 2]

            set dlg_orig_xpos [lindex [windowPositionGet \
                                         $ctrlVals(mainWindow)] 0]
            set dlg_orig_ypos [lindex [windowPositionGet \
                                         $ctrlVals(mainWindow)] 1]
            windowPositionSet $ctrlVals(mainWindow) \
                          [expr $dlg_orig_xpos - 158] \
                          [expr $dlg_orig_ypos - 102]
        } elseif {[removeBackground] && [info exists env(SETUP_USEKDE)]} {

	    # Sizing and positioning a window causes
	    # KDE to crash.  Initialize window for KDE at
	    # full size, and later keep the same size
	    # in the file copying billboard page.  

            dialogCreate -name $ctrlVals(mainWindow) \
                         -title $title \
                         -parent $ctrlVals(mainWindow) \
                         -helpfile $setupVals(setupHelp) \
                         -modeless \
                         -controls $controls -w 315 -h 204
	} else {
            dialogCreate -name $ctrlVals(mainWindow) \
                         -title $title -w 315 -h 204 \
                         -parent $ctrlVals(parentDialog) \
                         -helpfile $setupVals(setupHelp) \
                         -modeless \
                         -controls $controls
	}

        set ctrlVals(parentDialog) $ctrlVals(mainWindow)
        windowQueryCloseCallbackSet $ctrlVals(mainWindow) quitCallback
    }

    customizeMainWindow $title
    return $ctrlVals(mainWindow)    
}

#############################################################################
#
# customizeMainWindow - set the title of the wizard page 
#
# This procedure will set the title of the wizard page
#
# SYNOPSIS
# .tS
# customizeMainWindow
# .tE
#
# PARAMETERS:
# .IP title 
# title of the wizard page
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc customizeMainWindow {title} {
    global ctrlVals

    windowTitleSet $ctrlVals(mainWindow) $title

    foreach ctrl $ctrlVals(volatileFrm) {
        controlCreate $ctrlVals(mainWindow) $ctrl
    }

    set ctrlVals(jumpBack) 1
}

#############################################################################
#
# destroyVolatileFrm - close the wizard page
#
# This procedure will close the wizard page
#
# SYNOPSIS
# .tS
# destroyVolatileFrm
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc destroyVolatileFrm {} {
    global ctrlVals

    # First hide the controls to make it 'invisible', mainwin may be slow in
    # how it implements refresh logic on unix.

    foreach ctrl $ctrlVals(volatileFrm) {
        set pos [lsearch $ctrl "-name"]

        if {$pos != "-1"} {
            controlHide \
                $ctrlVals(mainWindow).[lindex $ctrl [expr $pos + 1]] 1 
        }
    }

    # Then we destroy the controls

    foreach ctrl $ctrlVals(volatileFrm) {
        set pos [lsearch $ctrl "-name"]

        if {$pos != "-1"} {
            controlDestroy \
                $ctrlVals(mainWindow).[lindex $ctrl [expr $pos + 1]] 
        }
    }
    set ctrlVals(volatileFrm) ""
}

#############################################################################
#
# backCallback - close the current wizard page and return to the previous
#                wizard page
#
# This procedure will close the current wizard page and return to the previous
# wizard page
#
# SYNOPSIS
# .tS
# backCallback
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc backCallback {} {
    global ctrlVals

    # decrement the dialog index and re-create previous page

    set currPageIndex [lsearch $ctrlVals(pageList) $ctrlVals(currPage)]
    set prevPageIndex [expr $currPageIndex - 1]

    if {"$prevPageIndex" >= "0"} {
        set ctrlVals(currPage) [lindex $ctrlVals(pageList) $prevPageIndex]

        destroyVolatileFrm
        pageCreate($ctrlVals(currPage))

    } else {
        messageBox "Can't go back further!"
    }
}

#############################################################################
#
# calcPage - return the difference in the desired page index and the current 
#            page index 
#
# This procedure will return the difference in the desired page index and
# the current page index
#
# SYNOPSIS
# .tS
# calcPage <desiredPage>
# .tE
#
# PARAMETERS:
# .IP desiredPage 
# page name of wizard to go next
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc calcPage {desiredPage} {
    global ctrlVals
    
    # jump to the desired page

    set desiredIndex [lsearch $ctrlVals(pageList) $desiredPage]
    set currentPageIndex [lsearch $ctrlVals(pageList) $ctrlVals(currPage)]
    set retval [expr $desiredIndex - $currentPageIndex]
    return $retval
}

#############################################################################
#
# restoreOriginalDialog - restore the original dialog size
#
# This procedure will restore the original dialog size
#
# SYNOPSIS
# .tS
# restoreOriginalDialog
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc restoreOriginalDialog {} {
    global ctrlVals
    global env

    set ctrlVals(restoredDialog) 1
    windowShow $ctrlVals(mainWindow) -restore 1
    if {![info exists env(SETUP_USEKDE)]} {
       windowPositionSet $ctrlVals(mainWindow) [expr $ctrlVals(dlg_orig_xpos)] \
                                               [expr $ctrlVals(dlg_orig_ypos)]
    }
    controlHide $ctrlVals(mainWindow).bitmap 0

    # hide the "phony" Next button and restore the original button.
    # See the procedure "resizeBbrdDialog".
    controlHide $ctrlVals(mainWindow).phonynextButt 1
    controlHide $ctrlVals(mainWindow).nextButt 0

    controlPropertySet $ctrlVals(mainWindow).nextButt -defaultbutton 1
    controlSizeSet $ctrlVals(mainWindow).frm2 \
                   [lindex $ctrlVals(dlg_orig_frm2_size) 0] \
                   [lindex $ctrlVals(dlg_orig_frm2_size) 1]
    controlPositionSet $ctrlVals(mainWindow).frm2 \
                   [lindex $ctrlVals(dlg_orig_frm2_pos) 0] \
                   [lindex $ctrlVals(dlg_orig_frm2_pos) 1]
    controlPositionSet $ctrlVals(mainWindow).backButt \
                   [lindex $ctrlVals(dlg_orig_back_pos) 0] \
                   [lindex $ctrlVals(dlg_orig_back_pos) 1]
    controlPositionSet $ctrlVals(mainWindow).nextButt \
                   [lindex $ctrlVals(dlg_orig_next_pos) 0] \
                   [lindex $ctrlVals(dlg_orig_next_pos) 1]
    controlPositionSet $ctrlVals(mainWindow).cancelButt \
                   [lindex $ctrlVals(dlg_orig_cancel_pos) 0] \
                   [lindex $ctrlVals(dlg_orig_cancel_pos) 1]
    if {![info exists env(SETUP_USEKDE)]} {
      windowSizeSet $ctrlVals(mainWindow) [lindex $ctrlVals(dlg_orig_size) 0] \
                                          [lindex $ctrlVals(dlg_orig_size) 1]
    }
}

#############################################################################
#
# nextCallback - go to the next wizard page
#
# This procedure will take Setup to the next wizard page as if next button
# is pushed
#
# SYNOPSIS
# .tS
# nextCallback
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc nextCallback {} {
    global ctrlVals
    global setupVals

    set retVal 0
   
    if {"$ctrlVals(currPage)" == ""} { return $retVal }

    set processRetVal [pageProcess($ctrlVals(currPage))]
    if {$processRetVal == "1"} {

        set currPageIndex [lsearch $ctrlVals(pageList) $ctrlVals(currPage)]

        if {"$currPageIndex" != "-1"} {
            set nextPageIndex [expr $currPageIndex + 1]
            set nextPage [lindex $ctrlVals(pageList) $nextPageIndex]

            if {"$nextPage" != ""} {
                set ctrlVals(currPage) $nextPage
                destroyVolatileFrm

                if {[info exists ctrlVals(restoredDialog)]} {
                    if {$ctrlVals(restoredDialog) == 0} { 
                        restoreOriginalDialog
                    }
                }
                pageCreate($nextPage)            
                set retVal 1
                            
            } else {
                # temporary workaround for windowClose exit problem
	    	set setupVals(cancel) 1
                applicationExit
            } 
        } else {            
            puts "error: page $ctrlVals(currPage) not found!"
        }

    } elseif {$processRetVal != "0"} {
        
        # calculate the current page based on the return value

        set currPageIndex [lsearch $ctrlVals(pageList) $ctrlVals(currPage)]
        set currPageIndex [expr $currPageIndex + $processRetVal]
        set maxVal [llength $ctrlVals(pageList)]

        if {"$currPageIndex" != "-1" && $currPageIndex <= $maxVal} {
            set nextPageIndex $currPageIndex
            set nextPage [lindex $ctrlVals(pageList) $nextPageIndex]

            if {"$nextPage" != ""} {
                set ctrlVals(currPage) $nextPage
                destroyVolatileFrm

                pageCreate($nextPage)            
                set retVal 1
                            
            } else {
                applicationExit
            } 
        } else {            
            puts "error: page $ctrlVals(currPage) not found!"
        }
    }

    return $retVal
}

#############################################################################
#
# fileExistsNewerWarnExit - exit procedure for fileExistsNewerExit dialog box
#
# This procedure is a exit procedure for fileExistsNewerExit dialog box
#
# SYNOPSIS
# .tS
# fileExistsNewerWarnExit
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A
#

proc fileExistsNewerWarnExit {} {
    global retvalNew

    if {[controlChecked file_exists_newer_warn.overwriteFile]} {
	set retvalNew 0
    }
    if {[controlChecked file_exists_newer_warn.no_overwriteFile]} {
	set retvalNew 1
    }
    if {[controlChecked file_exists_newer_warn.overwriteAll]} {
        set retvalNew 2
    }
}

#############################################################################
#
# fileExistsNewerWarnInit - Init procedure for fileExistsNewerWarn dialog box
#
# This procedure is a init procedure for fileExistsNewerWarn dialog box
#
# SYNOPSIS
# .tS
# fileExistsNewerWarnInit
# .tE
#
# PARAMETERS: N/A
#
# RETURNS: N/A
#
# ERRORS: N/A

⌨️ 快捷键说明

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