Rev 281 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.observation;
import org.tela_botanica.client.observation.ObservationMediateur;
import org.tela_botanica.client.vues.ArbreMotsClesFiltreVue;
import org.tela_botanica.client.vues.observation.filtres.ArbreDateObservationFiltreVue;
import org.tela_botanica.client.vues.observation.filtres.ArbreEntiteGeographiqueObservationFiltreVue;
import org.tela_botanica.client.vues.observation.filtres.RechercheLibreVue;
import com.gwtext.client.core.Ext;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.layout.RowLayout;
import com.gwtext.client.widgets.layout.RowLayoutData;
/**
* Panneau contenant les filtres qu'on peut appliquer aux images
*
* @author aurelien
*
*/
public class PanneauFiltresObservationVues extends Panel {
/**
* Le médiateur associé
*/
private ObservationMediateur observationMediateur = null;
/**
* L'arbre pour la recherche entite geographique
*
*/
private ArbreEntiteGeographiqueObservationFiltreVue arbreEntiteGeographiqueObservationFiltreVue = null;
/**
* L'arbre pour la recherche date
*
*/
private ArbreDateObservationFiltreVue arbreDateObservationFiltreVue = null;
private ArbreMotsClesFiltreVue arbreMotsClesFiltreVue = null ;
private RechercheLibreVue rechercheLibreVue = null;
/**
* Construcuteur sans argument (privé car on ne doit pas l'utiliser)
*/
@SuppressWarnings("unused")
private PanneauFiltresObservationVues() {
super();
}
/**
* Constructeur avec arguments
*
* @param im
* le médiateur à associer
*/
public PanneauFiltresObservationVues(ObservationMediateur obs) {
super("Filtres");
observationMediateur = obs;
this.setCollapsible(true);
//this.setLayout(new AnchorLayout()) ;
this.setLayout(new RowLayout());
rechercheLibreVue = new RechercheLibreVue(observationMediateur);
if(Ext.isIE()) {
add(rechercheLibreVue);
rechercheLibreVue.setHeight(110);
} else {
add(rechercheLibreVue,new RowLayoutData(100));
}
rechercheLibreVue.setWidth("100%") ;
rechercheLibreVue.setBorder(false);
arbreEntiteGeographiqueObservationFiltreVue = new ArbreEntiteGeographiqueObservationFiltreVue(observationMediateur);
add(arbreEntiteGeographiqueObservationFiltreVue,new RowLayoutData());
//arbreEntiteGeographiqueObservationFiltreVue.setHeight(300) ;
arbreEntiteGeographiqueObservationFiltreVue.setWidth("100%") ;
arbreEntiteGeographiqueObservationFiltreVue.setBorder(false);
arbreDateObservationFiltreVue = new ArbreDateObservationFiltreVue(observationMediateur) ;
//arbreDateObservationFiltreVue.setHeight(300) ;
add(arbreDateObservationFiltreVue, new RowLayoutData());
arbreDateObservationFiltreVue.setWidth("100%") ;
arbreDateObservationFiltreVue.setBorder(false);
arbreMotsClesFiltreVue = new ArbreMotsClesFiltreVue(observationMediateur);
add(arbreMotsClesFiltreVue, new RowLayoutData());
arbreMotsClesFiltreVue.setWidth("100%") ;
arbreMotsClesFiltreVue.setTitle("Mots Clés");
arbreMotsClesFiltreVue.setTitleCollapse(true);
arbreMotsClesFiltreVue.setCollapsible(true);
arbreMotsClesFiltreVue.setBorder(false);
arbreMotsClesFiltreVue.hide();
}
/**
* Accesseur pour le filtre des mots clés
*
* @return le filtre des mots clés
*/
public ArbreEntiteGeographiqueObservationFiltreVue getArbreEntiteGeographiqueObservationFiltreVue() {
return arbreEntiteGeographiqueObservationFiltreVue;
}
public ArbreDateObservationFiltreVue getArbreDateObservationFiltreVue() {
return arbreDateObservationFiltreVue;
}
public ArbreMotsClesFiltreVue getArbreMotsClesFiltreVue() {
return arbreMotsClesFiltreVue;
}
public RechercheLibreVue getRechercheLibreVue() {
return rechercheLibreVue;
}
/**
* 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 (arbreEntiteGeographiqueObservationFiltreVue.renvoyerEtatFiltre() || arbreDateObservationFiltreVue.renvoyerEtatFiltre() || rechercheLibreVue.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 = { arbreEntiteGeographiqueObservationFiltreVue.renvoyerValeursAFiltrer(),
arbreDateObservationFiltreVue.renvoyerValeursAFiltrer(),
arbreMotsClesFiltreVue.renvoyerValeursAFiltrer(),
rechercheLibreVue.renvoyerValeursAFiltrer()
};
return filtres;
}
}