Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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