Re: New baseline branch, review wanted

2013-03-27 Thread Alexander Larsson
On tis, 2013-03-26 at 16:56 +0100, Alexander Larsson wrote:
 I've done a bunch of work on the baseline stuff and rebased it into a
 nice branch called wip/baseline3. Its got the core working with a bunch
 of widgets converted.

I pushed some minor details that cosimo pointed out, and this solution
to the vfunch issue:

https://git.gnome.org/browse/gtk+/commit/?id=308aebff9daa863ea4144ec2b474ea021995b47f

Which I believe will work.

The remaining issues are GtkComboBox ( cell renderers in general) and
the non-property aspect of gtk_grid_set_row_baseline_position. 



___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


New baseline branch, review wanted

2013-03-26 Thread Alexander Larsson
I've done a bunch of work on the baseline stuff and rebased it into a
nice branch called wip/baseline3. Its got the core working with a bunch
of widgets converted.

The only interesting widget that lacks baseline support (imho) is
GtkComboBox. But that one is hard due to it using GtkCellArea  co. I'd
rather not add baseline support to cell renderers...

There is a new GTK_DEBUG flag called baselines, so if you want to try
this out, do:
 GTK_DEBUG=baselines tests/testbaseline

There are however some open issues:

* I added a new vfunc called get_preferred_height_and_baseline_for_width
which is the basic baseline supporting size request. The core code will
call this all the time now, but there is a default implementation that
calls the old methods, which should keep old widgets working.

However, when I add baseline support to some existing classes i override
the default implementation. This means that widgets deriving from these
classes (say e.g. GtkButton) that override the old size request vfuncs
(say get_preferred_height), will break. We will keep calling the
baseline supporting version of the baseclass.

I'm not sure how to fix this. I could add some per-type flag for
baseline support such that we only use
get_preferred_height_and_baseline_for_width if this flag is set. That
would mean such old widgets keep working. However, it also means that
you *must* always set this flag for all derived classes, even for things
where baseline support was implemented from the start, which seems kinda
bad. Not sure what the best approach here is...

* GtkGrid has a new per-row property,
gtk_grid_set/get_row_baseline_position. This is neither a normal
property or a child property, which means its not really nicely bindable
or usable as construct properties in e.g. GtkBuilder. Is there a good
way to handle this?

Other than this I think this branch is in a pretty good state.


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list