Subversion Repositories eFlore/Applications.cel

Rev

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

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