
Tree-4.0.3 - A Tree Widget for Tk4.0 based on C++ (and [incr Tk])
-----------------------------------------------------------------


Introduction
------------

This Directory contains the sources for a Tk-4.0 based widget for
displaying dynamic trees.

I've also added an [incr Tk] "Tree" class, based on the C++ "tree"
widget.  It makes working with trees a little easier by adding an
extra layer over the basic tree widget. See the man page Tree(n)
for a description of the [incr Tk] "Tree" widget.


Features of the Tree Widget
---------------------------

With the tree widget, you can display a tree in a Tk canvas. The nodes
can be made up of any number of canvas items or even other Tk widgets.
You create the objects that make up a node and the line that connects
it to its parent and pass them to the tree widget. After this the tree
widget manages the positions of the nodes and end points of the tree
lines.  Operations are available for inserting, moving and removing
nodes and subtrees and for querrying the position of a node in the
tree. The tree can be displayed horizontally or vertically.


Documentation
-------------

There is a HTML tutorial in ./doc directory which basically takes you 
step by step through the dirtree demo.  You can view this with an HTML
browser, such as netscape or mosaic.

There are also man pages in the ./man directory describing the tree
widget and the [incr Tk] widget.


Requirements
------------

The following software is required to compile this release:

    tk4.0       
    tcl7.4      
    itcl-2.0    (optional, not required for basic tree widget)

Note: The basic C++ tree widget only requires Tcl and Tk. 
The "dirtree" demos use only plain Tcl/Tk plus the tree widget.

Compiling ---------

1. run ./configure from the top level directory.

2. Type: make

This creates a library "libTkTree.a" and a binary "tree_wish" for
running the demos.

3. Type: make install

This installs the library, binary and the tcl files.


Demos
------

There are some simple demos in the ./demos directory. To try them out,
cd to that directory and run one of these scripts:

simple -          just demonstrates the tree widget by creating a static 
                  tree using the [incr Tk] interface

dirtree -         directory browser demo.
                  This is a demo that doesn't use the [incr Tcl] 
                  interface. Clicking with mouse B2 on a directory opens up 
                  a file list in the tree. Double-Click with B1 shows or
                  hides the subdirectories.

dirtree[1..n] -   simple demos described in the tutorial in ./doc/tree.html
                  (builds up the dirtree demo step by step).


Copyright:
----------

This is free software. See the Copyright file with this distribution
for details.
Please send bug fixes, comments etc. to:

=======================================================================
Allan Brighton (abrighto@eso.org)
=======================================================================
