This is the README file of patch10 for Wafe 1.0. This file describes the changes between Wafe 1.0.9 and 1.0.10. For changes between 1.0 and 1.0.9 please consult the README files contained in the patch kit. General information about Wafe can be found in the World Wide Web via the URL http://www.wu-wien.ac.at/wafe/wafe.html The new version features in the following items: Enhancements for all flavors of Wafe: - the internal wafeString package has been extended, a replacement for Tcl_Merge is now included since Tcl_Merge seems not appropriate for percent substitutions under double quotes (e.g. the command {puts stderr "%S"} in callbacks of the XmList widget led to incorrect interpretations of list elements when spaces and unbalanced braces occurred in a string element) - bug fix for programs that use Wafe as a front end and write to stdout without the prompt character ('%') and flush the buffer (BinProlog); this bug was introduced in version 1.0.8. - if a resource name in any setValues (sV) command, widget creation command, mergeResources command or fallbackResources command tarts with the character '#', it is ignored. This makes it much easier to deactivate certain resource settings for experimenting or debugging Enhancements for Motif flavors of Wafe: - improved string-to-XmString conversion routines * faster (less copying) * no hard coded length limitations (up to the last version a Wafe a string segment (typically a line) was limited to 4KB, a char set name (or rendition name) was limited to 50 characters) * a small memory leak fixed (char set names were not freed) * uses Motif 2.0 functions where available - When .xpm-routines are used in resource converters (e.g. "sV .... labelPixmap picture.xpm") more error messages are reported to the user in cases of failure Enhancements for Motif 2.0 flavors of Wafe: - new command: XmScaleSetTicks The command 'XmScaleSetTicks' controls the number, location and size of the tick marks on a scale. Each tick mark is implemented as a separator gadget. If tick marks are specified and the orientation of the XmScale widget is changed, it is necessary to destroy all children of the XmScale widget and to recreate new tick marks using XmScaleSetTicks again. For an example, see: wafe/src/tcl/m-scale Enhancements for additional widget classes: - Ghostview * setting the filename resource of the Ghostview widget class to "" causes this attribute to be set to NULL instead of a null string (actually, the filename attribute should not have the type "String", but "Filename" to avoid this special treatment). (This feature was actually implemented already in 1.0.9, but was missing in the change notes) * additional percent codes for Ghostview widget class + %s in outputCallback gets substituted by output messages from ghostscript (in case an error occurs) + %s in messageCallback gets substituted by message information string (such as "Refresh" etc). - HTML: * support for pointerMotionCallbacks in the HTML widget class * The new function 'HTMLgetMarkUp' returns a list of markup elements where each element has the form , where type specifies the type of markup (text or various tags), offset is the byte offset of the text in the raw html text, and text is the text element. - Plotter: additional commands for Plotter widgets to extend a plot incrementally are provided: AtBarPlotExtendData + AtLinePlotExtendData + AtXYLinePlotExtendData + It is possible to use the *ExtendData commands on empty plot widgets as well. - Motif Tree Widget: Fix for the implementation of the Motif Tree widget: In the original implementation it was possible that large nodes in the tree could overpaint the arcs. This should not happen anymore. Tcl sample scripts: - new scripts (using the OSF/Motif version of wafe) m-gsv a more elaborate postscript viewer (using the XmNotebook widget if available) m-scale showing slider and thermometer style scales needs Motif2.0 m-tetris a Wafe version of the well known game In order to apply this patch, be sure that your Wafe installation is on the Wafe 1.0 level (or newer), cd to the Wafe home directory, expand this tar file over the old distribution; if you are a newcomer, please note that you have to get wafe-1.0.tar.gz and expand it, before expanding the patch release. If appropriate, remove and rebuild the following libraries - wafe/lib/plotter/At/libAt.a (fixes for Axis) - wafe/lib/Xaw3d/libXaw3d (fixes for Layout) - wafe/lib/layout/liblayout.a (fixes for Layout) - wafe/lib/layout/libm-layout.a (fixes for Layout) - wafe/lib/XmGraph/libgraph.a (fixes for Motif 2.0) - wafe/lib/libhtmlw/libm-htmlw.a (fixes for Motif 2.0) - wafe/lib/libhtmlw/libhtmlw.a (fixing memory leak, Motif 2.0) and perform the usual configuration in wafe/src/Imakefile (as indicated in INSTALL) or use the new TOPMAKE (read the top section of wafe/src/TOPMAKE). If you use Xaw3d, will have to rebuild the Xaw3d library manually. Finally, don't forget to install the new version! Gustaf Neumann