Re: Theming API hackfest: last call



On Wed, Oct 15, 2008 at 7:11 PM, Behdad Esfahbod <behdad behdad org> wrote:

[...]

> I still don't buy that.  What you want is to make sure GtkPlug style override
> that of GTKWindow.  And that already happens I assume.  *Any* use of
> ".GtkWindow {...}" is wrong, because I may do this in my pygtk code:
>
> class MyApp extends gtk.Window:
>  ...
>
> and then my app will not get all the style that it should.  The theme engine
> should *not* have a way to discriminate based on class.  More specific types
> should not styled differently unless there is style code for them specifically.

You have a point, and I'm by no means sold on the way QT does it.
An advantage of having the `class' selector available would be, that
it could be used to implement "widget roles" like the column header
discussed at [1]:

    ".column-header { ... }" or more specific
    "GtkTreeView > .column-header { ... }" if there are different
     column headers to be distinguished.

This would in turn keep the `ID' selector ("#foo") available. From an
xml background it would anyway be awkward to allow for multiple
widgets using the same ID, it's meant to be unique per document. As
such it would seem fit for app-specific theming or other tricks one
may think of.

[1] http://mail.gnome.org/archives/gtk-devel-list/2008-October/msg00094.html

- Rob


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