Subversion Repositories eFlore/Applications.cel

Rev

Blame | Last modification | View Log | RSS feed

package org.tela_botanica.client.vues;

import org.tela_botanica.client.observation.ObservationMediateur;

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 PanneauFiltresObservationVues extends Panel {

        /**
         * Le médiateur associé
         */
        private ObservationMediateur observationMediateur = null;

        /**
         * L'arbre pour la recherche par mots clés
         */
        private ArbreLocaliteObservationFiltreVue arbreLocaliteObservationFiltreVue = null;
        
        
        /**
         * Bouton de validation
         */
        private Button valider = 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("Rechercher des Observations");
                observationMediateur = obs;

                this.setCollapsible(true);
                setLayout(new VerticalLayout());

                arbreLocaliteObservationFiltreVue = new ArbreLocaliteObservationFiltreVue(obs);
                add(arbreLocaliteObservationFiltreVue);

                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 ArbreLocaliteObservationFiltreVue getArbreLocaliteObservationFiltreVue() {
                return arbreLocaliteObservationFiltreVue;
        }


        /**
         * 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 (arbreLocaliteObservationFiltreVue.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 = { arbreLocaliteObservationFiltreVue.renvoyerValeursAFiltrer(),
                                 };
                
                return filtres;
        }

}