Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1018 Rev 1292
1
package org.tela_botanica.client.vues.image;
1
package org.tela_botanica.client.vues.image;
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.MenuItem;
9
import com.gwtext.client.widgets.menu.MenuItem;
10
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
10
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
11
 
11
 
12
/**
12
/**
13
 * Menu de gestion des images
13
 * Menu de gestion des images
14
 * 
14
 * 
15
 * @author aurelien
15
 * @author aurelien
16
 * 
16
 * 
17
 */
17
 */
18
public class MenuImageVue extends Menu {
18
public class MenuImageVue extends Menu {
19
 
19
 
20
	/**
20
	/**
21
	 * Le médiateur associé à la vue
21
	 * Le médiateur associé à la vue
22
	 */
22
	 */
23
	private ImageMediateur iMediateur;
23
	private ImageMediateur iMediateur;
24
 
24
 
25
	/**
25
	/**
26
	 * Item pour l'upload
26
	 * Item pour l'upload
27
	 */
27
	 */
28
	private MenuItem uploaderImage = null;
28
	private MenuItem uploaderImage = null;
29
	/**
29
	/**
30
	 * Item pour la suppression
30
	 * Item pour la suppression
31
	 */
31
	 */
32
	private Item supprimerImage = null;
32
	private Item supprimerImage = null;
33
 
33
 
34
	/**
34
	/**
35
	 * Item pour l'ajout d'images à la selection
35
	 * Item pour l'ajout d'images à la selection
36
	 */
36
	 */
37
	private Item ajouterImageSelection = null;
37
	private Item ajouterImageSelection = null;
38
 
38
 
39
	/**
39
	/**
40
	 * Item pour vider la selection d'images
40
	 * Item pour vider la selection d'images
41
	 */
41
	 */
42
	private Item viderSelection = null;
42
	private Item viderSelection = null;
43
 
43
 
44
	/**
44
	/**
45
	 * Item pour lier la selection d'images
45
	 * Item pour lier la selection d'images
46
	 */
46
	 */
47
	private Item afficherSelection = null;
47
	private Item afficherSelection = null;
48
	
48
	
49
	private Item uploadMultiple = null ;
49
	private Item uploadMultiple = null ;
50
	
50
	
51
	private Item uploadSimple = null ;
51
	private Item uploadSimple = null ;
52
	
52
	
53
	private Item gestionMotsCles = null;
53
	private Item gestionMotsCles = null;
54
	
54
	
55
	private Menu mn = null ;
55
	private Menu mn = null ;
56
 
56
 
57
	/**
57
	/**
58
	 * Constructeur sans argument (privé car ne doit être utilisé)
58
	 * Constructeur sans argument (privé car ne doit être utilisé)
59
	 */
59
	 */
60
	@SuppressWarnings("unused")
60
	@SuppressWarnings("unused")
61
	private MenuImageVue() {
61
	private MenuImageVue() {
62
		super();
62
		super();
63
	}
63
	}
64
 
64
 
65
	/**
65
	/**
66
	 * Constructeur avec paramètre
66
	 * Constructeur avec paramètre
67
	 * 
67
	 * 
68
	 * @param im
68
	 * @param im
69
	 *            le médiateur à associer
69
	 *            le médiateur à associer
70
	 */
70
	 */
71
	public MenuImageVue(ImageMediateur im) {
71
	public MenuImageVue(ImageMediateur im) {
72
		super();
72
		super();
73
 
73
 
74
		iMediateur = im;
74
		iMediateur = im;
75
		
75
		
76
		mn = new Menu();
76
		mn = new Menu();
77
			uploadMultiple = new Item("Plusieurs dossiers ou fichiers à la fois");
77
			uploadMultiple = new Item("Plusieurs dossiers ou fichiers à la fois");
78
			uploadSimple = new Item("Un fichier à la la fois");
78
			uploadSimple = new Item("Un fichier à la la fois");
79
			
79
			
80
		mn.addItem(uploadMultiple);
80
		mn.addItem(uploadMultiple);
81
		mn.addItem(uploadSimple);
81
		mn.addItem(uploadSimple);
82
 
82
 
83
		// on construit le menu
83
		// on construit le menu
84
		uploaderImage = new MenuItem("Ajouter des images", mn);
84
		uploaderImage = new MenuItem("Ajouter des images", mn);
85
		supprimerImage = new Item("Supprimer les images selectionnées");
85
		supprimerImage = new Item("Supprimer les images selectionnées");
86
		gestionMotsCles = new Item("Gérer les mots clés");
86
		gestionMotsCles = new Item("Gérer les mots clés");
87
		ajouterImageSelection = new Item(
87
		ajouterImageSelection = new Item(
88
				"Ajouter les images sélectionnées au tampon");
88
				"Ajouter les images sélectionnées au tampon");
89
		viderSelection = new Item("Vider le tampon");
89
		viderSelection = new Item("Vider le tampon");
90
		afficherSelection = new Item("Afficher le tampon");
90
		afficherSelection = new Item("Afficher le tampon");
91
		addItem(uploaderImage);
91
		addItem(uploaderImage);
92
		addItem(supprimerImage);
92
		addItem(supprimerImage);
93
		addItem(gestionMotsCles);
93
		addItem(gestionMotsCles);
94
		addSeparator() ;
94
		addSeparator() ;
95
		addItem(ajouterImageSelection);
95
		addItem(ajouterImageSelection);
96
		addItem(viderSelection);
96
		addItem(viderSelection);
97
		addItem(afficherSelection);
97
		addItem(afficherSelection);
98
 
98
 
99
		// on ajoute les listeners
99
		// on ajoute les listeners
100
		ajouterListeners();
100
		ajouterListeners();
101
	}
101
	}
102
 
102
 
103
	/**
103
	/**
104
	 * Ajoute les listeners pour la gestions des évènements
104
	 * Ajoute les listeners pour la gestions des évènements
105
	 */
105
	 */
106
	private void ajouterListeners() {
106
	private void ajouterListeners() {
107
		this.addListener(new MenuListenerAdapter() {
107
		this.addListener(new MenuListenerAdapter() {
108
 
108
 
109
			// gestion du clic sur un item
109
			// gestion du clic sur un item
-
 
110
 
110
 
111
			@Override
111
			public void onItemClick(BaseItem item, EventObject e) {
112
			public void onItemClick(BaseItem item, EventObject e) {
112
				
113
				
113
				// si c'est la suppression
114
				// si c'est la suppression
114
				if (item.equals(supprimerImage)) {
115
				if (item.equals(supprimerImage)) {
115
					// on notifie le médiateur
116
					// on notifie le médiateur
116
					getIMediateur().supprimerImages();
117
					getIMediateur().supprimerImages();
117
				}
118
				}
118
 
119
 
119
				// si c'est l'ajout à la sélection
120
				// si c'est l'ajout à la sélection
120
				if (item.equals(ajouterImageSelection)) {
121
				if (item.equals(ajouterImageSelection)) {
121
					getIMediateur().ajouterImagesSelection();
122
					getIMediateur().ajouterImagesSelection();
122
				}
123
				}
123
 
124
 
124
				// si c'est le vidage de la sélection
125
				// si c'est le vidage de la sélection
125
				if (item.equals(viderSelection)) {
126
				if (item.equals(viderSelection)) {
126
					getIMediateur().viderSelection();
127
					getIMediateur().viderSelection();
127
				}
128
				}
128
 
129
 
129
				// si c'est l'affichage de la selection
130
				// si c'est l'affichage de la selection
130
				if (item.equals(afficherSelection)) {
131
				if (item.equals(afficherSelection)) {
131
					getIMediateur().afficherIdSelectionImages();
132
					getIMediateur().afficherIdSelectionImages();
132
				}
133
				}
133
				
134
				
134
				// si c'est l'affichage de la selection
135
				// si c'est l'affichage de la selection
135
				if (item.equals(gestionMotsCles)) {
136
				if (item.equals(gestionMotsCles)) {
136
					getIMediateur().afficherFenetreGestionMotsCles();
137
					getIMediateur().afficherFenetreGestionMotsCles();
137
				}
138
				}
138
				
139
				
139
				// enfin, on cache le menu
140
				// enfin, on cache le menu
140
				hide();
141
				hide();
141
 
142
 
142
			}
143
			}
-
 
144
			
143
			
145
			@Override
144
			public void onShow(Menu menu) {
146
			public void onShow(Menu menu) {
145
				if(getIMediateur().getCompteSelection() != 0) {
147
				if(getIMediateur().getCompteSelection() != 0) {
146
					afficherSelection.enable();
148
					afficherSelection.enable();
147
					viderSelection.enable();
149
					viderSelection.enable();
148
				}
150
				}
149
				else {
151
				else {
150
					afficherSelection.disable();
152
					afficherSelection.disable();
151
					viderSelection.disable();
153
					viderSelection.disable();
152
				}
154
				}
153
			}
155
			}
154
 
156
 
155
		});
157
		});
156
		
158
		
157
		mn.addListener(new MenuListenerAdapter() {
159
		mn.addListener(new MenuListenerAdapter() {
-
 
160
			
158
			
161
			@Override
159
			public void onItemClick(BaseItem item, EventObject e) {
162
			public void onItemClick(BaseItem item, EventObject e) {
160
				
163
				
161
				// si c'est l'upload
164
				// si c'est l'upload
162
				if (item.equals(uploadMultiple)) {
165
				if (item.equals(uploadMultiple)) {
163
					// on notifie le médiateur
166
					// on notifie le médiateur
164
					getIMediateur().uploaderImages(true);
167
					getIMediateur().uploaderImages(true);
165
				}
168
				}
166
				
169
				
167
				// si c'est l'upload
170
				// si c'est l'upload
168
				if (item.equals(uploadSimple)) {
171
				if (item.equals(uploadSimple)) {
169
					// on notifie le médiateur
172
					// on notifie le médiateur
170
					getIMediateur().uploaderImages(false);
173
					getIMediateur().uploaderImages(false);
171
				}
174
				}
172
			}
175
			}
173
			
176
			
174
		});
177
		});
175
	
178
	
176
	}
179
	}
177
 
180
 
178
	/**
181
	/**
179
	 * Accesseur pour le médiateur
182
	 * Accesseur pour le médiateur
180
	 * 
183
	 * 
181
	 * @return le médiateur associé à la vue
184
	 * @return le médiateur associé à la vue
182
	 */
185
	 */
183
	public ImageMediateur getIMediateur() {
186
	public ImageMediateur getIMediateur() {
184
		return iMediateur;
187
		return iMediateur;
185
	}
188
	}
186
 
189
 
187
}
190
}