Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2 Rev 5
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
-
 
3
 
2
 
4
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
6
 
5
 
7
import com.google.gwt.user.client.DOM;
6
import com.google.gwt.user.client.DOM;
8
import com.google.gwt.user.client.Event;
7
import com.google.gwt.user.client.Event;
9
import com.google.gwt.user.client.ui.ClickListener;
8
import com.google.gwt.user.client.ui.ClickListener;
10
import com.google.gwt.user.client.ui.Image;
9
import com.google.gwt.user.client.ui.Image;
11
import com.google.gwt.user.client.ui.Widget;
10
import com.google.gwt.user.client.ui.Widget;
-
 
11
import com.gwtext.client.core.EventObject;
12
import com.gwtext.client.core.RegionPosition;
12
import com.gwtext.client.core.RegionPosition;
-
 
13
import com.gwtext.client.dd.DragData;
-
 
14
import com.gwtext.client.dd.DragSource;
-
 
15
import com.gwtext.client.dd.DropTarget;
-
 
16
import com.gwtext.client.dd.DropTargetConfig;
13
import com.gwtext.client.widgets.Container;
17
import com.gwtext.client.widgets.Container;
14
import com.gwtext.client.widgets.Panel;
18
import com.gwtext.client.widgets.Panel;
15
import com.gwtext.client.widgets.event.PanelListenerAdapter;
19
import com.gwtext.client.widgets.event.PanelListenerAdapter;
-
 
20
import com.gwtext.client.widgets.grid.GridDragData;
16
import com.gwtext.client.widgets.layout.BorderLayout;
21
import com.gwtext.client.widgets.layout.BorderLayout;
17
import com.gwtext.client.widgets.layout.BorderLayoutData;
22
import com.gwtext.client.widgets.layout.BorderLayoutData;
18
 
23
 
19
/**
24
/**
20
 * Panneau d'affichage d'une image avec des boutons précdents et suivant
25
 * Panneau d'affichage d'une image avec des boutons précdents et suivant
-
 
26
 * 
21
 * @author aurelien
27
 * @author aurelien
22
 *
28
 * 
23
 */
29
 */
24
public class ZoomImageVue extends Panel implements Rafraichissable {
30
public class ZoomImageVue extends Panel implements Rafraichissable {
25
	
31
 
26
	/**
32
	/**
27
	 * Le médiateur associé à la vue
33
	 * Le médiateur associé à la vue
28
	 */
34
	 */
29
	private ImageMediateur iMediateur = null ;
35
	private ImageMediateur iMediateur = null;
30
	
36
 
31
	/**
37
	/**
32
	 * Panneau conteneur pour l'image
38
	 * Panneau conteneur pour l'image
33
	 */
39
	 */
34
	private Panel imageConteneur = null ;
40
	private Panel imageConteneur = null;
35
	/**
41
	/**
36
	 * l'image à afficher
42
	 * l'image à afficher
37
	 */
43
	 */
38
	private Image image = new Image("vide.jpg") ;
44
	private Image image = new Image("vide.jpg");
39
	/**
45
	/**
40
	 * Bouton précédent
46
	 * Bouton précédent
41
	 */
47
	 */
42
	private final com.google.gwt.user.client.ui.Button prev = new com.google.gwt.user.client.ui.Button();
48
	private final com.google.gwt.user.client.ui.Button prev = new com.google.gwt.user.client.ui.Button();
43
	/**
49
	/**
44
	 * Bouton suivant
50
	 * Bouton suivant
45
	 */
51
	 */
46
	private final com.google.gwt.user.client.ui.Button suiv = new com.google.gwt.user.client.ui.Button();
52
	private final com.google.gwt.user.client.ui.Button suiv = new com.google.gwt.user.client.ui.Button();
47
	
53
 
48
	/**
54
	/**
49
	 * Taille originale Y de l'image
55
	 * Taille originale Y de l'image
50
	 */
56
	 */
51
	private int imageHeight = 0 ;
57
	private int imageHeight = 0;
52
	
58
 
53
	/**
59
	/**
54
	 * Taille originale X de l'image
60
	 * Taille originale X de l'image
55
	 */
61
	 */
56
	private int imageWidth = 0 ;
62
	private int imageWidth = 0;
57
	
63
	
-
 
64
	/**
-
 
65
	 * Identifiant de l'image
-
 
66
	 */
-
 
67
	private String idImage = "0" ;
-
 
68
 
58
	/**
69
	/**
59
	 * Booleen d'initalisation général
70
	 * Booleen d'initalisation général
60
	 */
71
	 */
61
	private boolean initialise = false ;
72
	private boolean initialise = false;
62
	
73
 
63
	/**
74
	/**
64
	 * Booleen d'initalisation du conteneur d'image
75
	 * Booleen d'initalisation du conteneur d'image
65
	 */
76
	 */
66
	private boolean conteneurInitialise = false ;
77
	private boolean conteneurInitialise = false;
67
	
78
 
68
	/**
79
	/**
69
	 * Constructeur sans argument (privé car ne doit être utilisé)
80
	 * Constructeur sans argument (privé car ne doit être utilisé)
70
	 */
81
	 */
71
	@SuppressWarnings("unused")
82
	@SuppressWarnings("unused")
72
	private ZoomImageVue()
83
	private ZoomImageVue() {
73
	{
-
 
74
		super() ;
84
		super();
75
	}
85
	}
76
	
86
 
77
	/**
87
	/**
78
	 * Constructeur avec argument
88
	 * Constructeur avec argument
-
 
89
	 * 
-
 
90
	 * @param im
79
	 * @param im le médiateur à associer à la vue 
91
	 *            le médiateur à associer à la vue
80
	 */
92
	 */
81
	public ZoomImageVue(ImageMediateur im)
93
	public ZoomImageVue(ImageMediateur im) {
82
	{
-
 
83
		super("Zoom");
94
		super("Zoom");
84
		setId("x-view-zoom-panel") ;
95
		setId("x-view-zoom-panel");
85
		// on associe le médiateur
96
		// on associe le médiateur
86
		iMediateur = im ;
97
		iMediateur = im;
87
		
98
 
88
		prev.setStylePrimaryName("x-view-zoom-button-p") ;
99
		prev.setStylePrimaryName("x-view-zoom-button-p");
89
		suiv.setStylePrimaryName("x-view-zoom-button-s") ;
100
		suiv.setStylePrimaryName("x-view-zoom-button-s");
90
 
-
 
91
		
101
 
92
		// on crée une image qui gère le double clic et la roulette de la souris
102
		// on crée une image qui gère le double clic et la roulette de la souris
93
		image = new Image() {
103
		image = new Image() {
94
			
104
 
95
			public void onBrowserEvent(Event event) {
105
			public void onBrowserEvent(Event event) {
96
				
106
 
97
				// lors du double clic
107
				// lors du double clic
98
				if (Event.ONDBLCLICK == DOM.eventGetType(event)) {
108
				if (Event.ONDBLCLICK == DOM.eventGetType(event)) {
99
 
109
 
100
					// on notifie le médiateur
110
					// on notifie le médiateur
101
					getIMediateur().doubleClicZoomImage();
111
					getIMediateur().doubleClicZoomImage();
102
				}
112
				}
103
				
113
 
104
				// lors d'un déplacement de la roulette
114
				// lors d'un déplacement de la roulette
105
				if (Event.ONMOUSEWHEEL == DOM.eventGetType(event)) {
115
				if (Event.ONMOUSEWHEEL == DOM.eventGetType(event)) {
106
 
116
 
107
					// on simule un clic sur le bouton précédent
117
					// on simule un clic sur le bouton précédent
108
					if(event.getMouseWheelVelocityY() >= 1)
118
					if (event.getMouseWheelVelocityY() >= 1) {
109
					{
-
 
110
						prev.click() ;		
119
						prev.click();
111
					}
120
					}
112
					
121
 
113
					// ou suivant
122
					// ou suivant
114
					if(event.getMouseWheelVelocityY() <= -1)
123
					if (event.getMouseWheelVelocityY() <= -1) {
115
					{
-
 
116
						suiv.click() ;
124
						suiv.click();
117
					}
125
					}
118
				}
126
				}
119
			}
127
			}
-
 
128
			
120
		};
129
		};
121
		
-
 
122
		
130
 
123
		this.setHeader(false) ;
131
		this.setHeader(false);
124
		
-
 
125
		
132
 
126
		imageConteneur = new Panel()  ;
133
		imageConteneur = new Panel() ;
127
		imageConteneur.setBorder(false);
134
		imageConteneur.setBorder(false);
128
		
135
 
129
		imageConteneur.add(image) ;
136
		imageConteneur.add(image);
130
		imageConteneur.setId("x-view-zoom-img") ;
137
		imageConteneur.setId("x-view-zoom-img");
131
		
138
 
132
		// il n'existe pas de méthode pour ajouter un listener pour le double clic sur une image
139
		// il n'existe pas de méthode pour ajouter un listener pour le double
-
 
140
		// clic sur une image
133
		// alors on lui dit manuellement de capter l'évènement double clic
141
		// alors on lui dit manuellement de capter l'évènement double clic
134
		image.sinkEvents(Event.ONDBLCLICK);
142
		image.sinkEvents(Event.ONDBLCLICK);
135
		image.sinkEvents(Event.ONMOUSEWHEEL) ;
143
		image.sinkEvents(Event.ONMOUSEWHEEL);
136
		
144
 
137
		// l'image de base est vide
145
		// l'image de base est vide
138
		image.setUrl("vide.jpg");
146
		image.setUrl("vide.jpg");
139
		
147
 
140
		this.setLayout(new BorderLayout());
148
		this.setLayout(new BorderLayout());
141
		
149
 
142
		prev.setWidth("60px");
150
		prev.setWidth("60px");
143
		suiv.setWidth("60px");
151
		suiv.setWidth("60px");
144
		
152
 
145
		this.add(prev,new BorderLayoutData(RegionPosition.WEST));
153
		this.add(prev, new BorderLayoutData(RegionPosition.WEST));
146
		this.add(imageConteneur,new BorderLayoutData(RegionPosition.CENTER));
154
		this.add(imageConteneur, new BorderLayoutData(RegionPosition.CENTER));
147
		this.add(suiv,new BorderLayoutData(RegionPosition.EAST));
155
		this.add(suiv, new BorderLayoutData(RegionPosition.EAST));
148
		
156
 
149
		imageConteneur.setMaskDisabled(true) ;
157
		imageConteneur.setMaskDisabled(true);
150
		this.setBorder(false);
158
		this.setBorder(false);
-
 
159
 
-
 
160
		conteneurInitialise = true;
-
 
161
		initialise = true;
151
		
-
 
152
		conteneurInitialise = true ;
162
		
153
		initialise = true ;
163
		configDragAndDrop() ;
154
		
164
 
155
		// on ajoute les listeners
165
		// on ajoute les listeners
156
		ajouterListeners();
166
		ajouterListeners();
157
 
167
 
158
	}
168
	}
159
 
169
 
160
	/**
170
	/**
161
	 * Méthode héritée de l'interface rafraichissable
171
	 * Méthode héritée de l'interface rafraichissable
-
 
172
	 * 
-
 
173
	 * @param nouvelleDonnees
162
	 * @param nouvelleDonnees les nouvelles données
174
	 *            les nouvelles données
-
 
175
	 * @param repandreRafraichissement
163
	 * @param repandreRafraichissement le booleen qui dit si on doit répnadre l'évènement
176
	 *            le booleen qui dit si on doit répnadre l'évènement
164
	 */
177
	 */
165
	public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) {
178
	public void rafraichir(Object nouvelleDonnees,
-
 
179
			boolean repandreRafraichissement) {
166
		
180
 
167
		// si on reçoit une string
181
		// si on reçoit une string
168
		if(nouvelleDonnees instanceof String[] && initialise && conteneurInitialise)
182
		if (nouvelleDonnees instanceof String[] && initialise
169
		{
183
				&& conteneurInitialise) {
170
			String[] infos = (String[])nouvelleDonnees ;
184
			String[] infos = (String[]) nouvelleDonnees;
171
			// c'est l'url de l'image qu'on associe à la vue
185
			// c'est l'url de l'image qu'on associe à la vue
-
 
186
			if (infos[0] != null && infos[1] != null && infos[2] != null && infos[3] != null) {
172
			getImage().setUrl(infos[0]);
187
				getImage().setUrl(infos[0]);
173
			
-
 
174
			
-
 
175
			if(infos[1] != null && infos[2] != null)
-
 
176
			{
-
 
177
				int x = Integer.parseInt(infos[1]) ;
188
				int x = Integer.parseInt(infos[1]);
178
				int y = Integer.parseInt(infos[2]) ;
189
				int y = Integer.parseInt(infos[2]);
179
				
190
 
180
				setTailleImage(x,y) ;
191
				setTailleImage(x, y);
-
 
192
				
-
 
193
				setIdImage(infos[3]) ;
181
				
194
 
182
				verifierEtRetaillerImage() ;
195
				verifierEtRetaillerImage();
183
			}
-
 
184
		}
196
			}
185
		else
-
 
186
		{
197
		} else {
187
			// sinon on met une image vide
198
			// sinon on met une image vide
188
			getImage().setUrl("vide.jpeg") ;
199
			getImage().setUrl("vide.jpeg");
189
		}
200
		}
190
	}
201
	}
191
	
202
 
192
	/**
203
	/**
193
	 * Desactive visuellement le panneau et les boutons
204
	 * Desactive visuellement le panneau et les boutons
194
	 */
205
	 */
195
	public void desactiverPanneau()
206
	public void desactiverPanneau() {
196
	{
-
 
197
		getImage().setUrl("vide.jpeg") ;
207
		getImage().setUrl("vide.jpeg");
198
		prev.setEnabled(false) ;
208
		prev.setEnabled(false);
199
		suiv.setEnabled(false);
209
		suiv.setEnabled(false);
200
	}
210
	}
201
	
211
 
202
	/**
212
	/**
203
	 * Active visuellement le panneau et les boutons
213
	 * Active visuellement le panneau et les boutons
204
	 */
214
	 */
205
	public void activerPanneau()
215
	public void activerPanneau() {
206
	{
-
 
207
		prev.setEnabled(true);
216
		prev.setEnabled(true);
208
		suiv.setEnabled(true);
217
		suiv.setEnabled(true);
209
	}
218
	}
210
	
219
 
211
	/**
220
	/**
212
	 * Ajoute les listeners pour la gestions d'évènement
221
	 * Ajoute les listeners pour la gestions d'évènement
213
	 */
222
	 */
214
	public void ajouterListeners()
223
	public void ajouterListeners() {
215
	{
-
 
216
		
224
 
217
		// gestion du clic sur le bouton précedent
225
		// gestion du clic sur le bouton précedent
218
		prev.addClickListener(new ClickListener() {
226
		prev.addClickListener(new ClickListener() {
219
 
227
 
220
			// en cas de clic
228
			// en cas de clic
221
			public void onClick(Widget sender) {
229
			public void onClick(Widget sender) {
222
				// on notifie le médiateur
230
				// on notifie le médiateur
223
				getIMediateur().clicBoutonZoomImage("prev");
231
				getIMediateur().clicBoutonZoomImage("prev");
224
			}
232
			}
225
			
233
 
226
		});
234
		});
227
		
235
 
228
		// gestion du clic sur le bouton suivant
236
		// gestion du clic sur le bouton suivant
229
		suiv.addClickListener(new ClickListener() {
237
		suiv.addClickListener(new ClickListener() {
230
 
238
 
231
			// en cas de clic
239
			// en cas de clic
232
			public void onClick(Widget sender) {
240
			public void onClick(Widget sender) {
233
				// on notifie le médiateur	
241
				// on notifie le médiateur
234
				getIMediateur().clicBoutonZoomImage("suiv");
242
				getIMediateur().clicBoutonZoomImage("suiv");
235
			}
243
			}
236
			
244
 
237
		});
245
		});
238
		
246
 
239
		// gestion du redimensionnement
247
		// gestion du redimensionnement
240
		this.addListener(new PanelListenerAdapter() {
248
		this.addListener(new PanelListenerAdapter() {
241
			
249
 
242
			// lors d'un redimensionnement de l'application
250
			// lors d'un redimensionnement de l'application
243
			
251
 
244
			public void onBodyResize(Panel panel,java.lang.String width,java.lang.String height)
252
			public void onBodyResize(Panel panel, java.lang.String width,
245
			{
253
					java.lang.String height) {
246
				// on vérifie et on retaille l'image
254
				// on vérifie et on retaille l'image
247
				verifierEtRetaillerImage() ;
255
				verifierEtRetaillerImage();
248
			}
256
			}
249
		}) ;
257
		});
250
		
258
 
251
		// gestion du redimensionnement lors de l'affichage du conteneur
259
		// gestion du redimensionnement lors de l'affichage du conteneur
252
		imageConteneur.addListener(new PanelListenerAdapter() {
260
		imageConteneur.addListener(new PanelListenerAdapter() {
253
			
261
 
254
			// avant de finir d'afficher
262
			// avant de finir d'afficher
255
			
263
 
256
			public void onAfterLayout(Container self)
264
			public void onAfterLayout(Container self) {
257
			{
-
 
258
				// on redimensionne
265
				// on redimensionne
259
				verifierEtRetaillerImage() ;
266
				verifierEtRetaillerImage();
260
			}
267
			}
261
		}) ;
268
		});
262
		
269
 
263
	}
270
	}
264
 
271
 
265
	/**
272
	/**
266
	 * Verifie si l'image est plus grande que le conteneur et la retaille le cas echeant
273
	 * Verifie si l'image est plus grande que le conteneur et la retaille le cas
-
 
274
	 * echeant
267
	 */
275
	 */
268
	public void verifierEtRetaillerImage()
276
	public void verifierEtRetaillerImage() {
269
	{
-
 
270
		// si l'image est nulle
277
		// si l'image est nulle
271
		if(image == null)
278
		if (image == null) {
272
		{
-
 
273
			// on ne fait rien
279
			// on ne fait rien
274
			return ;
280
			return;
275
		}	
281
		}
276
		
282
 
277
		// on prend la taille originale de l'image
283
		// on prend la taille originale de l'image
278
		int originalX = getTailleImage()[0] ;
284
		int originalX = getTailleImage()[0];
279
		int originalY = getTailleImage()[1]	;
285
		int originalY = getTailleImage()[1];
280
		
286
 
281
		// on la transforme en float (la division entre entier donne de curieux résultats)
287
		// on la transforme en float (la division entre entier donne de curieux
-
 
288
		// résultats)
282
		float fOriginalX = (new Float(originalX)).floatValue() ;
289
		float fOriginalX = (new Float(originalX)).floatValue();
283
		float fOriginalY = (new Float(originalY)).floatValue() ;
290
		float fOriginalY = (new Float(originalY)).floatValue();
284
		
291
 
285
		// et on fait le rapport longueur sur hauteur (pour connaitre le ratio)
292
		// et on fait le rapport longueur sur hauteur (pour connaitre le ratio)
286
		float rapportTaille = fOriginalX/fOriginalY ;
293
		float rapportTaille = fOriginalX / fOriginalY;
287
		
294
 
288
		// la nouvelle taille est pour le moment égale à l'ancienne
295
		// la nouvelle taille est pour le moment égale à l'ancienne
289
		int nouvelleTailleX = originalX ;
296
		int nouvelleTailleX = originalX;
290
		int nouvelleTailleY = originalY ;
297
		int nouvelleTailleY = originalY;
291
		
298
 
292
		// on prend la taille du conteneur
299
		// on prend la taille du conteneur
293
		int tailleConteneurX = imageConteneur.getWidth() ;
300
		int tailleConteneurX = imageConteneur.getWidth();
294
		int tailleConteneurY = imageConteneur.getHeight() ;
301
		int tailleConteneurY = imageConteneur.getHeight();
295
		
302
 
296
		// si celle-ci est égale à 0 (conteneur mal initialisé)
303
		// si celle-ci est égale à 0 (conteneur mal initialisé)
-
 
304
		/*
297
		/*if(imageConteneur.getHeight() == 0 && tailleConteneurX == 0)
305
		 * if(imageConteneur.getHeight() == 0 && tailleConteneurX == 0) { // on
298
		{
-
 
299
			// on essaie de la calculer en fonction de la taille du parent et des frères
306
		 * essaie de la calculer en fonction de la taille du parent et des
300
			tailleConteneurY = this.getHeight() ;
307
		 * frères tailleConteneurY = this.getHeight() ; tailleConteneurX =
301
			tailleConteneurX = this.getWidth() - prev.getOffsetWidth() * 2 ;
308
		 * this.getWidth() - prev.getOffsetWidth() * 2 ;
302
			
309
		 *  }
303
		}*/
310
		 */
304
		 
311
 
305
		// si l'image ne rentre pas telle quelle (longueur ou hauteur trop grande)
312
		// si l'image ne rentre pas telle quelle (longueur ou hauteur trop
-
 
313
		// grande)
306
		if(originalY > tailleConteneurY || originalX > tailleConteneurX)
314
		if (originalY > tailleConteneurY || originalX > tailleConteneurX) {
307
		{
-
 
308
			// si la longueur de l'image est la plus grande des deux
315
			// si la longueur de l'image est la plus grande des deux
309
			if(originalX > originalY)
316
			if (originalX > originalY) {
310
			{		
-
 
311
				// on prend la longueur comme taille de référence, qu'on met à la longueur du conteneur
317
				// on prend la longueur comme taille de référence, qu'on met à
-
 
318
				// la longueur du conteneur
312
				nouvelleTailleX = tailleConteneurX ;
319
				nouvelleTailleX = tailleConteneurX;
313
				// et on recalcule la hauteur, par rapport à la nouvelle longueur, en gardant le format de 'limage
320
				// et on recalcule la hauteur, par rapport à la nouvelle
-
 
321
				// longueur, en gardant le format de 'limage
314
				nouvelleTailleY = (int)Math.floor(nouvelleTailleX*1/rapportTaille) ;
322
				nouvelleTailleY = (int) Math.floor(nouvelleTailleX * 1
-
 
323
						/ rapportTaille);
-
 
324
			} else {
-
 
325
				// si la hauteur est la plus grande, on fait le même genre
-
 
326
				// d'opération en prenant la hauteur comme référence
-
 
327
				nouvelleTailleY = tailleConteneurY;
-
 
328
				nouvelleTailleX = (int) Math.floor(nouvelleTailleY
-
 
329
						* rapportTaille);
315
			}
330
			}
316
			else
-
 
317
			{				
-
 
318
				// si la hauteur est la plus grande, on fait le même genre d'opération en prenant la hauteur comme référence
-
 
319
				nouvelleTailleY = tailleConteneurY ;
-
 
320
				nouvelleTailleX = (int)Math.floor(nouvelleTailleY*rapportTaille) ;
-
 
321
			}		
-
 
322
		}
331
		}
323
		
332
 
324
		// on modifie enfin la taille de l'image pour qu'elle soit affichée
333
		// on modifie enfin la taille de l'image pour qu'elle soit affichée
325
		getImage().setSize(""+nouvelleTailleX+"px", ""+nouvelleTailleY+"px") ;		
334
		getImage().setSize("" + nouvelleTailleX + "px",
-
 
335
				"" + nouvelleTailleY + "px");
-
 
336
	}
-
 
337
	
-
 
338
	public void configDragAndDrop()
-
 
339
	{
-
 
340
 
-
 
341
		// on fabrique la nouvelle configuration
-
 
342
		// les éléments sur lesquels on fait du drag 'n drop doivent tous avoir le même ddGroup
-
 
343
		DropTargetConfig dtc = new DropTargetConfig();
-
 
344
		dtc.setdDdGroup("DragGroupName");
-
 
345
 
-
 
346
		//La drop target permet de gérer l'évenement onDrop sur l'élement courant
-
 
347
		@SuppressWarnings("unused")
-
 
348
		DropTarget tg = new DropTarget(this, dtc)
-
 
349
		{
-
 
350
			public boolean notifyDrop(DragSource source, EventObject e, DragData data){		
-
 
351
				
-
 
352
				// si on reçoit des données provenant d'une grille
-
 
353
				if(data instanceof GridDragData)
-
 
354
		    	  {
-
 
355
		    		  		// on appelle le médiateur
-
 
356
		    		  		return iMediateur.lierObsDD(source, e, data,getId()) ;   
-
 
357
		    	  }
-
 
358
				return false ;
-
 
359
			}
-
 
360
			
-
 
361
			public String notifyOver(DragSource source, EventObject e, DragData data){
-
 
362
			    return "x-dd-drop-ok";
-
 
363
			}
-
 
364
		};
-
 
365
        
326
	}
366
	}
327
 
367
 
328
	/**
368
	/**
329
	 * Accesseur pour le médiateur
369
	 * Accesseur pour le médiateur
-
 
370
	 * 
330
	 * @return le médiateur associé à la vue
371
	 * @return le médiateur associé à la vue
331
	 */
372
	 */
332
	public ImageMediateur getIMediateur() {
373
	public ImageMediateur getIMediateur() {
333
		return iMediateur;
374
		return iMediateur;
334
	}
375
	}
335
 
376
 
336
	/**
377
	/**
337
	 * Accesseur au conteneur de l'image
378
	 * Accesseur au conteneur de l'image
-
 
379
	 * 
338
	 * @return le conteneur de l'image
380
	 * @return le conteneur de l'image
339
	 */
381
	 */
340
	public Image getImage() {
382
	public Image getImage() {
341
		return image;
383
		return image;
342
	}
384
	}
-
 
385
	
-
 
386
	/**
-
 
387
	 * Acesseurs pour l'identifiant de l'image
-
 
388
	 * @return l'id de l'image
-
 
389
	 */
-
 
390
	public String getIdImage()
-
 
391
	{
-
 
392
		return idImage ;
-
 
393
	}
343
 
394
 
344
	/**
395
	/**
345
	 * Accesseur pour le bouton précédent
396
	 * Accesseur pour le bouton précédent
-
 
397
	 * 
346
	 * @return le bouton précédent
398
	 * @return le bouton précédent
347
	 */
399
	 */
348
	public com.google.gwt.user.client.ui.Button getPrev() {
400
	public com.google.gwt.user.client.ui.Button getPrev() {
349
		return prev;
401
		return prev;
350
	}
402
	}
351
 
403
 
352
	/**
404
	/**
353
	 * Accesseur pour le bouton suivant
405
	 * Accesseur pour le bouton suivant
-
 
406
	 * 
354
	 * @return le bouton suivant
407
	 * @return le bouton suivant
355
	 */
408
	 */
356
	public com.google.gwt.user.client.ui.Button getSuiv() {
409
	public com.google.gwt.user.client.ui.Button getSuiv() {
357
		return suiv;
410
		return suiv;
358
	}
411
	}
359
	
412
 
360
	/**
413
	/**
361
	 * Setter pour la taille de l'image
414
	 * Setter pour la taille de l'image
-
 
415
	 * 
-
 
416
	 * @param X
362
	 * @param X la largeur en pixels
417
	 *            la largeur en pixels
-
 
418
	 * @param Y
363
	 * @param Y la hauteur en pixels
419
	 *            la hauteur en pixels
364
	 */
420
	 */
365
	public void setTailleImage(int x, int y)
421
	public void setTailleImage(int x, int y) {
366
	{
-
 
367
		imageHeight = y ;
422
		imageHeight = y;
368
		imageWidth = x ;
423
		imageWidth = x;
369
	}
424
	}
370
	
425
	
371
	/**
426
	/**
372
	 * renvoie la taille originale de l'image
427
	 * Setteur pour l'identifiant de l'image
373
	 * @return un tableau de deux entiers contenant la largeur puis la hauteur
428
	 * @param id le nouvel identifiant
374
	 */
429
	 */
375
	public int[] getTailleImage()
430
	public void setIdImage(String id)
376
	{
431
	{
377
		int[] taille = {imageHeight,imageWidth} ;
-
 
378
		
-
 
379
		return taille ;
432
		idImage = id ;
380
	}
433
	}
-
 
434
 
-
 
435
	/**
-
 
436
	 * renvoie la taille originale de l'image
-
 
437
	 * 
-
 
438
	 * @return un tableau de deux entiers contenant la largeur puis la hauteur
-
 
439
	 */
-
 
440
	public int[] getTailleImage() {
-
 
441
		int[] taille = { imageHeight, imageWidth };
-
 
442
 
-
 
443
		return taille;
-
 
444
	}
-
 
445
	
-
 
446
	/**
-
 
447
	 * Accesseur pour le conteneur de l'image
-
 
448
	 * @return le conteur de l'image
381
 
449
	 */
382
	public Panel getImageConteneur() {
450
	public Panel getImageConteneur() {
383
		
451
 
384
		return imageConteneur ;
452
		return imageConteneur;
385
		
453
 
386
	}
454
	}
387
}
455
}