Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 43 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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