Go Back   Rhinocerus > Newsgroup > Newsgroup comp.lang.* 1 > Newsgroup comp.lang.tcl

Reply
 
Thread Tools Display Modes
  #1 (permalink)  
Old 10-11-2009, 03:34 PM
Bob Techentin
Guest
 
Posts: n/a
Default RBC - Refactored BLT Components - Initial Release

As many of you know, I worked with a team of undergraduate students
last year on refactoring portions of the BLT toolkit so that it would
work with Tcl/Tk 8.4, 8.5, and beyond. I was particularly interested
in the vectors and graphs, as that is what we use. I also asked the
team to work on winop (for snap) and the embedded eps portions. The
team delivered binaries and source code last May, and it seemed to
work. But as I dug a little deeper, there were some build
dependencies, and the automated tests didn't work quite the way I
expected. I've managed to do a little more tweaking, and I think that
it is ready for an alpha release.

http://www.sourceforge.net/projects/rbctoolkit/

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

But if you're willing to try it out, I'd be more than happy to accept
any feedback. Please use the sf.net trackers to document issues or
problems.

Thanks,
Bob Techentin
--
techentin.robert@mayo.edu


Reply With Quote
Alt Today
Advertising
 
and become member of Rhinocerus
Standard Sponsored Links

  #2 (permalink)  
Old 10-11-2009, 04:26 PM
Will Duquette
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

On Oct 11, 8:34*am, Bob Techentin <techentin.rob...@mayo.edu> wrote:
> As many of you know, I worked with a team of undergraduate students
> last year on refactoring portions of the BLT toolkit so that it would
> work with Tcl/Tk 8.4, 8.5, and beyond.....


Bob, you rock.
Reply With Quote
  #3 (permalink)  
Old 10-12-2009, 08:20 AM
MSEdit
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release


Excellent work Bob and team,

I tried out the stripchart example and it works ok (even in a starpack
win 8.4.12, 8.5.7 and 8.6b1).

I had a problem with another example and will report back when I have
had time to check it out.

Have you kept all the options in the source code for BLT ? the graph
element has -ylow/-yhigh and -weight which although not well
documented are very useful.

Is this based on the blt2.4Z source ?

Martyn


Reply With Quote
  #4 (permalink)  
Old 10-12-2009, 08:30 AM
Roger O
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

I have downloaded this and would like to see what's up. Should I be
able to compile and link a C program against this? If so, how has the
naming been changed from the BLT style? A quick look at the code tells
me this is not a rename-recompile replacement. I understand that there
are no docs. But is there at least a little advice on how one could
try to evaluate it from code that was originally BLT?
Reply With Quote
  #5 (permalink)  
Old 10-12-2009, 01:09 PM
Bob Techentin
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

On Oct 12, 3:20*am, MSEdit <mse...@gmail.com> wrote:
>
> Is this based on the blt2.4Z source ?
>


Yes, RBC is based on BLT 2.4z with both patches applies.

Bob
Reply With Quote
  #6 (permalink)  
Old 10-12-2009, 01:17 PM
Bob Techentin
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

On Oct 12, 3:30*am, Roger O <roger.oberholt...@gmail.com> wrote:
> I have downloaded this and would like to see what's up. Should I be
> able to compile and link a C program against this? If so, how has the
> naming been changed from the BLT style? A quick look at the code tells
> me this is not a rename-recompile replacement. I understand that there
> are no docs. But is there at least a little advice on how one could
> try to evaluate it from code that was originally BLT?


Good question, Roger. I've only been looking at it from the script
standpoint. But I believe that the RBC code is mostly just renamed
from BLT. (e.g., BLT => RBC, Blt => Rbc). They removed quite a bit
of cruft dating back to very old Tcl/Tk releases, and made the whole
thing TEA compliant. But the functions and calling conventions should
be pretty much the same as BLT.

Bob

Reply With Quote
  #7 (permalink)  
Old 10-12-2009, 03:27 PM
MSEdit
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release


Bob, I renamed the linux version of the .so to be the same as the
windows version and modified the pkgIndex to replace .dll by [info
sharedlibextension], I now have a multiplatform starkit which runs on
Linux or Windows !!

My main application which uses BLT also uses the Tabset and Busy
elements. If I get time I will try to patch a version to use RBC to
realy try it out.


Thanks again to you and your team.

Martyn
Reply With Quote
  #8 (permalink)  
Old 10-12-2009, 04:03 PM
Bob Techentin
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

On Oct 12, 10:27*am, MSEdit <mse...@gmail.com> wrote:
> Bob, I renamed the linux version of the .so to be the same as the
> windows version and modified the pkgIndex to replace .dll by [info
> sharedlibextension], I now have a multiplatform starkit which runs on
> Linux or Windows !!


Way cool!

> My main application which uses BLT also uses the Tabset and Busy
> elements. *


I've been using Ttk:notebook instead of BLT tabsets, and I understand
that the BLT busy command is available outside of BLT.

Good luck,
Bob


Reply With Quote
  #9 (permalink)  
Old 10-12-2009, 04:46 PM
MSEdit
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

I have been looking for a replacement to the tabs mechanism/interface
but the users realy like it. ttk::notebook does not gracefully handle
what happens when there is no more space for the tabs (bwidget scrolls
as per FireFox) and blt adds multiple layers.

The tabsset functionality is for switching between multiple elements
which are not necessarily pages. I have downloaded the Busy stuff
already.

Do you have any Idea how/if/when the missing parts (zoomstack,
crosshairs, activelegend) will be added ?

I saw in the Readme that the undergraduates have graduated. Are they
still helping out ?

Martyn
Reply With Quote
  #10 (permalink)  
Old 10-12-2009, 04:47 PM
Donal K. Fellows
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

On 12 Oct, 09:27, MSEdit <mse...@gmail.com> wrote:
> My main application which uses BLT also uses the Tabset and Busy
> elements.


You shouldn't need those with Tk 8.6; the ttk::notebook widget (since
8.5) is a pretty reasonable replacement for Tabset (as I understand
it) and 8.6 includes the [tk busy] command, which should look fairly
similar to you...

Donal.
Reply With Quote
  #11 (permalink)  
Old 10-12-2009, 08:34 PM
Bob Techentin
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

On Oct 12, 11:46*am, MSEdit <mse...@gmail.com> wrote:
>
> Do you have any Idea how/if/when the missing parts (zoomstack,
> crosshairs, activelegend) will be added ?


Zoomstack won't work because I didn't ask the students to refactor
'busy.' I haven't made any effort to that end. (yet)

To the best of my knowledge, active legends and crosshairs are in
there. There are automated tests for those features. (Although I
haven't personally tried them.)

> I saw in the Readme that the undergraduates have graduated. Are they
> still helping out ?


I'm not expecting help from the students. I got what I wanted, and
they graduated. :-)

Bob


Reply With Quote
  #12 (permalink)  
Old 10-13-2009, 12:43 AM
Donal K. Fellows
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

On 12 Oct, 10:46, MSEdit <mse...@gmail.com> wrote:
> I have been looking for a replacement to the tabs mechanism/interface
> but the users realy like it. ttk::notebook does not gracefully handle
> what happens when there is no more space for the tabs (bwidget scrolls
> as per FireFox) and blt adds multiple layers.


You'll want to argue that with Joe English. AIUI, he feels that if
there are too many tabs for them to fit on the screen at once, you
shouldn't be using a tabbed notebook. (I'm sympathetic to this PoV; I
hate the other two...)

> The tabsset functionality is for switching between multiple elements
> which are not necessarily pages. *I have downloaded the Busy stuff
> already.


You can use a ttk notebook for that if you give it a style that
doesn't have the actual tabs...

Donal.
Reply With Quote
  #13 (permalink)  
Old 10-13-2009, 08:24 AM
MSEdit
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

I don't understand the connection between zoomstack and busy. The
graph widget is severly limited without the zoomstack ability to zoom
in on regions of the graph.

I just quickly tried the active legends and crosshairs because the
graph demos for BLT use them (as well as me) I will look through the
source to see how they are accessed and try again.

What does Joe English suggest as a UI concept to replace the tabs, all
the browsers use tabs and I don't see anyone saying its not good to
open more than 10 pages. I use tabs in an editor and find that
visually and conceptually it is an easy way to switch between files, I
use a list too but that does not work as well. Scrolling the tabs with
the mouse wheel is infinitly preferable however than the multi-tier
tabs. I actually use the tabs to switch between BLT graphs in a MDI
system which works well. Again I cannot use ttk::notebook for dynamic
page systems (pages added/removed by the user actions) because I
cannot tell my users 'its best not to open too many as it does not
look too good'. I can understand that Joe does not appreciate lots of
tabs but this rules out the use of the ttk::notebook for these
systems. Scrolling tabs also take up much less screen real-estate
than a tree/listbox.


Martyn
Reply With Quote
  #14 (permalink)  
Old 10-13-2009, 11:58 AM
Bob Techentin
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

On Oct 13, 3:24*am, MSEdit <mse...@gmail.com> wrote:
> I don't understand the connection between zoomstack and busy. *The
> graph widget is severly limited without the zoomstack ability to zoom
> in on regions of the graph.
>
> I just quickly tried the active legends and crosshairs because the
> graph demos for BLT use them (as well as me) I will look through the
> source to see how they are accessed and try again.
>


I don't understand it, either. The student team had their heads in
the code. Since they've moved on, I guess it is up to me to figure it
out.

I see crosshair functions in the automated tests. The BLT_Crosshairs
script was omitted from the library directory. I only just tried a
graph demo yesterday. It would work without those script calls, and
replacing table geometry management with grid. Maybe if I work with
those demo scripts a bit, I can figure out if those parts might work.

Bob


Reply With Quote
  #15 (permalink)  
Old 10-13-2009, 12:11 PM
Uwe Klein
Guest
 
Posts: n/a
Default Re: RBC - Refactored BLT Components - Initial Release

Bob Techentin wrote:
> On Oct 13, 3:24 am, MSEdit <mse...@gmail.com> wrote:
>
>>I don't understand the connection between zoomstack and busy. The
>>graph widget is severly limited without the zoomstack ability to zoom
>>in on regions of the graph.
>>
>>I just quickly tried the active legends and crosshairs because the
>>graph demos for BLT use them (as well as me) I will look through the
>>source to see how they are accessed and try again.
>>

>
>
> I don't understand it, either. The student team had their heads in
> the code. Since they've moved on, I guess it is up to me to figure it
> out.


afair the bltZoomStack stuff is (completely) contained in graph.tcl
i.e. it is implemented as scriptonly

same goes for some other features.

# grep -i proc\ *blt:: graph.tcl
proc blt::LegendSelections { w } {
proc blt::legend::SetSelectionAnchor { w tagOrId } {
proc blt::legend::MoveFocus { w elem } {
proc blt::ActivateLegend { graph } {
proc blt:eactivateLegend { graph } {
proc blt::HighlightLegend { graph } {
proc blt::Crosshairs { graph {event "Any-Motion"} {state "on"}} {
proc blt::InitStack { graph } {
proc blt::ZoomStack { graph {start "ButtonPress-1"} {reset "ButtonPress-3"} } {
proc blt::PrintKey { graph {event "Shift-ButtonRelease-3"} } {
proc blt::ClosestPoint { graph {event "Control-ButtonPress-2"} } {
proc blt::AddBindTag { widget tag } {
proc blt::RemoveBindTag { widget tag } {
proc blt::FindElement { graph x y } {
proc blt::FlashPoint { graph name index count } {
proc blt::GetCoords { graph x y index } {
proc blt::MarkPoint { graph index } {
proc blt:estroyZoomTitle { graph } {
proc blt::PopZoom { graph } {
proc blt::PushZoom { graph } {
proc blt::ResetZoom { graph } {
proc blt::ZoomTitleNext { graph } {
proc blt::ZoomTitleLast { graph } {
proc blt::SetZoomPoint { graph x y } {
proc blt::MarchingAnts { graph offset } {
proc blt::Box { graph } {
proc blt::ResetPostScript { graph } {

uwe
Reply With Quote
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off




All times are GMT. The time now is 06:22 AM.


Copyright ©2009

LinkBacks Enabled by vBSEO 3.3.0 RC2 © 2009, Crawlability, Inc.