Subversion Repositories eFlore/Applications.cel

Rev

Rev 965 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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