Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1439 → Rev 1440

/branches/v1.1-aramon/src/org/tela_botanica/client/Mediateur.java
1,5 → 1,6
package org.tela_botanica.client;
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
 
27,6 → 28,7
import org.tela_botanica.client.modeles.collection.CollectionAPublication;
import org.tela_botanica.client.modeles.collection.CollectionAPublicationListe;
import org.tela_botanica.client.modeles.collection.CollectionListe;
import org.tela_botanica.client.modeles.collection.UniteRangement;
import org.tela_botanica.client.modeles.commentaire.Commentaire;
import org.tela_botanica.client.modeles.commentaire.CommentaireListe;
import org.tela_botanica.client.modeles.personne.Personne;
102,6 → 104,8
private StatutVue panneauSud = null;
private FenetreJournal fenetreJournal = null;
private HashMap<Object, Integer> fileDAttenteChargement = null;
private IdentificationFenetre fenetreIdentification = null;
private int nbElements = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
129,6 → 133,9
// Connection de l'utilisateur
connecterUtilisateur(null, null);
// Creer la table qui gère le panneau de chargement/déchargement
fileDAttenteChargement = new HashMap<Object, Integer>();
// Retour à GWT du Viewport une fois constuit
RootPanel.get().add(viewport);
}
241,8 → 248,7
//+----------------------------------------------------------------------------------------------------------------+
public void clicMenu(String codeMenuClique) {
activerChargement(codeMenuClique);
 
panneauOuest.getMenu().selectionMenu(codeMenuClique);
if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) {
262,20 → 268,51
} else {
GWT.log(i18nM.nonImplemente(codeMenuClique), null);
}
 
panneauCentre.layout();
}
public void activerChargement(String message) {
public void activerChargement(Object caller, String message) {
if (fileDAttenteChargement.get(caller) == null) fileDAttenteChargement.put(caller, 1);
else fileDAttenteChargement.put(caller, fileDAttenteChargement.get(caller)+1);
activerChargement(message);
}
private void activerChargement(String message) {
afficherPopinChargement();
panneauCentre.disable();
panneauSud.showBusy(i18nC.chargement()+" "+message);
}
public void desactiverChargement() {
public void desactiverChargement(Object caller) {
if (fileDAttenteChargement.get(caller) == null) Debug.log("Problème : l'objet "+caller+" essaie de désactiver le chargement alors qu'il ne l'a pas initié.");
else fileDAttenteChargement.put(caller, fileDAttenteChargement.get(caller)-1);
if (!chargementsEnCours()) desactiverChargement();
}
private void desactiverChargement() {
masquerPopinChargement();
panneauCentre.enable();
panneauSud.clear();
}
private boolean chargementsEnCours() {
boolean chargementEnCours = false;
Iterator<Object> it = fileDAttenteChargement.keySet().iterator();
while (it.hasNext() && !chargementEnCours) {
chargementEnCours = (fileDAttenteChargement.get(it.next()) > 0);
}
return chargementEnCours;
}
private void debugFileAttente() {
Iterator<Object> it = fileDAttenteChargement.keySet().iterator();
while (it.hasNext()) {
Object o = it.next();
Debug.log("==> ["+o+"] = "+fileDAttenteChargement.get(o));
}
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES FENÊTRES
/branches/v1.1-aramon/src/org/tela_botanica/client/vues/accueil/AccueilVue.java
78,7 → 78,7
chargerParametres();
 
add(panneauPrincipal);
mediateur.desactiverChargement();
mediateur.desactiverChargement(this);
}
private Portal creerPortail() {
/branches/v1.1-aramon/src/org/tela_botanica/client/vues/publication/PublicationVue.java
45,7 → 45,7
panneauPublicationDetail.rafraichir(nouvellesDonnees);
} else if (nouvellesDonnees instanceof PublicationListe) {
panneauPublicationListe.rafraichir(nouvellesDonnees);
mediateur.desactiverChargement();
mediateur.desactiverChargement(this);
} else if (nouvellesDonnees instanceof Information) {
panneauPublicationListe.rafraichir(nouvellesDonnees);
} else {
/branches/v1.1-aramon/src/org/tela_botanica/client/vues/FiltreVue.java
83,10 → 83,10
projetsCombo.getCombo().addSelectionChangedListener(new SelectionChangedListener<ModelData>() {
public void selectionChanged(SelectionChangedEvent<ModelData> se) {
if (se.getSelectedItem() != null) {
mediateur.activerChargement(i18nC.chargement());
mediateur.activerChargement(this, i18nC.chargement());
Projet projet = new Projet (se.getSelectedItem());
mediateur.selectionnerProjetCourant(projet);
mediateur.desactiverChargement();
mediateur.desactiverChargement(this);
annulerFiltre.setEnabled(true);
}
}
106,9 → 106,9
annulerFiltre.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
projetsCombo.getCombo().clear();
mediateur.activerChargement(i18nC.chargement());
mediateur.activerChargement(this, i18nC.chargement());
mediateur.selectionnerProjetCourant(tousProjets);
mediateur.desactiverChargement();
mediateur.desactiverChargement(this);
annulerFiltre.setEnabled(false);
}
});
/branches/v1.1-aramon/src/org/tela_botanica/client/vues/personne/PersonneVue.java
53,8 → 53,6
mediateur.obtenirListeValeurEtRafraichir(this, "pays", sequenceur);
mediateur.obtenirListeValeurEtRafraichir(this, "tel", sequenceur);
mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication", sequenceur);
 
mediateur.desactiverChargement();
}
 
public void rafraichir(Object nouvellesDonnees) {
/branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionForm.java
105,13 → 105,13
Valeur valeur = typesCollectionCombo.getValue();
// Gestion des onglets en fonction du type de collection
mediateur.activerChargement("");
mediateur.activerChargement(this, "Chargement des onglets");
if (valeur != null && valeur.getId().equals(Valeur.COLLECTION_NCD_HERBIER)) {
activerOngletsHerbier();
} else {
activerOngletsDefaut();
}
mediateur.desactiverChargement();
mediateur.desactiverChargement(this);
}
};
/branches/v1.1-aramon/src/org/tela_botanica/client/synchronisation/Sequenceur.java
29,9 → 29,9
// Retourne le numéro du séquenceur
public int lancerRequeteSynchrone(Rafraichissable vueARafraichir) {
if (numeroSequence == 0) {
mediateur.activerChargement("Chargement en cours... Veuillez patienter");
}
//if (numeroSequence == 0) {
mediateur.activerChargement(this, "Chargement en cours... Veuillez patienter");
//}
numeroSequence++;
if (Mediateur.DEBUG) System.out.println("==> Sequenceur : Envoi requete n°" + numeroSequence);
43,9 → 43,9
//Offrir la possibilité d'enfiler (=mettre à la fin d'une file d'attente) un rafraichissement dont on a déjà le retour
public int enfilerRafraichissement(Rafraichissable vueARafraichir, Object nouvellesDonnees) {
if (numeroSequence == 0) {
mediateur.activerChargement("Chargement en cours... Veuillez patienter");
}
//if (numeroSequence == 0) {
mediateur.activerChargement(this, "Chargement en cours... Veuillez patienter");
//}
numeroSequence++;
if (Mediateur.DEBUG) System.out.println("|| Sequenceur : Empiler n°" + numeroSequence);
Requete requete = new Requete(vueARafraichir, numeroSequence);
52,7 → 52,7
Reponse reponse = new Reponse(nouvellesDonnees, numeroSequence);
requetes.put(numeroSequence, requete);
rafraichir(reponse);
mediateur.desactiverChargement();
mediateur.desactiverChargement(this);
return numeroSequence;
}
67,7 → 67,7
Requete requete = requetes.get(marqueurRetour);
if (Mediateur.DEBUG) System.out.println("<|-- Sequenceur : Retourne paquet n°"+reponse.obtenirNumeroSequence()+" à "+requete.getVueARafraichir().getClass().toString());
requete.rafraichir(reponse.obtenirRetour());
mediateur.desactiverChargement();
mediateur.desactiverChargement(this);
requetes.remove(marqueurRetour);
marqueurRetour++;
avancerSequence();
81,7 → 81,7
System.out.println(" Le séquenceur ne peut recevoir que des Reponse");
System.out.println(" > nouvellesDonnees = "+nouvellesDonnees.getClass().toString());
}
mediateur.desactiverChargement();
mediateur.desactiverChargement(this);
}
}
95,8 → 95,8
Requete premiereRequete = requetes.get(marqueurRetour);
if (premiereRequete!=null && premiereRequete.hasResponse()) {
if (Mediateur.DEBUG) System.out.println("<|-- Sequenceur : Retourne paquet n°"+premiereRequete.obtenirReponse().obtenirNumeroSequence()+" à "+premiereRequete.getVueARafraichir().getClass().toString());
premiereRequete.rafraichir();
mediateur.desactiverChargement();
premiereRequete.rafraichir();
mediateur.desactiverChargement(this);
requetes.remove(marqueurRetour);
marqueurRetour++;
avancerSequence();