and let GtkContainer do the job; fixes doubled border widths. GtkBox
did already delegate border handling to Gtkcontainer, which interacted
badly with a subclass that didn't.
The custom page type will not show any buttons by default, and
it is left to the application to add its own buttons instead.
The _next_page() and _previous_page() functions can be used
for the back and forward buttons used by the application.
https://bugzilla.gnome.org/show_bug.cgi?id=576498
The rationale here is that every cell in an area needs to have space
reserved around it, requests have to be fully margin inclusive...
cells need to have the full size fed as the "background area" and
the "cell area" has margins removed... This will be used by GtkTreeViewColumn
to set the focus line width so that cells can paint a background on the
full background, then render themselves into the cell area... and parents
can go ahead and draw focus and other indicators on the background area
but outside of the cell area.
Added get_allocated_cells() which returns a practical list
of cells with allocation for render/event time, this abstracts
whether the cells are individually aligned or aligned into groups,
when there are groups of cells before an alignment, those groups
get allocated on the fly for render time.
Fixed the hangs by adding a ->inside_allocation flag and avoiding to
queue resizes while inside the allocation loop. The extra queue'd resizes
were causing the scrolled window size_allocate() to perform the guess
again and again thus causing an infinite loop.
Seems with GtkScrollable interface we were setting the hadjustment as
the vadjustment, thanks to Cosimo Cecchi who debugged this and finally
found the typo.
Also fixed GtkCellAreaBox to track the iters it creates and flush
them when the overall layout configuration changes (add/remove/reorder/
spacing changed etc).
The core pointer is sort of meaningless in a multidevice environment,
the client pointer is used instead to fake a GdkDevice on events that
don't have one.
GtkButtonBox doesn't do height-for-width, therefore we should
explicitly set these methods to NULL instead of hoping that the
inherited GtkBox implementations work ok.