Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 47 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
12 aperonnet 1
package org.tela_botanica.client.vues;
2
 
3
import org.tela_botanica.client.image.ImageMediateur;
47 aperonnet 4
 
12 aperonnet 5
import com.gwtext.client.core.EventObject;
6
import com.gwtext.client.widgets.menu.BaseItem;
7
import com.gwtext.client.widgets.menu.Item;
8
import com.gwtext.client.widgets.menu.Menu;
36 aperonnet 9
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
12 aperonnet 10
 
36 aperonnet 11
/**
12
 * Menu de gestion des images
13
 * @author aurelien
14
 *
15
 */
12 aperonnet 16
public class MenuImageVue extends Menu {
17
 
36 aperonnet 18
	/**
19
	 * Le médiateur associé à la vue
20
	 */
12 aperonnet 21
	private ImageMediateur iMediateur ;
22
 
36 aperonnet 23
	/**
24
	 * Item pour l'upload
25
	 */
12 aperonnet 26
	private Item uploaderImage = null ;
36 aperonnet 27
	/**
28
	 * Item pour la suppression
29
	 */
12 aperonnet 30
	private Item supprimerImage = null ;
48 aperonnet 31
 
43 aperonnet 32
	/**
36 aperonnet 33
	 * Constructeur sans argument (privé car ne doit être utilisé)
34
	 */
35
	private MenuImageVue()
36
	{
37
		super();
38
	}
39
 
40
	/**
41
	 * Constructeur avec paramètre
42
	 * @param im le médiateur à associer
43
	 */
12 aperonnet 44
	public MenuImageVue(ImageMediateur im)
45
	{
46
		super() ;
47
 
48
		iMediateur = im ;
49
 
36 aperonnet 50
		// on construit le menu
12 aperonnet 51
		uploaderImage = new Item("Uploader des images") ;
22 aperonnet 52
		supprimerImage = new Item("Supprimer les images selectionnées") ;
12 aperonnet 53
		addItem(uploaderImage);
22 aperonnet 54
		addItem(supprimerImage) ;
12 aperonnet 55
 
36 aperonnet 56
		// on ajoute les listeners
57
		ajouterListeners() ;
12 aperonnet 58
	}
59
 
36 aperonnet 60
	/**
61
	 * Ajoute les listeners pour la gestions des évènements
62
	 */
63
	private void ajouterListeners()
12 aperonnet 64
	{
36 aperonnet 65
		this.addListener(new MenuListenerAdapter() {
12 aperonnet 66
 
36 aperonnet 67
			// gestion du clic sur un item
47 aperonnet 68
 
12 aperonnet 69
			public void onItemClick(BaseItem item, EventObject e) {
70
 
36 aperonnet 71
				// si c'est l'upload
12 aperonnet 72
				if(item.equals(uploaderImage))
73
				{
36 aperonnet 74
					// on notifie le médiateur
22 aperonnet 75
					getIMediateur().uploaderImages() ;
12 aperonnet 76
				}
77
 
36 aperonnet 78
				// si c'est la suppression
22 aperonnet 79
				if(item.equals(supprimerImage))
80
				{
36 aperonnet 81
					// on notifie le médiateur
22 aperonnet 82
					getIMediateur().supprimerImages() ;
83
				}
12 aperonnet 84
 
43 aperonnet 85
				// enfin, on cache le menu
86
				hide() ;
87
 
12 aperonnet 88
			}
89
 
90
		}) ;
91
	}
92
 
36 aperonnet 93
	/**
94
	 * Accesseur pour le médiateur
95
	 * @return le médiateur associé à la vue
96
	 */
12 aperonnet 97
	public ImageMediateur getIMediateur()
98
	{
99
		return iMediateur ;
100
	}
101
 
102
}