Minimum height for minimum width - reprise



Dear developers,

I've written a plugin. It is a simple WrapBox, similar to the one which
was for some time in gtk2 (or at least I think so - I did not actually
see it working, only read some mails about it). I tell you this only to
make you grasp an idea of how magically such a plugin can benefit from
the gtk3 space allocation mechanism: it can play well with a width which
is just the width of the smallest child, but also with a width which is
the sum of them all - in the first case, taking many rows, in the
second, taking only one.

Well, no, I'm lying, it does not, for the simple reason that I stumbled
in the problem perfectly described by Owen here:
https://mail.gnome.org/archives/gtk-devel-list/2010-October/msg00087.html

If I'm honest about the minimum width, then the (corresponding) minimum
height required is assumed to be something huge, and the result (for
instance directly inside a window) is ugly. I could in principle
understand (though it seems to me a hack) that a Gtk.Label doesn't
declare its minimal width as the width of its largest word. But in the
current design the author of a widget can't in fact, declare _any_
minimum width smaller than the natural width - otherwise (what gtk will
consider) the minimum height will be _larger_ than the space which the
widget does use, and this will look horrible.

To be honest, I did read the thread which followed the mail linked
above... but I I'm not sure I fully understood it completely. So I'm
writing to ask:
1) did I say something wrong in my short analysis?
2) can you confirm that things are as they were when that thread
developed?

Or in few words: am I missing anything? Taking it to the extreme, is
there actually any way to create a simple widget which always asks for
100 000 pixels of screen space, but is totally indifferent with respect
to the aspect ratio?

Thank you in advance for any enlightnement,

Pietro




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]