Rev 168 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.image;import org.tela_botanica.client.image.ImageMediateur;import org.tela_botanica.client.interfaces.Filtrable;import org.tela_botanica.client.interfaces.Rafraichissable;import com.google.gwt.user.client.ui.Label;import com.gwtext.client.widgets.Panel;import com.gwtext.client.widgets.form.DateField;/*** Classe implémentant un filtre qui permet de rechercher une image par rapport* à la date associée, des critères plus fins viendront compléter cela** @author aurelien**/public class DateFiltreVue extends Panel implements Rafraichissable, Filtrable {/*** Le médiateur associé à la vue*/private ImageMediateur iMediateur = null;/*** Le widget calendrier*/private DateField filtreDate = null;/*** Booleen d'état du filtre*/private boolean filtreModifie = false;/*** Constructeur sans argument (privé car ne doit pas être utilisé)*/@SuppressWarnings("unused")private DateFiltreVue() {super();}/*** Constructeur avec arguments** @param im* le médiateur à associer*/public DateFiltreVue(ImageMediateur im) {super();setPaddings(5);setCollapsible(true);setBorder(false);iMediateur = im;Label labelRecherche = new Label("Par date :");add(labelRecherche);// on crée le calendrier et on définit le format de la date "jj/mm/aaaa"filtreDate = new DateField();filtreDate.setAutoWidth(true);filtreDate.setFormat("d/m/Y");add(filtreDate);ajouterListeners();}/*** Ajoute les listeners*/public void ajouterListeners() {}/*** Méthode héritée de l'interface rafraichissable*/public void rafraichir(Object nouvelleDonnees,boolean repandreRaffraichissement) {filtreModifie = false;}/*** Méthode héritée de l'interface filtrable*/public void valider() {filtreModifie = true;}/*** Accesseur pour le médiateur** @return le médiateur associé à la vue*/@SuppressWarnings("unused")private ImageMediateur getIMediateur() {return iMediateur;}/*** Méthode héritée de l'interface filtrable*/public boolean renvoyerEtatFiltre() {return filtreModifie;}/*** Méthode héritée de l'interface filtrable*/public String renvoyerNomFiltre() {return "Recherche par date";}/*** Méthode héritée de l'interface filtrable*/public String[] renvoyerValeursAFiltrer() {// si la date est valideif (filtreDate.isValid()) {// on en sépare les composantsString dt = filtreDate.getRawValue();String[] dates = dt.split("/");if (dates.length == 3) {// qu'on réassemble dans un autre format (américain) pour la// base de donnée "aaaa-mm-jj"String dateFormatee = dates[2] + "-" + dates[1] + "-"+ dates[0];String[] valeursFiltres = { "ci_meta_date", dateFormatee };return valeursFiltres;}}// si la date n'estp as valide on renvoie une chaine vide (ce qui// correspond à n'importe qu'elle date)String dateFormatee = "";String[] valeursFiltres = { "ci_meta_date", dateFormatee };return valeursFiltres;}}