Rev 173 | 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.MenuItem;import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;/*** Menu de gestion des images** @author aurelien**/public class MenuImageVue extends Menu {/*** Le médiateur associé à la vue*/private ImageMediateur iMediateur;/*** Item pour l'upload*/private MenuItem uploaderImage = null;/*** Item pour la suppression*/private Item supprimerImage = null;/*** Item pour l'ajout d'images à la selection*/private Item ajouterImageSelection = null;/*** Item pour vider la selection d'images*/private Item viderSelection = null;/*** Item pour lier la selection d'images*/private Item afficherSelection = null;private Item uploadMultiple = null ;private Item uploadSimple = null ;private Menu mn = null ;/*** Constructeur sans argument (privé car ne doit être utilisé)*/@SuppressWarnings("unused")private MenuImageVue() {super();}/*** Constructeur avec paramètre** @param im* le médiateur à associer*/public MenuImageVue(ImageMediateur im) {super();iMediateur = im;mn = new Menu();uploadMultiple = new Item("Plusieurs dossiers ou fichiers à la fois");uploadSimple = new Item("Un fichier à la la fois");mn.addItem(uploadMultiple);mn.addItem(uploadSimple);// on construit le menuuploaderImage = new MenuItem("Ajouter des images", mn);supprimerImage = new Item("Supprimer les images selectionnées");ajouterImageSelection = new Item("Ajouter les images sélectionnées au tampon");viderSelection = new Item("Vider le tampon");afficherSelection = new Item("Afficher le tampon");addItem(uploaderImage);addItem(supprimerImage);addSeparator() ;addItem(ajouterImageSelection);addItem(viderSelection);addItem(afficherSelection);// on ajoute les listenersajouterListeners();}/*** Ajoute les listeners pour la gestions des évènements*/private void ajouterListeners() {this.addListener(new MenuListenerAdapter() {// gestion du clic sur un itempublic void onItemClick(BaseItem item, EventObject e) {// si c'est la suppressionif (item.equals(supprimerImage)) {// on notifie le médiateurgetIMediateur().supprimerImages();}// si c'est l'ajout à la sélectionif (item.equals(ajouterImageSelection)) {getIMediateur().ajouterImagesSelection();}// si c'est le vidage de la sélectionif (item.equals(viderSelection)) {getIMediateur().viderSelection();}// si c'est l'affichage de la selectionif (item.equals(afficherSelection)) {getIMediateur().afficherIdSelectionImages();}// enfin, on cache le menuhide();}public void onShow(Menu menu) {if(getIMediateur().getCompteSelection() != 0) {afficherSelection.enable();viderSelection.enable();}else {afficherSelection.disable();viderSelection.disable();}}});mn.addListener(new MenuListenerAdapter() {public void onItemClick(BaseItem item, EventObject e) {// si c'est l'uploadif (item.equals(uploadMultiple)) {// on notifie le médiateurgetIMediateur().uploaderImages(true);}// si c'est l'uploadif (item.equals(uploadSimple)) {// on notifie le médiateurgetIMediateur().uploaderImages(false);}}});}/*** Accesseur pour le médiateur** @return le médiateur associé à la vue*/public ImageMediateur getIMediateur() {return iMediateur;}}