On 01/09/2009 9:13 PM, Michael Carman wrote:
Having created a fork of Tkx to play with, I'm starting to experiment
with duplicating some of the functionality that Perl/Tk has in Tk::mega.
The first item on my list is support for class initialization. The
Tk::mega documentation says that

     ClassInit is called once for each MainWindow just before the
     first widget instance of a class is created in the widget tree
     of MainWindow.

As Perl/Tk supports multiple mainwindows, ClassInit could be called more
than once.

Does Tkx (or perhaps it would be Tcl.pm) support multiple mainwindows?
This doesn't complain, but even though $x and $y have different
addresses they refer to the same Tk widget.

I think it has already been clarified, but what you likely really want is multiple toplevels, not multiple interpreters. You can do some fancy stuff with the multiple interps (and I have in tkcon and the Tcl/Tk browser plugin), but that's rarely something end user programmers would expect to use.

Instead of new interps, just create new toplevels (Tkx::toplevel(...)), as many as you want. More complex interfaces can have a dozen on the screen at once (though I'd encourage against from a UX pov).

As for why Tkx behaves the way it does - this is because it is simplified to say "you really only want one interp" and gives you the main windows for that one interp. I wouldn't change this without more convincing for special cases.

Jeff

Reply via email to