Subversion Repositories eFlore/Archives.cel-v2

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.Position;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.form.DateField;
import com.gwtext.client.widgets.form.FormPanel;
import com.gwtext.client.widgets.form.TextField;
import com.gwtext.client.widgets.layout.ColumnLayout;
import com.gwtext.client.widgets.layout.ColumnLayoutData;
import com.gwtext.client.widgets.layout.FormLayout;

/**
 * Panneau contenant les infos, les métadonnées et l'arbre des mots clés, il implémente l'interface rafraichissable
 * @author aurelien
 *
 */
public class FormulaireSaisieObservationVue extends Panel  {


        /**
         * Le médiateur associé à la vue
         */
        private ObservationMediateur    observationMediateur            = null;
        
        
        private TextField nameAssistant = null;
        private LocationAssistantVue locationAssistant = null;
    private DateField date = null;
        private TextField lieudit = null;
        private TextField station = null;
        private TextField milieu = null;
        private TextField comment = null;
        
        

        /**
         * Booleen d'instanciation
         */
        boolean estInstancie = false ;
        
        /**
         * Constructeur sans argument (privé car ne doit pas être utilisé)
         */
        private FormulaireSaisieObservationVue()
        {
                super() ;
        }
        
        /**
         * Constructeur avec argument
         * @param im
         */
        public FormulaireSaisieObservationVue(ObservationMediateur obs)
        {

                
                // on associe le médiateur
                observationMediateur = obs ;
                
                this.setHeader(true);
                this.setTitle("Saisie");
           
                
                this.setCollapsible(true) ;
                
                FormPanel panneauFormulaire = new FormPanel(Position.RIGHT);
                panneauFormulaire.setBorder(false);
                
                // Panneau intermediaire qui contient deux colonnes de formulaire
                
                Panel panneauIntermediaire = new Panel();  
                panneauIntermediaire.setLayout(new ColumnLayout());  
                panneauIntermediaire.setBorder(false);
                   
                //create first panel and add fields to it  
                Panel panneauPremierColonne = new Panel();  
                panneauPremierColonne.setLayout(new FormLayout());  
                panneauPremierColonne.setBorder(false);

                //create second panel and add fields to it  
            Panel panneauSecondeColonne = new Panel();  
                panneauSecondeColonne.setLayout(new FormLayout());  
                panneauSecondeColonne.setBorder(false);
        
                
            locationAssistant = new LocationAssistantVue(obs);  
            panneauPremierColonne.add(locationAssistant);  
            
            station = new TextField("Station", "station", 275);  
            station.setAllowBlank(true);  
            panneauPremierColonne.add(station);  
            
            date = new DateField("Date", "date", 100);  
            date.setAllowBlank(true);
            date.setFormat("d/m/yyyy") ;
            panneauPremierColonne.add(date);  
        
                nameAssistant = new TextField("Espèce", "espece", 275);  
                nameAssistant.setAllowBlank(false);  
                panneauPremierColonne.add(nameAssistant);  
                
            comment = new TextField("Notes", "comment", 275);  
            comment.setAllowBlank(true);  
            panneauPremierColonne.add(comment); 
            
            
            lieudit = new TextField("Lieu-dit", "lieudit", 275);  
            lieudit.setAllowBlank(true);  
            panneauSecondeColonne.add(lieudit);  
               
        
            milieu = new TextField("Milieu", "milieu", 275);  
            milieu.setAllowBlank(true);  
            panneauSecondeColonne.add(milieu);  
           
          
                
                
                panneauIntermediaire.add(panneauPremierColonne, new ColumnLayoutData(.5));
                panneauIntermediaire.add(panneauSecondeColonne, new ColumnLayoutData(.5));
                
                panneauFormulaire.add(panneauIntermediaire);
                
                Button boutonOK = new Button("Ok");  
                panneauFormulaire.addButton(boutonOK);
                    
                Button boutonAnnuler = new Button("Annuler");  
                panneauFormulaire.addButton(boutonAnnuler);
                    
        
                this.add(panneauFormulaire) ;
                
                
                this.setAutoHeight(true);
        
                
        
                // on ajoute les listeners
                ajouterListeners() ;
                
                

        }
        
        private void ajouterListeners()
        {
                // on ajoute un écouteur
                /*validerInfo.addListener(new ButtonListenerAdapter() {

                        // gestion du clic
                        
                        public void onClick(Button button, EventObject e) {
                                
                                // lors du clic sur le bouton valider on met à jour les commentaires et la date
                //      getIMediateur().mettreAJourInfo(commentaireGeneral.getText(), dateImage.getRawValue(), noteVue.getNote()) ;
                                
                        }       
                });
                */
        
        
        }
        
        /**
         * Desactive visuellement ce panneau
         */
        public void desactiverPanneau()
        {
                this.setDisabled(true) ;
        }
        
        /**
         * Active visuellement ce panneau
         */
        public void activerPanneau()
        {
                this.setDisabled(false) ;
        }
        

        
        

}