[[lazarus] GTK Z order & fixed frame]

Michal Bukovjan mbukovjan at netscape.net
Fri Aug 20 11:57:33 EDT 1999


"Samuel Liddicott" <sam at campbellsci.co.uk> wrote:
> I've been reading the GTK doco's and it doesn't look to good.
> 
> I can't find much refernce on setting Z order and (worse still) its mostly
> based around auto-scaling controls.  Ugh - stretchy buttons!  My tastes are
> if the button is big enough for the text, why make it bigger just because
> the user grew the form!
> 
> Anway, it looks to me like we will need to host most controls in a gtk
> fixed-frame which is about the only thing that allows absolute x-y
> positioning.  Is this right?  If so I imagine thats what we do now?  Do we?

Hmm, I am not sure at this point, but as I studied the GTK, I think there is
some gtk_??widget??_??set??_??window??_??policy?? (I really do not remember
now), in which you pass four arguments for scaling, in a range 0-1, where 1
means resize totally in that direction upon parent resize, 0 means do not
resize. (you can pass float values in between). So, I think if you set that up
to 0,0,0,0, you get non-resizable control.


> 
> Next problem is that in windows, each "window" is er... a normal window and
> can actually have child controls.
> A button or a list box can have child controls (I've done this in some
> applications...).
> 
> Can GTK list boxes have child controls?

Yes. In fact, the GtkList is only a container containing GktItems (provide
white background behind the text), which in turn may contain a GtkLabel, which
is then what you see. But theoretically, the list may contain anything,
pictures, buttons, any other container containing yet another controls,
anything you like.

> 
> Do we get to intercept the painting for child controls?  In delphi I do
this
> quite a bit - not least for OwnerDraw buttons and OwnerDraw list boxes?
> 

Now this is what I am interested now. I am not sure though, maybe Shane, who
does this Canvas stuff, will listen. Do you, Shane?
Is it possible to get/make use/map arbitrary widget's GdkCanvas to a
Delphi-like TCanvas, or better yet, to an arbitrary control ? (i.e. I don't
want a control that creates its Canvas, but rather have a dummy control (say
TGraphicControl descendant) and assign an existing GdkCanvas (of some existing
GtkWidget) to it on the fly ?

This OwnerDraw stuff as I see it now is the most likely candidate to be
incompatible with WinDelphi.


> Sorry for so many questions, I'm trying to get up to speed on where we are
> at the moment.
> 
> Sam
> 
> _________________________________________________________________
>      To unsubscribe: mail lazarus-request at miraclec.com with
>                 "unsubscribe" as the Subject
>     archives at http://www.miraclec.com/list_archives/lazarus


____________________________________________________________________
Get your own FREE, personal Netscape WebMail account today at http://webmail.netscape.com.






More information about the Lazarus mailing list