Subversion Repositories eFlore/Applications.cel

Rev

Rev 91 | 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;
97 jpm 11
import com.gwtext.client.widgets.layout.AnchorLayout;
12
import com.gwtext.client.widgets.layout.AnchorLayoutData;
54 david 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
	/**
68 david 28
	 * L'arbre pour la recherche entite geographique
29
	 *
54 david 30
	 */
68 david 31
	private ArbreEntiteGeographiqueObservationFiltreVue arbreEntiteGeographiqueObservationFiltreVue = null;
54 david 32
 
91 jpm 33
	/**
34
	 * L'arbre pour la recherche date
35
	 *
36
	 */
37
	private ArbreDateObservationFiltreVue arbreDateObservationFiltreVue = null;
54 david 38
 
91 jpm 39
 
40
 
54 david 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
 
70 david 58
		super("Selections");
59
 
54 david 60
		observationMediateur = obs;
70 david 61
 
54 david 62
		this.setCollapsible(true);
97 jpm 63
		setLayout(new AnchorLayout());
91 jpm 64
 
68 david 65
		arbreEntiteGeographiqueObservationFiltreVue = new ArbreEntiteGeographiqueObservationFiltreVue(observationMediateur);
97 jpm 66
		add(arbreEntiteGeographiqueObservationFiltreVue,new AnchorLayoutData("50%"));
70 david 67
 
91 jpm 68
		arbreDateObservationFiltreVue = new ArbreDateObservationFiltreVue(observationMediateur) ;
97 jpm 69
		add(arbreDateObservationFiltreVue,new AnchorLayoutData("50%")) ;
91 jpm 70
 
54 david 71
	}
72
 
73
	/**
74
	 * Accesseur pour le filtre des mots clés
75
	 *
76
	 * @return le filtre des mots clés
77
	 */
78
 
91 jpm 79
	public ArbreEntiteGeographiqueObservationFiltreVue getArbreEntiteGeographiqueObservationFiltreVue() {
68 david 80
		return arbreEntiteGeographiqueObservationFiltreVue;
54 david 81
	}
91 jpm 82
 
83
	public ArbreDateObservationFiltreVue getArbreDateObservationFiltreVue() {
84
		return arbreDateObservationFiltreVue;
85
	}
54 david 86
 
87
 
88
	/**
89
	 * Renvoie un booléen indiquant si un des filtres a été modifié
90
	 *
91
	 * @return true sur un des filtres est modifié, false sinon
92
	 */
93
	public boolean renvoyerEtatFiltre() {
94
 
91 jpm 95
		return (arbreEntiteGeographiqueObservationFiltreVue.renvoyerEtatFiltre() || arbreDateObservationFiltreVue.renvoyerEtatFiltre());
54 david 96
 
97
	}
98
 
99
	/**
100
	 * Renvoie un tableau à 2 niveaux contenant des paires "nom_de_filtre",
101
	 * "valeur"
102
	 *
103
	 * @return un tableau contenant les noms et les valeurs à filtrer
104
	 */
105
	public String[][] renvoyerValeursAFiltrer() {
68 david 106
		String[][] filtres = { arbreEntiteGeographiqueObservationFiltreVue.renvoyerValeursAFiltrer(),
91 jpm 107
								arbreDateObservationFiltreVue.renvoyerValeursAFiltrer()
54 david 108
				 };
109
 
110
		return filtres;
111
	}
112
 
113
}