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; |
240,6 → 246,8 |
|
private boolean longModifiee; |
|
private boolean altModifiee; |
|
protected boolean rechercheCommuneEnCours = false; |
|
private Timer tCoord; |
358,6 → 366,10 |
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); |
|
} |
|