Subversion Repositories eFlore/Archives.cel-v2

Rev

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