Subversion Repositories eFlore/Applications.coel

Rev

Rev 954 | Rev 1210 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.client.vues.collection;

import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.composants.ChampCaseACocher;
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
import org.tela_botanica.client.composants.ChampSliderPourcentage;
import org.tela_botanica.client.modeles.collection.Collection;
import org.tela_botanica.client.modeles.collection.CollectionBotanique;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.vues.Formulaire;
import org.tela_botanica.client.vues.FormulaireOnglet;

import com.extjs.gxt.ui.client.widget.form.TextArea;
import com.extjs.gxt.ui.client.widget.layout.FormData;

public class CollectionFormInventaire extends FormulaireOnglet {

        private Collection collection = null;
        private CollectionBotanique collectionBotanique = null;
        private Collection collectionCollectee = null;
        private CollectionBotanique collectionBotaniqueCollectee = null;
        
        private ChampComboBoxListeValeurs existenceInventaireCombo = null;
        private ChampComboBoxListeValeurs auteurInventaireCombo = null;
        private ChampComboBoxListeValeurs formeInventaireCombo = null;
        private TextArea infoInventaireChp = null;
        private ChampCaseACocher digitalInventaireChp = null;
        private ChampSliderPourcentage pourcentDigitalInventaireChp = null;
        private ChampComboBoxListeValeurs etatInventaireCombo = null;
        private TextArea typeDonneeInventaireChp = null;

        public CollectionFormInventaire(Formulaire formulaireCourrant) {
                initialiserOnglet(formulaireCourrant);
                setId("inventaire");
                setText(Mediateur.i18nC.collectionInventaire());
                int tabIndex = formulaireCourrant.tabIndex;
                
                existenceInventaireCombo = new ChampComboBoxListeValeurs(i18nC.existenceInventaireCollection(), "onpi", tabIndex++);
                existenceInventaireCombo.setTrie("id_valeur");
                add(existenceInventaireCombo, new FormData(300, 0));
                
                auteurInventaireCombo = new ChampComboBoxListeValeurs(i18nC.auteurInventaireCollection(), "onpi", tabIndex++);
                auteurInventaireCombo.setTrie("id_valeur");
                auteurInventaireCombo.setTabIndex(tabIndex++);
                add(auteurInventaireCombo, new FormData(300, 0));
                
                formeInventaireCombo = new ChampComboBoxListeValeurs(i18nC.formeInventaireCollection(), "inventaireForme", tabIndex++);
                formeInventaireCombo.setTabIndex(tabIndex++);
                add(formeInventaireCombo, new FormData(300, 0));
                
                infoInventaireChp = new TextArea();
                infoInventaireChp.setTabIndex(tabIndex++);
                infoInventaireChp.setFieldLabel(i18nC.infoInventaireCollection());
                add(infoInventaireChp, new FormData(550, 0));
                
                digitalInventaireChp = new ChampCaseACocher(i18nC.digitalInventaireCollection(), "inventaireLogiciel", true);
                add(digitalInventaireChp);
                
                pourcentDigitalInventaireChp = new ChampSliderPourcentage(i18nC.pourcentDigitalInventaireCollection());
                pourcentDigitalInventaireChp.setTabIndex(tabIndex++);
                add(pourcentDigitalInventaireChp, new FormData(200, 0));
                
                etatInventaireCombo = new ChampComboBoxListeValeurs(i18nC.etatInventaireCollection(), "inventaireEtat", tabIndex++);
                etatInventaireCombo.setTabIndex(tabIndex++);
                add(etatInventaireCombo, new FormData(300, 0));
                
                typeDonneeInventaireChp = new TextArea();
                typeDonneeInventaireChp.setTabIndex(tabIndex++);
                typeDonneeInventaireChp.setFieldLabel(i18nC.typeDonneeInventaireCollection());
                add(typeDonneeInventaireChp, new FormData(550, 0));
        }
        
        public void peupler() {
                initialiserCollection();
                if (collectionBotanique != null) {
                        existenceInventaireCombo.peupler(collectionBotanique.getInventaire());
                        auteurInventaireCombo.peupler(collectionBotanique.getInventaireAuteur());
                        formeInventaireCombo.peupler(collectionBotanique.getInventaireForme());
                        infoInventaireChp.setValue(collectionBotanique.getInventaireInfo());
                        digitalInventaireChp.peupler(collectionBotanique.getInventaireDigital());
                        pourcentDigitalInventaireChp.peupler(collectionBotanique.getInventaireDigitalPourcent());
                        etatInventaireCombo.peupler(collectionBotanique.getInventaireEtat());
                        typeDonneeInventaireChp.setValue(collectionBotanique.getInventaireDonneesTypes());
                }
        }
        
        public void collecter() {
                initialiserCollection();
                if (etreAccede()) {
                        collectionBotaniqueCollectee.setInventaire(existenceInventaireCombo.getValeur());
                        collectionBotaniqueCollectee.setInventaireAuteur(auteurInventaireCombo.getValeur());
                        collectionBotaniqueCollectee.setInventaireForme(formeInventaireCombo.getValeur());
                        collectionBotaniqueCollectee.setInventaireInfo(infoInventaireChp.getValue());
                        collectionBotaniqueCollectee.setInventaireDigital(digitalInventaireChp.getValeur());
                        collectionBotaniqueCollectee.setInventaireDigitalPourcent(pourcentDigitalInventaireChp.getValeur());
                        collectionBotaniqueCollectee.setInventaireEtat(etatInventaireCombo.getValeur());
                        collectionBotaniqueCollectee.setInventaireDonneesTypes(typeDonneeInventaireChp.getValue());
                }
        }
        
        private void initialiserCollection() {
                collection = ((CollectionForm) formulaire).collection;
                if (collection != null) {
                        collectionBotanique = collection.getBotanique();
                }
                
                collectionCollectee = ((CollectionForm) formulaire).collectionCollectee;
                if (collectionCollectee != null) {
                        collectionBotaniqueCollectee = collectionCollectee.getBotanique();
                }
        }
        
        public void rafraichir(Object nouvellesDonnees) {
                Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
        }
        
}