1,5 → 1,8 |
package org.tela_botanica.client.vues.collection; |
|
import java.util.HashMap; |
import java.util.Iterator; |
|
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.composants.ChampCaseACocher; |
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs; |
6,7 → 9,13 |
import org.tela_botanica.client.composants.ChampSliderPourcentage; |
import org.tela_botanica.client.composants.ConteneurMultiChamps; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.aDonnee; |
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.util.Pattern; |
import org.tela_botanica.client.util.UtilDate; |
import org.tela_botanica.client.util.UtilString; |
import org.tela_botanica.client.vues.Formulaire; |
import org.tela_botanica.client.vues.FormulaireOnglet; |
|
17,10 → 26,14 |
import com.extjs.gxt.ui.client.widget.form.TextArea; |
import com.extjs.gxt.ui.client.widget.layout.FormData; |
import com.extjs.gxt.ui.client.widget.layout.HBoxLayoutData; |
import com.google.gwt.core.client.GWT; |
|
public class CollectionFormContenu extends FormulaireOnglet implements Rafraichissable { |
|
private Collection collection = null; |
private CollectionBotanique collectionBotanique = null; |
private Collection collectionCollectee = null; |
private CollectionBotanique collectionBotaniqueCollectee = null; |
|
private ChampCaseACocher natureChp = null; |
private TextArea specialiteChp = null; |
private ChampCaseACocher periodeConstitutionChp = null; |
172,6 → 185,67 |
add(etiquetteFieldSet); |
} |
|
private String collecterEtiquetteRenseignement() { |
String renseignement = ""; |
renseignement += creerTypeValeur("AT", auteurTitrePourcentChp.getValeur()); |
renseignement += creerTypeValeur("F", famillePourcentChp.getValeur()); |
renseignement += creerTypeValeur("G", genrePourcentChp.getValeur()); |
renseignement += creerTypeValeur("SP", spPourcentChp.getValeur()); |
renseignement += creerTypeValeur("ASP", auteurSpPourcentChp.getValeur()); |
renseignement += creerTypeValeur("L", localitePourcentChp.getValeur()); |
renseignement += creerTypeValeur("D", datePourcentChp.getValeur()); |
renseignement = renseignement.replaceFirst(aDonnee.SEPARATEUR_VALEURS+"$", ""); |
return renseignement; |
} |
|
private String creerTypeValeur(String type, String valeur) { |
String retour = ""; |
if (!UtilString.isEmpty(valeur)) { |
retour = type+aDonnee.SEPARATEUR_TYPE_VALEUR+valeur+aDonnee.SEPARATEUR_VALEURS; |
} |
return retour; |
} |
|
private void peuplerEtiquetteRenseignement(String valeurTruk) { |
HashMap<String,String> infos = parserEtiquetteRenseignement(valeurTruk); |
if (infos != null) { |
Iterator<String> it = infos.keySet().iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if (cle.equals("AT")) { |
auteurTitrePourcentChp.peupler(infos.get(cle)); |
} else if (cle.equals("F")) { |
famillePourcentChp.peupler(infos.get(cle)); |
} else if (cle.equals("G")) { |
genrePourcentChp.peupler(infos.get(cle)); |
} else if (cle.equals("SP")) { |
spPourcentChp.peupler(infos.get(cle)); |
} else if (cle.equals("ASP")) { |
auteurSpPourcentChp.peupler(infos.get(cle)); |
} else if (cle.equals("L")) { |
localitePourcentChp.peupler(infos.get(cle)); |
} else if (cle.equals("D")) { |
genrePourcentChp.peupler(infos.get(cle)); |
} |
} |
} |
} |
|
private HashMap<String,String> parserEtiquetteRenseignement(String valeurTruk) { |
HashMap<String,String> infos = null; |
if (!UtilString.isEmpty(valeurTruk)) { |
infos = new HashMap<String,String>(); |
String[] pourcentages = valeurTruk.split(Pattern.quote(aDonnee.SEPARATEUR_VALEURS)); |
for (int i = 0; i < pourcentages.length; i++) { |
String[] pourcentageIdValeur = pourcentages[i].split(Pattern.quote(aDonnee.SEPARATEUR_TYPE_VALEUR)); |
String id = pourcentageIdValeur[0]; |
String valeur = pourcentageIdValeur[1]; |
infos.put(id, valeur); |
} |
} |
return infos; |
} |
|
private void creerFieldsetIntegration() { |
FieldSet integrationFieldSet = new FieldSet(); |
integrationFieldSet.setHeading("Collections intégrées"); |
190,20 → 264,69 |
add(integrationFieldSet); |
} |
|
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof ValeurListe) { |
ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees; |
rafraichirValeurListe(listeValeurs); |
} else { |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
public void peupler() { |
initialiserCollection(); |
if (collectionBotanique != null) { |
natureChp.peupler(collectionBotaniqueCollectee.getNature()); |
specialiteChp.setValue(collectionBotaniqueCollectee.getSpecialite()); |
|
periodeConstitutionChp.peupler(collectionCollectee.getPeriodeConstitution()); |
dateDebutChp.setValue(UtilString.formaterEnDate(collectionBotaniqueCollectee.getRecolteDateDebut())); |
dateDebutCombo.peupler(collectionBotaniqueCollectee.getRecolteDateDebutType()); |
dateFinChp.setValue(UtilString.formaterEnDate(collectionBotaniqueCollectee.getRecolteDateFin())); |
dateFinCombo.peupler(collectionBotaniqueCollectee.getRecolteDateFinType()); |
|
etatClassementCombo.peupler(collectionBotaniqueCollectee.getClassementEtat()); |
annotationClassementChp.setValue(collectionBotaniqueCollectee.getClassementAnnotation()); |
|
peuplerEtiquetteRenseignement(collectionBotaniqueCollectee.getEtiquetteRenseignement()); |
precisionLocaliteCombo.peupler(collectionBotaniqueCollectee.getPrecisionLocalite()); |
precisionDateCombo.peupler(collectionBotaniqueCollectee.getPrecisionDate()); |
etiquetteAnnotationChp.setValue(collectionBotaniqueCollectee.getAnnotationsDiverses()); |
|
integreCollectionCombo.peupler(collectionBotaniqueCollectee.getCollectionIntegre()); |
infoIntegreCollectionCombo.peupler(collectionBotaniqueCollectee.getCollectionIntegreInfo()); |
} |
} |
|
private void rafraichirValeurListe(ValeurListe listeValeurs) { |
if (listeValeurs.getId().equals(config.getListeId(""))) { |
public void collecter() { |
initialiserCollection(); |
if (etreAccede()) { |
collectionBotaniqueCollectee.setNature(natureChp.getValeur()); |
collectionBotaniqueCollectee.setSpecialite(specialiteChp.getValue()); |
|
} else { |
GWT.log("Gestion de la liste "+listeValeurs.getId()+" non implémenté!", null); |
collectionCollectee.setPeriodeConstitution(periodeConstitutionChp.getValeur()); |
collectionBotaniqueCollectee.setRecolteDateDebut(UtilDate.formaterEnString(dateDebutChp.getValue())); |
collectionBotaniqueCollectee.setRecolteDateDebutType(dateDebutCombo.getValeur()); |
collectionBotaniqueCollectee.setRecolteDateFin(UtilDate.formaterEnString(dateFinChp.getValue())); |
collectionBotaniqueCollectee.setRecolteDateFinType(dateFinCombo.getValeur()); |
|
collectionBotaniqueCollectee.setClassementEtat(etatClassementCombo.getValeur()); |
collectionBotaniqueCollectee.setClassementAnnotation(annotationClassementChp.getValue()); |
|
collectionBotaniqueCollectee.setEtiquetteRenseignement(collecterEtiquetteRenseignement()); |
collectionBotaniqueCollectee.setPrecisionLocalite(precisionLocaliteCombo.getValeur()); |
collectionBotaniqueCollectee.setPrecisionDate(precisionDateCombo.getValeur()); |
collectionBotaniqueCollectee.setAnnotationsDiverses(etiquetteAnnotationChp.getValue()); |
|
collectionBotaniqueCollectee.setCollectionIntegre(integreCollectionCombo.getValeur()); |
collectionBotaniqueCollectee.setCollectionIntegreInfo(infoIntegreCollectionCombo.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())); |
} |
} |