Followup questions...

Well eventually I found an old email I knew I'd seen somewhere:
http://mail.gnome.org/archives/gtk-devel-list/2006-January/msg00293.html

Simply utilizing the "size-allocate" signal has worked out very well, but
I'm afraid I'm calling it too many times.  There are also a few instances
where I somehow attempt to allocate negative positions and sizes and GTK
spits out a few warnings.  All this results in a lot of GUI flickering when
I click a button (where does clicking a button emit "size-allocate"
signals?).

Other than this:
http://developer.gnome.org/doc/API/2.0/gtk/GtkContainer.html#size-allocation

Where else can I find information on what functions trigger
"size-allocate"?  Unfortunately, I can't just use my debugger because this
old system didn't come with the GTK 2.4 source code.

Are there cases where gtk_widget_size_allocate() triggers "size-allocate" on
the parent?

~Thanks


On 2/15/07, v4r4n <[EMAIL PROTECTED]> wrote:
>
> I'd really like to implement this old Window Interface library based on
> Motif with GtkBoxes, but I simply cannot accurately predict when the
> application code needs an hbox or a vbox, or switch an old hbox to a vbox.
> The library I'm trying to implement with Gtk must be able to put boxes
> within boxes at any location in any order.
>
> As far as I can tell when looking at the GtkContainers, my only choice is
> to attempt to manage everything within GtkFixeds, except that when building
> a Gtk GUI, none of the widgets know their dimensions and locations until
> they're just about to be rendered.  I have been able to pass around some
> useful information using gtk_widget_set_size_request(), but as soon as I try
> to listen for "configure-event", "size-allocate", or "size-request" and
> attempt to make additional gtk_widget_set_size_request()s I start an
> infinite loop where the window keeps growing to accommodate its hungry
> children.  Another negative side effect of using a bunch of
> gtk_widget_set_size_request()s everywhere is that I rob the user's ability
> to shrink all windows to less than their original sizes (annoying).
>
> I've been trying to avoid GtkFixed because I'll end up doing a lot of work
> that Gtk wants to do for me, but at this point I'm forced to attempt to
> manage everything on my own.
>
> So how am I 'supposed' to disobey Gtk and micromanage every GtkFixed's
> position and size when the window is first shown to the user and after they
> make their own adjustments?  Are "configure-event",  "size-request", and
> "size-allocate" the core signals I need to focus on or am I going about this
> entirely the wrong way?
>
> An example problem I've run into involves my root application window.
> I add a GtkFixed to the GtkWindow to put the rest of the widgets inside, but
> when I try to keep the GtkFixed widget the same size as the GtkWindow, so
> that the other widgets know how much space they have to work with, the
> window just gets bigger every time the GtkFixed asks how big the window is
> and fills it up.
>
> I need some more balanced size negotiation.  At what exact point does the
> parent know what it has to work with so that the child can calulate how much
> of that the child actually wants?
>
> Suggestions on where to look for extensive use of GtkFixed or other ways
> of implementing a lower level packing system would be a big help.
>
> ~Thanks
>
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to