org.tela_botanica.client.image
Class ImageMediateur

java.lang.Object
  extended by org.tela_botanica.client.image.ImageMediateur

public class ImageMediateur
extends java.lang.Object

Mediateur gérant les interactions entre vues et les echanges de données C'est un singleton.

Author:
aurelien

Method Summary
 void afficherIdSelectionImages()
          Affiche les ids des images contenues dans le tampon
 void afficherMenuId()
           
 void ajouterImagesSelection()
          ajoute les images séléctionnées dans la vue courante au tampon
 void ajouterMotCleDansArbre(com.gwtext.client.widgets.tree.TreeNode n, com.gwtext.client.data.Tree arbreMC)
          Appelle le médiateur pour qu'il ajoute un mot clé dans l'arbre des mots clés
 void aucuneSelection()
          desactive les onglets de metadonnees et de zoom (dans le cas ou rien n'est selectionne)
 void changerNumeroPage(int pageCourante)
          Appelle le modèle pour lui demander les données d'une page à afficher
 void changerPageMaxEtCourante(int pageMax, int pageEncours, int taillePage, int nbElement)
          Met à jour les barre d'outils avec des nouvelles valeurs
 void changerTaillePage(int nouvelleTaillePage)
          Appelle le modèle pour qu'il change la taille de page utilisée
 void changerUtilisateur()
          Appelle les fonctions de chargement de données, suit généralement un appel à setIdentifiant, pour obtenir l'arbre des mots clés et les images du nouvel utilisateur
 void clicBoutonZoomImage(java.lang.String arg)
          appelé lors du clic sur un des boutons de la zone zoom
 void clicGalerieImage(int index, com.google.gwt.user.client.Element node, com.gwtext.client.core.EventObject e)
          est appelé lors d'un clic de souris sur une vignette dans la galerie le médiateur gère alors les conséquences
 void clicListeImage(int rowIndex)
          est appelé lors d'un clic de souris sur un enregistrement de la liste le médiateur gère alors les conséquences
 void demasquerChargement()
          Recherche l'élement actuellement affiché et retire son message de chargement si l'était affiché
 void deplacerMotCleDansArbre(com.gwtext.client.widgets.tree.TreeNode n, com.gwtext.client.data.Tree arbreMC)
          Appelle le médiateur pour qu'il déplace un mot clé et son sous arbre dans l'arbre des mots clés
 void doubleClicListeImage(int rowIndex)
          gestion du double clic dans la liste
 void doubleClicZoomImage()
          appelé lors du double clic sur l'image agrandie
 BarreOutilsVue getBarreOutilsVue()
          Accesseur pour la barre d'outils
 int getDernierIndexOnglet()
          Renvoie l'index du dernier onglet sélectionné
 com.gwtext.client.widgets.Panel getDetailsEtMotsCles()
          Accesseur pour le panneau détails et mot clés
 boolean getEtatFiltres()
          Indique si les filtres ont changés depuis la dernière requête (il faut faire un OR sur le résultat de toutes les fonctions renvoyerEtatFiltre s'il y a plus d'un filtre)
 BarreRechercheFiltreVue getFiltreCommentaires()
          Accesseur pour la barre de recherche
 ArbreMotsClesFiltreVue getFiltreMotsCles()
          Accesseur pour l'arbre des filtres
 GalerieImageVue getGalerieImage()
          Accesseur pour la galerie d'images
 java.lang.String getIdentifiant()
          Renvoie l'identifiant de l'utilisateur en cours
 java.lang.String getIdVueSelectionnee()
          Renvoie l'identifiant de la vue en cours
 ImageModele getIModele()
          Accesseur pour le modèle associé au médiateur
 ListeImageVue getListeImage()
           
 MenuImageVue getMenuImageVue()
          Accesseur pour le menu image
 PanneauMetadonneesVue getMetadonneesIptcExif()
          Accesseur pour le panneau infos et métadonnées
 com.gwtext.client.widgets.TabPanel getOngletsImage()
          Accesseur pour le panneau à onglets
 PanneauFiltresVues getPanneauFiltres()
          Accesseur pour le panneau de droite contenant les filtres
 com.gwtext.client.widgets.Panel getPanneauMenuEtOngletsImage()
          Accesseur pour la panneau contenant le menu et les onglets images
 com.gwtext.client.widgets.Panel getPanneauPrincipalImage()
          Accesseur pour le panneau principal
 VueListable getVueSelectionnee()
          Renvoie la vue sélectionné par l'utilisateur
 ZoomImageVue getZoomImage()
          Accesseur pour le panneau "zoom"
 void initialiserMotsCleCoches()
          initialise les mots clés cochés par rapport aux images sélectionnées
static ImageMediateur Instance()
          Retourne une instance de manière unique
static ImageMediateur Instance(ObservationMediateur om)
          Retourne une instance de manière unique en lui associant un médiateur pour les observations
static boolean isEstInstancie()
          Accesseur pour le booleen d'instanciation
 boolean isSelection()
          renvoie la valeur du booleen de selection
 boolean lierImagesDD(com.gwtext.client.dd.DragSource source, com.gwtext.client.core.EventObject e, com.gwtext.client.dd.DragData data)
          Fonction appelée lors du drag 'n drop d'une image sur une observation
 void lierImagesObservation(java.lang.String idsObs, java.lang.String idsImg)
          Lie une ou plusieurs images à une ou plusieurs observations
 boolean lierObsDD(com.gwtext.client.dd.DragSource source, com.gwtext.client.core.EventObject e, com.gwtext.client.dd.DragData data, java.lang.String idDest)
          Fonction appelée lors du drag 'n drop d'une observation sur une image
 void masquerChargement()
          Recherche l'élement actuellement affiché et affiche son message de chargement
 void mettreAJourInfo(java.lang.String commentaires, java.lang.String date, java.lang.String note)
          envoie au modèle une demande de mise a jour des informations modifiables associées a une image
 void mettreAjourMotsCles(java.lang.String motsClesEnCours, com.gwtext.client.data.Tree arbreMC)
          Récupère les identifiants des images selectionnés et appelle le modèle pour qu'il mette à jour les associations mots clés/images
 void mettreAjourMotsClesId(java.lang.String text, java.lang.String id)
          Appelle le modèle pour mettre à jour la paire mot-clé / identifiant du mot clé
 void modifierMotCleDansArbre(com.gwtext.client.widgets.tree.TreeNode n, com.gwtext.client.data.Tree arbreMC)
          Appelle le médiateur pour qu'il modifie un mot clé dans l'arbre des mots clés
 void montrerContextMenu(com.gwtext.client.core.EventObject e)
          montre le menu au coordonnées indiquées
 void montrerContextMenuArbre(com.gwtext.client.widgets.tree.TreeNode n, com.gwtext.client.core.EventObject ev, com.gwtext.client.widgets.tree.TreeEditor te)
          Fait apparaitre le menu contextuel de l'arbre des mots clés au niveau d'un noeud donné
 void obtenirArbreMotsCles(Rafraichissable r)
          Envoie au modèle une demande pour obtenir l'arbre des mots clés
 void obtenirDonnes(java.lang.String imgNum)
          Envoie une demande au modèle pour obtenir toutes les données annexes de l'image (métadonnées, note, etc ...), on y centralise tous les appels a obtenirQuelqueChose
 void obtenirMetadonnees(Rafraichissable r, java.lang.String id)
          demande au modèle les métadonnées associées a une image
 void obtenirMotsClesId(Rafraichissable r, java.lang.String id)
          demande au modèle les ids des mots clés associés a une image
 void obtenirPhotoGalerie(Rafraichissable r)
          envoie au modèle une demande de mise a jour
 void rafraichirArbreMotsCles(com.gwtext.client.data.Tree arbreMC)
          Met à jour l'arbre des mots clés affichés dans le volet de droite à partir de l'arbre passé en paramètre
 void rafraichirToutesVues()
          envoie une demande de mise a jour des données au modèle
 java.lang.String[][] renvoyerFiltres()
          C'est dans cette fonction que doivent être renvoyé les valeurs des filtres sous forme de tableau [nom, valeur]
 java.lang.String renvoyerSelection()
          Renvoie les ids des images contenues dans le tampon en une seule string
 void selection()
          reactive les onglet metadonnees et zoom (lors d'une selection alors qu'il n'y en avait pas)
 void setIdentifiant(java.lang.String id)
          .
 void setSelection(boolean selection)
          Change la valeur du booleen de selection
 void supprimerImages()
          fait une demande de suppression des images (en local et en distant) des images selectionnees
 void supprimerMotCleDansArbre(com.gwtext.client.widgets.tree.TreeNode n, com.gwtext.client.data.Tree arbreMC)
          Appelle le médiateur pour qu'il supprime un mot clé et son sous arbre dans l'arbre des mots clés
 void synchroniserDonneesZoomListeGalerie(java.lang.Object o, Rafraichissable r)
          Met a jour les données provenant du modèle et synchronise les vues entre elles
 void synchroniserSelection(java.lang.String string)
          synchronise la selection entre la galerie et la liste
 void uploaderImages()
          envoie au modèle une demande pour lancer le formulaire ou l'application d'upload
 void viderSelection()
          Vide le tampon d'images
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setSelection

public void setSelection(boolean selection)
Change la valeur du booleen de selection

Parameters:
selection - la nouvelle valeur du booléen

isSelection

public boolean isSelection()
renvoie la valeur du booleen de selection

Returns:
la valeur du booleen de selection

Instance

public static ImageMediateur Instance()
Retourne une instance de manière unique

Returns:
l'instance unique du médiateur

Instance

public static ImageMediateur Instance(ObservationMediateur om)
Retourne une instance de manière unique en lui associant un médiateur pour les observations

Parameters:
om - le médiateur des observations à associer
Returns:
l'instance unique du médiateur

getIdentifiant

public java.lang.String getIdentifiant()
Renvoie l'identifiant de l'utilisateur en cours

Returns:
l'identifiant de l'utilisateur

setIdentifiant

public void setIdentifiant(java.lang.String id)
. Setteur pour l'identifiant de l'utilisateur en cours

Parameters:
id - le nouvel identifiant utilisateur

changerUtilisateur

public void changerUtilisateur()
Appelle les fonctions de chargement de données, suit généralement un appel à setIdentifiant, pour obtenir l'arbre des mots clés et les images du nouvel utilisateur


getIModele

public ImageModele getIModele()
Accesseur pour le modèle associé au médiateur

Returns:
le modèle associé

getPanneauPrincipalImage

public com.gwtext.client.widgets.Panel getPanneauPrincipalImage()
Accesseur pour le panneau principal

Returns:
le panneau principal

getOngletsImage

public com.gwtext.client.widgets.TabPanel getOngletsImage()
Accesseur pour le panneau à onglets

Returns:
le panneau à onglets

getGalerieImage

public GalerieImageVue getGalerieImage()
Accesseur pour la galerie d'images

Returns:
la galerie d'image

getListeImage

public ListeImageVue getListeImage()

getZoomImage

public ZoomImageVue getZoomImage()
Accesseur pour le panneau "zoom"

Returns:
le panneau zoom

getDetailsEtMotsCles

public com.gwtext.client.widgets.Panel getDetailsEtMotsCles()
Accesseur pour le panneau détails et mot clés

Returns:
le panneau détails et mots clés

isEstInstancie

public static boolean isEstInstancie()
Accesseur pour le booleen d'instanciation

Returns:
le booleen d'instanciation

getPanneauMenuEtOngletsImage

public com.gwtext.client.widgets.Panel getPanneauMenuEtOngletsImage()
Accesseur pour la panneau contenant le menu et les onglets images

Returns:
le panneauMenuEtOngletsImage

getMenuImageVue

public MenuImageVue getMenuImageVue()
Accesseur pour le menu image

Returns:
the menuImageVue

getBarreOutilsVue

public BarreOutilsVue getBarreOutilsVue()
Accesseur pour la barre d'outils

Returns:
the barreOutilsVue

getMetadonneesIptcExif

public PanneauMetadonneesVue getMetadonneesIptcExif()
Accesseur pour le panneau infos et métadonnées

Returns:
the metadonneesIptcExif

getDernierIndexOnglet

public int getDernierIndexOnglet()
Renvoie l'index du dernier onglet sélectionné

Returns:
l'index du dernier onglet

getFiltreMotsCles

public ArbreMotsClesFiltreVue getFiltreMotsCles()
Accesseur pour l'arbre des filtres

Returns:
l'arbre pour filtrer les mots clés

getFiltreCommentaires

public BarreRechercheFiltreVue getFiltreCommentaires()
Accesseur pour la barre de recherche

Returns:
la barre de recherche pour filtrer les commentaires

getVueSelectionnee

public VueListable getVueSelectionnee()
Renvoie la vue sélectionné par l'utilisateur

Returns:
la vue selectionnée par l'utilisateur

getIdVueSelectionnee

public java.lang.String getIdVueSelectionnee()
Renvoie l'identifiant de la vue en cours

Returns:
l'identifiant de la vue en cours de visualisation

synchroniserDonneesZoomListeGalerie

public void synchroniserDonneesZoomListeGalerie(java.lang.Object o,
                                                Rafraichissable r)
Met a jour les données provenant du modèle et synchronise les vues entre elles

Parameters:
o - données de mises a jour pour les vues
r - le refraichissable qui a demandé la mise a jour

obtenirPhotoGalerie

public void obtenirPhotoGalerie(Rafraichissable r)
envoie au modèle une demande de mise a jour

Parameters:
r - la vue demandeuse de mise a jour

obtenirMetadonnees

public void obtenirMetadonnees(Rafraichissable r,
                               java.lang.String id)
demande au modèle les métadonnées associées a une image

Parameters:
r - la vue demandeuse de mise a jour
id - l'identifiant de l'image

obtenirMotsClesId

public void obtenirMotsClesId(Rafraichissable r,
                              java.lang.String id)
demande au modèle les ids des mots clés associés a une image

Parameters:
r - la vue demandeuse de mise a jour
id - l'identifiant de l'image

obtenirArbreMotsCles

public void obtenirArbreMotsCles(Rafraichissable r)
Envoie au modèle une demande pour obtenir l'arbre des mots clés

Parameters:
r - le raffraichissable qui a demandé la mise à jour

mettreAJourInfo

public void mettreAJourInfo(java.lang.String commentaires,
                            java.lang.String date,
                            java.lang.String note)
envoie au modèle une demande de mise a jour des informations modifiables associées a une image

Parameters:
commentaires - le commentaire de l'image
date - la date modifiée par l'utilisateur

rafraichirArbreMotsCles

public void rafraichirArbreMotsCles(com.gwtext.client.data.Tree arbreMC)
Met à jour l'arbre des mots clés affichés dans le volet de droite à partir de l'arbre passé en paramètre

Parameters:
arbreMC - le nouvel arbre des mots clés

uploaderImages

public void uploaderImages()
envoie au modèle une demande pour lancer le formulaire ou l'application d'upload


obtenirDonnes

public void obtenirDonnes(java.lang.String imgNum)
Envoie une demande au modèle pour obtenir toutes les données annexes de l'image (métadonnées, note, etc ...), on y centralise tous les appels a obtenirQuelqueChose

Parameters:
imgNum - l'identifiant de l'image

clicGalerieImage

public void clicGalerieImage(int index,
                             com.google.gwt.user.client.Element node,
                             com.gwtext.client.core.EventObject e)
est appelé lors d'un clic de souris sur une vignette dans la galerie le médiateur gère alors les conséquences

Parameters:
index - l'index du noeud dans la galerie
node - le noeud selectionné
e - l'object source de l'évenement

clicListeImage

public void clicListeImage(int rowIndex)
est appelé lors d'un clic de souris sur un enregistrement de la liste le médiateur gère alors les conséquences

Parameters:
rowIndex - le numéro de ligne selectionné

doubleClicListeImage

public void doubleClicListeImage(int rowIndex)
gestion du double clic dans la liste

Parameters:
rowIndex -

rafraichirToutesVues

public void rafraichirToutesVues()
envoie une demande de mise a jour des données au modèle


montrerContextMenu

public void montrerContextMenu(com.gwtext.client.core.EventObject e)
montre le menu au coordonnées indiquées

Parameters:
e - l'objet source de l'évenement

doubleClicZoomImage

public void doubleClicZoomImage()
appelé lors du double clic sur l'image agrandie


clicBoutonZoomImage

public void clicBoutonZoomImage(java.lang.String arg)
appelé lors du clic sur un des boutons de la zone zoom

Parameters:
arg - le nom du bouton qui a cliqué

synchroniserSelection

public void synchroniserSelection(java.lang.String string)
synchronise la selection entre la galerie et la liste

Parameters:
string - le nom de la vue qui doit être synchronisee

supprimerImages

public void supprimerImages()
fait une demande de suppression des images (en local et en distant) des images selectionnees


aucuneSelection

public void aucuneSelection()
desactive les onglets de metadonnees et de zoom (dans le cas ou rien n'est selectionne)


selection

public void selection()
reactive les onglet metadonnees et zoom (lors d'une selection alors qu'il n'y en avait pas)


montrerContextMenuArbre

public void montrerContextMenuArbre(com.gwtext.client.widgets.tree.TreeNode n,
                                    com.gwtext.client.core.EventObject ev,
                                    com.gwtext.client.widgets.tree.TreeEditor te)
Fait apparaitre le menu contextuel de l'arbre des mots clés au niveau d'un noeud donné

Parameters:
n - le noeud ou le menu doit apparaitre
ev - l'objet contenant les données sur l'évenement
te - l'éditeur associé à l'arbre qui permet de modifier les libellés des noeuds

mettreAjourMotsClesId

public void mettreAjourMotsClesId(java.lang.String text,
                                  java.lang.String id)
Appelle le modèle pour mettre à jour la paire mot-clé / identifiant du mot clé

Parameters:
text - le texte du mot clé
id - l'identifiant du mot clé

mettreAjourMotsCles

public void mettreAjourMotsCles(java.lang.String motsClesEnCours,
                                com.gwtext.client.data.Tree arbreMC)
Récupère les identifiants des images selectionnés et appelle le modèle pour qu'il mette à jour les associations mots clés/images

Parameters:
motsClesEnCours - les mots clés à associer aux images selectionnés séparés par une ','
arbreMC - l'arbre des mots clés à mettre à jour

ajouterMotCleDansArbre

public void ajouterMotCleDansArbre(com.gwtext.client.widgets.tree.TreeNode n,
                                   com.gwtext.client.data.Tree arbreMC)
Appelle le médiateur pour qu'il ajoute un mot clé dans l'arbre des mots clés

Parameters:
n - le noeud à ajouter à l'arbre
arbreMC - le nouvel arbre de mots clés à mettre à jour

supprimerMotCleDansArbre

public void supprimerMotCleDansArbre(com.gwtext.client.widgets.tree.TreeNode n,
                                     com.gwtext.client.data.Tree arbreMC)
Appelle le médiateur pour qu'il supprime un mot clé et son sous arbre dans l'arbre des mots clés

Parameters:
n - le noeud à supprimer
arbreMC - le nouvel arbre de mots clés à mettre à jour

modifierMotCleDansArbre

public void modifierMotCleDansArbre(com.gwtext.client.widgets.tree.TreeNode n,
                                    com.gwtext.client.data.Tree arbreMC)
Appelle le médiateur pour qu'il modifie un mot clé dans l'arbre des mots clés

Parameters:
n - le noeud à modifier
arbreMC - le nouvel arbre de mots clés à mettre à jour

deplacerMotCleDansArbre

public void deplacerMotCleDansArbre(com.gwtext.client.widgets.tree.TreeNode n,
                                    com.gwtext.client.data.Tree arbreMC)
Appelle le médiateur pour qu'il déplace un mot clé et son sous arbre dans l'arbre des mots clés

Parameters:
n - le noeud à déplacer
arbreMC - le nouvel arbre de mots clés à mettre à jour

initialiserMotsCleCoches

public void initialiserMotsCleCoches()
initialise les mots clés cochés par rapport aux images sélectionnées


changerNumeroPage

public void changerNumeroPage(int pageCourante)
Appelle le modèle pour lui demander les données d'une page à afficher

Parameters:
pageCourante - le numéro de page à affciher

changerTaillePage

public void changerTaillePage(int nouvelleTaillePage)
Appelle le modèle pour qu'il change la taille de page utilisée

Parameters:
nouvelleTaillePage - la nouvelle taille de page

changerPageMaxEtCourante

public void changerPageMaxEtCourante(int pageMax,
                                     int pageEncours,
                                     int taillePage,
                                     int nbElement)
Met à jour les barre d'outils avec des nouvelles valeurs

Parameters:
pageMax - le nombre de pages
pageEncours - la page en cours
taillePage - la taille de page
nbElement - le nombre d'élements par page

masquerChargement

public void masquerChargement()
Recherche l'élement actuellement affiché et affiche son message de chargement


demasquerChargement

public void demasquerChargement()
Recherche l'élement actuellement affiché et retire son message de chargement si l'était affiché


afficherMenuId

public void afficherMenuId()

renvoyerFiltres

public java.lang.String[][] renvoyerFiltres()
C'est dans cette fonction que doivent être renvoyé les valeurs des filtres sous forme de tableau [nom, valeur]

Returns:
Les noms et valeurs des filtres

getEtatFiltres

public boolean getEtatFiltres()
Indique si les filtres ont changés depuis la dernière requête (il faut faire un OR sur le résultat de toutes les fonctions renvoyerEtatFiltre s'il y a plus d'un filtre)

Returns:
true si au moins un des filtres a changé, false sinon

getPanneauFiltres

public PanneauFiltresVues getPanneauFiltres()
Accesseur pour le panneau de droite contenant les filtres

Returns:
le panneau contenant les filtres

ajouterImagesSelection

public void ajouterImagesSelection()
ajoute les images séléctionnées dans la vue courante au tampon


afficherIdSelectionImages

public void afficherIdSelectionImages()
Affiche les ids des images contenues dans le tampon


renvoyerSelection

public java.lang.String renvoyerSelection()
Renvoie les ids des images contenues dans le tampon en une seule string

Returns:
une string de la forme id1, id2, id3

viderSelection

public void viderSelection()
Vide le tampon d'images


lierImagesDD

public boolean lierImagesDD(com.gwtext.client.dd.DragSource source,
                            com.gwtext.client.core.EventObject e,
                            com.gwtext.client.dd.DragData data)
Fonction appelée lors du drag 'n drop d'une image sur une observation

Parameters:
source - la source du drag
e - l'objet sur lequel on a fait le drop
data - les données
Returns:
une booleen indiquant le succès ou l'échec de l'opération

lierObsDD

public boolean lierObsDD(com.gwtext.client.dd.DragSource source,
                         com.gwtext.client.core.EventObject e,
                         com.gwtext.client.dd.DragData data,
                         java.lang.String idDest)
Fonction appelée lors du drag 'n drop d'une observation sur une image

Parameters:
source - la source du drag
e - l'objet sur lequel on a fait le drop
data - les données
Returns:
une booleen indiquant le succès ou l'échec de l'opération

lierImagesObservation

public void lierImagesObservation(java.lang.String idsObs,
                                  java.lang.String idsImg)
Lie une ou plusieurs images à une ou plusieurs observations

Parameters:
idsObs - les identifiants des observations séparés par des ","
idsImg - les identifiants des images séparés par des ","