Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1571 → Rev 1572

/trunk/src/org/tela_botanica/client/vues/observation/FormulaireSaisieObservationVue.java
9,6 → 9,7
 
import org.tela_botanica.client.CarnetEnLigneMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.objets.ChampEtendu;
import org.tela_botanica.client.modeles.objets.Configuration;
import org.tela_botanica.client.modeles.objets.EntiteGeographiqueObservation;
import org.tela_botanica.client.modeles.objets.ListeObservation;
100,7 → 101,7
// Pour remise a zero partielle lors d'une validation
private enum Champs {
DATE, LIEUDIT, STATION, MILIEU, COMMENT, COMMUNE, ESPECE, TOUT, LATITUDE, LONGITUDE, ABONDANCE, CERTITUDE, REFERENTIELTAXO, PHENOLOGIE;
DATE, LIEUDIT, STATION, MILIEU, COMMENT, COMMUNE, ESPECE, TOUT, LATITUDE, LONGITUDE, ALTITUDE, ABONDANCE, CERTITUDE, REFERENTIELTAXO, PHENOLOGIE;
@Override
public String toString() {
133,6 → 134,9
case LONGITUDE:
return "longitude";
case ALTITUDE:
return "altitude";
case ABONDANCE:
return "abondance";
146,7 → 150,7
return "phenologie";
case TOUT:
return "date, commune, lieu dit, station, milieu, espèce, commentaire, latitude, longitude, abondance, identification, referentiel, phenologie";
return "date, commune, lieu dit, station, milieu, espèce, commentaire, latitude, longitude, altitude, abondance, identification, referentiel, phenologie";
}
return TOUT.toString();
}
166,7 → 170,7
private Toolbar bt = null ;
private final String VALEURS_MULTIPLES = "(Valeurs multiples)";
private final String modeleMessageModif = "commune:lieu-dit:station:milieu:latitude:longitude:date:espece:commentaire:abondance:identification:referentiel:phenologie";
private final String modeleMessageModif = "commune:lieu-dit:station:milieu:latitude:longitude:altitude:date:espece:commentaire:abondance:identification:referentiel:phenologie";
private boolean communeModifiee = false;
private boolean lieuDitModifie = false;
private boolean stationModifiee = false;
222,6 → 226,8
 
private TextField latitude;
private TextField altitude;
private MultiFieldPanel htmlCommunePanel = null;
 
private MultiFieldPanel coordPanel;
239,6 → 245,8
private boolean latModifiee;
 
private boolean longModifiee;
private boolean altModifiee;
 
protected boolean rechercheCommuneEnCours = false;
 
357,6 → 365,10
longitude = new TextField("Lon", "lon");
longitude.setGrowMax(70);
longitude.setAllowBlank(true);
altitude = new TextField("Alt (mètres)", "alt");
altitude.setGrowMax(70);
altitude.setAllowBlank(true);
lienSelectionCommune = new Label("");
379,6 → 391,8
lienSelectionCommune.addClass("lien_decale");
coordPanel.setBorder(false);
coordPanel.addToRow(altitude, new ColumnLayoutData(largeur));
//création du champs coordonnées
referentielGeo = Configuration.getReferentielGeo();
712,6 → 726,7
ajouterListenerChampEvenementsClavier(comment);
ajouterListenerChampEvenementsClavier(latitude);
ajouterListenerChampEvenementsClavier(longitude);
ajouterListenerChampEvenementsClavier(altitude);
ajouterListenerChampEvenementsClavier(selecteurAbondance);
ajouterListenerChampEvenementsClavier(selecteurCertitude);
ajouterListenerChampEvenementsClavier(selecteurStadePheno);
897,6 → 912,10
validerSaisie(Champs.LATITUDE);
}
if(champ.equals(altitude)) {
validerSaisie(Champs.ALTITUDE);
}
if(champ.equals(espece)) {
if(selectionEspece) {
especeModifiee = true;
963,6 → 982,10
tCoord.schedule(250);
}
if(champ.equals(altitude)) {
altModifiee = true;
}
if(champ.equals(comment)) {
commModifie = true;
}
1304,6 → 1327,7
String[] coords = getValeurCoordonnees();
obs.setLatitude(coords[0]);
obs.setLongitude(coords[1]);
obs.setAltitude(altitude.getText());
 
obs.setAbondance(getAbondance());
obs.setCertitude(getCertitude());
1355,6 → 1379,7
obs.setLatitude(coords[0]);
obs.setLongitude(coords[1]);
obs.setAltitude(altitude.getText());
obs.setAbondance(getAbondance());
obs.setCertitude(getCertitude());
1382,6 → 1407,7
String commM = null;
String latM = null;
String longM = null;
String altM = null;
String abondanceM = null;
String certitudeM = null;
String referentielTaxoM = null;
1464,6 → 1490,12
champs = champs.replaceAll(":latitude", "");
}
if(altModifiee) {
altM = altitude.getText();
}else {
champs = champs.replaceAll(":altitude", "");
}
if(longModifiee) {
longM = longitude.getText();
}else {
1508,6 → 1540,7
obs.setNumeroOrdre(numeroOrdre);
obs.setLatitude(latM);
obs.setLongitude(longM);
obs.setAltitude(altM);
obs.setAbondance(abondanceM);
obs.setCertitude(certitudeM);
obs.setReferentielTaxo(referentielTaxoM);
1596,12 → 1629,15
numeroOrdre = obs.getNumeroOrdre() ;
}
if(!obs.getLatitude().equals("null") && !obs.getLatitude().equals("000null")
&& !obs.getLongitude().equals("null") && !obs.getLongitude().equals("000null")) {
latitude.setValue(obs.getLatitude()) ;
longitude.setValue(obs.getLongitude()) ;
if(doitAfficherLatLon(obs)) {
latitude.setValue(Util.formaterNombre(obs.getLatitude())) ;
longitude.setValue(Util.formaterNombre(obs.getLongitude())) ;
}
if(!obs.getAltitude().isEmpty() && !obs.getAltitude().equals("null") && !obs.getAltitude().equals("000null")) {
altitude.setValue(Util.formaterNombre(obs.getAltitude())) ;
}
selecteurAbondance.getStore().load();
selecteurAbondance.setValue(obs.getAbondance());
1626,6 → 1662,17
afficherChampsEtendus(obs);
}
private boolean doitAfficherLatLon(Observation obs) {
return !obs.getLatitude().isEmpty() &&
!obs.getLatitude().equals("null") &&
!obs.getLatitude().equals("000null") &&
!Util.estZero(obs.getLatitude()) &&
!obs.getLongitude().isEmpty() &&
!obs.getLongitude().equals("null") &&
!obs.getLongitude().equals("000null") &&
!Util.estZero(obs.getLongitude());
}
private void viderChampsEtendus() {
if(listeChampsEtendus != null) {
for (Iterator<String> it = listeChampsEtendus.keySet().iterator(); it.hasNext();) {
1642,20 → 1689,23
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);
String id = iterator.next();
ChampEtendu champ = obs.getChampsEtendus().get(id);
String valeur = champ.getValeur();
String label = champ.getLabel();
TextField champEtendu = new TextField();
champEtendu.setAutoWidth(true);
champEtendu.setLabel(formaterLabel(label));
champEtendu.setTitle(label);
champEtendu.setValue(valeur);
TextField champTexteEtendu = new TextField();
champTexteEtendu.setAutoWidth(true);
champTexteEtendu.setLabel(formaterLabel(label));
champTexteEtendu.setTitle(label);
champTexteEtendu.setId(id);
champTexteEtendu.setValue(valeur);
if(gauche) {
panneauPremierColonne.add(champEtendu);
panneauPremierColonne.add(champTexteEtendu);
} else {
panneauSecondeColonne.add(champEtendu);
panneauSecondeColonne.add(champTexteEtendu);
}
listeChampsEtendus.put(label, champEtendu);
listeChampsEtendus.put(id, champTexteEtendu);
gauche = !gauche;
}
}
1662,13 → 1712,16
doLayout();
}
private Map<String, String> getValeursChampsEtendus() {
Map<String, String> valeursChampsEtendus = new HashMap<String, String>();
private Map<String, ChampEtendu> getValeursChampsEtendus() {
Map<String, ChampEtendu> valeursChampsEtendus = new HashMap<String, ChampEtendu>();
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());
String cle = it.next();
TextField champTexteEtendu = listeChampsEtendus.get(cle);
String label = champTexteEtendu.getFieldLabel();
String valeur = champTexteEtendu.getValueAsString();
ChampEtendu champEtendu = new ChampEtendu(cle, label, valeur);
valeursChampsEtendus.put(cle, champEtendu);
}
}
return valeursChampsEtendus;
1733,6 → 1786,10
afficherIndicationCommune(null);
break;
case ALTITUDE:
altitude.reset();
break;
case ABONDANCE:
selecteurAbondance.setValue("");
break;
1759,6 → 1816,7
milieu.reset() ;
latitude.reset();
longitude.reset();
altitude.reset();
departement ="";
espece.reset();
selecteurAbondance.clearValue();
1847,6 → 1905,7
String notes = null;
String lat = null;
String lon = null;
String alt = null;
String abondance = null;
String certitude = null;
String referentielTaxo = null;
1866,6 → 1925,7
notes = comparerDifferencesChamps(notes, obsEnCours.getCommentaire());
lat = comparerDifferencesChamps(lat, obsEnCours.getLatitude());
lon = comparerDifferencesChamps(lon, obsEnCours.getLongitude());
alt = comparerDifferencesChamps(alt, obsEnCours.getAltitude());
abondance = comparerDifferencesChamps(abondance, obsEnCours.getAbondance());
certitude = comparerDifferencesChamps(certitude, obsEnCours.getCertitude());
referentielTaxo = comparerDifferencesChamps(referentielTaxo, obsEnCours.getReferentielTaxo());
1878,6 → 1938,7
obs.setNumeroOrdre(ordreObs);
obs.setLatitude(lat);
obs.setLongitude(lon);
obs.setAltitude(alt);
obs.setAbondance(abondance);
obs.setCertitude(certitude);
obs.setReferentielTaxo(referentielTaxo);
1911,6 → 1972,7
commModifie = false;
latModifiee = false;
longModifiee = false;
altModifiee = false;
abondanceModifiee = false;
certitudeModifiee = false;
referentielTaxoModifie = false;
1940,14 → 2002,15
latitude.setTabIndex(8);
longitude.setTabIndex(9);
comment.setTabIndex(10);
date.setTabIndex(11);
espece.setTabIndex(12);
selecteurCertitude.setTabIndex(13);
selecteurAbondance.setTabIndex(14);
selecteurStadePheno.setTabIndex(15);
boutonOK.setTabIndex(16);
boutonAnnuler.setTabIndex(17);
altitude.setTabIndex(10);
comment.setTabIndex(11);
date.setTabIndex(12);
espece.setTabIndex(13);
selecteurCertitude.setTabIndex(14);
selecteurAbondance.setTabIndex(15);
selecteurStadePheno.setTabIndex(16);
boutonOK.setTabIndex(17);
boutonAnnuler.setTabIndex(18);
}