Subversion Repositories eFlore/Archives.cel-v2

Rev

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

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