Tk and instance variables (pickaxe book Ed 2, p260)


#1

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”?


#2

On Sat, 14 Jan 2006 22:54:58 +0100, John M. removed_email_address@domain.invalid
wrote:

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 V.