home *** CD-ROM | disk | FTP | other *** search
/ Practical Programming in Tcl & Tk (4th Edition) / TCLBOOK4.BIN / mac / extensions / blt / BLT2_4z_NEWS.txt next >
Text File  |  2003-04-01  |  27KB  |  708 lines

  1. Changes from 2.4y to 2.4z
  2.  
  3. FEATURES
  4. ========
  5.  
  6. graph/stripchart/barchart
  7.    Under Windows, both the "print1" and "print2" operations will 
  8.    pop-up a standard printer dialog when you don't pass a printer
  9.    argument.
  10. graph/stripchart/barchart
  11.    New -state option for both elements and markers.  If "disabled",
  12.    marker or element isn't eligible for binding events.  This is 
  13.    useful when you have lots (>100,000) of data points.
  14. graph/stripchart/barchart
  15.    New axis option -titlealternate lets you place the axis title to
  16.    the top or right of the axis.  This used to automatically happen when 
  17.    you had more than one axis in a margin.  This option lets you control 
  18.    it.
  19. tree
  20.    Both "find" and "apply" operations may be given more than one 
  21.    pattern switch (-exact, -glob, or -regexp).  This performs a
  22.    logical "or"--if any one of the pattern matches, the node is 
  23.    a match.
  24. tree
  25.    Both "find" and "apply" operations now have addition switches
  26.    -keyexact, -keyglob, and -keyregexp (the -key switch works like
  27.    -keyexact).  You may supply more than one switch.   This performs 
  28.    a logical "or"--if any one of the pattern matches, the node is a 
  29.    match.
  30. graph/stripchart/barchart
  31.    New axis options -scrollmin and -scrollmax allow you to specify
  32.    the scroll region.   Thanks to both Meaghan Parizeau 
  33.    <Meaghan_Parizeau@srtelecom.com> and Julian H J
  34.    Loaring <jhjl@bigj.demon.co.uk> for the solution.
  35. graph/stripchart/barchart
  36.    Polygon marker will trigger bindings even if the marker is not
  37.    filled (-fill "") or has no outline (-linewidth 0).  Interior
  38.    is always considered part of the polygon.  
  39. tree
  40.    Tree adaptively restructures data values from a linked list into a
  41.    hash table when the number of values exceeds 20.
  42. configure.in
  43.    Can build BLT with cygwin (gcc under Windows) distribution.  Type 
  44.    ./configure and make to build.  Use -disable-cygwin switch to build 
  45.    "mingw" version. Many thanks to Mumit Khan <khan@pluto.xraylith.wisc.edu> 
  46.    for all the hard work of porting the configure.in and Makefiles.  
  47.  
  48. BUG FIXES
  49. =========
  50.  
  51. eps
  52.    Canvas item errors out with "can't get handle to EPS file" message.  
  53.    Thanks to Shamil Daghestani <shamild@hotmail.com> for the bug report.
  54. graph/stripchart/barchart
  55.    Image marker doesn't get scaled correctly when scaling factor is
  56.    large. Thanks to Paul Kienzle <pkienzle@jazz.ncnr.nist.gov> 
  57.    for the bug report and example script.  It really helped.
  58. vector
  59.    "min" and "max" initially don't report the correct value.  Many
  60.    thanks to Alexander Eisenhuth <stacom@stacom-software.de> for the 
  61.    bug report.
  62. treeview/tree
  63.    "show -full $key" operation doesn't work.
  64. graph/stripchart/barchart
  65.    Doesn't display trailing data points when there are more than
  66.    65331 points.  Thanks to Val Shkolnikov <nvsoft@pacbell.net>
  67.    for the bug report.
  68. vector
  69.    Vectors leak memory when accessing them through the Tcl array
  70.    variable.  Thanks to Alexander Eisenhuth <stacom@stacom-software.de>
  71.    for the bug report and especially the test script to demonstrate 
  72.    the problem.
  73. treeview/tree
  74.    In "apply" operation, -regexp, -exact, or -glob switches don't
  75.    work.  Always matches every node.
  76. graph/stripchart/barchart
  77.    Axis "-hide" option no longer accepts "all" value.  "all" was
  78.    supposed to hide the axis *and* all the elements mapped to it.
  79.    I don't think this option ever worked correctly.  It was also
  80.    unclear whether to hide the legend entry, markers, etc.
  81. graph/stripchart/barchart
  82.    Changing a marker's -hide option doesn't take effect until the
  83.    graph is redrawn.  Thanks to Alex Verstak <averstak@vt.edu> for 
  84.    the bug report.
  85. graph/stripchart/barchart
  86.    Spurious characters in PostScript output generated under Windows. 
  87.    Thanks to Cary D. Renzema <Cary.Renzema@analog.com> for the bug 
  88.    report and sample files.
  89. graph/stripchart/barchart
  90.    "snap" operation core dumps or returns X protocol error depending 
  91.    on arguments.  Thanks to Carsten Mortensen <cbm@microlex.dk> for
  92.    both the bug report and the fix.
  93. graph/stripchart/barchart
  94.    Polygon marker not drawn unless no outline is specified (-linewith 0).
  95.    Thanks to Nestor Patino <npatino@infovia.com.ar> for the bug report.
  96. treeview/tree
  97.    Tags are removed when tree or treeview widget is destroyed.  Many 
  98.    thanks to Todd Copeland <todd.copeland@legerity.com> for the report.
  99. treeview/tree
  100.    "index" operation segfaults when tag is empty. Again thanks to Todd
  101.    Copeland <todd.copeland@legerity.com> for the report.
  102. pkgIndex.tcl
  103.    Added checks for package directory and its parent when searching
  104.    for BLT shared library.  Thanks to Anton Hartl <toni@devsoft.com>
  105.    for the bug report.
  106.  
  107. Changes from 2.4x to 2.4y
  108.  
  109. FEATURES
  110. ========
  111.  
  112. tree
  113.    Added -notags switch to "restore" operation.  
  114. tree
  115.    Added additional fields to the tree "dump" format.  When trees are
  116.    restored, will try to reuse old node ids (not always possible).  
  117. tree
  118.    Added -label switch to "copy" operation.  This lets you relabel the 
  119.    destination node.
  120.    
  121. BUG FIXES
  122. =========
  123.  
  124. graph/stripchart/barchart
  125.    PostScript output sometimes includes a spurious box around an axis.  
  126.    Thanks to Harvey.Davies@csiro.au for the bug report and example.
  127. tabset/tabnotebook
  128.    On errors tabnotebook grows ad infinitum.  Thanks to Terri Fischer 
  129.    <terri@ner.com> for the bug report and example.
  130. <general>
  131.    Tcl_Init fails with "can't find usable init.tcl" when running
  132.    bltsh or bltwish compile with ActiveTcl.  Changed Tcl_AppInit to 
  133.    set global "tclDefaultLibrary" variable.  
  134. graph
  135.    "legend get" operation doesn't account for hidden entries 
  136.    (i.e. -label is configured to "").  Thanks to Karl Voskuil 
  137.    <voskuil@ll.mit.edu> for the bug report and the fix.
  138. graph
  139.    NULL pointer referenced (bindingTable) when destroying axis.
  140. bgexec
  141.    File redirection broken under Windows.
  142. graph
  143.    Area under curve not stippled correctly when bitmap is greater than
  144.    8x8 (W95/W98) or device context is a metafile (all?).  Created
  145.    XFillPolygon replacement for Windows.
  146. tree
  147.    Node modifiers are incorrectly ignored when first component is a tag.
  148. treeview
  149.    -shadow option no longer accepts empty string (no shadow). Many 
  150.    thanks to Todd Copeland <todd.copeland@legerity.com> for the report.
  151. vector
  152.    Vector "create" operation slows down using #auto as more vectors 
  153.    are created. Thanks to Todd Copeland <todd.copeland@legerity.com> 
  154.    for the bug report.
  155. treeview/hiertable
  156.    Widget doesn't scroll horizontally correctly when -hideleaves is
  157.    true.  Ignores last level when computing world width.
  158. treeview/hiertable
  159.    Deleting a node doesn't remove tag references to it.  Thanks to 
  160.    Steven Hafer <steven.hafer@legerity.com> for the bug report.
  161. treeview/hiertable
  162.    Giving the -path option to the "index" operation always fails. Thanks 
  163.    to Paul Robins <paul.robins@st.com> for the bug report.
  164. <treeview.mann/hiertable.mann>
  165.    Documentation for the "get" operation isn't clear that it always returns
  166.    a list of lists when the -separator option is "" (the default), even
  167.    when there is only one node specified.
  168.  
  169. Changes from 2.4w to 2.4x
  170.  
  171. FEATURES
  172. ========
  173.  
  174. dragdrop
  175.    Back ported 8.3 "dde" command for use with 8.0.
  176.  
  177. BUG FIXES
  178. =========
  179.  
  180. treeview/hiertable
  181.    Can't create column that starts with a minus. Thanks to Todd Copeland 
  182.    <todd.copeland@legerity.com> for the bug report.
  183. <Makefile.in>
  184.    pkgIndex.tcl file not getting rebuilt.  Thanks to Terri Fischer 
  185.    <terri@ner.com> for the bug report and fix.
  186. <dragdrop1.tcl,dragdrop2.tcl>
  187.    Send emulation script isn't needed for Tcl8.0 under Windows. Thanks to
  188.    Linh H Phan <phan@grover.jpl.nasa.gov> for the bug report.
  189. graph/stripchart/barchart
  190.    Using pen styles results in a bus error.  Thanks to Julian H J
  191.    Loaring <jhjl@bigj.demon.co.uk> for the bug report.
  192. hiertable/treeview/tree
  193.    List of data values is reversed from 2.4v.  Thanks to Jorge Suit
  194.    Prez Ronda <jsperez@bayesinf.com> for the bug report.
  195. <bltObjConfig.c>
  196.    Missing header file for varargs.  Thanks to Terri Fischer <terri@ner.com>
  197.    for the bug report and fix.
  198. <bltAlloc.c>
  199.    TclpAlloc and TclpFree not found in Tcl 8.0. Again, thanks to Terri
  200.    Fischer <terri@ner.com> for the bug report and fix.
  201. <BLT.mann,barchart.mann,eps.mann,graph.mann,tabset.man>
  202.    Updated manual pages graciously provided by Terri Fischer <terri@ner.com>.
  203.  
  204. Changes from 2.4v to 2.4w
  205.  
  206. FEATURES
  207. ========
  208.  
  209. treeview
  210.    New treeview widget is updated version of hiertable.  Uses Tcl_Objs.
  211.    The "hiertable" and "treeview" are the 100% syntax compatible.  The 
  212.    old hiertable is temporariliy available as "hiertable-old" should 
  213.    you find errors.  Also use the "treeview" instead of the "hierbox"
  214.    widget. The "hierbox" isn't as capable and doesn't use tree data
  215.    objects.
  216. treeview/hiertable
  217.    Added tagging operations similar to the "tree" command.  Attaching
  218.    a tree to the treeview/hiertable (the -tree option) now gives you
  219.    access to the tree's tags too.  Don't confuse this with "bindtags".
  220.    For example, you can tag nodes with the "tree" command and operate
  221.    on them in the treeview/hiertable widget using that tag. If you
  222.    don't want to share tags, the -newtags option will prevent this.  
  223.    There's an update "treeview" manual entry to describe this.
  224. treeview/hiertable
  225.    The "nearest" operation can report what part of the entry the pointer
  226.    is over.  If a variable name argument is given, the variable will
  227.    contain either "button", "label", "icon", or "".
  228. eps/winop
  229.    Faster image zooming and rotation (fixed-point arithmetic).
  230.  
  231. BUG FIXES
  232. =========
  233.  
  234. vector
  235.    Test of real number in a range is broken. Thanks to Paul Robins
  236.    for the bug report.
  237. treeview/hiertable
  238.    "nearest" operation doesn't allow an optional "variable" argument.
  239. hiertable/hierbox
  240.    The -selectioncommand command is invoked when closing an entry 
  241.    with no selected descendants.  Thanks to Jorge Suit Prez Ronda 
  242.    <jsperez@bayesinf.com> for the bug report.
  243. hiertable/hierbox    
  244.    In single "mode", the selection anchor is not updated when the
  245.    selection is moved via the keyboard. Thanks to Jorge Suit Prez Ronda 
  246.    <jsperez@bayesinf.com> for the bug report.
  247. hiertable        
  248.    Editor overwrites memory (seen best under Windows).   
  249. hiertable        
  250.    The "open" and "close" operations don't check for no arguments.
  251. hiertable
  252.    Vertical dotted lines start on wrong y-coordinate when clipped.
  253. hiertable
  254.    Active button isn't clipped by column titles.
  255. hiertable
  256.    Column titles are still displayed and picked despite -showtitles 
  257.    set to "no". 
  258. hiertable
  259.    Editor doesn't automatically select acquired text. 
  260. hiertable
  261.    Moving the cursor in the editor doesn't clear the selection.
  262. hiertable
  263.    Typing a "space" doesn't replace the selection with a space.
  264. tree
  265.    Traces on the same node loop infinitely.  TRACE_ACTIVE flag not 
  266.    set/unset.
  267. tree
  268.    The "restore" and "restorefile" operations don't handle newlines
  269.    in data key/values, node labels, or tags.
  270. graph/barchart/stripchart
  271.    Crosshairs left on screen when the mouse is pulled quicky from the 
  272.    widget.  
  273. graph/barchart/stripchart
  274.    Spurious crosshairs also left on the screen if axes are reconfigured 
  275.    (active axes).
  276. graph/barchart/stripchart
  277.    Image marker not updated if image is changed.
  278. graph/barchart/stripchart
  279.    PostScript not generated for -showvalues option. 
  280. graph/barchart/stripchart
  281.    PostScript not generated for errorbars.
  282. bgexec
  283.    No check for wrong number of arguments if switch is present.
  284. <bltAlloc.c>
  285.    Blt_MallocProcPtr and Blt_FreeProcPtr not declared extern in 
  286.    bltInt.h
  287. <bltTile.c>
  288.    Bogus test for mask in Blt_TilePolygon routine.
  289. <bltImage.c>
  290.    Counter for transparent pixels wrong in Win32 version of Blt_PolygonMask.  
  291. <bltInit.c>
  292.    blt_version not set when dynamically loaded into wish83.exe.  
  293.  
  294. Note: Stub support is still missing although patches have been
  295.       graciously provided for the 2.4q release.  This will be added as
  296.       soon as I can get some free time.
  297.  
  298. Changes from 2.4u to 2.4v
  299.  
  300. FEATURES
  301. ========
  302. bgexec
  303.    New -linebuffered switch.    
  304.  
  305.         bgexec myVar -linebuffered yes -onoutput ShowLine myProg &
  306.  
  307.     This option lets you process updated data (-onerror, -onoutput, 
  308.     -error, or -output) on a line by line basis.  Normally notifications 
  309.     occur once for entire data block. This switch causes separate 
  310.     notifications to made for each complete line.
  311. bgexec
  312.     New -decodeoutput and -decodeerror switches.
  313.  
  314.      bgexec myVar -decodeoutput unicode -output myOut myProg &
  315.  
  316.     Translates data from the specified encoding to UTF before passing
  317.     it to the Tcl interpreter. Normally no translation is made (under
  318.     Windows CR-LF conversions are made) and the raw, typically ASCII,
  319.     characters are passed back to the Tcl interpreter.  
  320.     Binary data can be collected with the "binary" encoding. For 
  321.     versions using Tcl 8.1 or greater, data is returned as Tcl byte 
  322.     array object, so you can use the "binary" command to convert it 
  323.     as needed.
  324.  
  325.       set out [bgexec myVar -decodeoutput binary myProg]
  326.       binary scan $myOut f values
  327. tree
  328.    New "dumpfile" and "restorefile" operations to "tree" command.
  329. tree
  330.    Extended -> syntax in tree command to use node names.  
  331.  
  332.     set data [$tree get root->"fred"->"pebbles"]
  333. tree 
  334.    Improved memory handling of large trees.  Pool allocators added to
  335.    reduce overall memory consumption. 
  336. graph/stripchart/barchart
  337.    New -buffergraph switch.    
  338.     .graph configure -buffergraph no
  339. graph
  340.    New options to fill area under curve of an element.
  341.     
  342.     .graph element configure line1 -areapattern solid 
  343.     .graph element configure line2 -areapattern BLT 
  344. graph/stripchart/barchart
  345.    New -reduce option.
  346.  
  347.     .graph element configure line1 -abstol 0.5
  348.  
  349.    Designates error tolerance for line simplificiation. Points that 
  350.    vary less than the given tolerance are merged into a single line 
  351.    segment.
  352. miscellaneous
  353.    Can globally replace memory allocation routines by setting 
  354.    pointers Blt_MallocProcPtr and Blt_FreeProcPtr.
  355. winop
  356.    New "rotate" operation lets you rotate photo images.
  357.  
  358. BUG FIXES
  359. =========
  360. bgexec
  361.    Fixed a race condition that caused assertion under Windows to fail.
  362.    When both stdout and stderr are collected, if the stdout handler
  363.    finishes first, the memory used by read thread handler could be 
  364.    freed before the stderr pipe was closed.
  365. graph/stripchart/barchart
  366.    PostScript coordinates are no longer integers (screen resolution).
  367. graph/stripchart/barchart
  368.    Polygon markers now clipped properly.
  369. vector
  370.    Vectors can't be mapped to local variables.  This was broken 
  371.    in the 2.4r release.  Thanks to Johannes Zellner 
  372.    <johannes@zellner.org> for the bug report.
  373. vector
  374.    Tcl command associated with a vector not destroyed when the vector
  375.    is deleted.  Much thanks to Alexander Eisenhuth <stacom@topmail.de> 
  376.    for the bug report and the example script.
  377. drag&drop
  378.    "drag&drop" command fails when multiple formats are specified.
  379.     Seen in the dragdrop2.tcl demo.
  380. spline
  381.    Incorrectly reports the spline's x-vector to be non-monotonic.  
  382.    Thanks to Chang Li <changl@neatware.com> for the bug report.
  383. <pkgIndex.tcl>
  384.    Fixed pkgIndex.tcl.in to figure out whether to load libBLT24.so
  385.    or libBLTlite24.so when BLT is loaded, not when the package is 
  386.    registered.  Thanks to Dr. Dieter Ruppert <ru@swb.siemens.de> for
  387.    the bug report and fix.
  388.  
  389. Changes from 2.4t to 2.4u
  390.  
  391. BUG FIXES
  392. =========
  393. <./configure>
  394.    Fixed my stupid error (missing close brace) in ./configure file.  
  395. <Makefile.in>
  396.    Makefile in src/shared doesn't define BLT_LIBRARY.  Thanks
  397.    to terri@ner.com (Terri L. Fischer) for the bug report and fix. 
  398. graph/barchart/stripchart
  399.    graph doesn't find vector in global namespace when inside of another 
  400.    namespace. Thanks to Julian H J Loaring <bigj@bigj.demon.co.uk> for 
  401.    the bug report.
  402. graph/barchart/stripchart
  403.    Scratch buffer to small for PostScript prolog.  Thanks again to
  404.    Julian H J Loaring <bigj@bigj.demon.co.uk> for the bug report 
  405.    and fix. 
  406. graph
  407.    "bind" would fail on elements without traces (-linewidth 0).
  408.    Thanks again to terri@ner.com (Terri L. Fischer) for the bug report.
  409.  
  410.  o Many changes to "dnd" command.  
  411.  
  412.       +    -package option is treated as a command prefix (like the 
  413.         scrollbar), not a script.  Percent sign substitutions are
  414.         no longer allowed.  Information is passed via key-value 
  415.     parameters like the -onleave, -ondrop procedures. Procedure 
  416.         must return 1 if operation was Ok, and 0 if it failed.  
  417.   
  418.       +    The command arguments for both the "setdata" and "getdata"
  419.     operations have changed from an arbitrary Tcl script with
  420.     percent sign substitutions, to a command prefix with 
  421.     key-value arguments appended. The general form is
  422.  
  423.         procName widget args...
  424.  
  425.     where args is one of more key value pairs.
  426.  
  427.         x        Relative X-coordinate of drop or pickup.
  428.         y        Relative Y-coordinate of drop or pickup.
  429.         timestamp    Timestamp of transaction.
  430.         format        Format desired.
  431.         value        Value transfered (setdata only).
  432.  
  433.     You can use array set to parse "args".  For example:
  434.  
  435.         proc GetColor { widget args } {
  436.             array set info $args
  437.     
  438.             puts "x-coordinate is $info(x)"
  439.             puts "selected format is $info(format)"
  440.  
  441.             return [$widget cget -bg]             
  442.         }
  443.     
  444.       + If an -onmotion procedure is specified for the target, it is
  445.     automatically invoked on drops before the -dropcmd is run. 
  446.     If it returns 0, the drop is canceled.
  447.     
  448.       + Added ./demos/dnd2.tcl to show more complicated example.
  449.     Just like dnd1.tcl, you need to run two of them at the same
  450.     time to see the drag-and-drop operations.
  451.  
  452.       + Target property wasn't getting reset when changing -onmotion, 
  453.     -onleave, etc. procedures. 
  454.     
  455.       + Timestamps now displayed as unsigned. 
  456.     
  457.    Many thanks to Tom Lane <tgl@sss.pgh.pa.us> for all his help and
  458.    suggestions.
  459.  
  460. Changes from 2.4s to 2.4t
  461.  
  462.  o Tree command syntax changes.  Notify and trace operation now work
  463.    as advertised and a copy operation added.  Many thanks to Matt 
  464.    Newman <matt@sensus.org> for meticulously reviewing the command. 
  465.  
  466.  o graph "snap" operation syntax change.  Added support for generating
  467.    Aldus metafiles and enhanced metafiles under Windows. 
  468.  
  469.     # Normal syntax.
  470.          set image [image create photo]
  471.     .graph snap $image
  472.  
  473.     # New additions.
  474.     .graph snap -format emf myFile.emf ;# Enhanced metafile
  475.     .graph snap -format wmf myFile.wmf ;# Aldus placable metafile
  476.     .graph snap -format emf CLIPBOARD  ;# Metafile written into clipboard.
  477.  
  478.    Old width and height arguments are replaced with -width and -height 
  479.    switches.
  480.  
  481.     .graph snap $image 500 500             ;# Old
  482.     .graph snap -width 500 -height 500 $image    ;# New 
  483.  
  484.    Thanks to Alain Zuur <a.zuur@marlab.ac.uk> for the enhancement.
  485.   
  486.  o Tabset/Tabnotebook -selectforeground option for tabs using wrong
  487.    configuration option type.  Both the bug report and fix are from
  488.    Mark E. Smith <mark@pearl.grand.gdats.com>.  Thanks.
  489.  
  490.  o graph "bind" to use closest point instead of line segment when 
  491.    element contains only 1 point.  Thanks to Uwe Klein 
  492.    <uwe-klein@foni.net> for the bug report and script.  
  493.  
  494.  o Hiertable tree view column has been internally renamed to 
  495.     
  496.       "BLT Hiertable widgetName".  
  497.  
  498.    It was formerly the name of the widget.  Fortunately, you can
  499.    refer to the column as "treeView" instead.  
  500.  
  501.      .ht column configure treeView -text "View Label"
  502.  
  503.  o There's no ".tree" suffix anymore on the default tree created by 
  504.    the hiertable widget.  It's now just the widget name. 
  505.  
  506.  o Many hiertable column bug fixes. Thanks to Julian H J Loaring 
  507.    <bigj@bigj.demon.co.uk> for all the tests and reports. 
  508.  
  509.  o Rotated text displayed incorrectly under Windows 95/98 using 
  510.    non-TrueType fonts.  A test for typetype fonts has been restored.
  511.    Thanks to James Pakko <jpakko@ford.com> for the bug report and
  512.    script.
  513.  
  514.    Under Windows, Non-TrueType fonts are drawn into a bitmap and 
  515.    the bitmap is rotated.  This provides the same quality as using 
  516.    rotated fonts for on-screen display.  Unfortunately it's much 
  517.    poorer for higher resolution devices such as printers. The best 
  518.    bet is to simply choose TrueType fonts if you can.
  519.  
  520.  o Improved Hiertable folder images.  Many thanks to Tom Lane 
  521.    <tgl@sss.pgh.pa.us> for the new images. 
  522.  
  523.  o Bgexec segfaults under Windows (NT/95) if file handler is 
  524.    deleted inside of callback.  Thanks to Chris Oliver 
  525.    <coliver@mminternet.com> for the bug report.
  526.  
  527.  o graph segfaults if pen style range min/max are the same. 
  528.    Thanks to Thomas Wu <twu@gene.com> for the bug report and script.
  529.  
  530.  o tabnotebook and tabset widgets would generate X11 errors if
  531.    embedded window was resize to zero width/height.  Thanks to
  532.    Ed Ohsone <eosn@rahul.net> for the report and the script to
  533.    demonstrate the error.
  534.  
  535. Changes from 2.4r to 2.4s
  536.  
  537.  o Fixed bug in stripchart (introduced in 2.4r) allowing uninitialized
  538.    data to be displayed.  Thanks to Dick Gooris <gooris@lucent.com> for
  539.    the bug report.
  540.  
  541.  o AIX dynamic loading.  Actually made it work on a 4.3 AIX box.
  542.  
  543.  o Fixed -tree option in hiertable.  Would segfault if tree was not
  544.    fully initialized first.
  545.  
  546.  o Tree insert operation syntax changed from 
  547.  
  548.      tree0 insert $node key1 value1 key2 value2
  549.    to
  550.     tree0 insert $node -data { key1 value1 key2 value2 }
  551.  
  552.  o Fixed tree label operation.  Save uid instead of string.
  553.    
  554.  o Bug in TreeEventProc, should be node != NULL instead of node >= 0
  555.    Thanks to Julian H J Loaring <bigj@bigj.demon.co.uk> for the
  556.    bug report. 
  557.  
  558.  
  559. What's new in 2.4?
  560.  
  561.  1. "eps" canvas item.  
  562.  
  563.     An encapsulated PostScript canvas item lets you embed an EPS file into 
  564.     the canvas.  The "eps" item displays either a EPS preview image found 
  565.     in the file, or a Tk image that you provide.  
  566.  
  567.  2. "hierbox" and "hiertable" widget.
  568.  
  569.     Hierarchical listbox widget. Displays a general ordered tree which 
  570.     may be built on-the-fly or all at once.
  571.  
  572.  3. "tabset" and "tabnotebook" widget.
  573.  
  574.     Can be used either as a tab notebook or simple tabset.  Tabs can 
  575.     be arranged in a variety of ways: multi-tiered, scrolled, and 
  576.     attached to any of the four sides.  Tab labels can contain both 
  577.     images and text (text can be arbitrarily rotated). Notebook pages 
  578.     can be torn-off into separate windows and replaced later. 
  579.     
  580.  4. Changes to vectors.
  581.  
  582.     New features:
  583.     
  584.      o    Vector expressions.  The vector now has an "expr" operation
  585.     that lets you perform math (including math library
  586.     functions) on vectors.  There are several new functions
  587.     (such as "max", "min", "mean" "median", "q1", "q3", "prod",
  588.     "sum", "adev", "sdev", "skew", ...)
  589.  
  590.         vector expr { sin(x)^2 + cos(x)^2 }
  591.         y expr { log(x) * $value }
  592.  
  593.      o    New syntax to create and destroy vectors:
  594.  
  595.         vector create x 
  596.         vector destroy x
  597.  
  598.     The old syntax for creating vectors still works.
  599.  
  600.         vector x
  601.  
  602.      o    Vectors are *not* automatically deleted when their Tcl
  603.     variable is unset anymore. This means that you can
  604.     temporarily map vectors to variables and use them as you
  605.     would an ordinary Tcl array (kind of like "upvar").
  606.  
  607.         proc AddValue { vecName value } {
  608.          $vecName variable x
  609.     
  610.          set x(++end) $value
  611.         }    
  612.  
  613.     There's an "-watchunset" flag to restore the old
  614.     behavior if you need it. 
  615.  
  616.         vector create x -watchunset yes
  617.  
  618.      o  Vectors still automatically create Tcl variables by
  619.     default.  I'd like to change this, but it silently
  620.     breaks lots of code, so it will stay.
  621.  
  622.     Bug fixes:
  623.  
  624.      o  Vector reallocation failed when shrinking the vector.
  625.  
  626.      o  Vector "destroy" callback made after vector was already freed.
  627.  
  628.      o  Fixed vector/scalar operations.
  629.  
  630.      o  Always store results in temporary, so not to overwrite accidently
  631.     current vector values.
  632.     
  633.  5. Changes to Graph, Barchart, Stripchart widgets.
  634.  
  635.     New features:
  636.  
  637.      o     Drop shadows for text (titles, markers, etc). Drop
  638.     shadows improve contrast when displaying text over a
  639.     background with similar color intensities.
  640.    
  641.      o  Postscript "-preview" option to generate a EPS
  642.     PostScript preview image that can be read and
  643.     displayed by the EPS canvas item.
  644.  
  645.      o  New "-topvariable", "-bottomvariable",
  646.     "-leftvariable", and "-rightvariable" options.  They
  647.     specify variables to contain the current margin
  648.     sizes.  These variables are updated whenever the
  649.     graph is redrawn.
  650.  
  651.      o  New "-aspect" option. Let's you maintain a particular aspect
  652.     ratio for the the graph.
  653.  
  654.      o  Image markers can now be stretched and zoomed like
  655.         bitmap markers.
  656.  
  657.      o  Bind operation for legend entries, markers, and elements.
  658.  
  659.     Much thanks to Julian Loaring <bigj@bigj.demon.co.uk> 
  660.     for the idea.
  661.  
  662.      o  New "-xor" option for line markers, lets you draw the line
  663.     by rubberbanded by XOR-ing without requiring the graph to
  664.     be redrawn.  This can be used, for example, to select regions
  665.     for zooming.  
  666.  
  667.     Thanks to Johannes Zellner (joze@krisal.physik.uni-karlsruhe.de) 
  668.     for the idea.
  669.  
  670.      o  Can attach a scrollbar to an axis.  
  671.  
  672.           .sbar configure -command { .graph axis view y } 
  673.         .graph axis configure y -scrollcommand { .sbar set } 
  674.  
  675.     Bug fixes:
  676.  
  677.      o    Closest line (point) broken when using pens styles.
  678.  
  679.      o    Marker elastic coordinates were wrong.
  680.  
  681.      o    PostScript bounding box included the border of the page.
  682.  
  683.      o    Bad PostScript generated for barchart symbols with stipples.
  684.  
  685.      o    Wrong dimensions computed with postscript " -maxpect" option.
  686.  
  687.      o  Text markers fixed.
  688.  
  689.     Thanks to De Clarke for the bug report and fix.
  690.  
  691.  
  692.      o  Renamed axis configuration from "-range" to "-autorange" to
  693.     match the documentation.  
  694.  
  695.     Thanks to Brian Smith for the correction.
  696.  
  697.      o  Fixed polygon marker pick routine.
  698.  
  699.      o  Fixed active tab labels overlapping the selected tab.
  700.  
  701.      o  PostScript graph footer turned off by default.  Use -footer option
  702.         to turn on.
  703.  
  704.         .graph postscript configure -footer yes
  705.  
  706.  
  707.  
  708.