Rev 1292 | Go to most recent revision | 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.Button;import com.gwtext.client.widgets.ToolbarButton;import com.gwtext.client.widgets.event.ButtonListenerAdapter;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 OptionsImages {/*** Le médiateur associé à la vue*/private ImageMediateur iMediateur;/*** Item pour l'upload*/private MenuItem uploaderImage = null;/*** Item pour la suppression*/private ToolbarButton 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 mnFichiers = null ;private Menu mnTampon = null ;/*** Constructeur sans argument (privé car ne doit être utilisé)*/@SuppressWarnings("unused")private OptionsImages() {super();}/*** Constructeur avec paramètre** @param im* le médiateur à associer*/public OptionsImages(ImageMediateur im) {super();iMediateur = im;mnFichiers = new Menu();uploadMultiple = new Item(Msg.get("plusieurs-fichiers-images-fois"));uploadSimple = new Item(Msg.get("un-fichier-image-fois"));mnFichiers.addItem(uploadMultiple);mnFichiers.addItem(uploadSimple);// on construit le menuuploaderImage = new MenuItem(Msg.get("ajouter-images"), mnFichiers);supprimerImage = new ToolbarButton(Msg.get("supprimer"));ajouterImageSelection = new Item(Msg.get("ajouter-images-tampon"));viderSelection = new Item(Msg.get("vider-tampon"));afficherSelection = new Item(Msg.get("afficher-tampon"));mnTampon = new Menu();mnTampon.addItem(ajouterImageSelection);mnTampon.addItem(viderSelection);mnTampon.addItem(afficherSelection);// on ajoute les listenersajouterListeners();}/*** Ajoute les listeners pour la gestions des évènements*/private void ajouterListeners() {mnTampon.addListener(new MenuListenerAdapter() {// gestion du clic sur un item@Overridepublic void onItemClick(BaseItem item, EventObject e) {// 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 menumnTampon.hide();}@Overridepublic void onShow(Menu menu) {if(getIMediateur().getCompteSelection() != 0) {afficherSelection.enable();viderSelection.enable();}else {afficherSelection.disable();viderSelection.disable();}}});mnTampon.setTitle(Msg.get("indication-utilisation-tampon"));// si c'est la suppressionsupprimerImage.addListener(new ButtonListenerAdapter() {@Overridepublic void onClick(Button b, EventObject e) {// on notifie le médiateurgetIMediateur().supprimerImages();}});supprimerImage.setTitle(Msg.get("indication-supprimer-images"));mnFichiers.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);}}});mnFichiers.setTitle(Msg.get("indication-plusieurs-fichiers-images-fois"));}public Menu getMenuImage() {return mnFichiers;}public Menu getMenuTampon() {return mnTampon;}public ToolbarButton getBoutonSuppression() {return supprimerImage;}/*** Accesseur pour le médiateur** @return le médiateur associé à la vue*/public ImageMediateur getIMediateur() {return iMediateur;}}