Subversion Repositories eFlore/Applications.cel

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
197 david 1
package org.tela_botanica.client.vues.observation;
2
 
2631 mathias 3
import org.tela_botanica.client.i18n.Msg;
197 david 4
import org.tela_botanica.client.observation.ObservationMediateur;
5
import org.tela_botanica.client.vues.observation.filtres.ArbreDateObservationFiltreVue;
6
import org.tela_botanica.client.vues.observation.filtres.ArbreEntiteGeographiqueObservationFiltreVue;
318 aurelien 7
import org.tela_botanica.client.vues.observation.filtres.ArbreMotsClesObservationVue;
263 aurelien 8
import org.tela_botanica.client.vues.observation.filtres.RechercheLibreVue;
197 david 9
 
274 aurelien 10
import com.gwtext.client.core.Ext;
197 david 11
import com.gwtext.client.widgets.Panel;
12
import com.gwtext.client.widgets.layout.RowLayout;
13
import com.gwtext.client.widgets.layout.RowLayoutData;
14
 
15
/**
16
 * Panneau contenant les filtres qu'on peut appliquer aux images
17
 *
18
 * @author aurelien
19
 *
20
 */
21
public class PanneauFiltresObservationVues extends Panel {
22
 
23
	/**
24
	 * Le médiateur associé
25
	 */
26
	private ObservationMediateur observationMediateur = null;
27
 
28
	/**
29
	 * L'arbre pour la recherche entite geographique
30
	 *
31
	 */
32
	private ArbreEntiteGeographiqueObservationFiltreVue arbreEntiteGeographiqueObservationFiltreVue = null;
33
 
34
	/**
35
	 * L'arbre pour la recherche date
36
	 *
37
	 */
38
	private ArbreDateObservationFiltreVue arbreDateObservationFiltreVue = null;
39
 
318 aurelien 40
	private ArbreMotsClesObservationVue arbreMotsClesObservationVue = null ;
197 david 41
 
263 aurelien 42
	private RechercheLibreVue rechercheLibreVue = null;
197 david 43
 
44
 
249 aurelien 45
 
197 david 46
 
47
	/**
48
	 * Construcuteur sans argument (privé car on ne doit pas l'utiliser)
49
	 */
50
	@SuppressWarnings("unused")
51
	private PanneauFiltresObservationVues() {
52
		super();
53
	}
54
 
55
	/**
56
	 * Constructeur avec arguments
57
	 *
58
	 * @param im
59
	 *            le médiateur à associer
60
	 */
61
	public PanneauFiltresObservationVues(ObservationMediateur obs) {
62
 
2631 mathias 63
		super(Msg.get("filtres"));
197 david 64
 
65
		observationMediateur = obs;
66
 
67
		this.setCollapsible(true);
68
		//this.setLayout(new AnchorLayout()) ;
69
		this.setLayout(new RowLayout());
70
 
263 aurelien 71
		rechercheLibreVue = new RechercheLibreVue(observationMediateur);
274 aurelien 72
 
73
		if(Ext.isIE()) {
74
			add(rechercheLibreVue);
75
			rechercheLibreVue.setHeight(110);
76
		} else {
281 aurelien 77
			add(rechercheLibreVue,new RowLayoutData(100));
274 aurelien 78
		}
263 aurelien 79
		rechercheLibreVue.setWidth("100%") ;
80
		rechercheLibreVue.setBorder(false);
249 aurelien 81
 
197 david 82
		arbreEntiteGeographiqueObservationFiltreVue = new ArbreEntiteGeographiqueObservationFiltreVue(observationMediateur);
83
		add(arbreEntiteGeographiqueObservationFiltreVue,new RowLayoutData());
84
		//arbreEntiteGeographiqueObservationFiltreVue.setHeight(300) ;
85
		arbreEntiteGeographiqueObservationFiltreVue.setWidth("100%") ;
86
		arbreEntiteGeographiqueObservationFiltreVue.setBorder(false);
87
 
88
		arbreDateObservationFiltreVue = new ArbreDateObservationFiltreVue(observationMediateur) ;
89
		//arbreDateObservationFiltreVue.setHeight(300) ;
90
		add(arbreDateObservationFiltreVue, new RowLayoutData());
91
		arbreDateObservationFiltreVue.setWidth("100%") ;
92
		arbreDateObservationFiltreVue.setBorder(false);
93
 
318 aurelien 94
		arbreMotsClesObservationVue = new ArbreMotsClesObservationVue(observationMediateur);
95
		add(arbreMotsClesObservationVue, new RowLayoutData());
96
		arbreMotsClesObservationVue.setWidth("100%") ;
2631 mathias 97
		arbreMotsClesObservationVue.setTitle(Msg.get("projets"));
318 aurelien 98
		arbreMotsClesObservationVue.setTitleCollapse(true);
99
		arbreMotsClesObservationVue.setCollapsible(true);
100
		arbreMotsClesObservationVue.setBorder(false);
197 david 101
 
102
	}
103
 
104
	/**
105
	 * Accesseur pour le filtre des mots clés
106
	 *
107
	 * @return le filtre des mots clés
108
	 */
109
 
110
	public ArbreEntiteGeographiqueObservationFiltreVue getArbreEntiteGeographiqueObservationFiltreVue() {
111
		return arbreEntiteGeographiqueObservationFiltreVue;
112
	}
113
 
114
	public ArbreDateObservationFiltreVue getArbreDateObservationFiltreVue() {
115
		return arbreDateObservationFiltreVue;
116
	}
117
 
318 aurelien 118
	public ArbreMotsClesObservationVue getArbreMotsClesObservationVue() {
119
		return arbreMotsClesObservationVue;
197 david 120
	}
121
 
263 aurelien 122
	public RechercheLibreVue getRechercheLibreVue() {
123
		return rechercheLibreVue;
249 aurelien 124
	}
125
 
197 david 126
	/**
127
	 * Renvoie un booléen indiquant si un des filtres a été modifié
128
	 *
129
	 * @return true sur un des filtres est modifié, false sinon
130
	 */
131
	public boolean renvoyerEtatFiltre() {
132
 
263 aurelien 133
		return (arbreEntiteGeographiqueObservationFiltreVue.renvoyerEtatFiltre() || arbreDateObservationFiltreVue.renvoyerEtatFiltre() || rechercheLibreVue.renvoyerEtatFiltre());
197 david 134
 
135
	}
136
 
137
	/**
138
	 * Renvoie un tableau à 2 niveaux contenant des paires "nom_de_filtre",
139
	 * "valeur"
140
	 *
141
	 * @return un tableau contenant les noms et les valeurs à filtrer
142
	 */
143
	public String[][] renvoyerValeursAFiltrer() {
144
		String[][] filtres = { arbreEntiteGeographiqueObservationFiltreVue.renvoyerValeursAFiltrer(),
145
								arbreDateObservationFiltreVue.renvoyerValeursAFiltrer(),
318 aurelien 146
								arbreMotsClesObservationVue.renvoyerValeursAFiltrer(),
263 aurelien 147
								rechercheLibreVue.renvoyerValeursAFiltrer()
197 david 148
				 };
149
 
150
		return filtres;
151
	}
682 aurelien 152
 
153
	public void viderFiltres() {
154
		arbreEntiteGeographiqueObservationFiltreVue.viderFiltre();
155
		arbreDateObservationFiltreVue.viderFiltre();
156
		arbreMotsClesObservationVue.viderFiltre();
157
		rechercheLibreVue.viderFiltre();
158
	}
159
 
160
	public void viderFiltres(String nom) {
161
 
965 aurelien 162
		if(nom.equals("id_mots_cles")) {
682 aurelien 163
			arbreMotsClesObservationVue.viderFiltre();
164
		}
165
 
1323 aurelien 166
		if(nom.equals("recherche")) {
682 aurelien 167
			rechercheLibreVue.viderFiltre();
168
		}
169
 
170
		if(nom.equals("annee") || nom.equals("mois") || nom.equals("jour")) {
171
			arbreDateObservationFiltreVue.viderFiltre(nom);
172
		}
173
 
2568 aurelien 174
		if(nom.equals("pays") || nom.equals("station") || nom.equals("lieudit") || nom.equals("departement") || nom.equals("localite")) {
682 aurelien 175
			arbreEntiteGeographiqueObservationFiltreVue.viderFiltre(nom);
176
		}
197 david 177
 
682 aurelien 178
	}
179
 
197 david 180
}