4) Using CssResource for CSS expressed in the UIBinder. When creating a UI with the UIBinder it might happen to include some CSS rules in the ui.xml file.
<ui:UiBinder
xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:style>
.outer {
width: 100%;
}
</ui:style>
<g:SimplePanel ui:field='sideBar'>
</g:SimplePanel>
</ui:UiBinder>
It is possible to refer to those CSS rules from the GWT code. For doing so we have to declare a 'type' for ui:style:
<ui:UiBinder
xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:style type='org.example.Example.ExStyle'>
.outer {
width: 100%;
}
</ui:style>
<g:SimplePanel ui:field='sideBar'>
</g:SimplePanel>
</ui:UiBinder>
Now, in the class org.example.Example, we can reference the CSS rules and use them:
public class Example extends Composite {
interface Binder extends UiBinder{ }
private static final Binder binder = GWT.create(Binder.class);
@UiField SimplePanel sideBar;
@UiField ExStyle style;
interface ExStyle extends CssResource {
String outer();
}
public Example() {
initWidget(binder.createAndBindUi(this));
sideBar.setStyleName(style.outer());
}
...
Aucun commentaire:
Enregistrer un commentaire