Rev 2615 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues.image;import org.tela_botanica.client.i18n.Msg;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 Item gestionMotsCles = 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(Msg.get("plusieurs-fichiers-images-fois"));uploadSimple = new Item(Msg.get("un-fichier-image-fois"));mn.addItem(uploadMultiple);mn.addItem(uploadSimple);// on construit le menuuploaderImage = new MenuItem(Msg.get("ajouter-images"), mn);supprimerImage = new Item(Msg.get("indication-supprimer-images"));gestionMotsCles = new Item(Msg.get("gerer-mots-cles"));ajouterImageSelection = new Item(Msg.get("ajouter-images-tampon"));viderSelection = new Item(Msg.get("vider-tampon"));afficherSelection = new Item(Msg.get("afficher-tampon"));addItem(uploaderImage);addItem(supprimerImage);addItem(gestionMotsCles);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 item@Overridepublic 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();}// si c'est l'affichage de la selectionif (item.equals(gestionMotsCles)) {getIMediateur().afficherFenetreGestionMotsCles();}// enfin, on cache le menuhide();}@Overridepublic void onShow(Menu menu) {if(getIMediateur().getCompteSelection() != 0) {afficherSelection.enable();viderSelection.enable();}else {afficherSelection.disable();viderSelection.disable();}}});mn.addListener(new MenuListenerAdapter() {@Overridepublic 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;}}