Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
54 david 1
package org.tela_botanica.client.vues;
2
 
3
import org.tela_botanica.client.observation.ObservationMediateur;
4
 
86 jpm 5
import com.google.gwt.user.client.Window;
6
import com.gwtext.client.widgets.Component;
54 david 7
import com.gwtext.client.widgets.Panel;
86 jpm 8
import com.gwtext.client.widgets.event.ContainerListener;
9
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
70 david 10
import com.gwtext.client.widgets.layout.AccordionLayout;
54 david 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
	/**
68 david 26
	 * L'arbre pour la recherche entite geographique
27
	 *
54 david 28
	 */
68 david 29
	private ArbreEntiteGeographiqueObservationFiltreVue arbreEntiteGeographiqueObservationFiltreVue = null;
54 david 30
 
91 jpm 31
	/**
32
	 * L'arbre pour la recherche date
33
	 *
34
	 */
35
	private ArbreDateObservationFiltreVue arbreDateObservationFiltreVue = null;
54 david 36
 
91 jpm 37
 
38
 
54 david 39
 
40
	/**
41
	 * Construcuteur sans argument (privé car on ne doit pas l'utiliser)
42
	 */
43
	@SuppressWarnings("unused")
44
	private PanneauFiltresObservationVues() {
45
		super();
46
	}
47
 
48
	/**
49
	 * Constructeur avec arguments
50
	 *
51
	 * @param im
52
	 *            le médiateur à associer
53
	 */
54
	public PanneauFiltresObservationVues(ObservationMediateur obs) {
55
 
70 david 56
		super("Selections");
57
 
54 david 58
		observationMediateur = obs;
70 david 59
 
54 david 60
		this.setCollapsible(true);
70 david 61
		setLayout(new AccordionLayout(true));
91 jpm 62
 
68 david 63
		arbreEntiteGeographiqueObservationFiltreVue = new ArbreEntiteGeographiqueObservationFiltreVue(observationMediateur);
64
		add(arbreEntiteGeographiqueObservationFiltreVue);
70 david 65
 
91 jpm 66
		arbreDateObservationFiltreVue = new ArbreDateObservationFiltreVue(observationMediateur) ;
67
		add(arbreDateObservationFiltreVue) ;
68
 
54 david 69
	}
70
 
71
	/**
72
	 * Accesseur pour le filtre des mots clés
73
	 *
74
	 * @return le filtre des mots clés
75
	 */
76
 
91 jpm 77
	public ArbreEntiteGeographiqueObservationFiltreVue getArbreEntiteGeographiqueObservationFiltreVue() {
68 david 78
		return arbreEntiteGeographiqueObservationFiltreVue;
54 david 79
	}
91 jpm 80
 
81
	public ArbreDateObservationFiltreVue getArbreDateObservationFiltreVue() {
82
		return arbreDateObservationFiltreVue;
83
	}
54 david 84
 
85
 
86
	/**
87
	 * Renvoie un booléen indiquant si un des filtres a été modifié
88
	 *
89
	 * @return true sur un des filtres est modifié, false sinon
90
	 */
91
	public boolean renvoyerEtatFiltre() {
92
 
91 jpm 93
		return (arbreEntiteGeographiqueObservationFiltreVue.renvoyerEtatFiltre() || arbreDateObservationFiltreVue.renvoyerEtatFiltre());
54 david 94
 
95
	}
96
 
97
	/**
98
	 * Renvoie un tableau à 2 niveaux contenant des paires "nom_de_filtre",
99
	 * "valeur"
100
	 *
101
	 * @return un tableau contenant les noms et les valeurs à filtrer
102
	 */
103
	public String[][] renvoyerValeursAFiltrer() {
68 david 104
		String[][] filtres = { arbreEntiteGeographiqueObservationFiltreVue.renvoyerValeursAFiltrer(),
91 jpm 105
								arbreDateObservationFiltreVue.renvoyerValeursAFiltrer()
54 david 106
				 };
107
 
108
		return filtres;
109
	}
110
 
111
}