 
 subsubsection3_6_1_3.html  subsection3_6_1.html  subsubsection3_6_1_1.html  tableofcontents3_1.html   Next: subsubsection3_6_1_3.html Controlling the Layout Up: subsection3_6_1.html TixHList - The  Previous: subsubsection3_6_1_1.html Creating a Hierarchical    Creating Entries in a HList Widget  
   Each entry in an HList widget has a unique name, called its 
entry-path, which determines each entry's position in the HList
  widget. The entry-paths of the HList entries are very similar to the
  pathnames of Unix files. Each entry-path is a list of string names
  separated by a 
separator character. By default, the separator
  character is the period character (
.), but it can be
  configured using the 
-separator option of the HList widget.
   In program 4-3, we add several new entries 
foo,
  
foo.bar, foo.bor, foo.bar.bao, .. etc, into the
  HList widget using the 
add method. The relationship between
  the entries is signified by their names, in a way similar to how
  Unix denotes directories and subdirectories. For example, 
foo  is the 
parent of foo.bar and foo.bor; foo.bar is the parent of foo.bar.bao, and so on. As far as
  the terminology goes, we also say that 
foo.bar a child  of 
foo; foo is an ancestor of foo.bar.bao  and 
foo.bar.bao is a descendant of foo.
   The output of program 4-2 is shown in figure
  4-3. As we can see, the entries are displayed under
  their parents with the amount of indentation control by the 
-indent option of the HList widget: foo.bar.bao and foo.bar.kao are display under foo.bar, which is in turn
  displayed under 
foo.
   Entries with no parents, for example, 
foo and dor in
  program 4-2, are called 
top-level
  entries
. Top-level entries are usually entries with no immediate
  superiors in a hierarchical. For example, the owner of a company, the
  principle of a school or the root directory of a Unix file
  system. Toplevel entries are displayed with no indentation.
As evident from program 4-2, all entries who
  entry-path does not contain a separator character are top-level
  entries. The only exception is the separator character itself is
  also a toplevel entry. This makes it easy to display Unix file and
  directory names inside the HList widget, as shown in program
  4-4.
  set folder [tix getimage folder]tixScrolledHList .sh -options {
    hlist.separator     /
    hlist.itemType      imagetext
    hlist.drawBranch    true
    hlist.indent        14
    hlist.wideSelection false
}
pack .sh -expand yes -fill both
set hlist [.sh subwidget hlist]
foreach directory {/ /usr /usr/bin /usr/local /etc /etc/rc.d} {
    $hlist add $directory -image $folder -text $directory
}
(Figure 4-4) Displaying Directories in a HList Widget    
   
  Each entry is associated with a display item (see section 3.2
 about display items). We can use the 
-itemtypeoption of the HList widget to specify the default type of display item
to be created by the the 
add method, as shown in program 4-2
 and 4-4. Alternatively, we can also specify
the type of display item using the 
-itemtype option for the add method.
http://tix.sourceforge.nethttp://tix.sourceforge.net 