[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gtk-app-devel
Subject:    Re: Creating an aggregating GtkContainer
From:       Murray Cumming <murrayc () murrayc ! com>
Date:       2009-11-19 10:14:11
Message-ID: 1258625651.2475.22.camel () murrayc-desktop
[Download RAW message or body]

On Wed, 2009-11-18 at 19:35 +0100, Per Hermansson wrote:
> Hi everyone
> 
> I'm contributing to a project called the Common Printing Dialog
> which goal is to create the next generation print dialog for Gnome.
> The dialog allows users to customize different options which depends
> on the current printer being selected.
> 
> What I'm struggling to implement is a GtkContainer which sort of aggregates
> or combines multiple sub-containers. So that when adding new widgets
> each sub-container is filled until no more space is available then the 
> next sub-container
> is filled. A picture of how this should look like is available here:
> http://wiki.openusability.org/printing/index.php/Image:Level3.5_1200.png

This is what I call a flowing columned container: Widgets are moved into
the next column if the current column is full, like text in newspaper
columns. You can see the result here, for instance:
http://www.glom.org/screenshots/glom_example_filmmanager.png
In that screenshot the widgets are divided between the two columns at
runtime.

I have a custom FlowTable container
http://git.gnome.org/cgit/glom/tree/glom/utility_widgets/flowtable.cc
to do this in Glom, but 
a) It's C++, using gtkmm
b) The size/positioning code is horrible and inefficient.
c) It's hacky. This can't be done properly until we have
height-for-width layout in GTK+:
https://bugzilla.gnome.org/show_bug.cgi?id=101968 


-- 
murrayc@murrayc.com
www.murrayc.com
www.openismus.com

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic