Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1640 → Rev 1641

/trunk/src/org/tela_botanica/client/observation/ObservationMediateur.java
420,25 → 420,11
masquerChargementInfosObservations() ;
}
if(formulaireSaisieObservationVue.getModification()) {
String[] ids = listeObservation.getIdSelectionnees();
if(ids.length > 1) {
formulaireSaisieObservationVue.setMasseModification(true);
ListeObservation listeObs = new ListeObservation();
for(int i=0; i < ids.length;i++) {
Observation obsAjout = observationModele.getCacheObservation().get(ids[i]);
listeObs.ajouterObservation(obsAjout);
}
formulaireSaisieObservationVue.rafraichir(listeObs, false);
} else {
formulaireSaisieObservationVue.setMasseModification(false);
// affichage des détails dans le formulaire d'observation
formulaireSaisieObservationVue.rafraichir(obs, false) ;
}
} else {
formulaireSaisieObservationVue.rafraichir(obs, false) ;
}
gererMiseAJourFormulaireObservation();
gererMiseAJourPanneauDetails(obs);
}
public void gererMiseAJourPanneauDetails(Observation obs) {
// Affichage de l'image correspondante
if(details.isVisible()) {
// Affichage de la carte de repartition correspondante
456,6 → 442,22
filtres.getArbreMotsClesObservationVue().rafraichir(obs.getMotsCles(), false);
}
public void gererMiseAJourFormulaireObservation() {
String[] ids = listeObservation.getIdSelectionnees();
if(ids.length == 1) {
Observation obs = listeObservation.getCacheListeObservation().get(ids[ids.length - 1]);
// affichage des détails dans le formulaire d'observation
formulaireSaisieObservationVue.rafraichir(obs, false) ;
} else {
ListeObservation listeObs = new ListeObservation();
for(int i=0; i < ids.length;i++) {
Observation obsAjout = observationModele.getCacheObservation().get(ids[i]);
listeObs.ajouterObservation(obsAjout);
}
formulaireSaisieObservationVue.rafraichir(listeObs, false);
}
}
public void obtenirImageInformationExternes(String referentielTaxo, String numeroNomenclaturalSaisiObservation) {
if(details.isVisible()) {
1112,41 → 1114,7
public void transmettreDonnees(Object o) {
carnetEnLigneMediateur.donneesObsVersImages(o);
}
 
public void onModeModification() {
String[] ids = listeObservation.getIdSelectionnees();
Observation obs = listeObservation.getCacheListeObservation().get(ids[ids.length - 1]);
if(ids.length > 1) {
formulaireSaisieObservationVue.setMasseModification(true);
ListeObservation listeObs = new ListeObservation();
for(int i=0; i < ids.length;i++) {
Observation obsAjout = observationModele.getCacheObservation().get(ids[i]);
listeObs.ajouterObservation(obsAjout);
}
formulaireSaisieObservationVue.rafraichir(listeObs, false);
} else {
formulaireSaisieObservationVue.setMasseModification(false);
// affichage des détails dans le formulaire d'observation
formulaireSaisieObservationVue.rafraichir(obs, false) ;
}
formulaireSaisieObservationVue.setTitle("Modification");
}
public void onModeCreation() {
formulaireSaisieObservationVue.setTitle("Création");
String[] ids = listeObservation.getIdSelectionnees();
if(ids.length > 1) {
Observation obs = listeObservation.getCacheListeObservation().get(ids[ids.length - 1]);
// affichage des détails dans le formulaire d'observation
formulaireSaisieObservationVue.rafraichir(obs, false) ;
}
}
 
public void obtenirInformationCoord(Rafraichissable r, LatLng coord) {
observationModele.obtenirInformationCoord(r,coord);
}
/trunk/src/org/tela_botanica/client/vues/observation/ListeObservationVue.java
344,7 → 344,6
Record rd = st.getAt(rowIndex);
String ordreObservation = rd.getAsString("ordre_observation") ;
observationMediateur.onClicListeObservation(rowIndex,ordreObservation);
}
/trunk/src/org/tela_botanica/client/vues/observation/FormulaireSaisieObservationVue.java
159,7 → 159,9
};
private String formatDate = null ;
private Button boutonOK = new Button("Créer");
private Button boutonOK = new Button("Valider");
private Button boutonModifier = new Button("Modifier");
private Button boutonSupprimer = new Button("Supprimer");
private Button boutonAnnuler = new Button("Réinitialiser");
 
private boolean selectionCommune=false;
168,7 → 170,6
private boolean selectionCertitude = false;
private boolean selectionPhenologie = false;
private boolean modification = false ;
private Toolbar bt = null ;
private final String VALEURS_MULTIPLES = "(Valeurs multiples)";
202,16 → 203,7
private final int KEY_TAB = 9;
private final int KEY_UP = 38;
/**
* Combobox permettant de selectionner le mode
* modification ou bien création
*/
private ComboBox selecteurMode = new ComboBox();
Store storeMode = null ;
 
/**
* Booleen d'instanciation
*/
boolean estInstancie = false ;
222,8 → 214,6
 
private Panel panneauSecondeColonne;
 
private boolean masseModification =false ;
 
private TextField longitude;
 
private TextField latitude;
264,6 → 254,8
private ComboBox selecteurStadePheno = null;
private boolean selectionMultiple = false;
private HTML lienAfficherChampsEtendus = null;
FormPanel conteneurChampEtenduGauche = null;
438,7 → 430,7
panneauPremierColonne.add(htmlPanel);
panneauPremierColonne.add(coordPanel);
date = new DateField("Date", "date", 200);
date = new DateField("Date", "date", 250);
date.setAllowBlank(true);
formatDate = "d/m/Y";
date.setFormat(formatDate) ;
569,47 → 561,23
}
panneauFormulaire.add(panneauIntermediaire);
Object[][] mode = {{"création",false} , {"modification", true} };
storeMode = new SimpleStore(new String[] { "nom_mode", "mode" },
mode);
storeMode.load();
selecteurMode.setStore(storeMode);
selecteurMode.setDisplayField("nom_mode") ;
selecteurMode.setLabel("mode ") ;
selecteurMode.setForceSelection(true) ;
selecteurMode.setValue("création") ;
selecteurMode.setEditable(false) ;
selecteurMode.setCls("x-selec-crea") ;
bt = new Toolbar() ;
bt.addSpacer() ;
bt.addText("Mode de saisie ") ;
bt.addField(selecteurMode) ;
if (Ext.isIE()) {
panneauPremierColonne.setButtonAlign(Position.RIGHT);
panneauPremierColonne.addButton(boutonOK);
panneauPremierColonne.addButton(boutonModifier);
panneauPremierColonne.addButton(boutonSupprimer);
panneauSecondeColonne.setButtonAlign(Position.LEFT);
panneauPremierColonne.addButton(boutonAnnuler);
}
else {
panneauFormulaire.addButton(boutonOK);
panneauFormulaire.addButton(boutonModifier);
panneauFormulaire.addButton(boutonSupprimer);
panneauFormulaire.addButton(boutonAnnuler);
}
selecteurMode.addListener(new ComboBoxListenerAdapter() {
@Override
public void onSelect(ComboBox comboBox, Record record, int index) {
// et on met la valeur à jour dans la combobox
comboBox.setValue(record.getAsString("nom_mode"));
setModification(record.getAsString("mode")) ;
}
});
this.add(panneauFormulaire) ;
this.setTopToolbar(bt) ;
this.setAutoScroll(true);
666,12 → 634,19
}
}
});
// on ajoute les listeners
 
ajouterListeners() ;
ajouterToolTipsBoutons();
saisieTabindex();
}
private void ajouterToolTipsBoutons() {
boutonOK.setTitle("Crée une nouvelle observation à partir des champs saisis dans le formulaire");
boutonModifier.setTitle("Modifie la ou les observations sélectionnées");
boutonSupprimer.setTitle("Supprime la ou les observations sélectionnées");
boutonAnnuler.setTitle("Vide tous les champs du formulaire");
}
private void surPremierAffichageCoordPanel(final double largeur) {
ExtElement lienCoord = Ext.get("lien_coord");
lienCoord.removeAllListeners();
783,15 → 758,28
boutonOK.addListener(new ButtonListenerAdapter() {
@Override
public void onClick(Button button, EventObject e) {
if(modification) {
if(masseModification) {
modifierObservationEnMasse(null);
} else {
modifierObservation() ;
}
ajouterObservation();
}
});
boutonModifier.addListener(new ButtonListenerAdapter() {
@Override
public void onClick(Button button, EventObject e) {
if(selectionMultiple) {
modifierObservationEnMasse(null);
} else {
modifierObservation() ;
}
else {
ajouterObservation();
}
});
boutonSupprimer.addListener(new ButtonListenerAdapter() {
@Override
public void onClick(Button button, EventObject e) {
if(!selectionMultiple) {
supprimerObservation();
} else {
observationMediateur.supprimerObservations();
}
}
});
798,15 → 786,9
boutonAnnuler.addListener(new ButtonListenerAdapter() {
@Override
public void onClick(Button button, EventObject e) {
if(modification)
{
supprimerObservation() ;
}
else
{
public void onClick(Button button, EventObject e) {
setSelectionMultiple(false);
raz();
}
}
});
1068,19 → 1050,11
*/
private void validerSaisie(Champs champs) {
if(modification) {
if(masseModification) {
modifierObservationEnMasse(champs);
} else {
modifierObservation();
}
raz(champs);
}
else {
if(!selectionMultiple) {
ajouterObservation();
raz(champs);
} else {
modifierObservationEnMasse(champs);
}
}
1184,6 → 1158,7
if(nouvelleDonnees instanceof Observation)
{
Observation obs = (Observation)nouvelleDonnees ;
setSelectionMultiple(false);
afficherDetailsObservation(obs) ;
}
1190,6 → 1165,7
if(nouvelleDonnees instanceof ListeObservation) {
ListeObservation listeObs = (ListeObservation)nouvelleDonnees;
setSelectionMultiple(true);
calculerAfficherDifferences(listeObs);
}
1203,7 → 1179,6
String[] anumNom = (String[])nouvelleDonnees ;
numeroNom = anumNom[1];
espece.setValue(anumNom[0]);
setModification("false");
}
if(nouvelleDonnees instanceof EntiteGeographiqueObservation)
1218,7 → 1193,6
 
}
private void afficherIndicationCommune(
final EntiteGeographiqueObservation infosCom) {
1439,9 → 1413,6
obs.setChampsEtendus(getValeursChampsEtendus());
observationMediateur.modifierObservation(obs);
 
selecteurMode.setValue("création");
setModification("false");
}
private void modifierObservationEnMasse(Champs champModifie) {
1905,49 → 1876,7
}
}
private void setModification(String mode)
{
if(mode.equals("true")) {
 
boutonOK.setText("Modifier") ;
setTitle("Modification") ;
boutonAnnuler.setText("Supprimer") ;
modification = true ;
selecteurMode.removeClass("x-selec-crea") ;
selecteurMode.setCls("x-selec-modif") ;
observationMediateur.onModeModification();
}
else
{
boutonOK.setText("Créer") ;
setTitle("Saisir") ;
boutonAnnuler.setText("Réinitialiser") ;
modification = false ;
selecteurMode.removeClass("x-selec-modif") ;
selecteurMode.setCls("x-selec-crea") ;
observationMediateur.onModeCreation();
}
}
/**
* renvoie vrai si on est en mode modification, faux si on est en mode création
* @return
*/
public boolean getModification()
{
return modification ;
}
/**
* renvoie vrai si on est en mode modification de masse, faux sinon
* @return
*/
public boolean getMasseModification()
{
return masseModification ;
}
public boolean verifierFormatDate(String date) {
String regex = "[1-9][0-9]{3}-[0-9]{2}-[0-9]{2}" ;
1959,13 → 1888,21
}
}
 
public void setMasseModification(boolean masseModification) {
this.masseModification = masseModification;
if(masseModification) {
reinitialiserValeurModifiees();
public void setSelectionMultiple(boolean selectionMultiple) {
this.selectionMultiple = selectionMultiple;
if(!selectionMultiple) {
boutonAnnuler.enable();
boutonOK.enable();
} else {
boutonAnnuler.disable();
boutonOK.disable();
}
}
public boolean getSelectionMultiple() {
return selectionMultiple;
}
private void calculerAfficherDifferences(ListeObservation listeObs) {
String departement = null;
2016,7 → 1953,7
obs.setCertitude(certitude);
obs.setReferentielTaxo(referentielTaxo);
obs.setPhenologie(phenologie);
rafraichir(obs, false);
afficherDetailsObservation(obs);
}
private String comparerDifferencesChamps(String valeurActuelle, String nouvelleValeur) {
2054,8 → 1991,6
public void saisieTabindex()
{
selecteurMode.setTabIndex(0);
commune.setTabIndex(1);
lieudit.setTabIndex(3);
station.setTabIndex(4);