On Sat, 14 Jan 2006 22:54:58 +0100, John Maclean <info / jayeola.org> wrote:

> Chaps,
>
> There's a small section of code from the second edition of the pickaxe  
> book on p260.
>
> require 'tk'
>
> image1 = TkPhotoImage.new {file "img1.gif" }
> image2 = TkPhotoImage.new {file "img2.gif" }
>
> b = TkButton.new(@root) do #  <---- This line
>  # more code
>  # not shown for sake of brevity
> end
> # more code
> # more code
> Am I right in saying that the line that creates the new button has an  
> instance variable that will be used to define the main root "container"?
>


If my (horrible) memory of the 15 minutes I've worked in Tk serves me  
right for a change, there's a

@root = TkRoot.new

missing there somewhere. All other widgets should require a parent  
container parameter for their constructor. TkRoot serves as the toplevel  
container for a Tk interface and contains some plumbing related to the  
event loop and such.

David Vallner