Subversion Repositories eFlore/Applications.cel

Rev

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

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