亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wizard.tcl

?? Linux下的MSN聊天程序源碼
?? TCL
?? 第 1 頁 / 共 3 頁
字號:
		return $stepWidgets($step,$node)	    }	    ## See if a widget exists on the global level.	    if {![info exists widgets($node)]} {		return -code error "item \"$node\" does not exist"	    }	    return $widgets($node)	}	default {	    set err [BWidget::badOptionString option $command [list get set]]	    return -code error $err	}    }}proc Wizard::variable { path step option } {    set item $path.$step    return [Widget::varForOption $item $option]}proc Wizard::branch { path {node "current"} } {    Widget::getVariable $path data    if {[string equal $node "current"]} { set item [$path step current] }    if {[string equal $node ""]} { return "root" }    if {[info exists data($node,branch)]} { return $data($node,branch) }    return -code error "item \"$node\" does not exist"}proc Wizard::traverse { path node } {    Widget::getVariable $path items    if {$node == "root"} { return 1 }    if {![_is_branch $path $node]} {        return -code error "branch \"$node\" does not exist"    }    set cmd [Widget::cget $items($node) -command]    if {[string equal $cmd ""]} { return 1 }    return [uplevel #0 $cmd]}proc Wizard::exists { path item } {    Widget::getVariable $path items    return [info exists items($item)]}proc Wizard::createStep { path item {delete 0} } {    Widget::getVariable $path data    Widget::getVariable $path items    Widget::getVariable $path steps    if {![_is_step $path $item]} { return }    if {$delete} {        if {[$path.steps exists $item]} {            $path.steps delete $item        }        if {[info exists data($item,realized)]} {            unset data($item,realized)        }    }    if {![info exists data($item,realized)]} {        ## Eval the global createcommand if we have one, appending the item.        set cmd [Widget::cget $path -createcommand]        if {![string equal $cmd ""]} {            uplevel #0 $cmd [list $item]        }        ## Eval this item's createcommand if we have one.        set cmd [Widget::cget $items($item) -createcommand]        if {![string equal $cmd ""]} {            uplevel #0 $cmd        }        set data($item,realized) 1    }    return}proc Wizard::getoption { path item option } {    Widget::getVariable $path items    return [Widget::getOption $option "" $path $items($item)]}proc Wizard::reorder { path parent nodes } {    Widget::getVariable $path branches    set branches($parent) $nodes}proc Wizard::_insert_button { path idx node args } {    Widget::getVariable $path data    Widget::getVariable $path items    Widget::getVariable $path buttons    Widget::getVariable $path widgets    set buttons($node) 1    set widgets($node) [eval $path.buttons insert $idx $args]    set item   [string map [list $path.buttons.b {}] $widgets($node)]    set items($node) $item    return $widgets($node)}proc Wizard::_insert_step { path idx branch node args } {    Widget::getVariable $path data    Widget::getVariable $path steps    Widget::getVariable $path items    Widget::getVariable $path widgets    Widget::getVariable $path branches    set steps($node) 1    lappend data(steps) $node    set data($node,branch) $branch    if {$idx == "end"} {        lappend branches($branch) $node    } else {	set branches($branch) [linsert $branches($branch) $idx $node]    }    set items($node) $path.$node    Widget::init Wizard::Step $items($node) $args    set widgets($node) [$path.steps add $node]    if {[Widget::cget $items($node) -create]} { $path createStep $node }    return $widgets($node)}proc Wizard::_insert_branch { path idx branch node args } {    Widget::getVariable $path data    Widget::getVariable $path items    Widget::getVariable $path branches    set branches($node)    [list]    lappend data(branches) $node    set data($node,branch) $branch    if {$idx == "end"} {        lappend branches($branch) $node    } else {        set branches($branch) [linsert $branches($branch) $idx $node]    }    set items($node) $path.$node    Widget::init Wizard::Branch $items($node) $args}proc Wizard::_is_step { path node } {    Widget::getVariable $path steps    return [info exists steps($node)]}proc Wizard::_is_branch { path node } {    Widget::getVariable $path branches    return [info exists branches($node)]}# ------------------------------------------------------------------------------#  Command Wizard::_destroy# ------------------------------------------------------------------------------proc Wizard::_destroy { path } {    Widget::destroy $path}proc SimpleWizard { path args } {    option add *WizLayoutSimple*Label.padX                5    interactive    option add *WizLayoutSimple*Label.anchor              nw   interactive    option add *WizLayoutSimple*Label.justify             left interactive    option add *WizLayoutSimple*Label.borderWidth         0    interactive    option add *WizLayoutSimple*Label.highlightThickness  0    interactive    set cmd [list Wizard::layout::simple $path]    return [eval [list Wizard $path] $args [list -createcommand $cmd]]}proc ClassicWizard { path args } {    option add *WizLayoutClassic*Label.padX                5    interactive    option add *WizLayoutClassic*Label.anchor              nw   interactive    option add *WizLayoutClassic*Label.justify             left interactive    option add *WizLayoutClassic*Label.borderWidth         0    interactive    option add *WizLayoutClassic*Label.highlightThickness  0    interactive    set cmd [list Wizard::layout::classic $path]    return [eval [list Wizard $path] $args [list -createcommand $cmd]]}proc Wizard::layout::simple { wizard step } {    set frame [$wizard widgets get $step]    set layout [$wizard widgets set layout -widget $frame.layout -step $step]    foreach w [list titleframe pretext posttext clientArea] {	set $w [$wizard widgets set $w -widget $layout.$w -step $step]    }    foreach w [list title subtitle icon] {	set $w [$wizard widgets set $w -widget $titleframe.$w -step $step]    }    frame $layout -class WizLayoutSimple    pack $layout -expand 1 -fill both    # Client area. This is where the caller places its widgets.    frame $clientArea -bd 8 -relief flat    Separator $layout.sep1 -relief groove -orient horizontal    # title and subtitle and icon    frame $titleframe -bd 4 -relief flat -background white    label $title -background white -textvariable [$wizard variable $step -text1]    label $subtitle -height 2 -background white -padx 15 -width 40 \    	-textvariable [$wizard variable $step -text2]    label $icon -borderwidth 0 -background white -anchor c    set iconImage [$wizard getoption $step -icon]    if {![string equal $iconImage ""]} { $icon configure -image $iconImage }    set labelfont [font actual [$title cget -font]]    $title configure -font [concat $labelfont -weight bold]    # put the title, subtitle and icon inside the frame we've built for them    grid $title    -in $titleframe -row 0 -column 0 -sticky nsew    grid $subtitle -in $titleframe -row 1 -column 0 -sticky nsew    grid $icon     -in $titleframe -row 0 -column 1 -rowspan 2 -padx 8    grid columnconfigure $titleframe 0 -weight 1    grid columnconfigure $titleframe 1 -weight 0    # pre and post text.    label $pretext  -textvariable [$wizard variable $step -text3]    label $posttext -textvariable [$wizard variable $step -text4]    # when our label widgets change size we want to reset the    # wraplength to that same size.    foreach widget {title subtitle pretext posttext} {	bind [set $widget] <Configure> {            # yeah, I know this looks weird having two after idle's, but            # it helps prevent the geometry manager getting into a tight            # loop under certain circumstances            #            # note that subtracting 10 is just a somewhat arbitrary number            # to provide a little padding...            after idle {after idle {%W configure -wraplength [expr {%w -10}]}}        }    }    grid $titleframe  -row 0 -column 0 -sticky nsew -padx 0    grid $layout.sep1 -row 1 -sticky ew     grid $pretext     -row 2 -sticky nsew -padx 8 -pady 8    grid $clientArea  -row 3 -sticky nsew -padx 8 -pady 8    grid $posttext    -row 4 -sticky nsew -padx 8 -pady 8    grid columnconfigure $layout 0 -weight 1    grid rowconfigure    $layout 0 -weight 0    grid rowconfigure    $layout 1 -weight 0    grid rowconfigure    $layout 2 -weight 0    grid rowconfigure    $layout 3 -weight 1    grid rowconfigure    $layout 4 -weight 0}proc Wizard::layout::classic { wizard step } {    set frame [$wizard widgets get $step]    set layout [$wizard widgets set layout -widget $frame.layout -step $step]    foreach w [list title subtitle icon pretext posttext clientArea] {	set $w [$wizard widgets set $w -widget $layout.$w -step $step]    }    frame $layout -class WizLayoutClassic    pack $layout -expand 1 -fill both    # Client area. This is where the caller places its widgets.    frame $clientArea -bd 8 -relief flat        Separator $layout.sep1 -relief groove -orient vertical    # title and subtitle    label $title    -textvariable [$wizard variable $step -text1]    label $subtitle -textvariable [$wizard variable $step -text2] -height 2    array set labelfont [font actual [$title cget -font]]    incr labelfont(-size) 6    set  labelfont(-weight) bold    $title configure -font [array get labelfont]    # pre and post text.     label $pretext  -textvariable [$wizard variable $step -text3]    label $posttext -textvariable [$wizard variable $step -text4]    # when our label widgets change size we want to reset the    # wraplength to that same size.    foreach widget {title subtitle pretext posttext} {        bind [set $widget] <Configure> {            # yeah, I know this looks weird having two after idle's, but            # it helps prevent the geometry manager getting into a tight            # loop under certain circumstances            #            # note that subtracting 10 is just a somewhat arbitrary number            # to provide a little padding...            after idle {after idle {%W configure -wraplength [expr {%w -10}]}}        }    }    label $icon -borderwidth 1 -relief sunken -background white \        -anchor c -width 96 -image Wizard::none    set iconImage [$wizard getoption $step -icon]    if {![string equal $iconImage ""]} { $icon configure -image $iconImage }    grid $icon       -row 0 -column 0 -sticky nsew -padx 8 -pady 8 -rowspan 5    grid $title      -row 0 -column 1 -sticky ew   -padx 8 -pady 8    grid $subtitle   -row 1 -column 1 -sticky ew   -padx 8 -pady 8    grid $pretext    -row 2 -column 1 -sticky ew   -padx 8    grid $clientArea -row 3 -column 1 -sticky nsew -padx 8    grid $posttext   -row 4 -column 1 -sticky ew   -padx 8 -pady 24    grid columnconfigure $layout 0 -weight 0    grid columnconfigure $layout 1 -weight 1    grid rowconfigure    $layout 0 -weight 0    grid rowconfigure    $layout 1 -weight 0    grid rowconfigure    $layout 2 -weight 0    grid rowconfigure    $layout 3 -weight 1    grid rowconfigure    $layout 4 -weight 0}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久香蕉国产日韩欧美9色| 欧美激情一区二区三区四区| 久久综合视频网| 一区二区三区在线免费观看| 久久精品国产77777蜜臀| 91视频.com| 久久久久久免费| 日韩二区在线观看| 99久久伊人网影院| 久久蜜桃av一区精品变态类天堂| 午夜视频在线观看一区二区| 国产suv精品一区二区6| 欧美成人精精品一区二区频| 亚洲大片免费看| 色婷婷av一区二区| 中文字幕一区二区三区精华液| 日本美女一区二区三区| 欧美日韩国产片| 一区二区激情小说| 99久久99久久精品免费看蜜桃| 精品国产欧美一区二区| 天堂在线亚洲视频| 欧美揉bbbbb揉bbbbb| 亚洲精品国产高清久久伦理二区| 国产成人一区在线| 国产日本亚洲高清| 国产一区二区视频在线播放| 日韩写真欧美这视频| 婷婷中文字幕一区三区| 欧美少妇性性性| 亚洲444eee在线观看| 欧美综合一区二区三区| 亚洲女人的天堂| 91美女视频网站| 亚洲精品欧美激情| 色吊一区二区三区| 亚洲电影一级片| 欧美色窝79yyyycom| 天天综合色天天综合色h| 欧美日韩精品一区二区三区 | 亚洲一区二区三区激情| 在线看国产日韩| 午夜精品福利久久久| 欧美一区二区三级| 精品中文字幕一区二区| 国产日韩欧美精品一区| 成人动漫中文字幕| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 午夜激情综合网| 91精品国产欧美一区二区18| 麻豆成人av在线| 久久先锋影音av鲁色资源网| 懂色av一区二区夜夜嗨| 亚洲午夜私人影院| 日韩三级在线免费观看| 国产成人综合自拍| 一区二区三区在线影院| 日韩三级视频在线观看| 丰满白嫩尤物一区二区| 亚洲精品免费在线观看| 欧美一区二区三区不卡| 粉嫩aⅴ一区二区三区四区五区| **欧美大码日韩| 欧美一区二区精品| 暴力调教一区二区三区| 日韩不卡一区二区| 国产精品色在线| 欧美精品乱码久久久久久按摩| 国产精品亚洲一区二区三区在线| 亚洲欧美日韩国产综合在线| 欧美午夜精品久久久| 老司机精品视频线观看86| 中文字幕一区二区三区四区不卡| 5月丁香婷婷综合| av在线免费不卡| 青青草原综合久久大伊人精品| 国产精品网站在线| 91精品久久久久久久99蜜桃 | 中文字幕精品在线不卡| 欧美日韩色综合| 东方欧美亚洲色图在线| 日本欧美韩国一区三区| 亚洲另类在线一区| 久久久三级国产网站| 欧美日韩国产综合一区二区| 麻豆成人av在线| 天堂va蜜桃一区二区三区漫画版| 欧美激情一区不卡| 精品国产制服丝袜高跟| 在线观看日韩av先锋影音电影院| 国产盗摄女厕一区二区三区| 日韩av电影免费观看高清完整版 | 日本伊人午夜精品| 亚洲精品五月天| 中文字幕av资源一区| 精品久久五月天| 欧美日韩国产123区| 91精彩视频在线| 成人av网在线| 成人激情av网| 高清成人在线观看| 国产麻豆欧美日韩一区| 麻豆精品在线看| 日韩av中文在线观看| 日韩va欧美va亚洲va久久| 亚洲超碰97人人做人人爱| 亚洲最大色网站| 亚洲尤物在线视频观看| 亚洲精品视频在线| 亚洲自拍偷拍欧美| 午夜欧美在线一二页| 亚洲高清免费在线| 午夜在线成人av| 日本少妇一区二区| 日韩不卡手机在线v区| 蜜臀av在线播放一区二区三区| 日日摸夜夜添夜夜添精品视频| 亚洲综合在线免费观看| 亚洲一区二区三区四区不卡| 亚洲一线二线三线久久久| 一区二区三区日韩精品| 亚洲一区二区三区在线| 亚洲123区在线观看| 免费美女久久99| 国内久久精品视频| 不卡的av在线播放| 一本色道久久综合亚洲aⅴ蜜桃| 色偷偷一区二区三区| 色女孩综合影院| 欧美三级日本三级少妇99| 91精品国产综合久久小美女| 精品国产精品一区二区夜夜嗨| 久久久亚洲综合| 国产精品久线观看视频| 一二三区精品福利视频| 免费看黄色91| 99久久国产综合精品麻豆| 国产成人精品综合在线观看 | 亚洲美女少妇撒尿| 亚洲123区在线观看| 国产真实精品久久二三区| 国产99久久久国产精品潘金| 色伊人久久综合中文字幕| 欧美一级精品大片| 久久精品无码一区二区三区| 一区二区三区高清在线| 美国毛片一区二区三区| 高清国产一区二区三区| 欧美日韩一区二区在线观看视频| 欧美成人在线直播| 亚洲欧美偷拍另类a∨色屁股| 亚洲成人精品一区二区| 国产一区二区三区免费看| 色久优优欧美色久优优| ww亚洲ww在线观看国产| 亚洲男人的天堂在线aⅴ视频| 青青草91视频| 91在线丨porny丨国产| 日韩欧美久久一区| 亚洲精品你懂的| 国内精品第一页| 欧美视频一二三区| 国产精品剧情在线亚洲| 狠狠色综合日日| 欧美日韩国产免费| ...xxx性欧美| 国产毛片精品视频| 欧美精品日韩一本| 亚洲欧洲综合另类| 成人综合婷婷国产精品久久免费| 在线综合亚洲欧美在线视频| 中文字幕一区二区在线观看| 久久99精品国产麻豆婷婷| 欧美视频日韩视频| 亚洲欧美日韩小说| 99这里只有久久精品视频| 日韩免费福利电影在线观看| 亚洲一区二区三区在线看| 99久久精品一区二区| 欧美激情自拍偷拍| 精品一区二区在线播放| 在线成人av影院| 午夜精品久久久久久久久| 色哟哟在线观看一区二区三区| 国产欧美一区二区精品婷婷| 免费视频最近日韩| 在线不卡一区二区| 亚洲国产中文字幕| 91亚洲午夜精品久久久久久| 国产精品久线在线观看| 国产成人在线影院 | 中文字幕在线观看不卡| 国产在线日韩欧美| 欧美本精品男人aⅴ天堂| 日本成人在线不卡视频| 欧美一区二区三区视频| 偷拍一区二区三区四区| 欧美一级黄色片| 久久99久久久欧美国产| 精品99久久久久久|