On Sat, 2006-02-11 at 23:00 +0100, Mark Wielaard wrote:
> Hi Tom,
> 
> On Fri, 2006-02-10 at 12:52 -0500, Thomas Fitzsimmons wrote:
> > > I am not sure how/where the GtkPanelPeer should have been realized
> > > and/or whether this comes from the "delayed realization" you talked
> > > about (I don't actually see where this Panel will ever get realized to
> > > be honest).
> > 
> > Yes, panels are never realized because they do not have an X window
> > associated with them.  Instead they draw on their parent's X window.  So
> > GtkPanelPeer should probably override isRealized to check if it has a
> > parent and if so, if that parent is realized.
> 
> But then they should also override getGraphics() I presume to return the
> (translated) Graphics of their parent Container? And currently they
> don't. Also we seem to explicitly request an X window to be associated
> since in GtkPanelPeer.c we say:
>       gtk_fixed_set_has_window (GTK_FIXED (widget), TRUE);
> We also request GTK_CAN_FOCUS. Is that possible on widgets without a
> window?
> 
> And in fact Graphics object returned from a Panel is often correct. Only
> in situations like the example I gave does it never get realized
> correctly it seems.
> 
> Puzzling...

You're right.  GtkPanelPeers do have their own windows now; I was
thinking of a previous revision of this code.  To answer your original
question, GtkPanelPeers are realized when they are shown.

Tom

> 
> Cheers,
> 
> Mark


Reply via email to