Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | 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.ArbreMotsClesFiltreVue;
5
import org.tela_botanica.client.vues.observation.filtres.ArbreDateObservationFiltreVue;
6
import org.tela_botanica.client.vues.observation.filtres.ArbreEntiteGeographiqueObservationFiltreVue;
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
 
39
	private ArbreMotsClesFiltreVue arbreMotsClesFiltreVue = null ;
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
 
93
		arbreMotsClesFiltreVue = new ArbreMotsClesFiltreVue(observationMediateur);
94
		add(arbreMotsClesFiltreVue, new RowLayoutData());
95
		arbreMotsClesFiltreVue.setWidth("100%") ;
96
		arbreMotsClesFiltreVue.setTitle("Mots Clés");
97
		arbreMotsClesFiltreVue.setTitleCollapse(true);
98
		arbreMotsClesFiltreVue.setCollapsible(true);
99
		arbreMotsClesFiltreVue.setBorder(false);
100
		arbreMotsClesFiltreVue.hide();
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
 
118
	public ArbreMotsClesFiltreVue getArbreMotsClesFiltreVue() {
119
		return arbreMotsClesFiltreVue;
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(),
249 aurelien 146
								arbreMotsClesFiltreVue.renvoyerValeursAFiltrer(),
263 aurelien 147
								rechercheLibreVue.renvoyerValeursAFiltrer()
197 david 148
				 };
149
 
150
		return filtres;
151
	}
152
 
153
}