Par conséquent, si tu fais des interfaces dynamiques (ajout de contrôle à la demande), il ne faut pas oublier de faire appel à engine.applyStyles(shell, true); quand tu penses que l'IHM est stabilisée ?
Tres bonne remarque! En fait le moteur de CSS a plusieurs modes et si tu utilises le mode lazy, en faisant
CSSEngine engine = new CSSSWTEngineImpl(display, true);
la tu n'as plus besoin de gerer toi meme le apply styles. En fait en mettant le mod elazy, ca ajout un filter sur le Display sur SWT.Resize qui gere le apply pour chacune des widgets :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
display.addFilter(SWT.Resize, new ResizeListener());
private class ResizeListener implements Listener {
public void handleEvent(Event event) {
// On resize, apply styles (on the first resize)
Widget widget = event.widget;
if (!isWidgetAlreadyAdded(widget)) {
widget.setData(WIDGET_ALREADY_ADDED, WIDGET_ALREADY_ADDED);
if (engine != null) {
engine.applyStyles(widget, false);
}
}
}
} |
C'est très intéressant mais tu connais le manque de temps ...
Oui je connais tres bien ce probleme
Concernant l'article sur JFace Databinding, malheureusement je n'ai pas commencé mais ça ne devrait pas tarder puisque mon dernier support de cours est pratiquement terminé. Je t'avais averti il ne faut pas être pressé
Super. JE te posais a tout hasard la question, loin d emoi l'idee de te mettre la pression.
En tout cas merci de me repondre et de t'interesser a mon post. J'ai pas l'impression que le CSS + SWT interesse grand monde.
Angelo
Partager