Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 aperonnet 1
package org.tela_botanica.client.vues;
2
 
3
import org.tela_botanica.client.image.ImageMediateur;
4
 
5
import com.gwtext.client.core.EventObject;
6
import com.gwtext.client.widgets.Button;
7
import com.gwtext.client.widgets.Panel;
8
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
9
import com.gwtext.client.widgets.layout.VerticalLayout;
10
 
11
 
12
/**
13
 * Panneau contenant les filtres qu'on peut appliquer aux images
14
 * @author aurelien
15
 *
16
 */
17
public class PanneauFiltresVues extends Panel {
18
 
19
	/**
20
	 * Le médiateur associé
21
	 */
22
	@SuppressWarnings("unused")
23
	private ImageMediateur iMediateur = null ;
24
 
25
	/**
26
	 * L'arbre pour la recherche par mots clés
27
	 */
28
	private ArbreMotsClesFiltreVue motsClesFiltres = null ;
29
	/**
30
	 * La barre de recherche par commentaires
31
	 */
32
	private BarreRechercheFiltreVue commFiltresVues = null ;
33
 
34
	/**
35
	 * Recherche par date
36
	 */
37
	private DateFiltreVue dateFiltreVues = null ;
38
 
39
	/**
40
	 * Bouton de validation
41
	 */
42
	private Button valider = null ;
43
 
44
	/**
45
	 * Construcuteur sans argument (privé car on ne doit pas l'utiliser)
46
	 */
47
	@SuppressWarnings("unused")
48
	private PanneauFiltresVues()
49
	{
50
		super() ;
51
	}
52
 
53
	/**
54
	 * Constructeur avec arguments
55
	 * @param im le médiateur à associer
56
	 */
57
	public PanneauFiltresVues(ImageMediateur im)
58
	{
59
		super("Rechercher des images") ;
60
		iMediateur = im ;
61
 
62
		this.setCollapsible(true) ;
63
		setLayout(new VerticalLayout()) ;
64
 
65
		commFiltresVues = new BarreRechercheFiltreVue(im) ;
66
		add(commFiltresVues) ;
67
 
68
		dateFiltreVues = new DateFiltreVue(im) ;
69
		add(dateFiltreVues) ;
70
 
71
		motsClesFiltres = new ArbreMotsClesFiltreVue(im) ;
72
		add(motsClesFiltres) ;
73
 
74
		Panel panelValidation = new Panel() ;
75
		valider = new Button("Rechercher") ;
76
		panelValidation.add(valider) ;
77
		panelValidation.setBorder(false) ;
78
		add(panelValidation) ;
79
 
80
		valider.addListener(new ButtonListenerAdapter() {
81
 
82
			public void onClick(Button button, EventObject e) {
83
 
84
				iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage()) ;
85
 
86
			}
87
 
88
		}) ;
89
	}
90
 
91
	/**
92
	 * Accesseur pour le filtre des mots clés
93
	 * @return le filtre des mots clés
94
	 */
95
	public ArbreMotsClesFiltreVue getMotsClesFiltre()
96
	{
97
		return motsClesFiltres ;
98
	}
99
 
100
	/**
101
	 * Accesseur pour le filtre par commentaire
102
	 * @return le filtre des commentaires
103
	 */
104
	public BarreRechercheFiltreVue getBarreRecherche()
105
	{
106
		return commFiltresVues ;
107
	}
108
 
109
	/**
110
	 * Renvoie un booléen indiquant si un des filtres a été modifié
111
	 * @return true sur un des filtres est modifié, false sinon
112
	 */
113
	public boolean renvoyerEtatFiltre() {
114
 
115
		return (motsClesFiltres.renvoyerEtatFiltre() || commFiltresVues.renvoyerEtatFiltre() || dateFiltreVues.renvoyerEtatFiltre() ) ;
116
	}
117
 
118
	/**
119
	 * Renvoie un tableau à 2 niveaux contenant des paires "nom_de_filtre", "valeur"
120
	 * @return un tableau contenant les noms et les valeurs à filtrer
121
	 */
122
	public String[][] renvoyerValeursAFiltrer()
123
	{
124
		String[][] filtres = { motsClesFiltres.renvoyerValeursAFiltrer(), commFiltresVues.renvoyerValeursAFiltrer() , dateFiltreVues.renvoyerValeursAFiltrer() } ;
125
		return filtres ;
126
	}
127
 
128
}