Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 47 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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