I\'d like to define some colours as constants in a GWT CssResource, and use those constants throughout my application; but I don\'t know how to do that.
I\'ll tell you w
You should be able to use
<ui:style>
@IMPORT url("../../../global.css");
.mainPanel {
background:{resources.css.JUNGLEGREEN};
...
}
</ui:style>
This is how we do it:
constant.css
file@def black #241b15; /* text color */
@def orange #ff4f00; /* links */
<ui:style src="../../resources/css/constants.css">
.myStyle {
color: orange;
}
</ui:style>
Hope that helps.
EDIT:
To avoid the relative path in the <ui:style>
element you could do the following:
constants.css
)@def junglegreen #1f3d0a;
ClientBundle
and CssResource
to retrieve the defined constantspublic interface MyResources extends ClientBundle {
public static final MyResources INSTANCE = GWT.create(MyResources.class);
public interface Constants extends CssResource {
String junglegreen();
}
Constants constants();
}
-use the @eval
annotation to access the constant
<ui:style>
@eval green com.gwt.client.widget.test.MyResources.INSTANCE.constants().junglegreen();
.someClass {
color: green;
}
</ui:style>
The only way I know of how to deal with constants without referencing the css file itself.
I know this answer might be kind of late but may help someone. I was having the same problem and was able to solve it by adding the following:
Resources.css().ensureInjected()
I added it in my factory but tried it in a couple of places and no matter where I put it, it worked.