[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipse-incubator-e4-dev] CSS namespaces
|
Hi Kevin,
see my comment below:
Kevin McGuire wrote:
> Hi,
>
> Angelo brought up CSS namespaces, I think this is an important topic
> that hasn't been discussed here yet.
Sigh... yes.
> The question is how to specify
> custom widget types in CSS. With SWT, the widget names are unambiguous,
> but custom widgets can involve name collisions.
>
> Using CSS namespaces would be an option, although I would then opt for
> using a default namespace for SWT to avoid clutter. The CSS could look
> like this:
>
> @namespace "org.eclipse.swt.widgets";
> @namespace my "my.name.space";
>
> Label {
> color;red;
> }
>
> my|Label {
> color;red;
> }
>
> On the other hand, some frequently used SWT widgets live in
> "org.eclipse.swt.custom" (CLabel, CCombo, CTabFolder, ...), so those
> would have to be prefixed as well (which I somehow dislike):
>
> swtcustom|CLabel {
> color: blue;
> }
Agree, I dislike it too. It's annoying to clutter the typical case (SWT
widgets, regardless of whether they are custom or not).
> Moreover, CSS 3 is not yet widely adopted and the available parsers do
> not support it out-of-the-box.
Good point.
> An alternative to CSS namespaces could be some kind of mapping between
> widget classes and CSS element names.
I think this is a reasonable approach. Extended widgets outside of SWT
would need some form of qualified name, not so much to prevent clashing
with SWT since presumably everyone avoids that, but to prevent clashing
with each other. The element names can be whatever we want them to be,
since its our code that'll do the mapping from CSS to widget method
calls. So we could solve it without resorting to CSS name spaces, for
example by requiring that extended widgets register their names with us
in some qualified fashion (e.g. NebulaGallery). Kinda hacky but would
work.
Yes, that's also our preferred approach. In RAP we have an extension
point for themeable widgets anyway (the RAP theming has to know about
themeable widgets to keep styling and layout in sync between client and
server). This is also a suitable place to register such an element name.
I'm not sure whether such an extension point would also be appropriate
for Eclipse in general. Who would have to register with such an
extension point? The component provider, e.g. Nebula?
Ralf
Kevin
------------------------------------------------------------------------
_______________________________________________
eclipse-incubator-e4-dev mailing list
eclipse-incubator-e4-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev
--
Dipl.-Inform. Ralf Sternberg
Innoopract Informationssysteme GmbH
rsternberg@xxxxxxxxxxxxxx
http://www.innoopract.com
Tel: 0721 - 66 47 33 - 0
Fax: 0721 - 66 47 33 29
========================= Legal Disclaimer ==========================
According to Section 80 of the German Corporation Act Innoopract
Informationssysteme GmbH must indicate the following information:
Address: Stephanienstrasse 20, 76133 Karlsruhe Germany
General Manager: Jochen Krause
Registered Office: Karlsruhe, Commercial Register Mannheim HRB 107883
=====================================================================