Prev: What widget to choose for displaying a tree with checkboxes?
Next: Tcl-URL! - weekly Tcl news and links (Feb 12)
From: Erik Leunissen on 12 Feb 2010 10:38 Georgios Petasis wrote: > > Here is an execution trace: > OK. If you still care to know exactly where in the libraries that you're using, the call to [package require tile 0.6] is being made, you can change your trace handler as follows to obtain a stack trace: proc handleTrace {args} { if {[string match "*require tile*" $args]} { set curLevel [info level] incr curLevel -1 set level 0 while {$level > -$curLevel} { puts [info level [incr level -1]] } } } Erik. > package require tablelist_tile > > {package require tablelist_tile} enter > {package provide tablelist_tile 4.12.1} enter > {package require Tcl 8.4} enter > {package require Tk 8.4} enter > {package require -exact tablelist::common 4.12.1} enter > {package provide tablelist::common 4.12.1} enter > {package provide tablelist::common 4.12.1} enter > {package require tile 0.6} enter > {package require Tcl 8.4} enter > {package require Tk 8.4} enter > {package require Tcl 8.4} enter > {package require Tk 8.4} enter > {package provide keynav 1.0} enter > {package provide Tk} enter > {package vsatisfies 8.6b1.1 8.5} enter > {package provide ttk::dialog 0.8} enter > {package provide ttk::theme::vista 1.0} enter > {package provide ttk::theme::aqua} enter > {package provide ttk::theme::vista} enter > {package provide tile 0.8.3} enter > {package provide tablelist_tile 4.12.1} enter > {package require Tcl 8.4} enter > {package require Tk 8.4} enter > {package require -exact tablelist::common 4.12.1} enter > {package provide tablelist_tile 4.12.1} enter > {package provide Tablelist_tile 4.12.1} enter > {package provide ttk::theme::aqua} enter > {package provide tile::theme::aqua} enter > {package require Tcl 8} enter > {package require Tk 8} enter > {package versions tile} enter > > 4.12.1 > > George -- leunissen@ nl | Merge the left part of these two lines into one, e. hccnet. | respecting a character's position in a line.
From: Csaba Nemethi on 12 Feb 2010 15:44 Georgios Petasis schrieb: > στις 12/2/2010 10:07, O/H Erik Leunissen έγραψε: >> Georgios Petasis wrote: >> >> >> ... I still haven't figured out >>> which package does this... >>> >> >> Something along these lines should help you find it quickly: >> >> >> proc handleTrace {args} { >> # if {[regexp tile $args]} { >> puts $args >> # } >> } >> trace add execution package enter handleTrace >> >> >> Greetings, >> >> Erik >> >>> (I suspect tablelist_tile or BWidgets...) >>> >>> George >> >> > > Here is an execution trace: > > package require tablelist_tile > > {package require tablelist_tile} enter > {package provide tablelist_tile 4.12.1} enter > {package require Tcl 8.4} enter > {package require Tk 8.4} enter > {package require -exact tablelist::common 4.12.1} enter > {package provide tablelist::common 4.12.1} enter > {package provide tablelist::common 4.12.1} enter > {package require tile 0.6} enter > {package require Tcl 8.4} enter > {package require Tk 8.4} enter > {package require Tcl 8.4} enter > {package require Tk 8.4} enter > {package provide keynav 1.0} enter > {package provide Tk} enter > {package vsatisfies 8.6b1.1 8.5} enter > {package provide ttk::dialog 0.8} enter > {package provide ttk::theme::vista 1.0} enter > {package provide ttk::theme::aqua} enter > {package provide ttk::theme::vista} enter > {package provide tile 0.8.3} enter > {package provide tablelist_tile 4.12.1} enter > {package require Tcl 8.4} enter > {package require Tk 8.4} enter > {package require -exact tablelist::common 4.12.1} enter > {package provide tablelist_tile 4.12.1} enter > {package provide Tablelist_tile 4.12.1} enter > {package provide ttk::theme::aqua} enter > {package provide tile::theme::aqua} enter > {package require Tcl 8} enter > {package require Tk 8} enter > {package versions tile} enter > > 4.12.1 > > George Hi George, The *original* Tablelist package does *not* invoke "package require tile" for Tk versions 8.5 and higher. Instead, it contains the following lines in the distribution files tablelist_tile.tcl and scripts/tablelistEdit.tcl: if {$::tk_version < 8.5 || [regexp {^8\.5a[1-5]$} $::tk_patchLevel]} { package require tile 0.6 } The problem is not in Tablelist but in the way it is included in ActiveTcl. I have an older 8.6b1 version from ActiveState (coming with Tablelist 4.10.1), but I am sure ActiveTcl 8.6 beta 2 exhibits the same problem described below: The ActiveTcl file lib/teapot/package/tcl/teapot/tcl8/8.4/tablelist_tile-4.10.1.tm contains the lines # ACTIVESTATE TEAPOT-PKG BEGIN REQUIREMENTS package require Tcl 8.4 package require Tk 8.4 package require -exact tablelist::common 4.10.1 package require tile 0.6 # ACTIVESTATE TEAPOT-PKG END REQUIREMENTS # ACTIVESTATE TEAPOT-PKG BEGIN DECLARE package provide tablelist_tile 4.10.1 # ACTIVESTATE TEAPOT-PKG END DECLARE # ACTIVESTATE TEAPOT-PKG END TM #============================================================================== # Main Tablelist_tile package module. # # Copyright (c) 2000-2009 Csaba Nemethi (E-mail: csaba.nemethi(a)t-online.de) #============================================================================== package require Tcl 8.4 package require Tk 8.4 if {$::tk_version < 8.5 || [regexp {^8\.5a[1-5]$} $::tk_patchLevel]} { package require tile 0.6 } To my great surprise, one of the above lines is indeed package require tile 0.6 which is not OK because it doesn't check the Tk version. I will report this to ActiveState ASAP. Many thanks for drawing my attention to this issue. Best regards, Csaba -- Csaba Nemethi http://www.nemethi.de mailto:csaba.nemethi(a)t-online.de
From: Jeff Hobbs on 12 Feb 2010 17:20 On Feb 12, 12:44 pm, Csaba Nemethi <csaba.neme...(a)t-online.de> wrote: ... > The problem is not in Tablelist but in the way it is included in > ActiveTcl. I have an older 8.6b1 version from ActiveState (coming with > Tablelist 4.10.1), but I am sure ActiveTcl 8.6 beta 2 exhibits the same > problem described below: While the Tcl module version does indeed add the package require tile without the version dependency, Tk 8.5+ includes 'tile' as a dummy package in the core. It may still pick up a more recent version of tile should one be installed on the system. ... > To my great surprise, one of the above lines is indeed > > package require tile 0.6 > > which is not OK because it doesn't check the Tk version. I will report > this to ActiveState ASAP. Consider it reported. ;) What I'm more curious about is why having tile should throw off tablelist. Is it trying to do something different? Jeff
From: Csaba Nemethi on 12 Feb 2010 18:12 Jeff Hobbs schrieb: > On Feb 12, 12:44 pm, Csaba Nemethi <csaba.neme...(a)t-online.de> wrote: > ... >> The problem is not in Tablelist but in the way it is included in >> ActiveTcl. I have an older 8.6b1 version from ActiveState (coming with >> Tablelist 4.10.1), but I am sure ActiveTcl 8.6 beta 2 exhibits the same >> problem described below: > > While the Tcl module version does indeed add the package require tile > without the version dependency, Tk 8.5+ includes 'tile' as a dummy > package in the core. It may still pick up a more recent version of > tile should one be installed on the system. > > ... >> To my great surprise, one of the above lines is indeed >> >> package require tile 0.6 >> >> which is not OK because it doesn't check the Tk version. I will report >> this to ActiveState ASAP. > > Consider it reported. ;) What I'm more curious about is why having > tile should throw off tablelist. Is it trying to do something > different? > > Jeff Actually, checking the Tk version is merely a precautionary measure, having the goal to avoid any potential conflicts that might arise by loading a tile version different from the one included in Tk 8.5+. Tablelist_tile itself is happy with any tile version starting with 0.6. On the other hand, the explicit "package require tile" invocation seems to cause some unexpected effects (not related to Tablelist_tile) in one of George's scripts, as reported in his original posting. -- Csaba Nemethi http://www.nemethi.de mailto:csaba.nemethi(a)t-online.de
From: George Petasis on 12 Feb 2010 19:44 στις 13/2/2010 00:20, O/H Jeff Hobbs έγραψε: > On Feb 12, 12:44 pm, Csaba Nemethi<csaba.neme...(a)t-online.de> wrote: > ... >> The problem is not in Tablelist but in the way it is included in >> ActiveTcl. I have an older 8.6b1 version from ActiveState (coming with >> Tablelist 4.10.1), but I am sure ActiveTcl 8.6 beta 2 exhibits the same >> problem described below: > > While the Tcl module version does indeed add the package require tile > without the version dependency, Tk 8.5+ includes 'tile' as a dummy > package in the core. It may still pick up a more recent version of > tile should one be installed on the system. > > ... >> To my great surprise, one of the above lines is indeed >> >> package require tile 0.6 >> >> which is not OK because it doesn't check the Tk version. I will report >> this to ActiveState ASAP. > > Consider it reported. ;) What I'm more curious about is why having > tile should throw off tablelist. Is it trying to do something > different? > > Jeff Dear Jeff, I am running 8.6b2, where the ttk widgets seem to be drawn differently than tile ones. When tile is loaded into 8.6, there is an immediate visual change in ttk widgets. In my windows 7 pc, the font used by ttk::labels seems to be smaller in tile, causing even a noticeable resize in toplevels, just after tile gets loaded. George
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: What widget to choose for displaying a tree with checkboxes? Next: Tcl-URL! - weekly Tcl news and links (Feb 12) |