intro(n)                     BLT Built-In Commands                    intro(n)


       BLT - Introduction to the BLT library

       BLT is a library of extensions to the Tk library.  It adds new commands
       and variables to the application's interpreter.

       The following commands are added to the interpreter from the BLT

       table          A table geometry manager for Tk.  You specify window
                      placements as table row,column positions and windows can
                      also span multiple rows or columns.  It also has many
                      options for setting and/or bounding window sizes.

       graph          A 2D plotting widget.  Plots two variable data in a
                      window with an optional legend and annotations.   It has
                      of several components; coordinate axes, crosshairs, a
                      legend, and a collection of elements and tags.

       barchart       A barchart widget.  Plots two-variable data as
                      rectangular bars in a window.  The x-coordinate values
                      designate the position of the bar along the x-axis,
                      while the y-coordinate values designate the magnitude.
                      The barchart widget has of several components;
                      coordinate axes, crosshairs, a legend, and a collection
                      of elements and tags.

       vector         Creates a vector of floating point values.  The vector's
                      components can be manipulated in three ways: through a
                      Tcl array variable, a Tcl command, or the C API.

       spline         Computes a spline fitting a set of data points (x and y
                      vectors) and produces a vector of the interpolated
                      images (y-coordinates) at a given set of x-coordinates.

       bgexec         Like Tcl's exec command, bgexec runs a pipeline of Unix
                      commands in the background.  Unlike exec, the output of
                      the last process is collected and a global Tcl variable
                      is set upon its completion.  bgexec can be used with
                      tkwait to wait for Unix commands to finish while still
                      handling expose events.  Intermediate output is also
                      available while the pipeline is active.

       busy           Creates a "busy window" which prevents user-interaction
                      when an application is busy.  The busy window also
                      provides an easy way to have temporary busy cursors
                      (such as a watch or hourglass).

       bitmap         Reads and writes bitmaps from Tcl.  New X bitmaps can be
                      defined on-the-fly from Tcl, obviating the need to copy
                      around bitmap files.  Other options query loaded X
                      bitmap's dimensions and data.

       drag&drop      Provides a drag-and-drop facility for Tk.  Information
                      (represented by a token window) can be dragged to and
                      from any Tk window, including those of another Tk
                      application.  drag&drop acts as a coordinator, directing
                      Tk send commands between (or within) TCL/Tk

       htext          A simple hypertext widget.  Combines text and Tk widgets
                      into a single scroll-able window.  Tcl commands can be
                      embedded into text, which are invoked as the text is
                      parsed.  In addition, Tk widgets can be appended to the
                      window at the current point in the text.  Htext can be
                      also used to create scrolled windows of Tk widgets.

       winop          Raise, lower, map, or, unmap any window.  The raise and
                      lower functions are useful for stacking windows above or
                      below "busy windows".

       watch          Arranges for Tcl procedures to be called before and/or
                      after the execution of every Tcl command. This command
                      may be used in the logging, profiling, or tracing of Tcl

       bltdebug       A simple Tcl command tracing facility useful for
                      debugging Tcl code.  Displays each Tcl command before
                      and after substitution along its level in the
                      interpreter on standard error.

       The following Tcl variables are either set or used by BLT at various
       times in its execution:

       blt_library    This variable contains the name of a directory
                      containing a library of Tcl scripts and other files
                      related to BLT.  Currently, this directory contains the
                      drag&drop protocol scripts and the PostScript prolog
                      used by graph and barchart.  The value of this variable
                      is taken from the BLT_LIBRARY environment variable, if
                      one exists, or else from a default value compiled into
                      the BLT library.

       blt_versions   This variable is set in the interpreter for each
                      application. It is an array of the current version
                      numbers for each of the BLT commands in the form
                      major.minor.  Major and minor are integers.  The major
                      version number increases in any command that includes
                      changes that are not backward compatible (i.e. whenever
                      existing applications and scripts may have to change to
                      work with the new release).  The minor version number
                      increases with each new release of a command, except
                      that it resets to zero whenever the major version number
                      changes.  The array is indexed by the individual command

       It's easy to add BLT to an existing Tk application.  BLT requires no
       patches or edits to the Tcl or Tk libraries.  To add BLT, simply add
       the following code snippet to your application's tkAppInit.c file.

              if (Blt_Init(interp) != TCL_OK) {
                  return TCL_ERROR;

       Recompile and link with the BLT library (libBLT.a) and that's it.

       Alternately, you can dynamically load BLT, simply by invoking the

              package require BLT

       from your Tcl script.

       Send bug reports, requests, suggestions, etc. to


BLT                                   2.5                             intro(n)