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

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

?? tree.tcl

?? 一個用TCL/TK寫的用于verilog的集成編輯環境.
?? TCL
?? 第 1 頁 / 共 4 頁
字號:
# ------------------------------------------------------------------------------#  tree.tcl#  This file is part of Unifix BWidget Toolkit#  $Id: tree.tcl,v 1.12 1999/07/09 08:10:38 eric Exp $# ------------------------------------------------------------------------------#  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 {    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}            {-drawcross  Enum       auto    0 {auto allways never}}        }    }    Widget::tkinclude Tree canvas :cmd \        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 {=0 ""}}        {-deltay           Int 15 0 {=0 ""}}        {-padx             Int 20 0 {=0 ""}}        {-background       TkResource "" 0 listbox}        {-selectbackground TkResource "" 0 listbox}        {-selectforeground TkResource "" 0 listbox}        {-width            TkResource "" 0 listbox}        {-height           TkResource "" 0 listbox}        {-showlines        Boolean 1  0}        {-linesfill        TkResource black  0 {frame -background}}        {-linestipple      TkResource ""     0 {label -bitmap}}        {-redraw           Boolean 1  0}        {-opencmd          String  "" 0}        {-closecmd         String  "" 0}        {-dropovermode     Flag    "wpn" 0 "wpn"}        {-bg               Synonym -background}    }    DragSite::include Tree "TREE_NODE" 1    DropSite::include Tree {        TREE_NODE {copy {} move {}}    }    Widget::addmap Tree "" :cmd {-deltay -yscrollincrement}    proc ::Tree { path args } { return [eval Tree::create $path $args] }    proc use {} {}    variable _edit}# ------------------------------------------------------------------------------#  Command Tree::create# ------------------------------------------------------------------------------proc Tree::create { path args } {    variable $path    upvar 0  $path data    Widget::init Tree $path $args    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)     ""    set path [eval canvas $path [Widget::subcget $path :cmd] \                  -width  [expr {[Widget::getoption $path -width]*8}] \                  -height [expr {[Widget::getoption $path -height]*[Widget::getoption $path -deltay]}] \                  -xscrollincrement 8]    $path bind cross <ButtonPress-1> {Tree::_cross_event %W}    bind $path <Configure> "Tree::_update_scrollregion $path"    bind $path <Destroy>   "Tree::_destroy $path"    DragSite::setdrag $path $path Tree::_init_drag_cmd [Widget::getoption $path -dragendcmd] 1    DropSite::setdrop $path $path Tree::_over_cmd Tree::_drop_cmd 1    rename $path ::$path:cmd    proc ::$path { cmd args } "return \[eval Tree::\$cmd $path \$args\]"    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:cmd itemconfigure line  -fill $fill -stipple $stipple        $path:cmd itemconfigure cross -foreground $fill    }    if { $ch1 } {        _redraw_idle $path 3    } elseif { $ch2 } {        _redraw_idle $path 1    }    if { [Widget::hasChanged $path -height h] } {        $path:cmd configure -height [expr {$h*$dy}]    }    if { [Widget::hasChanged $path -width w] } {        $path:cmd 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 Tree::_init_drag_cmd $dragend $force    DropSite::setdrop $path $path 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    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 compare $index "end"] } {        lappend data($parent) $node    } else {        incr index        set data($parent) [linsert $data($parent) $index $node]    }    set data($node) [list $parent]    if { ![string compare $parent "root"] } {        _redraw_idle $path 3    } elseif { [visible $path $parent] } {        # parent is visible...        if { [Widget::getoption $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    if { ![string compare $node "root"] || ![info exists data($node)] } {        return -code error "node \"$node\" does not exist"    }    set result [Widget::configure $path.$node $args]    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] } {            _redraw_idle $path 3        } elseif { $data(upd,level) < 3 && $flag } {            if { [set idx [lsearch $data(upd,nodes) $node]] == -1 } {                lappend data(upd,nodes) $node $flag            } else {                incr idx                set flag [expr {[lindex $data(upd,nodes) $idx] | $flag}]                set data(upd,nodes) [lreplace $data(upd,nodes) $idx $idx $flag]            }            _redraw_idle $path 2        }    }    return $result}# ------------------------------------------------------------------------------#  Command Tree::itemcget# ------------------------------------------------------------------------------proc Tree::itemcget { path node option } {    variable $path    upvar 0  $path data    if { ![string compare $node "root"] || ![info exists data($node)] } {        return -code error "node \"$node\" does not exist"    }    return [Widget::cget $path.$node $option]}# ------------------------------------------------------------------------------#  Command Tree::bindText# ------------------------------------------------------------------------------proc Tree::bindText { path event script } {    if { $script != "" } {        $path:cmd bind "node" $event \            "$script \[string range \[lindex \[$path:cmd gettags current\] 1\] 2 end\]"    } else {        $path:cmd bind "node" $event {}    }}# ------------------------------------------------------------------------------#  Command Tree::bindImage# ------------------------------------------------------------------------------proc Tree::bindImage { path event script } {    if { $script != "" } {        $path:cmd bind "img" $event \            "$script \[string range \[lindex \[$path:cmd gettags current\] 1\] 2 end\]"    } else {        $path:cmd bind "img" $event {}    }}# ------------------------------------------------------------------------------#  Command Tree::delete# ------------------------------------------------------------------------------proc Tree::delete { path args } {    variable $path    upvar 0  $path data    foreach lnodes $args {        foreach node $lnodes {            if { [string compare $node "root"] && [info exists data($node)] } {                set parent [lindex $data($node) 0]                set idx    [lsearch $data($parent) $node]                set data($parent) [lreplace $data($parent) $idx $idx]                _subdelete $path [list $node]            }        }    }    set sel $data(selnodes)    set data(selnodes) {}    eval selection $path set $sel    _redraw_idle $path 3}# ------------------------------------------------------------------------------#  Command Tree::move# ------------------------------------------------------------------------------proc Tree::move { path parent node index } {    variable $path

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区蜜臀| 色婷婷综合久久久久中文一区二区| 国产精品视频免费看| 亚洲女厕所小便bbb| 日韩国产欧美视频| 精品一区二区精品| 日本韩国一区二区三区| 欧美一区二区在线视频| 日本一区二区不卡视频| 天堂成人免费av电影一区| 国产成人福利片| 欧美日韩午夜在线| 欧美精品一区二区三区很污很色的| 日本一区二区三区高清不卡| 午夜激情一区二区| 成人福利视频网站| 91精品国产综合久久国产大片| 久久精品欧美日韩精品| 午夜不卡av在线| av在线不卡电影| 日韩西西人体444www| 亚洲免费在线播放| 国产一区二区三区视频在线播放| 粉嫩av亚洲一区二区图片| 在线播放国产精品二区一二区四区 | 成人午夜碰碰视频| 777亚洲妇女| 久久久久久久久蜜桃| 亚洲第一激情av| 91污在线观看| 亚洲国产精品v| 国产一二三精品| 日韩三级视频在线看| 亚洲午夜日本在线观看| 丁香另类激情小说| 国产夜色精品一区二区av| 日本视频一区二区| 欧美精品v日韩精品v韩国精品v| 亚洲欧美一区二区久久| 国产精品白丝jk白祙喷水网站| 3d动漫精品啪啪1区2区免费| 亚洲在线视频网站| 色一情一乱一乱一91av| 国产精品久久久久久久久搜平片| 国产一区二区不卡| 国产亚洲欧美在线| 国产精品一二二区| 国产欧美日韩另类视频免费观看| 麻豆国产精品777777在线| 99re热这里只有精品免费视频| 久久久99久久| 成人激情校园春色| 欧美高清一级片在线观看| 国产成人午夜高潮毛片| 久久精品综合网| 国产成人av福利| 国产精品久久久久aaaa| 色综合久久综合中文综合网| 中文字幕中文字幕中文字幕亚洲无线| 毛片一区二区三区| 精品久久久久久久久久久久久久久| 久久精品国产一区二区三区免费看| 日韩免费视频一区二区| 国产真实乱偷精品视频免| www国产精品av| 粉嫩av一区二区三区在线播放| 中文字幕一区二区三区在线观看 | 日韩一区和二区| 免费成人你懂的| 国产欧美一区二区三区沐欲| www.99精品| 综合久久久久久久| eeuss鲁片一区二区三区| 亚洲免费观看在线视频| 3d成人h动漫网站入口| 精品亚洲成a人在线观看| 久久蜜桃av一区精品变态类天堂| 成人国产精品免费观看动漫| 亚洲综合一二区| 精品国产精品一区二区夜夜嗨| 国产精品一区二区免费不卡| 亚洲免费观看高清在线观看| 欧美一区二区三区在线观看视频| 国产精品一线二线三线精华| 亚洲美女免费视频| 欧美色窝79yyyycom| 国产一区在线看| 一区二区三区在线看| 精品免费一区二区三区| 色综合中文字幕国产 | 日韩欧美另类在线| 成人免费视频免费观看| 亚洲欧美经典视频| 精品久久国产字幕高潮| 91黄色激情网站| 国产精品香蕉一区二区三区| 亚洲一区二区三区影院| 国产三区在线成人av| 在线成人高清不卡| 91视频一区二区| 国产米奇在线777精品观看| 伊人色综合久久天天| 久久久高清一区二区三区| 欧美在线看片a免费观看| 国产做a爰片久久毛片| 婷婷久久综合九色综合绿巨人| 久久精品这里都是精品| 欧美电视剧在线观看完整版| 在线观看91视频| 北条麻妃一区二区三区| 亚洲国产毛片aaaaa无费看 | 在线不卡中文字幕播放| 色综合久久中文综合久久牛| 成人免费三级在线| 蜜臀久久久久久久| 亚洲大片免费看| 亚洲一级在线观看| 一区二区欧美视频| 国产精品麻豆99久久久久久| 久久久久久久网| 精品乱人伦小说| 欧美一级二级三级蜜桃| 欧美日韩精品综合在线| 欧美性猛交xxxx乱大交退制版| 成人丝袜视频网| 不卡一区中文字幕| 99久久综合狠狠综合久久| 国产乱人伦精品一区二区在线观看| 久久99热99| 国内成+人亚洲+欧美+综合在线| 麻豆高清免费国产一区| 成人欧美一区二区三区小说| 久久亚洲捆绑美女| 欧美成人免费网站| 欧美自拍偷拍一区| 欧美日韩中文一区| 欧美精品三级日韩久久| 欧美日韩国产精品成人| 欧美另类变人与禽xxxxx| 在线不卡中文字幕| 精品区一区二区| 欧美一二三区在线| 久久免费电影网| 国产精品视频一区二区三区不卡| 国产精品欧美久久久久一区二区| 欧美精品一区二区在线观看| 久久精品视频免费| 亚洲欧洲性图库| 亚洲国产激情av| 日韩天堂在线观看| 久久久三级国产网站| 国产精品免费人成网站| 亚洲精品日日夜夜| 婷婷亚洲久悠悠色悠在线播放| 久久99国产精品免费| 国产99久久精品| 欧美在线播放高清精品| 日韩一区二区电影在线| 国产欧美一区在线| 一级中文字幕一区二区| 日韩成人av影视| 国产福利电影一区二区三区| 91亚洲大成网污www| 欧美猛男男办公室激情| 久久婷婷成人综合色| 日韩影院在线观看| 国产成人av自拍| 欧美人与禽zozo性伦| 欧美精品一区二区三区蜜桃| 国产精品久久久久久久久快鸭| 亚洲国产另类av| 精品制服美女久久| 欧美男人的天堂一二区| 国产精品免费网站在线观看| 亚洲成人激情av| 成人午夜视频在线| 欧美区视频在线观看| 国产精品热久久久久夜色精品三区 | 欧美成人精品二区三区99精品| 国产精品人妖ts系列视频| 热久久一区二区| 精品一区二区成人精品| 日韩一级免费一区| 亚洲人成电影网站色mp4| 成人精品电影在线观看| 日韩一区二区三区免费看 | 精品一区二区免费| 欧美视频一区在线观看| 国产人成一区二区三区影院| 久久精品国产77777蜜臀| 欧美亚洲动漫制服丝袜| 日本一二三不卡| 韩国三级在线一区| 2023国产精品| 丝袜美腿亚洲一区二区图片| 一本到不卡精品视频在线观看| 欧美日韩亚洲综合在线| 亚洲高清免费观看 | 欧美亚洲禁片免费| 国产精品国产三级国产普通话蜜臀 |