#!../tree_wish -f
# -*-Tcl-*-
#
# dirtree1 - simple tcl tree demo
# 
# This demo shows how to display a simple directory tree 
# using the basic tree widget (without the Itcl class).
#
# Author: Allan Brighton (abrighto@eso.org) 

source util.tcl
 

# add the given dir to the tree
#
# Args: 
#  canvas  - tree's canvas
#  tree    - the tree
#  parent  - pathname of parent dir 
#  dir     - pathname of new dir being added
#  text    - text for tree node label (last component of dir)

proc AddDir {canvas tree parent dir text} {
    set bitmap @bitmaps/dir.xbm
    $canvas create text 0 0 -text $text -tags [list $dir text $dir:text]
    $canvas create bitmap 0 0 -bitmap $bitmap -tags [list $dir bitmap $dir:bitmap]
    set line [$canvas create line 0 0 0 0 -tag "line"]
    LayoutNode $canvas $tree $dir
    $tree addlink $parent $dir $line
}


# main 

wm geometry . 400x275
set canvas [MakeCanvas . .c]
set tree [tree $canvas.t -layout vertical]

cd ..
set dir [pwd]
AddDir $canvas $tree {} $dir [file tail $dir]
ListDirsRec $canvas $tree $dir
