Hence, found only one solution by my own means:

*I.* Have different stylesheet files logically separated.

tables.css:
> .old-fashion-table { }
>
 

lists.css:
> .lovely-list { }


*II.* For each stylesheet define one CssResource descendant interface with 
predefined @ImportedWithPrefix annotation.

@ImportedWithPrefix("tables")
> interface TablesStyles extends CssResource {
>     @ClassName("old-fashion-table")
>     String oldFashionTable();
> }
>
 

@ImportedWithPrefix("lists")
> interface ListsStyles extends CssResource {
>     @ClassName("lovely-list")
>     String lovelyList();
> }


*III.* For each MyStyles interface define a strict accessor

@Source("tables.css")
> TablesStyles tablesCss();
>
 

@Source("lists.css")
> ListsStyles listsCss();


*IV.* When you need to refer to some class from tables.css or from 
lists.css from inside your other.css, just import MyStyles and refer to 
classes within them using appropriate prefixes 

other.css:

> .some-wierd-widget .tables-old-fashion-table { }
> .some-wierd-widget .lists-lovely-list { }


java:

> @ImportedWithPrefix("other")
> interface OtherStyles extends CssResource {
>     @ClassName("some-wierd-widget")
>     String someWierdWidget();
> }


> @Source("other.css")
> @Import({TablesStyles.class, ListsStyles.class})
> OtherStyles otherCss();


*V.* Run-time. Inject all the accessors and refer to imported classes by an 
according base class accessor

MyResources.INSTANCE = GWT.create(MyResources.class);
>
 

MyResources.INSTANCE.tablesCss().ensureInjected();
> MyResources.INSTANCE.listsCss().ensureInjected();
> MyResources.INSTANCE.otherCss().ensureInjected();
> ...
> myLovelyWidget.addStyleName(MyResources.INSTANCE.
> otherCss().someWierdWidget());
> descendantOfMyLovelyWidget.addStyleName(MyResources.INSTANCE.tablesCss().
> oldFashionTable());
> descendantOfMyLovelyWidget.addStyleName(MyResources.INSTANCE.listsCss().
> lovelyList());
>

It's just my vision of how it works. Correct me if I'm misspaterning or do 
some even more crazy stuff =\

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/umNTIm0yPqwJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to