Version 13 of Refactored BLT Components

Updated 2010-11-01 05:35:36 by stevel

Introduction

Date12 Oct 2009
Current statealpha release
Sourcesrbctoolkit

RBC is:

  • BLT's vector, graph, barchart, stripchart, winop, and eps components
  • TEA compliant
  • 3800+ automated test suite, plus many more manual tests
  • Works (for me) on win32, linux 32 bit and linux 64 bit, Tcl/Tk 8.4,8.5, and 8.6beta.

RBC is not (yet):

  • documented
  • experienced
  • beautiful (see pkgIndex.tcl for an example)
  • free from Tcl/Tk internals
  • including Zoom-Stack
  • tested with starkits

Replace BLT with RBC

Replace

package require BLT
namespace import blt::*

with

package require rbc
namespace import rbc::*

The rest should work. This procedure was tested with

Of course, you need to append the path to the rbc package for this to work. So something like this should be in your tcl file.

lappend auto_path <path-to-your-rbc-files>

JHJL I have hacked the ZoomStack code in graph.tcl and seem to have got interactive zooming to work (for me). In the functions PushZoom & PopZoom I commented out the calls to "busy" and put in an event generate as follows:

# busy hold $graph
event generate $graph <Configure>
# busy release $graph

I am not sure that <Configure> is the right event to use but I had previously noticed that resizing the window caused a redraw which used the newly set axis max/min limits.

JHJL Same trick works for ActiveLegends i.e. put event generate $graph <Configure> in ActivateLegend, DeactivateLegend and HighlightLegend.

Not sure why it works, suspect BLT (RBC) minimizes redraws etc to improve performance and that the <Configure> forces it's hand...


JBR : I have recently replaced a bunch of BLT plots with RBC. It seems to work, but I have two complaints:

1. The cursor disapears when moved into the plot. 2. The plot axis labels are slightly clipped.

Can anyone help me with these?

Thanks

LV any code to demonstrate this issue?


dcg - 2010-01-23 11:33:34

Any chance for bgexec and some of the other esoteric functions from BLT to be included in RBC at some point? I use both bgexec and blt::winop resample (which is an undocumented sub feature of the winop command to resize images with various smoothing filters) extensively. These features of BLT are why I have stayed with TCL 4.8.19 for so long.