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
 
9
import com.gwtext.client.widgets.Panel;
10
import com.gwtext.client.widgets.layout.RowLayout;
11
import com.gwtext.client.widgets.layout.RowLayoutData;
12
 
13
/**
14
 * Panneau contenant les filtres qu'on peut appliquer aux images
15
 *
16
 * @author aurelien
17
 *
18
 */
19
public class PanneauFiltresObservationVues extends Panel {
20
 
21
	/**
22
	 * Le médiateur associé
23
	 */
24
	private ObservationMediateur observationMediateur = null;
25
 
26
	/**
27
	 * L'arbre pour la recherche entite geographique
28
	 *
29
	 */
30
	private ArbreEntiteGeographiqueObservationFiltreVue arbreEntiteGeographiqueObservationFiltreVue = null;
31
 
32
	/**
33
	 * L'arbre pour la recherche date
34
	 *
35
	 */
36
	private ArbreDateObservationFiltreVue arbreDateObservationFiltreVue = null;
37
 
38
	private ArbreMotsClesFiltreVue arbreMotsClesFiltreVue = null ;
39
 
263 aurelien 40
	private RechercheLibreVue rechercheLibreVue = null;
197 david 41
 
42
 
249 aurelien 43
 
197 david 44
 
45
	/**
46
	 * Construcuteur sans argument (privé car on ne doit pas l'utiliser)
47
	 */
48
	@SuppressWarnings("unused")
49
	private PanneauFiltresObservationVues() {
50
		super();
51
	}
52
 
53
	/**
54
	 * Constructeur avec arguments
55
	 *
56
	 * @param im
57
	 *            le médiateur à associer
58
	 */
59
	public PanneauFiltresObservationVues(ObservationMediateur obs) {
60
 
61
		super("Filtres");
62
 
63
		observationMediateur = obs;
64
 
65
		this.setCollapsible(true);
66
		//this.setLayout(new AnchorLayout()) ;
67
		this.setLayout(new RowLayout());
68
 
263 aurelien 69
		rechercheLibreVue = new RechercheLibreVue(observationMediateur);
70
		add(rechercheLibreVue,new RowLayoutData(75));
71
		rechercheLibreVue.setWidth("100%") ;
72
		rechercheLibreVue.setBorder(false);
249 aurelien 73
 
197 david 74
		arbreEntiteGeographiqueObservationFiltreVue = new ArbreEntiteGeographiqueObservationFiltreVue(observationMediateur);
75
		add(arbreEntiteGeographiqueObservationFiltreVue,new RowLayoutData());
76
		//arbreEntiteGeographiqueObservationFiltreVue.setHeight(300) ;
77
		arbreEntiteGeographiqueObservationFiltreVue.setWidth("100%") ;
78
		arbreEntiteGeographiqueObservationFiltreVue.setBorder(false);
79
 
80
		arbreDateObservationFiltreVue = new ArbreDateObservationFiltreVue(observationMediateur) ;
81
		//arbreDateObservationFiltreVue.setHeight(300) ;
82
		add(arbreDateObservationFiltreVue, new RowLayoutData());
83
		arbreDateObservationFiltreVue.setWidth("100%") ;
84
		arbreDateObservationFiltreVue.setBorder(false);
85
 
86
		arbreMotsClesFiltreVue = new ArbreMotsClesFiltreVue(observationMediateur);
87
		add(arbreMotsClesFiltreVue, new RowLayoutData());
88
		arbreMotsClesFiltreVue.setWidth("100%") ;
89
		arbreMotsClesFiltreVue.setTitle("Mots Clés");
90
		arbreMotsClesFiltreVue.setTitleCollapse(true);
91
		arbreMotsClesFiltreVue.setCollapsible(true);
92
		arbreMotsClesFiltreVue.setBorder(false);
93
		arbreMotsClesFiltreVue.hide();
94
 
95
	}
96
 
97
	/**
98
	 * Accesseur pour le filtre des mots clés
99
	 *
100
	 * @return le filtre des mots clés
101
	 */
102
 
103
	public ArbreEntiteGeographiqueObservationFiltreVue getArbreEntiteGeographiqueObservationFiltreVue() {
104
		return arbreEntiteGeographiqueObservationFiltreVue;
105
	}
106
 
107
	public ArbreDateObservationFiltreVue getArbreDateObservationFiltreVue() {
108
		return arbreDateObservationFiltreVue;
109
	}
110
 
111
	public ArbreMotsClesFiltreVue getArbreMotsClesFiltreVue() {
112
		return arbreMotsClesFiltreVue;
113
	}
114
 
263 aurelien 115
	public RechercheLibreVue getRechercheLibreVue() {
116
		return rechercheLibreVue;
249 aurelien 117
	}
118
 
197 david 119
	/**
120
	 * Renvoie un booléen indiquant si un des filtres a été modifié
121
	 *
122
	 * @return true sur un des filtres est modifié, false sinon
123
	 */
124
	public boolean renvoyerEtatFiltre() {
125
 
263 aurelien 126
		return (arbreEntiteGeographiqueObservationFiltreVue.renvoyerEtatFiltre() || arbreDateObservationFiltreVue.renvoyerEtatFiltre() || rechercheLibreVue.renvoyerEtatFiltre());
197 david 127
 
128
	}
129
 
130
	/**
131
	 * Renvoie un tableau à 2 niveaux contenant des paires "nom_de_filtre",
132
	 * "valeur"
133
	 *
134
	 * @return un tableau contenant les noms et les valeurs à filtrer
135
	 */
136
	public String[][] renvoyerValeursAFiltrer() {
137
		String[][] filtres = { arbreEntiteGeographiqueObservationFiltreVue.renvoyerValeursAFiltrer(),
138
								arbreDateObservationFiltreVue.renvoyerValeursAFiltrer(),
249 aurelien 139
								arbreMotsClesFiltreVue.renvoyerValeursAFiltrer(),
263 aurelien 140
								rechercheLibreVue.renvoyerValeursAFiltrer()
197 david 141
				 };
142
 
143
		return filtres;
144
	}
145
 
146
}