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 ; |
} |
|
} |