home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / TCL / BLT / _BLT.TAR / usr / lib / blt / doc / README < prev    next >
Encoding:
Text File  |  1994-08-21  |  12.6 KB  |  420 lines

  1. IMPORTANT NOTE:  This package has been customized for Linux to support
  2. the desired directory structure and the automatic generation of shared
  3. libraries.  See the README.linux file for details.  If you do not plan
  4. on compiling this package under Linux, you should get an unmodified
  5. version from your favorite Tcl/Tk archive site.
  6.  
  7. This is version 1.7 of the BLT library.  It is an extension to 
  8. Tk toolkit (it requires no patching of the Tcl or Tk libraries).  
  9.  
  10. This library works with the following releases of Tcl/Tk ONLY.
  11.  
  12.     Tcl 7.3 / Tk 3.6
  13.     Tcl 7.2 / Tk 3.5
  14.     Tcl 7.1 / Tk 3.4
  15.     Tcl 7.0 / Tk 3.3
  16.  
  17. The BLT toolkit contains the following widgets/commands:
  18.  
  19. 1) Drag-n-drop command: blt_drag&drop
  20.     Updated version of Michael McLennan's drag and drop command
  21.     (it's still maintained by Michael). 
  22.  
  23. 2) Hypertext widget: blt_htext
  24.     Allows text and Tk widgets to combined in a single scroll-able 
  25.     window.
  26.  
  27. 3) Busy window: blt_busy
  28.     For handling user-interaction when the application is "busy".
  29.     Manages an invisible "busy" window which prevents further 
  30.     user device (keyboard, mouse, button, etc.) interactions.
  31.     Also provides a different cursor which supersedes application
  32.     cursors.
  33.  
  34. 4) Bitmap command: blt_bitmap
  35.     Lets you read and write bitmaps from Tcl. Can define X bitmaps  
  36.     and create bitmaps from text strings.  Other options query any 
  37.         loaded X bitmap.
  38.  
  39. 5) Background "exec" command: blt_bgexec
  40.     Like "exec ... &", but collects the output of the detached 
  41.     UNIX subprocesses and sets a Tcl variable upon their completion.
  42.     Can be used with "tkwait variable" to handle application's 
  43.     expose events, etc. while waiting for subprocesses to finish.  
  44.  
  45. 6) Table geometry manager: blt_table
  46.     Specify window placements as table row,column positions. Also
  47.     has many options for placing constraints on window resizes.
  48.  
  49. 7) Barchart widget: blt_barchart
  50.     
  51. 8) XY graph widget: blt_graph
  52.  
  53. 9) Window option command: blt_win
  54.     Lets you raise, lower, map, or, unmap any window.  
  55.  
  56. 10) Watch commands: blt_watch
  57.     Lets you specify Tcl procedures to be run before and/or
  58.     after every Tcl command.  May be used for logging,
  59.     tracing, profiling, or debugging or Tcl code.
  60.  
  61. 11) Simple command trace: blt_debug
  62.     Simply prints out each Tcl command before it's executed.  
  63.  
  64. 12) Cutbuffer and bell commands: blt_cutbuffer, blt_bell
  65.     The commands are derived from the "bellcut" extensions and are 
  66.     provided as a convenience.  Credit should go to the author(s) 
  67.     (I can't remember who they are. Sorry) for this work.
  68.  
  69.  
  70. ---------
  71.  
  72. Changes since BLT-1.6:
  73.  
  74. 1. New feature in "blt_graph", "blt_barchart":
  75.     
  76.    - New "-ticklength" option specifies length of ticks/subticks.
  77.      Ticks are no longer scaled with the dimensions of the window.
  78.      (POTENTIAL INCOMPATIBILITY).
  79.  
  80. 2. New feature in "blt_bgexec":
  81.  
  82.    - New "-statusvar" option sets variable with exit status of the
  83.      last command.  Now waits for subprocesses to finish even if stdout 
  84.      closes prematurely or output is redirected.  
  85.  
  86. 3. New application "applications/extloader": 
  87.  
  88.    - Creates an vanilla "wish" with an "extension" command from
  89.      dynamically loading and initializing extensions.  Try it out 
  90.      using BLT.  This command reflects the proposal made last year 
  91.      for an extension loader.  It is certainly not the last word on 
  92.      extension loading.  I any welcome comments or suggestions to 
  93.      improve this or any other loader.
  94.  
  95.      It's been tested on HP-UX, SunOS 4.x, and SunOS 5.x.  It should 
  96.      also work on ISIX 5.x, OSF1.
  97.  
  98. 4. Bug fixes:  See the file "ChangeLog" for details.  Thanks to all 
  99.    those who've sent me their reports and fixes.  
  100.  
  101.    - Many bug fixes in blt_graph/blt_barchart (mostly bugs introduced 
  102.      with BLT-1.6).
  103.  
  104.    - "blt_bitmap define" was freeing memory twice if bitmap already 
  105.      existed.
  106.  
  107. ---------
  108.  
  109. Changes since BLT-1.5:
  110.  
  111. 1. New features in "blt_graph":
  112.     
  113.    - New "-bufferelements" options caches elements in a pixmap.  Tags,
  114.      legend and active elements are now drawn after normal elements 
  115.      (POTENTIAL INCOMPATIBILITY).
  116.  
  117.    - Legend creates extra columns of element labels as needed. Legend
  118.      no longer runs off the graph window.
  119.  
  120.    - New legend commands to locate an element in the legend window 
  121.      coordinates, set active foreground/background colors for legend entries.
  122.      Legend background must be now specified (POTENTIAL INCOMPATIBILITY).
  123.  
  124.    - New "element deactivate" command. "element activate" command no longer 
  125.      supports "all" or "none" as index arguments (POTENTIAL INCOMPATIBILITY). 
  126.      If no indices are present, all points are active.  Use 
  127.      "element deactivate" instead of "none".
  128.  
  129.    - New "-borderwidth" option to control width of the border around line
  130.      symbols (e.g. circle, square, etc).  If borderwidth is zero, no border
  131.      is drawn.  Lines connecting symbols and the symbol's area are drawn
  132.      with the foreground color. Only the border is drawn in the background 
  133.      color.
  134.  
  135. 2. Misc changes
  136.  
  137.    - "blt_graph" and "blt_barchart":  Option database names prefixed 
  138.       by "elem" instead of "lineElem" or "barElem".  Class names now 
  139.       have no prefix (formerly "Elem"). (POTENTIAL INCOMPATIBILITY). 
  140.  
  141.    - "blt_barchart": -stipple option for blt_barchart now can take a 
  142.       list of bitmap names. This lets you specify different stipples for 
  143.       each bar segment.
  144.  
  145.    - "blt_table": configure command now can take more than one slave 
  146.      window name.  This lets you set the same options for a set of 
  147.      slave windows.
  148.  
  149.    - "blt_bgexec": output, error, and update variables can be elements
  150.      of an array. 
  151.  
  152. 3. Bug fixes:  See the file "ChangeLog" for details.  Thanks to all 
  153.    those who've sent me their reports and fixes.  
  154.     
  155. ---------
  156.  
  157. Changes since BLT-1.4:
  158.  
  159. 1. New "-descending" axis option for "blt_graph" and "blt_barchart".
  160.    Allows axis to be ordered in decreasing values.
  161.  
  162. 2. New "-invertxy" graph option for "blt_barchart" and "blt_graph".
  163.    Inverts the x and y axes (displays on x-axis on left, y-axis
  164.    on bottom of plot).
  165.  
  166. 3. Bug fixes:  See the file "ChangeLog" for details.  Thanks to all 
  167.    those who've sent me their reports and fixes.  
  168.  
  169. ---------
  170.  
  171. Changes since BLT-1.3:
  172.  
  173. 1. Axis not re-scaling when changing log/linear scale.
  174.  
  175. 2. New command: "blt_watch" arranges for Tcl procedures to be 
  176.    called before and/or after the execution of every Tcl command. 
  177.    This command may be used in the logging, profiling, or tracing of 
  178.    Tcl code.
  179.  
  180. 3. Bug fixes:  See the file "ChangeLog" for details.  Thanks to all 
  181.    those who've sent me their reports and fixes.  
  182.  
  183. ---------
  184.  
  185. Changes since BLT-1.2:
  186.  
  187. 1. Fixed manual scaling bug (seen in ./demos/graph2)
  188.  
  189. 2. New feature: C interface to reset "blt_graph" element data.
  190.  
  191. 3. Bug fixes:  See the file "ChangeLog" for details.  Again, thanks 
  192.    to all those who've sent me reports.  
  193.  
  194. ---------
  195.  
  196. Changes since BLT-1.1:
  197.  
  198. 1. Fixed bug (coredump) in "blt_bgexec" command introduced 
  199.    last release.
  200.  
  201. 2. Fixed bug (error) in "blt_graph" and "blt_barchart" commands 
  202.    introduced in last release.  Bug doesn't allow axis -min, -max options 
  203.    to be reset to autoscale.
  204.  
  205. 3. Fixed bug in Kosherdill installation.
  206.  
  207. 4. New feature in "blt_graph" and "blt_barchart".
  208.    Added alternate x and y axes (x2, y2).  
  209.    Moved axis title options to their respective axis commands
  210.     .graph configure -xtitle "X Axis Title"
  211.    becomes
  212.     .graph xaxis configure -title "X Axis Title"
  213.  
  214. ---------
  215.  
  216. Changes since BLT-1.0:
  217.  
  218. 1. Many changes to configuration and install files.  Hopefully this
  219.    is an improvement.
  220.  
  221. 2. New options in "blt_graph" to detect closest point and highlight
  222.    single element data points.
  223.  
  224. 3. New option in "blt_bitmap" command lets you create bitmaps of rotated 
  225.    text strings.
  226.  
  227. 4. Restructured BLT library to facilitate loading as a shared object.
  228.  
  229. 5. Lots of bug fixes:  See the file "ChangeLog" for details.  Again, thanks 
  230.    to all those who've sent me reports.  
  231.  
  232. ---------
  233.  
  234. Changes since BLT-1.0b2:
  235.  
  236. 1. First BLT application.  
  237.                 Kosher Dill
  238.         ( KOmprehensive Storage HandlER / Disk ILLustrator )
  239.  
  240.        ---------------------------------------------------------------
  241.           Copyright (c) 1993  AT&T Bell Laboratories
  242.         Michael J. McLennan (michael.mclennan@att.com)
  243.        ---------------------------------------------------------------
  244.  
  245.        Kosher Dill is a simple utility for managing disk usage.  It
  246.        provides a graphical representation of the system "du" command,
  247.        along with drag&drop facilities for exploring, compressing
  248.        and removing files.
  249.  
  250.    It can be found in the new "blt-1.0/applications" directory.
  251.  
  252. 2. Drag-and-drop facility "blt_drag&drop".  Michael McLennan has updated
  253.    and added his drag-and-drop command.  
  254.  
  255. 3. Shared library target (for supported systems):  I've been able to test
  256.    this only on SunOS 4.x, SunOS 5.x, and HP-UX 9.01 systems.
  257.  
  258. 4. Add -updatevar flag to "blt_bgexec":  You can now get partial updates
  259.    of output as the program is running.  See the script "demos/bgexec".
  260.  
  261. 5. Library directory: This directory contains the drag-n-drop protocols
  262.    and the PostScript prolog for graph and barchart.  The path can be
  263.    set in the following ways:
  264.     
  265.     - compiled into the library.
  266.     - set by the environment variable "BLT_LIBRARY"
  267.     - set by the Tcl variable "blt_library"
  268.  
  269. 6. Lots of bug fixes:  See the file "ChangeLog" for details.  Thanks to 
  270.    all those who've sent me reports.  I really appreciate it.  
  271.  
  272. ---------
  273.  
  274. How to get and test BLT:
  275.  
  276. The following describes how to get and install the BLT library.
  277.  
  278. 0. FTP the distribution from harbor.ecn.purdue.edu
  279.  
  280.     ftp harbor.ecn.purdue.edu
  281.     cd pub/tcl/extensions
  282.     binary 
  283.     get BLT-1.7.tar.gz
  284.     quit
  285.  
  286. 1. Uncompress and untar the distribution file.  
  287.  
  288.     zcat BLT-1.7.tar.gz | tar -xvf - 
  289.  
  290.  
  291.    This will create a directory "blt-1.7" with the following 
  292.    subdirectories:
  293.     
  294.                         blt-1.7
  295.          ______________|_________________
  296.              |          |       |      |    |
  297.         applications  demos  library  man  src
  298.                                             |
  299.                                           shared
  300.  
  301. 2. Run ./configure
  302.  
  303.    Go into the "blt-1.7" directory 
  304.  
  305.     cd blt-1.7
  306.  
  307.    and run the auto-configuration script "./configure"
  308.  
  309.     ./configure 
  310.  
  311.    * If you want to use gcc, it's "./configure -with-gcc"
  312.  
  313.     ./configure -with-gcc
  314.  
  315.    * By default, the demo program, libBLT.a, the library files, and
  316.      manual pages will be installed in "/usr/local/blt".  You can 
  317.      change this by giving the -prefix option to ./configure.
  318.  
  319.     ./configure -prefix=/depot/stuff/blt
  320.     
  321.   You may be queried for the location of the Tcl and Tk libraries, if
  322.   "configure" can't find them in the standard locations.
  323.  
  324.   The configure script creates an include file "src/bltConfig.h".
  325.   It will also generate new Makefiles from their respective templates 
  326.   (Makefile.in).
  327.  
  328.     Makefile.in             ==> Makefile
  329.     src/Makefile.in            ==> src/Makefile
  330.     src/shared/Makefile.in    ==> src/shared/Makefile
  331.     man/Makefile.in        ==> man/Makefile
  332.     library/Makefile.in    ==> library/Makefile
  333.  
  334.   If "configure" can't find something (e.g. it can't find the X libraries),
  335.   edit the file "config.status" and run it.
  336.  
  337.     ./config.status
  338.  
  339.   Otherwise, you'll have to edit the Makefiles files by hand.
  340.  
  341.  
  342. 3. Compile the demonstration program "blt_wish".
  343.  
  344.     make 
  345.  
  346.  
  347. 4. Test by running the demos. 
  348.  
  349.    Go into the demos directory 
  350.     
  351.     cd demos
  352.  
  353.    and run the test scripts.
  354.     
  355.     ./graph
  356.  
  357.    If your system doesn't support "#!" in shell scripts, then it's
  358.  
  359.     ../blt_wish -f ./graph
  360.  
  361.  
  362. 5. Installing BLT
  363.  
  364.    The following directories will be created when BLT is installed.  
  365.    By default, the top directory is /usr/local/blt.  
  366.  
  367.        _____________|__________
  368.        |      |        |      |  
  369.       bin    lib     library man
  370.      
  371.    You can change the top directory by supplying the -prefix option to
  372.    ./configure.
  373.  
  374.    * If you don't install BLT, you will need to set the BLT_LIBRARY
  375.      environment variable or the Tcl variable "blt_library" in your
  376.      scripts.  Otherwise, you may not be able generate PostScript 
  377.      output for graphs and barcharts, or use the drag&drop facility 
  378.      properly.
  379.  
  380.  
  381. 6. BLT Applications
  382.  
  383.    In the "blt-1.7/applications" directory, there is the first 
  384.    application called "kosherdill".  It has its own README and
  385.    configure script.  
  386.  
  387. 7. Creating a shared library.
  388.  
  389.    This is currently available (and tested) on the following 
  390.    systems:
  391.  
  392.     SunOS 4.x
  393.     SunOS 5.x
  394.     HP-UX 9.01
  395.  
  396.    From the "blt-1.7" directory:
  397.  
  398.     make sharedlib
  399.  
  400.    This will create a shared library in the directory src/shared.
  401.  
  402.  
  403. 8. Adding BLT to your program.
  404.  
  405.    Add the following lines to your program's Tcl_AppInit routine 
  406.  
  407.     if (Blt_Init(interp) != TCL_OK) {
  408.         return TCL_ERROR;
  409.          }
  410.  
  411.    Link with libBLT.a
  412.  
  413.    and that's all there's to it.
  414.  
  415. 9. Send bugs reports, correspondence, etc. to
  416.  
  417.        george.howlett@att.com
  418.  
  419.  
  420.