Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Ignore whitespace Rev 40 → Rev 43

/trunk/src/org/tela_botanica/client/vues/MenuImageVue.java
28,9 → 28,17
*/
private Item supprimerImage = null ;
/**
* Item pour la recherche par mots clés
*/
private Item chercherImage = null ;
/**
* Item pour la recherche sur les commentaires
*/
private Item chercherCommentaire = null ;
/**
* Constructeur sans argument (privé car ne doit être utilisé)
*/
private MenuImageVue()
51,10 → 59,13
// on construit le menu
uploaderImage = new Item("Uploader des images") ;
supprimerImage = new Item("Supprimer les images selectionnées") ;
chercherImage = new Item("Filtrer des images") ;
chercherImage = new Item("Filtrer par les mots clés") ;
chercherCommentaire = new Item("Filtrer par les commentaires") ;
addItem(uploaderImage);
addItem(supprimerImage) ;
addSeparator() ;
addItem(chercherImage) ;
addItem(chercherCommentaire) ;
// on ajoute les listeners
ajouterListeners() ;
75,8 → 86,6
{
// on notifie le médiateur
getIMediateur().uploaderImages() ;
// et on cache le menu
hide() ;
}
// si c'est la suppression
84,17 → 93,25
{
// on notifie le médiateur
getIMediateur().supprimerImages() ;
// et on chache le menu
hide() ;
}
// si c'est la recherche par mots clé
if(item.equals(chercherImage))
{
getIMediateur().afficherFiltres() ;
hide() ;
// on notifie le médiateur
getIMediateur().afficherFiltreMotsCles() ;
}
// si c'est la recherche par commentaires
if(item.equals(chercherCommentaire))
{
// on notifie le médiateur
getIMediateur().afficherFiltreCommentaires() ;
}
// enfin, on cache le menu
hide() ;
}
}) ;
/trunk/src/org/tela_botanica/client/vues/BarreRechercheFiltreVue.java
New file
0,0 → 1,177
package org.tela_botanica.client.vues;
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Filtrable;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
import com.google.gwt.core.client.JavaScriptObject;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Window;
import com.gwtext.client.widgets.event.ButtonListener;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.event.KeyListener;
import com.gwtext.client.widgets.form.TextField;
import com.gwtext.client.widgets.layout.BorderLayout;
import com.gwtext.client.widgets.menu.Menu;
 
/**
* Fenêtre de recherche pour les mots clés, contenant un champ texte,
* et un bouton cliquable
* @author aurelien
*
*/
public class BarreRechercheFiltreVue extends Window implements Rafraichissable, Filtrable {
 
/**
* Médiateur associé à la vue
*/
private ImageMediateur iMediateur = null ;
/**
* Barre de recherche
*
*/
private TextField champRecherche = null ;
/**
* Bouton rechercher
*/
private Button rechercher = null ;
/**
* Booleen d'etat du filtre
*/
private boolean filtreModifie = false ;
/**
* mot(s) à chercher
*/
private String motsAChercher = "" ;
/**
* Constructeur sans argument (privé car ne doit pas être utilisé)
*/
private BarreRechercheFiltreVue()
{
super() ;
}
/**
* Constructeur avec médiateur
* @param im
*/
public BarreRechercheFiltreVue(ImageMediateur im)
{
super("Recherche dans les commentaires") ;
iMediateur = im ;
champRecherche = new TextField() ;
rechercher = new Button("Rechercher") ;
add(champRecherche) ;
add(rechercher) ;
setSize(250, 100) ;
setCollapsible(true) ;
this.setCloseAction(HIDE) ;
ajouterListeners() ;
}
/**
* ajoute des listeners
*/
private void ajouterListeners()
{
// gestion du clic sur le bouton
rechercher.addListener(new ButtonListenerAdapter() {
 
public void onClick(Button button, EventObject e) {
validationEtRequete() ;
}
}) ;
// gestion de la touche entrée
champRecherche.addKeyListener(EventObject.ENTER, new KeyListener() {
 
public void onKey(int key, EventObject e) {
validationEtRequete() ;
}
}) ;
}
/**
* Fonction héritée de l'interface rafraichissable
*/
public void rafraichir(Object nouvelleDonnees,
boolean repandreRaffraichissement) {
filtreModifie = false ;
}
 
/**
* renvoie l'état du filtre (modifié ou non)
* @return l'état du filtre
*/
public boolean renvoyerEtatFiltre() {
return filtreModifie ;
}
 
/**
* Renvoie le nom du filtre
* @return le nom du filtre
*/
public String renvoyerNomFiltre() {
return "Recherche Commentaires" ;
}
/**
* Renvoie un tableau contenant le nom du champ à filtrer et la valeur
* @return un tableau contenant le nom du champ à filtrer et sa valeur
*/
public String[] renvoyerValeursAFiltrer() {
String[] valeurFiltre = {"ci_meta_comment" , motsAChercher } ;
return valeurFiltre ;
}
/**
* Accesseur pour le médiateur
* @return le médiateur associé
*/
public ImageMediateur getIMediateur()
{
return iMediateur ;
}
/**
* Effectue quelque opérations dans la classe et envoie une requête de données
* au médiateur
*/
public void validationEtRequete()
{
filtreModifie = true ;
motsAChercher = champRecherche.getText() ;
getIMediateur().obtenirPhotoGalerie(getIMediateur().getFiltreCommentaires()) ;
}
/**
* Affiche la fenetre
*/
public void afficherFiltre() {
show() ;
champRecherche.setValue(motsAChercher) ;
}
 
}
/trunk/src/org/tela_botanica/client/vues/ArbreMotsClesFiltreVue.java
27,6 → 27,12
import com.gwtext.client.widgets.tree.TreeNode;
import com.gwtext.client.widgets.tree.TreePanel;
 
/**
* fenêtre de recherche affichant l'arbre des mots clés en lecture et un bouton
* cliquable
* @author aurelien
*
*/
public class ArbreMotsClesFiltreVue extends Window implements Rafraichissable, Filtrable {
 
/**
58,11 → 64,18
*/
private boolean filtreModifie = false ;
/**
* Constructeur sans argument (privé car ne doit pas être utilisé)
*/
private ArbreMotsClesFiltreVue()
{
super() ;
}
/**
* Constructeur avec paramètres
* @param im le médiateur à associer
*/
public ArbreMotsClesFiltreVue(ImageMediateur im)
{
99,7 → 112,7
this.setBorder(false) ;
this.setCollapsible(true) ;
this.setTitleCollapse(true) ;
this.setCloseAction(HIDE) ;
// on ajoute les listeners
ajouterListeners() ;
106,7 → 119,10
estInstancie = true ;
}
public void ajouterListeners()
/**
* Ajoute les listeners
*/
private void ajouterListeners()
{
// gestion de la validation
rechercher.addListener(new ButtonListenerAdapter() {
146,6 → 162,7
 
}) ;
// gestion de la fermeture du panneau
this.addListener(new WindowListenerAdapter() {
public void onClose(Panel panel) {
162,6 → 179,9
}) ;
}
/**
* Méthode héritée de l'interface rafraichissable
*/
public void rafraichir(Object nouvelleDonnees,
boolean repandreRaffraichissement) {
170,6 → 190,18
{
Tree nouvelArbre = (Tree)nouvelleDonnees ;
arbreMotsCles.getRootNode().eachChild(new NodeTraversalCallback() {
 
 
public boolean execute(Node node) {
node.remove() ;
return true ;
}
}) ;
copierFilsNoeud(nouvelArbre.getRootNode(), arbreMotsCles.getRootNode()) ;
getArbreMotsCles().expandAll() ;
189,21 → 221,37
}
/**
* Accesseur pour le médiateur
* @return le médiateur associé
*/
public ImageMediateur getIMediateur()
{
return iMediateur ;
}
/**
* Accesseur pour le panneau contenant l'arbre
* @return le panneau de l'arbre des mots clés
*/
public TreePanel getArbreMotsCles()
{
return arbreMotsCles ;
}
 
/**
* Méthode héritée de Filtrable
* renvoie le nom du filtre
*/
public String renvoyerNomFiltre() {
return "mots clés" ;
}
 
/**
* Renvoie un tableau contenant le nom du champ à filtrer et la valeur
* @return un tableau contenant le nom du champ à filtrer et sa valeur
*/
public String[] renvoyerValeursAFiltrer() {
String[] valeursFiltrees = {"ci_meta_mots_cles",motsClesEncours} ;
211,7 → 259,13
return valeursFiltrees ;
}
public void copierFilsNoeud(Node ndPereOriginal, TreeNode ndPereCopie)
/**
* Fonction récursive qui prend deux noeuds d'arbre en paramètre et crée un copie du sous arbre du premier
* noeud, qu'elle concatène au deuxième
* @param ndPereOriginal le père des noeuds de l'arbre original
* @param ndPereCopie le père qui va recevoir les copies
*/
private void copierFilsNoeud(Node ndPereOriginal, TreeNode ndPereCopie)
{
Node[] ndNodeFils = ndPereOriginal.getChildNodes() ;
232,7 → 286,10
}
}
 
 
/**
* Méthode héritée de Filtrable
* Renvoie l'état du filtre modifié ou nom)
*/
public boolean renvoyerEtatFiltre() {
return filtreModifie ;
/trunk/src/org/tela_botanica/client/vues/pageToolBarVue.java
317,8 → 317,6
{
surTotalPage.setText(" sur "+pageTotale) ;
System.out.println("Nombre d'éléments :"+nbElement);
if(nbElement == 0)
{
champPage.setValue(""+(0)) ;