| 197 | david | 1 | package org.tela_botanica.client.vues.observation;
 | 
        
           |  |  | 2 |   | 
        
           |  |  | 3 | import org.tela_botanica.client.observation.ObservationMediateur;
 | 
        
           |  |  | 4 | import org.tela_botanica.client.vues.observation.filtres.ArbreDateObservationFiltreVue;
 | 
        
           |  |  | 5 | import org.tela_botanica.client.vues.observation.filtres.ArbreEntiteGeographiqueObservationFiltreVue;
 | 
        
           | 318 | aurelien | 6 | import org.tela_botanica.client.vues.observation.filtres.ArbreMotsClesObservationVue;
 | 
        
           | 263 | aurelien | 7 | import org.tela_botanica.client.vues.observation.filtres.RechercheLibreVue;
 | 
        
           | 197 | david | 8 |   | 
        
           | 274 | aurelien | 9 | import com.gwtext.client.core.Ext;
 | 
        
           | 197 | david | 10 | import com.gwtext.client.widgets.Panel;
 | 
        
           |  |  | 11 | import com.gwtext.client.widgets.layout.RowLayout;
 | 
        
           |  |  | 12 | import com.gwtext.client.widgets.layout.RowLayoutData;
 | 
        
           |  |  | 13 |   | 
        
           |  |  | 14 | /**
 | 
        
           |  |  | 15 |  * Panneau contenant les filtres qu'on peut appliquer aux images
 | 
        
           |  |  | 16 |  *
 | 
        
           |  |  | 17 |  * @author aurelien
 | 
        
           |  |  | 18 |  *
 | 
        
           |  |  | 19 |  */
 | 
        
           |  |  | 20 | public class PanneauFiltresObservationVues extends Panel {
 | 
        
           |  |  | 21 |   | 
        
           |  |  | 22 | 	/**
 | 
        
           |  |  | 23 | 	 * Le médiateur associé
 | 
        
           |  |  | 24 | 	 */
 | 
        
           |  |  | 25 | 	private ObservationMediateur observationMediateur = null;
 | 
        
           |  |  | 26 |   | 
        
           |  |  | 27 | 	/**
 | 
        
           |  |  | 28 | 	 * L'arbre pour la recherche entite geographique
 | 
        
           |  |  | 29 | 	 *
 | 
        
           |  |  | 30 | 	 */
 | 
        
           |  |  | 31 | 	private ArbreEntiteGeographiqueObservationFiltreVue arbreEntiteGeographiqueObservationFiltreVue = null;
 | 
        
           |  |  | 32 |   | 
        
           |  |  | 33 | 	/**
 | 
        
           |  |  | 34 | 	 * L'arbre pour la recherche date
 | 
        
           |  |  | 35 | 	 *
 | 
        
           |  |  | 36 | 	 */
 | 
        
           |  |  | 37 | 	private ArbreDateObservationFiltreVue arbreDateObservationFiltreVue = null;
 | 
        
           |  |  | 38 |   | 
        
           | 318 | aurelien | 39 | 	private ArbreMotsClesObservationVue arbreMotsClesObservationVue = null ;
 | 
        
           | 197 | david | 40 |   | 
        
           | 263 | aurelien | 41 | 	private RechercheLibreVue rechercheLibreVue = null;
 | 
        
           | 197 | david | 42 |   | 
        
           |  |  | 43 |   | 
        
           | 249 | aurelien | 44 |   | 
        
           | 197 | david | 45 |   | 
        
           |  |  | 46 | 	/**
 | 
        
           |  |  | 47 | 	 * Construcuteur sans argument (privé car on ne doit pas l'utiliser)
 | 
        
           |  |  | 48 | 	 */
 | 
        
           |  |  | 49 | 	@SuppressWarnings("unused")
 | 
        
           |  |  | 50 | 	private PanneauFiltresObservationVues() {
 | 
        
           |  |  | 51 | 		super();
 | 
        
           |  |  | 52 | 	}
 | 
        
           |  |  | 53 |   | 
        
           |  |  | 54 | 	/**
 | 
        
           |  |  | 55 | 	 * Constructeur avec arguments
 | 
        
           |  |  | 56 | 	 *
 | 
        
           |  |  | 57 | 	 * @param im
 | 
        
           |  |  | 58 | 	 *            le médiateur à associer
 | 
        
           |  |  | 59 | 	 */
 | 
        
           |  |  | 60 | 	public PanneauFiltresObservationVues(ObservationMediateur obs) {
 | 
        
           |  |  | 61 |   | 
        
           |  |  | 62 | 		super("Filtres");
 | 
        
           |  |  | 63 |   | 
        
           |  |  | 64 | 		observationMediateur = obs;
 | 
        
           |  |  | 65 |   | 
        
           |  |  | 66 | 		this.setCollapsible(true);
 | 
        
           |  |  | 67 | 		//this.setLayout(new AnchorLayout()) ;
 | 
        
           |  |  | 68 | 		this.setLayout(new RowLayout());
 | 
        
           |  |  | 69 |   | 
        
           | 263 | aurelien | 70 | 		rechercheLibreVue = new RechercheLibreVue(observationMediateur);
 | 
        
           | 274 | aurelien | 71 |   | 
        
           |  |  | 72 | 		if(Ext.isIE()) {
 | 
        
           |  |  | 73 | 			add(rechercheLibreVue);
 | 
        
           |  |  | 74 | 			rechercheLibreVue.setHeight(110);
 | 
        
           |  |  | 75 | 		} else {
 | 
        
           | 281 | aurelien | 76 | 			add(rechercheLibreVue,new RowLayoutData(100));
 | 
        
           | 274 | aurelien | 77 | 		}
 | 
        
           | 263 | aurelien | 78 | 		rechercheLibreVue.setWidth("100%") ;
 | 
        
           |  |  | 79 | 		rechercheLibreVue.setBorder(false);
 | 
        
           | 249 | aurelien | 80 |   | 
        
           | 197 | david | 81 | 		arbreEntiteGeographiqueObservationFiltreVue = new ArbreEntiteGeographiqueObservationFiltreVue(observationMediateur);
 | 
        
           |  |  | 82 | 		add(arbreEntiteGeographiqueObservationFiltreVue,new RowLayoutData());
 | 
        
           |  |  | 83 | 		//arbreEntiteGeographiqueObservationFiltreVue.setHeight(300) ;
 | 
        
           |  |  | 84 | 		arbreEntiteGeographiqueObservationFiltreVue.setWidth("100%") ;
 | 
        
           |  |  | 85 | 		arbreEntiteGeographiqueObservationFiltreVue.setBorder(false);
 | 
        
           |  |  | 86 |   | 
        
           |  |  | 87 | 		arbreDateObservationFiltreVue = new ArbreDateObservationFiltreVue(observationMediateur) ;
 | 
        
           |  |  | 88 | 		//arbreDateObservationFiltreVue.setHeight(300) ;
 | 
        
           |  |  | 89 | 		add(arbreDateObservationFiltreVue, new RowLayoutData());
 | 
        
           |  |  | 90 | 		arbreDateObservationFiltreVue.setWidth("100%") ;
 | 
        
           |  |  | 91 | 		arbreDateObservationFiltreVue.setBorder(false);
 | 
        
           |  |  | 92 |   | 
        
           | 318 | aurelien | 93 | 		arbreMotsClesObservationVue = new ArbreMotsClesObservationVue(observationMediateur);
 | 
        
           |  |  | 94 | 		add(arbreMotsClesObservationVue, new RowLayoutData());
 | 
        
           |  |  | 95 | 		arbreMotsClesObservationVue.setWidth("100%") ;
 | 
        
           | 336 | aurelien | 96 | 		arbreMotsClesObservationVue.setTitle("Projets");
 | 
        
           | 318 | aurelien | 97 | 		arbreMotsClesObservationVue.setTitleCollapse(true);
 | 
        
           |  |  | 98 | 		arbreMotsClesObservationVue.setCollapsible(true);
 | 
        
           |  |  | 99 | 		arbreMotsClesObservationVue.setBorder(false);
 | 
        
           | 197 | david | 100 |   | 
        
           |  |  | 101 | 	}
 | 
        
           |  |  | 102 |   | 
        
           |  |  | 103 | 	/**
 | 
        
           |  |  | 104 | 	 * Accesseur pour le filtre des mots clés
 | 
        
           |  |  | 105 | 	 *
 | 
        
           |  |  | 106 | 	 * @return le filtre des mots clés
 | 
        
           |  |  | 107 | 	 */
 | 
        
           |  |  | 108 |   | 
        
           |  |  | 109 | 	public ArbreEntiteGeographiqueObservationFiltreVue getArbreEntiteGeographiqueObservationFiltreVue() {
 | 
        
           |  |  | 110 | 		return arbreEntiteGeographiqueObservationFiltreVue;
 | 
        
           |  |  | 111 | 	}
 | 
        
           |  |  | 112 |   | 
        
           |  |  | 113 | 	public ArbreDateObservationFiltreVue getArbreDateObservationFiltreVue() {
 | 
        
           |  |  | 114 | 		return arbreDateObservationFiltreVue;
 | 
        
           |  |  | 115 | 	}
 | 
        
           |  |  | 116 |   | 
        
           | 318 | aurelien | 117 | 	public ArbreMotsClesObservationVue getArbreMotsClesObservationVue() {
 | 
        
           |  |  | 118 | 		return arbreMotsClesObservationVue;
 | 
        
           | 197 | david | 119 | 	}
 | 
        
           |  |  | 120 |   | 
        
           | 263 | aurelien | 121 | 	public RechercheLibreVue getRechercheLibreVue() {
 | 
        
           |  |  | 122 | 		return rechercheLibreVue;
 | 
        
           | 249 | aurelien | 123 | 	}
 | 
        
           |  |  | 124 |   | 
        
           | 197 | david | 125 | 	/**
 | 
        
           |  |  | 126 | 	 * Renvoie un booléen indiquant si un des filtres a été modifié
 | 
        
           |  |  | 127 | 	 *
 | 
        
           |  |  | 128 | 	 * @return true sur un des filtres est modifié, false sinon
 | 
        
           |  |  | 129 | 	 */
 | 
        
           |  |  | 130 | 	public boolean renvoyerEtatFiltre() {
 | 
        
           |  |  | 131 |   | 
        
           | 263 | aurelien | 132 | 		return (arbreEntiteGeographiqueObservationFiltreVue.renvoyerEtatFiltre() || arbreDateObservationFiltreVue.renvoyerEtatFiltre() || rechercheLibreVue.renvoyerEtatFiltre());
 | 
        
           | 197 | david | 133 |   | 
        
           |  |  | 134 | 	}
 | 
        
           |  |  | 135 |   | 
        
           |  |  | 136 | 	/**
 | 
        
           |  |  | 137 | 	 * Renvoie un tableau à 2 niveaux contenant des paires "nom_de_filtre",
 | 
        
           |  |  | 138 | 	 * "valeur"
 | 
        
           |  |  | 139 | 	 *
 | 
        
           |  |  | 140 | 	 * @return un tableau contenant les noms et les valeurs à filtrer
 | 
        
           |  |  | 141 | 	 */
 | 
        
           |  |  | 142 | 	public String[][] renvoyerValeursAFiltrer() {
 | 
        
           |  |  | 143 | 		String[][] filtres = { arbreEntiteGeographiqueObservationFiltreVue.renvoyerValeursAFiltrer(),
 | 
        
           |  |  | 144 | 								arbreDateObservationFiltreVue.renvoyerValeursAFiltrer(),
 | 
        
           | 318 | aurelien | 145 | 								arbreMotsClesObservationVue.renvoyerValeursAFiltrer(),
 | 
        
           | 263 | aurelien | 146 | 								rechercheLibreVue.renvoyerValeursAFiltrer()
 | 
        
           | 197 | david | 147 | 				 };
 | 
        
           |  |  | 148 |   | 
        
           |  |  | 149 | 		return filtres;
 | 
        
           |  |  | 150 | 	}
 | 
        
           | 682 | aurelien | 151 |   | 
        
           |  |  | 152 | 	public void viderFiltres() {
 | 
        
           |  |  | 153 | 		arbreEntiteGeographiqueObservationFiltreVue.viderFiltre();
 | 
        
           |  |  | 154 | 		arbreDateObservationFiltreVue.viderFiltre();
 | 
        
           |  |  | 155 | 		arbreMotsClesObservationVue.viderFiltre();
 | 
        
           |  |  | 156 | 		rechercheLibreVue.viderFiltre();
 | 
        
           |  |  | 157 | 	}
 | 
        
           |  |  | 158 |   | 
        
           |  |  | 159 | 	public void viderFiltres(String nom) {
 | 
        
           |  |  | 160 |   | 
        
           | 965 | aurelien | 161 | 		if(nom.equals("id_mots_cles")) {
 | 
        
           | 682 | aurelien | 162 | 			arbreMotsClesObservationVue.viderFiltre();
 | 
        
           |  |  | 163 | 		}
 | 
        
           |  |  | 164 |   | 
        
           | 1323 | aurelien | 165 | 		if(nom.equals("recherche")) {
 | 
        
           | 682 | aurelien | 166 | 			rechercheLibreVue.viderFiltre();
 | 
        
           |  |  | 167 | 		}
 | 
        
           |  |  | 168 |   | 
        
           |  |  | 169 | 		if(nom.equals("annee") || nom.equals("mois") || nom.equals("jour")) {
 | 
        
           |  |  | 170 | 			arbreDateObservationFiltreVue.viderFiltre(nom);
 | 
        
           |  |  | 171 | 		}
 | 
        
           |  |  | 172 |   | 
        
           | 965 | aurelien | 173 | 		if(nom.equals("station") || nom.equals("lieudit") || nom.equals("departement") || nom.equals("commune")) {
 | 
        
           | 682 | aurelien | 174 | 			arbreEntiteGeographiqueObservationFiltreVue.viderFiltre(nom);
 | 
        
           |  |  | 175 | 		}
 | 
        
           | 197 | david | 176 |   | 
        
           | 682 | aurelien | 177 | 	}
 | 
        
           |  |  | 178 |   | 
        
           | 197 | david | 179 | }
 |