New file |
0,0 → 1,180 |
package org.tela_botanica.client.vues.observation; |
|
import org.tela_botanica.client.i18n.Msg; |
import org.tela_botanica.client.observation.ObservationMediateur; |
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.ArbreMotsClesObservationVue; |
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 ArbreMotsClesObservationVue arbreMotsClesObservationVue = 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(Msg.get("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); |
|
arbreMotsClesObservationVue = new ArbreMotsClesObservationVue(observationMediateur); |
add(arbreMotsClesObservationVue, new RowLayoutData()); |
arbreMotsClesObservationVue.setWidth("100%") ; |
arbreMotsClesObservationVue.setTitle(Msg.get("projets")); |
arbreMotsClesObservationVue.setTitleCollapse(true); |
arbreMotsClesObservationVue.setCollapsible(true); |
arbreMotsClesObservationVue.setBorder(false); |
|
} |
|
/** |
* 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 ArbreMotsClesObservationVue getArbreMotsClesObservationVue() { |
return arbreMotsClesObservationVue; |
} |
|
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(), |
arbreMotsClesObservationVue.renvoyerValeursAFiltrer(), |
rechercheLibreVue.renvoyerValeursAFiltrer() |
}; |
|
return filtres; |
} |
|
public void viderFiltres() { |
arbreEntiteGeographiqueObservationFiltreVue.viderFiltre(); |
arbreDateObservationFiltreVue.viderFiltre(); |
arbreMotsClesObservationVue.viderFiltre(); |
rechercheLibreVue.viderFiltre(); |
} |
|
public void viderFiltres(String nom) { |
|
if(nom.equals("id_mots_cles")) { |
arbreMotsClesObservationVue.viderFiltre(); |
} |
|
if(nom.equals("recherche")) { |
rechercheLibreVue.viderFiltre(); |
} |
|
if(nom.equals("annee") || nom.equals("mois") || nom.equals("jour")) { |
arbreDateObservationFiltreVue.viderFiltre(nom); |
} |
|
if(nom.equals("pays") || nom.equals("station") || nom.equals("lieudit") || nom.equals("departement") || nom.equals("localite")) { |
arbreEntiteGeographiqueObservationFiltreVue.viderFiltre(nom); |
} |
|
} |
|
} |