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