--- Christian Robottom Reis <[EMAIL PROTECTED]> wrote:
> On Mon, Jan 19, 2004 at 11:49:07PM -0800, Sridhar R
> wrote:
> > No. not multiple, only single. glade.XML()
> creates
> > the widgets immediately. My problem is to
> instruct
> > not to create (a particular widget say gtk.Window
> i.e.
> > toplevel in glade file) the widget immediately.
> So
> > that later I can pass my own widget (here
> gtk.Window
> > instance, a base class instance) to some func in
> > libglade so that it assigns properties acc. to
> glade
> > file and return completely designed (with children
> > added) window.
> >
> >
> > Again I tried this,
> >
> > class MyWind(gtk.Window):
> >
> > def __new__(cls, *args, **k):
> > xml = glade.XML('file.glade')
> > w = xml.get_widget('toplevel_wind')
> > return w
> >
> > def __init__(self):
> > pass
> >
> >
> > But the problem here is self (in __init__) is a
> base
> > class instance.
>
> Well, one way to work around this is to define the
> gtk.Window in your
> code, and have a dummy window defined in Glade that
> you destroy at
> startup:
>
> class MyWindow(gtk.Window): pass
>
> gladewin = xml.get_widget('fake_toplevel')
> win = MyWindow()
> child = gladewin.get_children()[0]
> child.reparent(win)
What about the properties of fake_toplevel windows
defined in glade. Aren't they got lost by default
properties of `win` instance?
> However, note that you'll loose keyboard
> accelerators tied to the fake
> toplevel. I've fought (and solved -- in GTK+ 1.2)
> this issue before; see
> http://bugs.async.com.br/show_bug.cgi?id=840 for
> details.
>
> > Is there any way to convert an base class instance
> to
> > derived class instance???
> > (Note: one cannot set the __class__ attr of
> instances)
>
> Why not? Do you mean any Python instance or just gtk
> instances? :-)
>
> >>> class Foo: pass
> ...
> >>> f = Foo()
> >>> class Bar: pass
> ...
> >>> f.__class__
> <class __main__.Foo at 0x401c626c>
> >>> f.__class__ = Bar
> >>> f.__class__
> <class __main__.Bar at 0x401c629c>
> Take care,
> --
> Christian Robottom Reis | http://async.com.br/~kiko/
> | [+55 16] 261 2331
=====
Sridhar R
Email: [EMAIL PROTECTED]
WWW: http://sridhar.has.it
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/
_______________________________________________
pygtk mailing list [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/