Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Ignore whitespace Rev 39 → Rev 43

/trunk/src/org/tela_botanica/client/image/ImageMediateur.java
2,8 → 2,10
 
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.interfaces.VueListable;
import org.tela_botanica.client.vues.ArbreMotsClesFiltreVue;
import org.tela_botanica.client.vues.ArbreMotsClesVue;
import org.tela_botanica.client.vues.BarreOutilsVue;
import org.tela_botanica.client.vues.BarreRechercheFiltreVue;
import org.tela_botanica.client.vues.GalerieImageVue;
import org.tela_botanica.client.vues.ListeImageVue;
import org.tela_botanica.client.vues.MenuImageVue;
114,6 → 116,16
private boolean selection = false ;
/**
* Filtre pour les mots cles
*/
private ArbreMotsClesFiltreVue filtreMotsCles = null ;
/**
* Filtre pour les commentaires
*/
private BarreRechercheFiltreVue filtreCommentaires = null ;
/**
* constructeur privé (on accède a la classe par la méthode getInstance
*/
private ImageMediateur()
172,6 → 184,9
detailsEtMotsCles.setTitleCollapse(true);
detailsEtMotsCles.setCollapsible(true);
filtreMotsCles = new ArbreMotsClesFiltreVue(this) ;
filtreCommentaires = new BarreRechercheFiltreVue(this) ;
// on crée le panneau conteneur des métadonnées et infos
metadonneesIptcExif = new PanneauMetadonneesVue(this) ;
// et on l'inclut dans le volet approprié
332,6 → 347,24
}
/**
* Accesseur pour l'arbre des filtres
* @return l'arbre pour filtrer les mots clés
*/
public ArbreMotsClesFiltreVue getFiltreMotsCles()
{
return filtreMotsCles ;
}
/**
* Accesseur pour la barre de recherche
* @return la barre de recherche pour filtrer les commentaires
*/
public BarreRechercheFiltreVue getFiltreCommentaires()
{
return filtreCommentaires ;
}
/**
* Renvoie la vue sélectionné par l'utilisateur
* @return la vue selectionnée par l'utilisateur
*/
965,7 → 998,43
masked.unmask() ;
}
}
 
public void afficherFiltreMotsCles() {
getIModele().obtenirArbreMotCle(filtreMotsCles) ;
}
/**
* 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 String[][] renvoyerFiltres()
{
String[][] valeursFiltres = { filtreMotsCles.renvoyerValeursAFiltrer() , filtreCommentaires.renvoyerValeursAFiltrer() } ;
return valeursFiltres ;
}
/**
* 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)
* @return Une indication de changements de filtres
*/
public boolean getEtatFiltres()
{
System.out.println("les filtres sont modifiés ? "+(filtreMotsCles.renvoyerEtatFiltre() || filtreCommentaires.renvoyerEtatFiltre())) ;
return (filtreMotsCles.renvoyerEtatFiltre() || filtreCommentaires.renvoyerEtatFiltre());
}
 
public void afficherFiltreCommentaires() {
filtreCommentaires.afficherFiltre() ;
}
 
}
/trunk/src/org/tela_botanica/client/image/ImageModele.java
123,8 → 123,10
*/
public void obtenirPhotoGalerie(Rafraichissable r)
{
String motsClesFiltres[][] = getIMediateur().renvoyerFiltres() ;
// on rassemble les critères
String[][] criteres = {{"ci_ce_utilisateur", ""+getIMediateur().getIdentifiant()} } ;
String[][] criteres = {{"ci_ce_utilisateur", ""+getIMediateur().getIdentifiant()}, {motsClesFiltres[0][0], motsClesFiltres[0][1]}, {motsClesFiltres[1][0],motsClesFiltres[1][1] }} ;
// on les crée un DAO auquel on les transmet et qui demande le nombre d'images correspondantes (pour les pages)
NombreImageAsynchroneDAO niaDAO = new NombreImageAsynchroneDAO() ;
niaDAO.setIModele(this) ;
131,7 → 133,7
niaDAO.obtenirNombreImages(this, criteres) ;
// ensuite on demande la page correspondante avec les mêmes critères
String[][] criteres2 = { {"ci_limite" ,""+taillePage },{"ci_numero_page",""+pageEncours} } ;
String[][] criteres2 = { {"ci_limite" ,""+taillePage },{"ci_numero_page",""+pageEncours}, {motsClesFiltres[0][0], motsClesFiltres[0][1]}, {motsClesFiltres[1][0],motsClesFiltres[1][1] }} ;
// et on crée un DAO auquel on les transmet et qui envoie une requete pour recevoir les images
ListeImageAsynchroneDAO liaDAO = new ListeImageAsynchroneDAO();
liaDAO.ObtenirListeImages(this, criteres2);
298,6 → 300,12
ListeImageCarnet data = (ListeImageCarnet) nouvelleDonnees ;
Object[][] photoData = new Object[data.size()][7];
int i = 0 ;
if(data.size() == 0)
{
pageEncours = 0 ;
}
// on la parse et on récupère les informations quiç nous interessent
for (Iterator it = data.keySet().iterator(); it.hasNext();)
{
648,7 → 656,7
Double nPageInt = new Double(nPageRound) ;
// on convertit en entier
return nPageInt.intValue() ;
return Math.abs(nPageInt.intValue()) ;
}
/**
679,6 → 687,11
return getIMediateur().getIdentifiant() ;
}
 
/**
* renvoie la taille d'une image grâce à son identifiant
* @param id l'identifiant de l'image
* @return un tableau contenant la longueur et la hauteur de l'image
*/
public String[] obtenirTailleImage(String id) {
return ((ImageCarnet)cacheImage.get(id)).getTailleImage() ;