août 03
Pour son anniversaire, NooCodeCommit.com change de peau.
Après un an, je commence à me lasser du thème actuel et c’est donc avec une grande motivation que je me suis lancé dans une grande entreprise : réaliser un thème pour wordpress.
Après un peu de temps passé sur la suite de tutoriaux « Wordpress for Designers » de chez In The Woods, je me suis rendu compte que pour partir de zéro, faut vraiment être un bon graphiste. Donc du coup j’ai fureté un peu pour m’inspirer. Désolé par contre, je ne me souviens plus trop les sources.
Et voilà donc le résultat est devant vos yeux ébahis!
N’hésitez pas à laisser vos commentaires pour m’aider à améliorer ce thème, ou si vous êtes confronté à un bug d’affichage.
juil 30
C’est en ce beau jour du 30 Juillet 2009 que notre attente s’achève!
Et oui, c’est aujourd’hui que Martijn Dashorst, nous a annoncé officiellement sur la mailling list, la sortie de la version 1.4.0 du framework Apache Wicket.
Et c’est Carl Azoury de chez Zenika qui à traduit cette annonce dans la langue de molière.
Les principales modifications sont :
- L’interface et les implémentations de IModel utilisent maintenant les Generics
- Les méthodes getModel() et setModel() sur la classe Component ont été renommées en getDefaultModel() et setDefaultModel()
- Les modules Spring ont fusionné, le seul jar nécessaire maintenant est wicket-spring.jar
- Modifications sur plusieurs API afin de bénéficier des fonctionnalités Java 5
- Les jars Wicket sont maintenant packagés avec des METADATA pour en faire des bundle OSGi
Un grand merci à Carl qui m’a gentiement permis de citer directement son article
Vous retrouverez l’intégralité de la traduction sur le site Yes, Wicket!
Je m’en vais de ce pas faire la mise à jour de tous mes projets avec cette version 1.4.0!
juil 28
Les Flux RSS de NooCodeCommit.com passe sur FeedBurner pour avoir un peu plus de visibilité quand à la fréquentation de nos chers visiteurs.
Vous trouverez donc les flux suivants :
Désolé pour le dérangement.
juil 27
Info flash pour vous prévenir de la sortie d’une Refcardz dédiée à Wicket :
Getting Started with Apache Wicket
N’hésitez pas à la récupérer (un compte (gratuit) chez DZone est nécessaire)
Pour rappel, les Refcardz sont des documents de références, écrits par des pointures, pour expliquer le plus clairement possible tel ou tel technos/frameworks.
juil 27
Après avoir découvert le site Wicket By Example, réalisé par les gars de chez Mystic Coders, j’ai découvert comment améliorer le code de l’étape 7.
En effet, dans cette étape j’ai opté pour créer ma propre classe OngletAjaxLink pour avoir la main sur la déclaration de l’évennement onclick. C’était avant que je découvre l’article Adding Javascript confirm dialog to AjaxButton.
Donc, exit la classe OngletAjaxLink. On revient au code de l’étape 6 pour PanelOnglets c’est à dire :
public class PanelOnglets extends Panel {
private WebMarkupContainer ongletsContainer;
private CompoundPropertyModel<OngletsModelObject> ongletsModel;
public PanelOnglets(String _id, CompoundPropertyModel<OngletsModelObject> _ongletsModel) {
super(_id);
// CSS
add(CSSPackageResource.getHeaderContribution(this.getClass(), this.getClass().getSimpleName() + ".css"));
this.ongletsModel = _ongletsModel;
// Repeater des onglets
ListView<String> onglets = new ListView<String>("onglet", ongletsModel.getObject().getListOnglets()) {
@Override
protected void populateItem(final ListItem<String> _item) {
String libelle = _item.getModelObject();
AjaxLink<Object> linkOnglet = new AjaxLink<Object>("linkOnglet") {
@Override
public void onClick(AjaxRequestTarget target) {
...
}
}
};
Label labelOnglet = new Label("labelOnglet", libelle);
linkOnglet.add(labelOnglet);
_item.add(linkOnglet);
}
...
}
}
Et on redéfinit la méthode IAjaxCallDecorator getAjaxCallDecorator() de l’objet AjaxLink qui nous permet de décorer le script initial avec du code javascript (via la méthode preDecorateScript). ce qui nous donne :
public class PanelOnglets extends Panel {
private WebMarkupContainer ongletsContainer;
private CompoundPropertyModel<OngletsModelObject> ongletsModel;
public PanelOnglets(String _id, CompoundPropertyModel<OngletsModelObject> _ongletsModel) {
super(_id);
// CSS
add(CSSPackageResource.getHeaderContribution(this.getClass(), this.getClass().getSimpleName() + ".css"));
this.ongletsModel = _ongletsModel;
// Repeater des onglets
ListView<String> onglets = new ListView<String>("onglet", ongletsModel.getObject().getListOnglets()) {
@Override
protected void populateItem(final ListItem<String> _item) {
String libelle = _item.getModelObject();
AjaxLink<Object> linkOnglet = new AjaxLink<Object>("linkOnglet") {
@Override
protected IAjaxCallDecorator getAjaxCallDecorator() {
return new AjaxPreprocessingCallDecorator(super.getAjaxCallDecorator()) {
@Override
public CharSequence preDecorateScript(CharSequence script) {
return "updateOnglet(" + _item.getIndex() + ");" + script;
}
};
}
@Override
public void onClick(AjaxRequestTarget target) {
...
}
}
};
Label labelOnglet = new Label("labelOnglet", libelle);
linkOnglet.add(labelOnglet);
_item.add(linkOnglet);
}
...
}
}
Voilà, le code source est donc plus cohérent et utilise pleinement les capacités du Framework!
Comme quoi en fouillant un peu, on arrive toujours à améliorer son code!
Une fois de plus, j’ai mis à jour le résultat étape par étape et voilà le code source qui remplace celui de l’étape 7 initiale (sous la forme d’un projet Eclipse, il vous faudra aussi maven pour la gestion des dépendances).
Imprimer cet article
Recent Comments