http://www.perlmonks.org?node_id=292847


in reply to Re: Closing GTK child windows via code
in thread Closing GTK child windows via code

Thanks,

I already understand and have this type of thing working. The problem arises because glade2perl makes each window into a package and it is invoked as such: window2->app_run which returned nothing to assign to a variable because it hands control to Gtk->main within the app_run sub.

It looks like i was missing some of the default code that glade2perl puts at the top of each package. It puts a destroy_Form sub as well as toplevel_hide, toplevel_close and toplevel_destroy subs.

Now that I have them in there I can call any of them and it works. The destroy_Form sub calls Gtk->main_quit. The other 3 subs call: shift->get_toplevel->hide/close/destroy, and still work even when I supply no arguments to them from within a button click handler in the same package.

I hope this is what I'm supposed to be doing, at least it seems to work on the surface, who knows what it is doing or how much memory I'm chewing up needlessly behind the scenes :)

I thought I was going batty having to try to call methods of an object from within that class when I had no reference to that object to base the call on! - I was oblivious to the fact that subroutines were specially made to do what I was trying to do and I simply didn't cut and paste them correctly from the glade2perl output :|

Ryan *hides* :)