On 07/21/2010 09:36 AM, Alex Bokov wrote: > I've been able to figure out on my own how to do what I need in the > largely undocumented tcltk package, but I've finally hit a wall. I > can't even think of any sufficiently specific search terms to use for > this. Oops. Murphy's Law-- the answer only comes to you after you already send off an email to the experts. Sorry to bother you, I figured it out already. Here's how to make the code example I posted earlier...
> require(tcltk) > tt<- tktoplevel() > xscr<- tkscrollbar(tt, repeatinterval=5,orient="horizontal", > command=function(...)tkxview(txt,...)) > yscr<- tkscrollbar(tt, repeatinterval=5, > command=function(...)tkyview(txt,...)) > txt<- tktext(tt,bg="white",font="courier", > > xscrollcommand=function(...)tkset(xscr,...),yscrollcommand=function(...)tkset(yscr,...), > wrap="none") > tkgrid(txt,yscr) > tkgrid(xscr) > tkgrid.configure(yscr,sticky="ns") > tkgrid.configure(xscr,sticky="ew") > for (i in (1:100)) tkinsert(txt,"end",paste(i,"^ 2 =",i*i,", ")) > tkconfigure(txt, state="disabled") > tkfocus(txt) > ...resize dynamically. All I had to do was add the following lines to the end of it: tkgrid.columnconfigure(tt,0,weight=1) tkgrid.rowconfigure(tt,0,weight=1) tkgrid.rowconfigure(txt,0,weight=1) tkgrid.columnconfigure(txt,0,weight=1) tkgrid.configure(txt,sticky='nswe') I had been so close before, I just didn't realize that if you have a complicated frame structure enclosing the widget, then the weight needs to be set on every enclosing frame, not just the widget itself. The hard part is figuring out which row and column a column-spanning widget really belongs to-- so far it seems to belong to the left-most and top-most one. Anyway, thanks to anybody who was going to answer this, hopefully I'm sending this soon enough to save you the effort of composing a reply. Have a great day! [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel