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

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

?? tree.tcl

?? Linux下的MSN聊天程序源碼
?? TCL
?? 第 1 頁 / 共 5 頁
字號:
# ----------------------------------------------------------------------------#  tree.tcl#  This file is part of Unifix BWidget Toolkit#  $Id: tree.tcl 3417 2004-12-03 00:31:24Z tjikkun $# ----------------------------------------------------------------------------#  Index of commands:#     - Tree::create#     - Tree::configure#     - Tree::cget#     - Tree::insert#     - Tree::itemconfigure#     - Tree::itemcget#     - Tree::bindText#     - Tree::bindImage#     - Tree::delete#     - Tree::move#     - Tree::reorder#     - Tree::selection#     - Tree::exists#     - Tree::parent#     - Tree::index#     - Tree::nodes#     - Tree::see#     - Tree::opentree#     - Tree::closetree#     - Tree::edit#     - Tree::xview#     - Tree::yview#     - Tree::_update_edit_size#     - Tree::_destroy#     - Tree::_see#     - Tree::_recexpand#     - Tree::_subdelete#     - Tree::_update_scrollregion#     - Tree::_cross_event#     - Tree::_draw_node#     - Tree::_draw_subnodes#     - Tree::_update_nodes#     - Tree::_draw_tree#     - Tree::_redraw_tree#     - Tree::_redraw_selection#     - Tree::_redraw_idle#     - Tree::_drag_cmd#     - Tree::_drop_cmd#     - Tree::_over_cmd#     - Tree::_auto_scroll#     - Tree::_scroll# ----------------------------------------------------------------------------namespace eval Tree {    Widget::define Tree tree DragSite DropSite DynamicHelp    namespace eval Node {        Widget::declare Tree::Node {            {-text       String     ""      0}            {-font       TkResource ""      0 listbox}            {-image      TkResource ""      0 label}            {-window     String     ""      0}            {-fill       TkResource black   0 {listbox -foreground}}            {-data       String     ""      0}            {-open       Boolean    0       0}	    {-selectable Boolean    1       0}            {-drawcross  Enum       auto    0 {auto allways never}}	    {-padx       Int        -1      0 "%d >= -1"}	    {-deltax     Int        -1      0 "%d >= -1"}	    {-anchor     String     "w"     0 ""}        }    }    DynamicHelp::include Tree::Node balloon    Widget::tkinclude Tree canvas .c \	    remove     {	-insertwidth -insertbackground -insertborderwidth -insertofftime	-insertontime -selectborderwidth -closeenough -confine -scrollregion	-xscrollincrement -yscrollincrement -width -height    } \	    initialize {	-relief sunken -borderwidth 2 -takefocus 1	-highlightthickness 1 -width 200    }    Widget::declare Tree {        {-deltax           Int 10 0 "%d >= 0"}        {-deltay           Int 15 0 "%d >= 0"}        {-padx             Int 20 0 "%d >= 0"}        {-background       TkResource "" 0 listbox}        {-selectbackground TkResource "" 0 listbox}        {-selectforeground TkResource "" 0 listbox}	{-selectcommand    String     "" 0}        {-width            TkResource "" 0 listbox}        {-height           TkResource "" 0 listbox}        {-selectfill       Boolean 0  0}        {-showlines        Boolean 1  0}        {-linesfill        TkResource black  0 {listbox -foreground}}        {-linestipple      TkResource ""     0 {label -bitmap}}	{-crossfill        TkResource black  0 {listbox -foreground}}        {-redraw           Boolean 1  0}        {-opencmd          String  "" 0}        {-closecmd         String  "" 0}        {-dropovermode     Flag    "wpn" 0 "wpn"}        {-bg               Synonym -background}        {-crossopenimage    String  ""  0}        {-crosscloseimage   String  ""  0}        {-crossopenbitmap   String  ""  0}        {-crossclosebitmap  String  ""  0}    }    DragSite::include Tree "TREE_NODE" 1    DropSite::include Tree {        TREE_NODE {copy {} move {}}    }    Widget::addmap Tree "" .c {-deltay -yscrollincrement}    # Trees on windows have a white (system window) background    if { $::tcl_platform(platform) == "windows" } {	option add *Tree.c.background SystemWindow widgetDefault	option add *TreeNode.fill SystemWindowText widgetDefault    }    bind Tree <FocusIn>   [list after idle {BWidget::refocus %W %W.c}]    bind Tree <Destroy>   [list Tree::_destroy %W]    bind Tree <Configure> [list Tree::_update_scrollregion %W]    bind TreeSentinalStart <Button-1> {	if { $::Tree::sentinal(%W) } {	    set ::Tree::sentinal(%W) 0	    break	}    }    bind TreeSentinalEnd <Button-1> {	set ::Tree::sentinal(%W) 0    }    bind TreeFocus <Button-1> [list focus %W]    variable _edit}# ----------------------------------------------------------------------------#  Command Tree::create# ----------------------------------------------------------------------------proc Tree::create { path args } {    variable $path    upvar 0  $path data    Widget::init Tree $path $args    set ::Tree::sentinal($path.c) 0    if {[Widget::cget $path -crossopenbitmap] == ""} {        set file [file join $::BWIDGET::LIBRARY images "minus.xbm"]        Widget::configure $path [list -crossopenbitmap @$file]    }    if {[Widget::cget $path -crossclosebitmap] == ""} {        set file [file join $::BWIDGET::LIBRARY images "plus.xbm"]        Widget::configure $path [list -crossclosebitmap @$file]    }    set data(root)         {{}}    set data(selnodes)     {}    set data(upd,level)    0    set data(upd,nodes)    {}    set data(upd,afterid)  ""    set data(dnd,scroll)   ""    set data(dnd,afterid)  ""    set data(dnd,selnodes) {}    set data(dnd,node)     ""    frame $path -class Tree -bd 0 -highlightthickness 0 -relief flat \	    -takefocus 0    # For 8.4+ we don't want to inherit the padding    catch {$path configure -padx 0 -pady 0}    eval [list canvas $path.c] [Widget::subcget $path .c] -xscrollincrement 8    bindtags $path.c [list TreeSentinalStart TreeFocus $path.c Canvas \	    [winfo toplevel $path] all TreeSentinalEnd]    pack $path.c -expand yes -fill both    $path.c bind cross <ButtonPress-1> [list Tree::_cross_event $path]    # Added by ericm@scriptics.com    # These allow keyboard traversal of the tree    bind $path.c <KeyPress-Up>    [list Tree::_keynav up $path]    bind $path.c <KeyPress-Down>  [list Tree::_keynav down $path]    bind $path.c <KeyPress-Right> [list Tree::_keynav right $path]    bind $path.c <KeyPress-Left>  [list Tree::_keynav left $path]    bind $path.c <KeyPress-space> [list +Tree::_keynav space $path]    # These allow keyboard control of the scrolling    bind $path.c <Control-KeyPress-Up>    [list $path.c yview scroll -1 units]    bind $path.c <Control-KeyPress-Down>  [list $path.c yview scroll  1 units]    bind $path.c <Control-KeyPress-Left>  [list $path.c xview scroll -1 units]    bind $path.c <Control-KeyPress-Right> [list $path.c xview scroll  1 units]    # ericm@scriptics.com    BWidget::bindMouseWheel $path.c    DragSite::setdrag $path $path.c Tree::_init_drag_cmd \	    [Widget::cget $path -dragendcmd] 1    DropSite::setdrop $path $path.c Tree::_over_cmd Tree::_drop_cmd 1    Widget::create Tree $path    set w [Widget::cget $path -width]    set h [Widget::cget $path -height]    set dy [Widget::cget $path -deltay]    $path.c configure -width [expr {$w*8}] -height [expr {$h*$dy}]    # ericm    # Bind <Button-1> to select the clicked node -- no reason not to, right?    ## Bind button 1 to select the node via the _mouse_select command.    ## This command will generate the proper <<TreeSelect>> virtual event    ## when necessary.    set selectcmd Tree::_mouse_select    Tree::bindText  $path <Button-1>         [list $selectcmd $path set]    Tree::bindImage $path <Button-1>         [list $selectcmd $path set]    Tree::bindText  $path <Control-Button-1> [list $selectcmd $path toggle]    Tree::bindImage $path <Control-Button-1> [list $selectcmd $path toggle]    # Add sentinal bindings for double-clicking on items, to handle the     # gnarly Tk bug wherein:    # ButtonClick    # ButtonClick    # On a canvas item translates into button click on the item, button click    # on the canvas, double-button on the item, single button click on the    # canvas (which can happen if the double-button on the item causes some    # other event to be handled in between when the button clicks are examined    # for the canvas)    $path.c bind TreeItemSentinal <Double-Button-1> \	[list set ::Tree::sentinal($path.c) 1]    # ericm    return $path}# ----------------------------------------------------------------------------#  Command Tree::configure# ----------------------------------------------------------------------------proc Tree::configure { path args } {    variable $path    upvar 0  $path data    set res [Widget::configure $path $args]    set ch1 [expr {[Widget::hasChanged $path -deltax val] |                   [Widget::hasChanged $path -deltay dy]  |                   [Widget::hasChanged $path -padx val]   |                   [Widget::hasChanged $path -showlines val]}]    set ch2 [expr {[Widget::hasChanged $path -selectbackground val] |                   [Widget::hasChanged $path -selectforeground val]}]    if { [Widget::hasChanged $path -linesfill   fill] |         [Widget::hasChanged $path -linestipple stipple] } {        $path.c itemconfigure line  -fill $fill -stipple $stipple    }    if { [Widget::hasChanged $path -crossfill fill] } {        $path.c itemconfigure cross -foreground $fill    }    if {[Widget::hasChanged $path -selectfill fill]} {	# Make sure that the full-width boxes have either all or none	# of the standard node bindings	if {$fill} {	    foreach event [$path.c bind "node"] {		$path.c bind "box" $event [$path.c bind "node" $event]	    }	} else {	    foreach event [$path.c bind "node"] {		$path.c bind "box" $event {}	    }	}    }    if { $ch1 } {        _redraw_idle $path 3    } elseif { $ch2 } {        _redraw_idle $path 1    }    if { [Widget::hasChanged $path -height h] } {        $path.c configure -height [expr {$h*$dy}]    }    if { [Widget::hasChanged $path -width w] } {        $path.c configure -width [expr {$w*8}]    }    if { [Widget::hasChanged $path -redraw bool] && $bool } {        set upd $data(upd,level)        set data(upd,level) 0        _redraw_idle $path $upd    }    set force [Widget::hasChanged $path -dragendcmd dragend]    DragSite::setdrag $path $path.c Tree::_init_drag_cmd $dragend $force    DropSite::setdrop $path $path.c Tree::_over_cmd Tree::_drop_cmd    return $res}# ----------------------------------------------------------------------------#  Command Tree::cget# ----------------------------------------------------------------------------proc Tree::cget { path option } {    return [Widget::cget $path $option]}# ----------------------------------------------------------------------------#  Command Tree::insert# ----------------------------------------------------------------------------proc Tree::insert { path index parent node args } {    variable $path    upvar 0  $path data    set node [_node_name $path $node]    set node [Widget::nextIndex $path $node]    if { [info exists data($node)] } {        return -code error "node \"$node\" already exists"    }    if { ![info exists data($parent)] } {        return -code error "node \"$parent\" does not exist"    }    Widget::init Tree::Node $path.$node $args    if {[string equal $index "end"]} {        lappend data($parent) $node    } else {        incr index        set data($parent) [linsert $data($parent) $index $node]    }    set data($node) [list $parent]    if { [string equal $parent "root"] } {        _redraw_idle $path 3    } elseif { [visible $path $parent] } {        # parent is visible...        if { [Widget::getMegawidgetOption $path.$parent -open] } {            # ...and opened -> redraw whole            _redraw_idle $path 3        } else {            # ...and closed -> redraw cross            lappend data(upd,nodes) $parent 8            _redraw_idle $path 2        }    }    return $node}# ----------------------------------------------------------------------------#  Command Tree::itemconfigure# ----------------------------------------------------------------------------proc Tree::itemconfigure { path node args } {    variable $path    upvar 0  $path data    set node [_node_name $path $node]    if { [string equal $node "root"] || ![info exists data($node)] } {        return -code error "node \"$node\" does not exist"    }    set result [Widget::configure $path.$node $args]    _set_help $path $node    if { [visible $path $node] } {        set lopt   {}        set flag   0        foreach opt {-window -image -drawcross -font -text -fill} {            set flag [expr {$flag << 1}]            if { [Widget::hasChanged $path.$node $opt val] } {                set flag [expr {$flag | 1}]            }        }        if { [Widget::hasChanged $path.$node -open val] } {            if {[llength $data($node)] > 1} {                # node have subnodes - full redraw                _redraw_idle $path 3            } else {                # force a redraw of the plus/minus sign                set flag [expr {$flag | 8}]            }        }	if {$data(upd,level) < 3 && [Widget::hasChanged $path.$node -padx x]} {	    _redraw_idle $path 3

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线观看一区| 国产一区二区三区av电影| 色综合天天天天做夜夜夜夜做| 国产日韩精品一区二区三区在线| 国产呦精品一区二区三区网站| 久久久久久久国产精品影院| 国产高清在线精品| 国产精品三级电影| 色狠狠色狠狠综合| 亚洲香蕉伊在人在线观| 欧美丰满少妇xxxbbb| 蜜臀久久久99精品久久久久久| 日韩三级视频在线看| 国产一区二区三区久久久| 丝袜美腿亚洲综合| 精品91自产拍在线观看一区| 国产成人在线影院 | 久久99久久99小草精品免视看| 日韩欧美一级在线播放| 狠狠色狠狠色综合系列| 国产精品久久久久久久蜜臀 | 91福利国产成人精品照片| 亚洲一区二区av在线| 日韩欧美国产一区二区在线播放 | 成人免费视频视频在线观看免费| 综合久久国产九一剧情麻豆| 欧美日韩国产一级片| 国产在线视视频有精品| 国产精品不卡一区二区三区| 欧美日韩国产一级片| 国产成人午夜高潮毛片| 亚洲自拍偷拍九九九| 精品久久久久香蕉网| 成人av在线影院| 日本欧美一区二区| 中文字幕精品三区| 日韩一区二区三| 99精品欧美一区二区三区小说 | 精品福利一区二区三区免费视频| 91性感美女视频| 日韩欧美在线一区二区三区| 懂色av中文字幕一区二区三区| 亚洲一区在线观看网站| 久久久久久电影| 欧美人成免费网站| 成人午夜视频在线观看| 日韩av电影免费观看高清完整版| 国产欧美精品一区| 日韩精品一区二区三区蜜臀 | 精品国产sm最大网站| 色女孩综合影院| 国产一区二区三区四区五区美女| 亚洲一区二区三区在线播放| 国产女人aaa级久久久级| 91麻豆精品91久久久久同性| 91色九色蝌蚪| 成人午夜电影小说| 国产一区免费电影| 麻豆精品国产91久久久久久| 亚洲一区二区三区免费视频| 亚洲欧洲日韩女同| 国产欧美日韩视频一区二区| 欧美成人一区二区| 欧美精品国产精品| 欧美日韩午夜影院| 色狠狠桃花综合| 一本大道久久a久久精品综合| 国产91在线|亚洲| 国产精品一二三区在线| 另类专区欧美蜜桃臀第一页| 亚洲 欧美综合在线网络| |精品福利一区二区三区| 国产精品日产欧美久久久久| 久久久久9999亚洲精品| 337p日本欧洲亚洲大胆精品| 欧美一区二区三区影视| 欧美久久一二区| 欧美精品乱码久久久久久按摩| 色欧美片视频在线观看在线视频| av福利精品导航| 成人高清在线视频| 成人av在线电影| 99久久伊人精品| 99久久99久久精品免费观看| 99国产精品久久久久久久久久久| www.爱久久.com| 99国产精品久久久久久久久久| caoporen国产精品视频| 99在线视频精品| 在线精品观看国产| 欧美色爱综合网| 日韩欧美www| 久久久精品黄色| 国产精品久久久久久妇女6080| 中文字幕在线播放不卡一区| 亚洲精品国产无天堂网2021| 亚洲午夜日本在线观看| 日本亚洲天堂网| 国产综合色产在线精品| 成人精品一区二区三区四区 | 成人福利视频网站| 99久久精品免费看| 欧美丝袜丝nylons| 欧美一区二区三区四区在线观看| 日韩欧美一区二区不卡| 久久免费美女视频| 中文字幕中文字幕一区二区| 一区二区高清免费观看影视大全| 亚洲h在线观看| 国产一区二区精品久久99| 成人午夜激情影院| 欧美午夜精品久久久| 日韩精品一区二区三区视频播放| 久久蜜桃一区二区| 亚洲人吸女人奶水| 蜜臀久久久99精品久久久久久| 国产69精品久久777的优势| 色婷婷av一区二区三区gif| 3d成人动漫网站| 欧美国产激情一区二区三区蜜月| 亚洲精品v日韩精品| 蜜桃av噜噜一区二区三区小说| 成人夜色视频网站在线观看| 欧美另类高清zo欧美| 国产色一区二区| 性欧美疯狂xxxxbbbb| 国产一区二区三区四区五区入口| 91九色02白丝porn| 精品奇米国产一区二区三区| 亚洲精品中文在线观看| 精油按摩中文字幕久久| 91精品1区2区| 国产日韩v精品一区二区| 亚洲高清免费在线| 成人av电影免费在线播放| 欧美日韩国产一区| 中文字幕一区二区三区av| 日本vs亚洲vs韩国一区三区二区 | 色综合久久天天综合网| 日韩一区二区免费在线电影| 亚洲精品高清视频在线观看| 狠狠色狠狠色综合系列| 在线电影一区二区三区| 国产精品麻豆网站| 极品少妇一区二区三区精品视频 | 欧美日韩国产小视频| 国产精品欧美一区喷水| 麻豆免费精品视频| 欧美日韩专区在线| 一区二区三区丝袜| 成人av免费观看| 国产亚洲欧洲一区高清在线观看| 日韩精品亚洲专区| 欧美日韩一二三| 亚洲美女屁股眼交| 99久久婷婷国产综合精品| 久久精子c满五个校花| 老司机午夜精品99久久| 欧美日韩高清不卡| 一区二区三区欧美视频| 成人h动漫精品一区二区| 久久女同精品一区二区| 麻豆精品一区二区| 欧美不卡123| 久久精品国产免费| 精品国产亚洲一区二区三区在线观看| 午夜免费欧美电影| 欧美三片在线视频观看| 一区二区三区四区在线播放| 91美女片黄在线观看| 国产乱码精品一区二区三区av | 亚洲国产精品高清| 国产精品一区二区三区99| 久久综合狠狠综合| 国内精品视频666| 欧美精品一区二区三区一线天视频 | 一本色道久久综合狠狠躁的推荐| 国产精品免费看片| 91碰在线视频| 亚洲一区二区三区四区在线免费观看| 色综合天天做天天爱| 一区二区三区在线视频观看| 色视频成人在线观看免| 亚洲成在人线免费| 欧美狂野另类xxxxoooo| 乱一区二区av| 国产欧美一二三区| 97久久超碰国产精品| 一区二区三区av电影| 欧美老肥妇做.爰bbww| 老司机免费视频一区二区三区| 精品国产乱子伦一区| 国产91精品一区二区| 亚洲欧美日韩久久| 91精品国产综合久久精品性色 | 欧美精品一区二区在线观看| 国产成人亚洲精品青草天美| 成人欧美一区二区三区| 欧美嫩在线观看| 国产精品综合二区|