Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipse-incubator-e4-dev] CSS - what do we style?


With respect to this item:
    *  Will CSS styling be an SWT feature or only available on a higher level? In other words, can style sheets be applied to plain SWT apps or are extension points etc. needed?

    * How to style Workbench elements? Will CSS styling be applied to the real SWT widgets or to higher level elements?

We see conflicting requirements here: On one hand, the designer (or whoever writes the style sheets) should not need to know about the exact widget structure. Moreover, the concrete implementation depends on the presentation being used, maybe also to the size of a view part, etc. On the other hand, fine-grained styling is not possible without knowing the widgets and a higher-level styling doesn't seem to make much sense.

I'm not sure if you saw my rather (<blush>) lengthy post:

        http://dev.eclipse.org/mhonarc/lists/eclipse-incubator-e4-dev/msg00528.html

I think we absolutely need to be able to style at the SWT level.  That's where the properties live and to not support it would seem odd.

However, I think you'll also want to style at the workbench level because one can't help but want to think at that level when making look decisions.  I find that odd though since you then must question (as in the discussion link) how you know what properties you can style.  It may be that they act as selectors, not as things which hold properties to be styled. I can think of a few interesting examples:


        * jface type (e.g. "CommonViewer", or any sublcass of Viewer)
        * part type (e.g. "CommonNavigator", or any subclass of WorkbenchPart)
        * semantic/role type (e.g. "Navigator", which would include the Project Explorer, the Package Explorer, etc.)

I don't know how we map those to CSS selectors though.  AFAIK an element can only have a single CSS class, and a single type (which presumably would be the SWT widget type, not the jface or part type).  Maybe there exists simultaneously three element types {SWT, JFace, Part}, each stylable with overlapping properties, and with some kind of precedence rule if you're say styling background of all three?  Seems complicated.

Finally, a problem with CSS selectors is that AFAIK there's no notion of class inheritance except at the element level (ie. CSS classes don't have subclasses).  So our potential use of mapping to CSS classes is limited.

Kevin


eclipse-incubator-e4-dev-bounces@xxxxxxxxxxx wrote on 08/19/2008 09:00:41 AM:

> I had a discussion with Frank and we came across a couple of
> architectural questions that are still unclear to us. As an example,
> which roles will be involved in the development process - I guess the
> person writing a style sheet is not necessarily a programmer - and the
> like. I'd like to suggest that we try to clarify those higher-level
> questions before we move on to actually evaluating technologies.
>
> I added a wrap-up of our questions to my personal wiki page:
> http://wiki.eclipse.org/Ralf_Sternberg
>
> It's just a rough draft that might serve as a skeleton for the
> discussion. By the way, I wonder: shouldn't we create a wiki page of its
> own for the CSS topic?
>
> Best regards,
>  Ralf

Back to the top