1,6 → 1,8 |
package org.tela_botanica.client.observation; |
|
|
// TODO : systematiser les onQuelquechose, appelle depuis les vues |
|
import org.tela_botanica.client.CarnetEnLigneMediateur; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.ListeObservation; |
16,13 → 18,11 |
import com.google.gwt.user.client.Window; |
import com.gwtext.client.core.EventObject; |
import com.gwtext.client.core.RegionPosition; |
import com.gwtext.client.data.Record; |
import com.gwtext.client.widgets.Panel; |
import com.gwtext.client.widgets.layout.BorderLayout; |
import com.gwtext.client.widgets.layout.BorderLayoutData; |
import com.gwtext.client.widgets.layout.RowLayout; |
import com.gwtext.client.widgets.layout.RowLayoutData; |
import com.gwtext.client.widgets.layout.VerticalLayout; |
|
|
/** |
235,12 → 235,97 |
thisMediateur = new ObservationMediateur(carnetEnLigneMediateur) ; |
} |
|
|
return thisMediateur ; |
} |
|
|
|
// ACTIONS a entreprendre lors d'un evenement particulier |
|
|
/** |
* Lors du raffraichissement de la liste d'observation |
*/ |
|
|
public void onRafraichissementListeObservations() { |
|
obtenirListeEntiteGeographique(); |
|
|
cacheObservation = listeObservation.getCacheListeObservation() ; |
if(cacheObservation.size() == 0) |
{ |
formulaireSaisieObservationVue.viderChampsObservation() ; |
} |
carnetEnLigneMediateur.donneesRafraichies(cacheObservation) ; |
|
|
} |
|
/** |
* |
* TODO : fonction plus generique, appelle sur un clic ou une selection de ligne, a appeller : SelectionnerObservation |
* est appelé lors d'un clic de souris sur un enregistrement de la liste le |
* médiateur gère alors les conséquences |
* |
* @param rowIndex |
* le numéro de ligne selectionné |
*/ |
|
public void onClicListeObservation(int rowIndex, String ordreObservation) { |
|
|
Observation obs = cacheObservation.get(ordreObservation) ; |
|
// Affichage de la carte de repartition correspondante |
String numeroNomenclaturalSaisiObservation = obs.getNumeroNomenclaturalSaisi() ; |
|
observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ; |
|
// affichage des détails dans le formulaire d'observation |
formulaireSaisieObservationVue.rafraichir(obs, false) ; |
|
// Affichage de l'image correspondante |
|
observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ; |
|
|
} |
|
|
|
|
|
// ACCES au Modèle |
|
|
// C du CRUD |
|
|
|
/** |
* TODO : afficher un message du type "observation ajouté". |
* Lance la creation d'une observation |
* @param obs : l'observation saisie |
*/ |
|
|
|
public void ajouterObservation(Observation obs) { |
|
|
// On raffraichi la liste d'observation |
observationModele.ajouterObservation(listeObservation, obs) ; |
|
} |
|
|
|
// R du CRUD |
|
/** |
* Demande au modele le nombre d'Observation à afficher |
* TODO : grouper cette demande avec la demande d'affichage de liste ? |
*/ |
253,20 → 338,16 |
} |
|
|
|
public void obtenirListeObservation() { |
obtenirListeObservation(listeObservation); |
} |
|
/** |
* Demande au modele le detail dess Observations à afficher |
* Demande au modele le detail des Observations à afficher |
* TODO : grouper cette demande avec la demande d'affichage de liste ? |
* @param r : la vue demandeuse de donnee |
*/ |
|
|
public void obtenirListeObservation() { |
|
listeObservation.masquerChargement() ; |
formulaireSaisieObservationVue.viderChampsObservation() ; |
observationModele.obtenirListeObservation(listeObservation,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ; |
|
} |
|
public void obtenirListeObservation(Rafraichissable r) { |
|
275,45 → 356,63 |
observationModele.obtenirListeObservation(r,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ; |
} |
|
|
/** |
* C'est dans cette fonction que doivent être renvoyé les valeurs des filtres |
* sous forme de tableau [nom, valeur] |
* @return Les noms et valeurs des filtres |
* Envoie au modèle une demande pour obtenir l'arbre des localites |
* |
* @param r |
* le raffraichissable qui a demandé la mise à jour |
*/ |
public String[][] renvoyerFiltres() |
{ |
String[][] valeursFiltres = { {"",""} } ; |
public void obtenirListeEntiteGeographique() { |
|
observationModele.obtenirListeEntiteGeographique(filtres.getarbreEntiteGeographiqueObservationFiltreVue()); |
|
return valeursFiltres ; |
} |
|
|
// U du CRUD |
|
|
|
|
|
/** |
* Retourne l'identifiant de l'utilisateur connecte |
* @return : identifiant de l'utilisateur connecte |
*/ |
public String getIdentifiant() { |
public void modifierObservation(Observation obs) { |
|
|
return carnetEnLigneMediateur.getUtilisateur().getIdentifiant(); |
// On raffraichi la liste d'observation |
observationModele.modifierObservation(listeObservation, obs) ; |
|
} |
|
} |
|
|
|
|
// D du CRUD |
|
|
/** |
* |
* @return |
* |
* TODO : afficher un message du type "observation modifie". |
* Lance la modification d'une observation |
* @param obs : l'observation a modifier |
*/ |
|
public Panel getPanneauPrincipalObservation() { |
return panneauPrincipalObservation; |
|
|
public void supprimerObservation(Rafraichissable r, String numeroOrdre) { |
|
if(listeObservation.getSelectionModel().getCount() > 0) |
{ |
if(Window.confirm("Êtes vous sur de vouloir supprimer cette observation ?")) { |
observationModele.supprimerObservation(r,numeroOrdre) ; |
} |
} |
|
} |
|
|
|
|
|
|
|
// Assistants de saisie |
|
/** |
* |
* Lance un appel de recherche d'une liste de commune correspondant aux criteres de selectionne |
328,6 → 427,8 |
|
} |
|
|
|
/** |
* |
* Lance un appel de recherche d'une liste de nom scientifique correspondant aux criteres de selectionne |
341,85 → 442,52 |
|
|
} |
|
|
|
|
|
// Etat du syteme |
|
/** |
* TODO : afficher un message du type "observation ajouté". |
* Lance la creation d'une observation |
* @param obs : l'observation saisie |
* C'est dans cette fonction que doivent être renvoyé les valeurs des filtres |
* sous forme de tableau [nom, valeur] |
* @return Les noms et valeurs des filtres |
*/ |
|
|
|
public void ajouterObservation(Observation obs) { |
|
public String[][] renvoyerFiltres() |
{ |
String[][] valeursFiltres = { {"",""} } ; |
|
// On raffraichi la liste d'observation |
observationModele.ajouterObservation(listeObservation, obs) ; |
|
return valeursFiltres ; |
} |
|
|
|
|
/** |
* TODO : afficher un message du type "observation modifie". |
* Lance la modification d'une observation |
* @param obs : l'observation a modifier |
* Retourne l'identifiant de l'utilisateur connecte |
* @return : identifiant de l'utilisateur connecte |
*/ |
|
|
|
public void modifierObservation(Observation obs) { |
|
public String getIdentifiant() { |
|
// On raffraichi la liste d'observation |
observationModele.modifierObservation(listeObservation, obs) ; |
|
} |
return carnetEnLigneMediateur.getUtilisateur().getIdentifiant(); |
|
public void supprimerObservation(Rafraichissable r, String numeroOrdre) { |
|
if(listeObservation.getSelectionModel().getCount() > 0) |
{ |
if(Window.confirm("Êtes vous sur de vouloir supprimer cette observation ?")) { |
observationModele.supprimerObservation(r,numeroOrdre) ; |
} |
} |
|
} |
|
|
|
|
/** |
* |
* TODO : fonction plus generique, appelle sur un clic ou une selection de ligne, a appeller : SelectionnerObservation |
* est appelé lors d'un clic de souris sur un enregistrement de la liste le |
* médiateur gère alors les conséquences |
* @return |
* |
* @param rowIndex |
* le numéro de ligne selectionné |
*/ |
|
public void clicListeObservation(int rowIndex, String ordreObservation) { |
public Panel getPanneauPrincipalObservation() { |
return panneauPrincipalObservation; |
} |
|
|
Observation obs = cacheObservation.get(ordreObservation) ; |
|
// Affichage de la carte de repartition correspondante |
String numeroNomenclaturalSaisiObservation = obs.getNumeroNomenclaturalSaisi() ; |
|
observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ; |
|
// affichage des détails dans le formulaire d'observation |
formulaireSaisieObservationVue.rafraichir(obs, false) ; |
|
// Affichage de l'image correspondante |
|
observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ; |
|
|
} |
|
|
|
|
|
435,6 → 503,9 |
} |
|
|
|
// Getters |
|
public PanneauFiltresObservationVues getPanneauFiltres() { |
|
return filtres; |
442,36 → 513,9 |
} |
|
|
/** |
* Envoie au modèle une demande pour obtenir l'arbre des localites |
* |
* @param r |
* le raffraichissable qui a demandé la mise à jour |
*/ |
public void obtenirListeEntiteGeographique() { |
|
observationModele.obtenirListeEntiteGeographique(filtres.getarbreEntiteGeographiqueObservationFiltreVue()); |
|
} |
|
|
|
public void donneesRafraichies(Object nouvelleDonnees) { |
|
carnetEnLigneMediateur.donneesRafraichies(nouvelleDonnees) ; |
|
} |
|
|
public void rafraichirCacheObservation(Object nouvelleDonnees) { |
|
if(nouvelleDonnees instanceof ListeObservation) { |
cacheObservation = (ListeObservation)nouvelleDonnees ; |
if(cacheObservation.size() == 0) |
{ |
formulaireSaisieObservationVue.viderChampsObservation() ; |
} |
donneesRafraichies(nouvelleDonnees) ; |
} |
} |
|
} |