Je simple widget UiBinder contenant un TextArea:Comment déclarer les noms de style à charge avec UiBinder
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<g:TextArea visibleLines="3" />
</ui:UiBinder>
Je veux contrôler la couleur d'arrière-plan de cette zone de texte pour inscriptible et lire seulement les états. GWT utilise le décorateur de nom de style "-readonly" pour y parvenir. J'essaie donc ceci:
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:style>
.textBoxStyle {
background-color:yellow;
}
.textBoxStyle-readonly {
background-color:lightgray;
}
</ui:style>
<g:TextArea styleName="{style.textBoxStyle}" visibleLines="3" />
</ui:UiBinder>
Il est évident que cela ne fonctionnera pas parce que les noms de style sont obscurcis pour CssResources résultant en quelque chose comme ceci:
.G1x26wpeN {
background-color:yellow
}
.G1x26wpeO {
background-color: lightgray;
}
Le résultat HTML pour textarea inscriptible ressemble à ceci:
<textarea tabindex="0" class="G1x26wpeN" rows="3"/>
La lecture seule textarea ressemble à ceci:
<textarea tabindex="0" class="G1x26wpeN G1x26wpeN-readonly" readonly="" rows="3"/>
Comment déclarer le style afin que GWT obbuse la partie principale mais pas le décodeur "-readonly"?
Je sais que je peux désactiver l'obfuscation pour le nom de style entier. Mais je voudrais garder l'obscurcissement tout en faisant usage des décorateurs.
Malheureusement c'est un changement de css pertinent pour un élément de zone de texte spécifique. –