Subversion Repositories eFlore/Applications.cel

Rev

Rev 5 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5 Rev 7
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
4
import org.tela_botanica.client.interfaces.Filtrable;
4
import org.tela_botanica.client.interfaces.Filtrable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
6
 
6
 
7
import com.google.gwt.user.client.ui.Label;
7
import com.google.gwt.user.client.ui.Label;
8
import com.gwtext.client.widgets.Panel;
8
import com.gwtext.client.widgets.Panel;
9
import com.gwtext.client.widgets.form.DateField;
9
import com.gwtext.client.widgets.form.DateField;
10
 
10
 
11
/**
11
/**
12
 * Classe implémentant un filtre qui permet de rechercher une aimge par rapport
12
 * Classe implémentant un filtre qui permet de rechercher une image par rapport
13
 * à la date associée, des critères plus fins viendront compléter cela
13
 * à la date associée, des critères plus fins viendront compléter cela
14
 * 
14
 * 
15
 * @author aurelien
15
 * @author aurelien
16
 * 
16
 * 
17
 */
17
 */
18
public class DateFiltreVue extends Panel implements Rafraichissable, Filtrable {
18
public class DateFiltreVue extends Panel implements Rafraichissable, Filtrable {
19
 
19
 
20
	/**
20
	/**
21
	 * Le médiateur associé à la vue
21
	 * Le médiateur associé à la vue
22
	 */
22
	 */
23
	private ImageMediateur iMediateur = null;
23
	private ImageMediateur iMediateur = null;
24
 
24
 
25
	/**
25
	/**
26
	 * Le widget calendrier
26
	 * Le widget calendrier
27
	 */
27
	 */
28
	private DateField filtreDate = null;
28
	private DateField filtreDate = null;
29
 
29
 
30
	/**
30
	/**
31
	 * Booleen d'état du filtre
31
	 * Booleen d'état du filtre
32
	 */
32
	 */
33
	private boolean filtreModifie = false;
33
	private boolean filtreModifie = false;
34
 
34
 
35
	/**
35
	/**
36
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
36
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
37
	 */
37
	 */
38
	@SuppressWarnings("unused")
38
	@SuppressWarnings("unused")
39
	private DateFiltreVue() {
39
	private DateFiltreVue() {
40
		super();
40
		super();
41
	}
41
	}
42
 
42
 
43
	/**
43
	/**
44
	 * Constructeur avec arguments
44
	 * Constructeur avec arguments
45
	 * 
45
	 * 
46
	 * @param im
46
	 * @param im
47
	 *            le médiateur à associer
47
	 *            le médiateur à associer
48
	 */
48
	 */
49
	public DateFiltreVue(ImageMediateur im) {
49
	public DateFiltreVue(ImageMediateur im) {
50
		super();
50
		super();
51
		setPaddings(5);
51
		setPaddings(5);
52
		setCollapsible(true);
52
		setCollapsible(true);
53
		setBorder(false);
53
		setBorder(false);
54
		iMediateur = im;
54
		iMediateur = im;
55
 
55
 
56
		Label labelRecherche = new Label("Date :");
56
		Label labelRecherche = new Label("Date :");
57
		add(labelRecherche);
57
		add(labelRecherche);
58
 
58
 
59
		// on crée le calendrier et on définit le format de la date "jj/mm/aaaa"
59
		// on crée le calendrier et on définit le format de la date "jj/mm/aaaa"
60
		filtreDate = new DateField();
60
		filtreDate = new DateField();
61
		filtreDate.setAutoWidth(true);
61
		filtreDate.setAutoWidth(true);
62
		filtreDate.setFormat("d/m/Y");
62
		filtreDate.setFormat("d/m/Y");
63
 
63
 
64
		add(filtreDate);
64
		add(filtreDate);
65
		ajouterListeners();
65
		ajouterListeners();
66
	}
66
	}
67
 
67
 
68
	/**
68
	/**
69
	 * Ajoute les listeners
69
	 * Ajoute les listeners
70
	 */
70
	 */
71
	public void ajouterListeners() {
71
	public void ajouterListeners() {
72
 
72
 
73
	}
73
	}
74
 
74
 
75
	/**
75
	/**
76
	 * Méthode héritée de l'interface rafraichissable
76
	 * Méthode héritée de l'interface rafraichissable
77
	 */
77
	 */
78
	public void rafraichir(Object nouvelleDonnees,
78
	public void rafraichir(Object nouvelleDonnees,
79
			boolean repandreRaffraichissement) {
79
			boolean repandreRaffraichissement) {
80
 
80
 
81
		filtreModifie = false;
81
		filtreModifie = false;
82
 
82
 
83
	}
83
	}
84
 
84
 
85
	/**
85
	/**
86
	 * Méthode héritée de l'interface filtrable
86
	 * Méthode héritée de l'interface filtrable
87
	 */
87
	 */
88
	public void valider() {
88
	public void valider() {
89
 
89
 
90
		filtreModifie = true;
90
		filtreModifie = true;
91
 
91
 
92
	}
92
	}
93
 
93
 
94
	/**
94
	/**
95
	 * Accesseur pour le médiateur
95
	 * Accesseur pour le médiateur
96
	 * 
96
	 * 
97
	 * @return le médiateur associé à la vue
97
	 * @return le médiateur associé à la vue
98
	 */
98
	 */
99
	@SuppressWarnings("unused")
99
	@SuppressWarnings("unused")
100
	private ImageMediateur getIMediateur() {
100
	private ImageMediateur getIMediateur() {
101
 
101
 
102
		return iMediateur;
102
		return iMediateur;
103
	}
103
	}
104
 
104
 
105
	/**
105
	/**
106
	 * Méthode héritée de l'interface filtrable
106
	 * Méthode héritée de l'interface filtrable
107
	 */
107
	 */
108
	public boolean renvoyerEtatFiltre() {
108
	public boolean renvoyerEtatFiltre() {
109
 
109
 
110
		return filtreModifie;
110
		return filtreModifie;
111
	}
111
	}
112
 
112
 
113
	/**
113
	/**
114
	 * Méthode héritée de l'interface filtrable
114
	 * Méthode héritée de l'interface filtrable
115
	 */
115
	 */
116
	public String renvoyerNomFiltre() {
116
	public String renvoyerNomFiltre() {
117
 
117
 
118
		return "Recherche par date";
118
		return "Recherche par date";
119
	}
119
	}
120
 
120
 
121
	/**
121
	/**
122
	 * Méthode héritée de l'interface filtrable
122
	 * Méthode héritée de l'interface filtrable
123
	 */
123
	 */
124
	public String[] renvoyerValeursAFiltrer() {
124
	public String[] renvoyerValeursAFiltrer() {
125
 
125
 
126
		// si la date est valide
126
		// si la date est valide
127
		if (filtreDate.isValid()) {
127
		if (filtreDate.isValid()) {
128
			// on en sépare les composants
128
			// on en sépare les composants
129
			String dt = filtreDate.getRawValue();
129
			String dt = filtreDate.getRawValue();
130
			String[] dates = dt.split("/");
130
			String[] dates = dt.split("/");
131
			if (dates.length == 3) {
131
			if (dates.length == 3) {
132
				// qu'on réassemble dans un autre format (américain) pour la
132
				// qu'on réassemble dans un autre format (américain) pour la
133
				// base de donnée "aaaa-mm-jj"
133
				// base de donnée "aaaa-mm-jj"
134
				String dateFormatee = dates[2] + "-" + dates[1] + "-"
134
				String dateFormatee = dates[2] + "-" + dates[1] + "-"
135
						+ dates[0];
135
						+ dates[0];
136
				String[] valeursFiltres = { "ci_meta_date", dateFormatee };
136
				String[] valeursFiltres = { "ci_meta_date", dateFormatee };
137
				return valeursFiltres;
137
				return valeursFiltres;
138
			}
138
			}
139
		}
139
		}
140
 
140
 
141
		// si la date n'estp as valide on renvoie une chaine vide (ce qui
141
		// si la date n'estp as valide on renvoie une chaine vide (ce qui
142
		// correspond à n'importe qu'elle date)
142
		// correspond à n'importe qu'elle date)
143
		String dateFormatee = "";
143
		String dateFormatee = "";
144
		String[] valeursFiltres = { "ci_meta_date", dateFormatee };
144
		String[] valeursFiltres = { "ci_meta_date", dateFormatee };
145
		return valeursFiltres;
145
		return valeursFiltres;
146
 
146
 
147
	}
147
	}
148
 
148
 
149
}
149
}