|
|||
|
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 |
|
|
||||
|
||||
|
|
|
|||
|
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. |
|
|||
|
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 |
|
|||
|
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? |
|
|||
|
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 |
|
|||
|
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 |
|
|||
|
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 |
|
|||
|
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 |
|
|||
|
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. |
|
|||
|
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 |
|
|||
|
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. |
|
|||
|
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 |
|
|||
|
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 |
|
|||
|
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 |
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|