Rev 195 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.image;
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é)
*/
@SuppressWarnings("unused")
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;
}
}