Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Ignore whitespace Rev 47 → Rev 48

/trunk/src/org/tela_botanica/client/vues/MenuFiltreVue.java
New file
0,0 → 1,98
package org.tela_botanica.client.vues;
 
import org.tela_botanica.client.image.ImageMediateur;
 
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.menu.BaseItem;
import com.gwtext.client.widgets.menu.Item;
import com.gwtext.client.widgets.menu.Menu;
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
 
public class MenuFiltreVue extends Menu {
 
/**
* Le médiateur associé à la vue
*/
private ImageMediateur iMediateur ;
/**
* 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 MenuFiltreVue()
{
super();
}
/**
* Constructeur avec paramètre
* @param im le médiateur à associer
*/
public MenuFiltreVue(ImageMediateur im)
{
super() ;
iMediateur = im ;
// on construit le menu
chercherImage = new Item("Filtrer par les mots clés") ;
chercherCommentaire = new Item("Filtrer par les commentaires") ;
addItem(chercherImage) ;
addItem(chercherCommentaire) ;
// on ajoute les listeners
ajouterListeners() ;
}
/**
* Ajoute les listeners pour la gestions des évènements
*/
private void ajouterListeners()
{
this.addListener(new MenuListenerAdapter() {
 
// gestion du clic sur un item
public void onItemClick(BaseItem item, EventObject e) {
// si c'est la recherche par mots clé
if(item.equals(chercherImage))
{
// 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() ;
}
}) ;
}
/**
* Accesseur pour le médiateur
* @return le médiateur associé à la vue
*/
public ImageMediateur getIMediateur()
{
return iMediateur ;
}
}