On Mon, 28 Feb 2005, John Fox wrote:
Dear list members,
Is it possible via a suitable tcltk command to get the *current* width, in characters, of a Tk text widget that has been resized with the mouse? In the following code, the reported width of the text widget doesn't change, even though it has been resized. I can, however, get the current width in pixels:
<Tcl>library(tcltk) top <- tktoplevel() textWindow <- tktext(top, bg="white", height=20, width=80, wrap="none") tkgrid(textWindow, sticky="news")tkgrid.rowconfigure(top, 0, weight=1)<Tcl>tkgrid.columnconfigure(top, 0, weight=1)<Tcl>tkcget(textWindow, width=NULL)<Tcl> 80tkwinfo("width", textWindow$ID)<Tcl> 486
<Tcl> 80# resize window with mouse tkcget(textWindow, width=NULL)tkwinfo("width", textWindow$ID)<Tcl> 743
I could convert pixels to characters, but wonder whether I can get the latter directly.
I suspect you may have some difficulty with the latter, even in a monospace font. Notice that 486 is not a multiple of 80, and if that is actually 81, 743 is not a multiple of 6.
I was trying to do this with heights for a listbox a few days ago, and it seems that the line spacing is actually 1 pixel greater than is reported. Since you can resize to a non-integer number of lines I don't believe (and I tried to read the source code) that Tcl/Tk works internally with characters.
-- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________ R-devel@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-devel