Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1548 → Rev 1549

/trunk/src/org/tela_botanica/client/vues/observation/FormulaireSaisieObservationVue.java
3,7 → 3,9
// TODO Detecter redim et supprimer ajuster
 
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
 
import org.tela_botanica.client.CarnetEnLigneMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
252,6 → 254,8
private ComboBox selecteurStadePheno = null;
private Map<String, TextField> listeChampsEtendus;
/**
* Constructeur sans argument (privé car ne doit pas être utilisé)
*/
1299,6 → 1303,7
obs.setPhenologie(getPhenologie());
obs.setReferentielTaxo(Ontologies.getInfosReferentielNomParCode(referentielTaxo).getCodeVersionComplet());
obs.setChampsEtendus(getValeursChampsEtendus());
observationMediateur.ajouterObservation(obs);
}
1348,6 → 1353,7
obs.setCertitude(getCertitude());
obs.setPhenologie(getPhenologie());
obs.setReferentielTaxo(getReferentielTaxo());
obs.setChampsEtendus(getValeursChampsEtendus());
observationMediateur.modifierObservation(obs);
 
1606,9 → 1612,66
referentielTaxo = "";
selecteurReferentielTaxo.setRawValue(VALEURS_MULTIPLES);
}
afficherChampsEtendus(obs);
}
private void viderChampsEtendus() {
if(listeChampsEtendus != null) {
for (Iterator<String> it = listeChampsEtendus.keySet().iterator(); it.hasNext();) {
TextField champEtendu = listeChampsEtendus.get(it.next());
champEtendu.destroy();
}
listeChampsEtendus = null;
}
}
private void afficherChampsEtendus(Observation obs) {
viderChampsEtendus();
if(obs.getChampsEtendus().size() > 0) {
listeChampsEtendus = new HashMap<String, TextField>(obs.getChampsEtendus().size());
boolean gauche = true;
for (Iterator<String> iterator = obs.getChampsEtendus().keySet().iterator(); iterator.hasNext();) {
String label = iterator.next();
String valeur = obs.getChampsEtendus().get(label);
TextField champEtendu = new TextField();
champEtendu.setAutoWidth(true);
champEtendu.setLabel(formaterLabel(label));
champEtendu.setTitle(label);
champEtendu.setValue(valeur);
if(gauche) {
panneauPremierColonne.add(champEtendu);
} else {
panneauSecondeColonne.add(champEtendu);
}
listeChampsEtendus.put(label, champEtendu);
gauche = !gauche;
}
}
doLayout();
}
private Map<String, String> getValeursChampsEtendus() {
Map<String, String> valeursChampsEtendus = new HashMap<String, String>();
if(listeChampsEtendus != null) {
for (Iterator<String> it = listeChampsEtendus.keySet().iterator(); it.hasNext();) {
String labelChamp = it.next();
TextField champEtendu = listeChampsEtendus.get(labelChamp);
valeursChampsEtendus.put(labelChamp, champEtendu.getValueAsString());
}
}
return valeursChampsEtendus;
}
private String formaterLabel(String label) {
String labelFmt = label;
if(label.length() > 15) {
labelFmt = label.substring(0, 14);
}
return labelFmt;
}
public void raz()
{
raz(Champs.TOUT);