Rev 1513 | 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.OntologiesLocales;
import org.tela_botanica.client.modeles.SimpleModelData;
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.Style.SortDir;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.extjs.gxt.ui.client.widget.form.TextArea;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.layout.FormData;
public class CollectionFormInventaire extends FormulaireOnglet {
public static final String ID = "inventaire";
private Collection collection = null;
private CollectionBotanique collectionBotanique = null;
private Collection collectionCollectee = null;
private CollectionBotanique collectionBotaniqueCollectee = null;
private ComboBox<SimpleModelData> existenceInventaireCombo = null;
private ComboBox<SimpleModelData> auteurInventaireCombo = null;
private ChampComboBoxListeValeurs formeInventaireCombo = null;
private TextArea infoInventaireChp = null;
private ChampCaseACocher digitalInventaireChp = null;
private ChampSliderPourcentage pourcentDigitalInventaireChp = null;
private ChampComboBoxListeValeurs etatInventaireCombo = null;
public CollectionFormInventaire(Formulaire formulaireCourrant) {
initialiserOnglet(formulaireCourrant);
setId(ID);
setText(Mediateur.i18nC.collectionInventaire());
int tabIndex = formulaireCourrant.tabIndex;
existenceInventaireCombo = creerSimpleComboOuiNonPeutEtre(i18nC.existenceInventaireCollection());
add(existenceInventaireCombo, new FormData(300, 0));
auteurInventaireCombo = creerSimpleComboOuiNonPeutEtre(i18nC.auteurInventaireCollection());
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));
}
public void peupler() {
initialiserCollection();
if (collectionBotanique != null) {
remplirSimpleCombo(existenceInventaireCombo, collectionBotanique.getInventaire());
remplirSimpleCombo(auteurInventaireCombo, collectionBotanique.getInventaireAuteur());
formeInventaireCombo.peupler(collectionBotanique.getInventaireForme());
infoInventaireChp.setValue(collectionBotanique.getInventaireInfo());
digitalInventaireChp.peupler(collectionBotanique.getInventaireDigital());
pourcentDigitalInventaireChp.peupler(collectionBotanique.getInventaireDigitalPourcent());
etatInventaireCombo.peupler(collectionBotanique.getInventaireEtat());
}
}
public void collecter() {
initialiserCollection();
if (etreAccede()) {
collectionBotaniqueCollectee.setInventaire(existenceInventaireCombo.getValue().getCle());
collectionBotaniqueCollectee.setInventaireAuteur(auteurInventaireCombo.getValue().getCle());
collectionBotaniqueCollectee.setInventaireForme(formeInventaireCombo.getValeur());
collectionBotaniqueCollectee.setInventaireInfo(infoInventaireChp.getValue());
collectionBotaniqueCollectee.setInventaireDigital(digitalInventaireChp.getValeur());
collectionBotaniqueCollectee.setInventaireDigitalPourcent(pourcentDigitalInventaireChp.getValeur());
collectionBotaniqueCollectee.setInventaireEtat(etatInventaireCombo.getValeur());
}
}
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()));
}
public void remplirSimpleCombo(ComboBox<SimpleModelData> simpleCombo, String valeur) {
SimpleModelData selectionne = simpleCombo.getStore().findModel("cle", valeur);
simpleCombo.setValue(selectionne);
}
public ComboBox<SimpleModelData> creerSimpleComboOuiNonPeutEtre(String label) {
ListStore<SimpleModelData> listeOuiNonPeutEtre = OntologiesLocales.convertirVersListeStore(OntologiesLocales.getListeOuiNonPeutEtre());
ComboBox<SimpleModelData> combo = new ComboBox<SimpleModelData>();
combo.setForceSelection(true);
combo.setTriggerAction(TriggerAction.ALL);
combo.setFieldLabel(label);
combo.setDisplayField("valeur");
combo.setValueField("cle");
listeOuiNonPeutEtre.sort("ordre", SortDir.ASC);
combo.setStore(listeOuiNonPeutEtre);
return combo;
}
}