/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/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/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(); |
/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 |