On Tue, 2014-01-28 at 03:08 +1100, Chris Angelico wrote: > On Tue, Jan 28, 2014 at 3:00 AM, Tristan Van Berkom > <tris...@upstairslabs.com> wrote: > > Sorry I did not take into account that you were working with the > > GTK+2 library and not GTK+3. > > Ah, I should have mentioned, sorry. There has been talk of supporting > GTK3 in Pike, but I won't move to it till I can confidently expect > that my clients will have it. (It's kinda weird. I'm using a language > that's more designed for servers - web servers, MUD servers, and so on > - and writing a client in it. More often than you might think, I run > into Pike bugs and have to fix them before I can move on. Fortunately > it's an open source language!) > > > height for width is a geometry management system which says to > > the widget: > > o What is your minimum width and what is your natural width ? > > o Oh... so you can fit into 40 pixels but you would prefer 80 ! > > o Ok I've decided that, taking into account all horizontal space, you > > will receive 60 pixels in width, how much height do you need for > > a width of 60 pixels ? > > o Ah, you want 20 height ? we're done here, you will receive 60 > > pixels in width and 20 pixels in height. > > > > This geometry management is more complex than just: > > "what is your width & height" > > but allows dynamic content such as wrapping labels to unwrap > > and fit the window allocation, leaving more vertical space > > for other widgets above or below a wrapping label which might > > desire that space. > > Ah, gotcha. That makes a lot of sense, since there'll be a good few > widgets that can wrap like that. > > > GtkTextView had it's own way of doing height-for-width internally, > > insomuch that it would eventually ask for enough height to fit the > > wrapping text into whatever width you had given it. > > That's actually the exact behaviour I want here. The status bar will > fill whatever width the window is sized to, and then I want it to > claim as much or as little height as it needs. (The bulk of the > window's height is taken up with a ScrolledWindow, so it makes little > difference to the layout if there's another row of status.) > > > GTK+3 has this geometry management built-in, but GTK+2 does not > > (so doing things like EggWrapBox with GTK+2 is more tricky). > > > > If you are stuck with GTK+2, I suggest you take a look into > > GtkToolPalette, you might be able to trick your statusbar > > items into being GtkToolItems and use the wrapping behaviour > > of GtkToolPalette to achieve the same effect (or at least use > > some prior art in there, I think you are stuck with the > > expanders if you use GtkToolPalette directly... GtkToolItemGroup > > would have the precise code you are looking for). > > Yeah, I looked into that, but wasn't able to make it do what I wanted. > I'll give that another shot tomorrow; it might be better suited to > what I'm trying to do (especially if it works properly on Windows and > Mac). It's called GTK2.Toolbar in Pike, but I'm assuming that's the > same thing as GtkToolPalette.
No, GtkToolbar != GtkToolPalette, they are separate things. The GtkToolPalette is what we use in Glade to show all the widget icons for example - there is a demo of it if you run gtk-demo you should be able to see it in action, and I'm quite sure that it exists in one of the later versions of GTK+2 (it should really be there in 2.24). Cheers, -Tristan > > ChrisA > _______________________________________________ > gtk-app-devel-list mailing list > gtk-app-devel-list@gnome.org > https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list