Subversion Repositories eFlore/Applications.cel

Rev

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