Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1 → Rev 2

/trunk/src/org/tela_botanica/client/vues/PanneauFiltresVues.java
New file
0,0 → 1,128
package org.tela_botanica.client.vues;
 
import org.tela_botanica.client.image.ImageMediateur;
 
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.layout.VerticalLayout;
 
 
/**
* Panneau contenant les filtres qu'on peut appliquer aux images
* @author aurelien
*
*/
public class PanneauFiltresVues extends Panel {
 
/**
* Le médiateur associé
*/
@SuppressWarnings("unused")
private ImageMediateur iMediateur = null ;
/**
* L'arbre pour la recherche par mots clés
*/
private ArbreMotsClesFiltreVue motsClesFiltres = null ;
/**
* La barre de recherche par commentaires
*/
private BarreRechercheFiltreVue commFiltresVues = null ;
/**
* Recherche par date
*/
private DateFiltreVue dateFiltreVues = null ;
/**
* Bouton de validation
*/
private Button valider = null ;
/**
* Construcuteur sans argument (privé car on ne doit pas l'utiliser)
*/
@SuppressWarnings("unused")
private PanneauFiltresVues()
{
super() ;
}
/**
* Constructeur avec arguments
* @param im le médiateur à associer
*/
public PanneauFiltresVues(ImageMediateur im)
{
super("Rechercher des images") ;
iMediateur = im ;
this.setCollapsible(true) ;
setLayout(new VerticalLayout()) ;
commFiltresVues = new BarreRechercheFiltreVue(im) ;
add(commFiltresVues) ;
dateFiltreVues = new DateFiltreVue(im) ;
add(dateFiltreVues) ;
motsClesFiltres = new ArbreMotsClesFiltreVue(im) ;
add(motsClesFiltres) ;
Panel panelValidation = new Panel() ;
valider = new Button("Rechercher") ;
panelValidation.add(valider) ;
panelValidation.setBorder(false) ;
add(panelValidation) ;
valider.addListener(new ButtonListenerAdapter() {
 
public void onClick(Button button, EventObject e) {
iMediateur.obtenirPhotoGalerie(iMediateur.getGalerieImage()) ;
}
}) ;
}
/**
* Accesseur pour le filtre des mots clés
* @return le filtre des mots clés
*/
public ArbreMotsClesFiltreVue getMotsClesFiltre()
{
return motsClesFiltres ;
}
/**
* Accesseur pour le filtre par commentaire
* @return le filtre des commentaires
*/
public BarreRechercheFiltreVue getBarreRecherche()
{
return commFiltresVues ;
}
 
/**
* Renvoie un booléen indiquant si un des filtres a été modifié
* @return true sur un des filtres est modifié, false sinon
*/
public boolean renvoyerEtatFiltre() {
return (motsClesFiltres.renvoyerEtatFiltre() || commFiltresVues.renvoyerEtatFiltre() || dateFiltreVues.renvoyerEtatFiltre() ) ;
}
/**
* Renvoie un tableau à 2 niveaux contenant des paires "nom_de_filtre", "valeur"
* @return un tableau contenant les noms et les valeurs à filtrer
*/
public String[][] renvoyerValeursAFiltrer()
{
String[][] filtres = { motsClesFiltres.renvoyerValeursAFiltrer(), commFiltresVues.renvoyerValeursAFiltrer() , dateFiltreVues.renvoyerValeursAFiltrer() } ;
return filtres ;
}
 
}