Subversion Repositories eFlore/Applications.cel

Rev

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