Subversion Repositories eFlore/Applications.cel

Rev

Rev 134 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 134 Rev 140
Line 3... Line 3...
3
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
4
import org.tela_botanica.client.interfaces.ListePaginable;
4
import org.tela_botanica.client.interfaces.ListePaginable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.VueListable;
6
import org.tela_botanica.client.interfaces.VueListable;
Line -... Line 7...
-
 
7
 
7
 
8
import com.google.gwt.core.client.GWT;
-
 
9
import com.google.gwt.user.client.Element;
8
import com.google.gwt.user.client.Element;
10
import com.google.gwt.user.client.Window;
9
import com.google.gwt.user.client.ui.HTML;
11
import com.google.gwt.user.client.ui.HTML;
10
import com.gwtext.client.core.EventCallback;
12
import com.gwtext.client.core.EventCallback;
11
import com.gwtext.client.core.EventObject;
13
import com.gwtext.client.core.EventObject;
12
import com.gwtext.client.core.Ext;
14
import com.gwtext.client.core.Ext;
Line 60... Line 62...
60
	private BarrePaginationVue pt = null;
62
	private BarrePaginationVue pt = null;
61
	/**
63
	/**
62
	 * Booleen indiquant si la galerie est instanciée ou pas
64
	 * Booleen indiquant si la galerie est instanciée ou pas
63
	 */
65
	 */
64
	private boolean estInstancie = false;
66
	private boolean estInstancie = false;
-
 
67
	
-
 
68
	private boolean garderRatio = false;
-
 
69
	
-
 
70
	private int tailleOr = 100 ;
Line 65... Line 71...
65
 
71
 
66
	/**
72
	/**
67
	 * Constructeur sans argument, privé car ne doit pas être utilisé
73
	 * Constructeur sans argument, privé car ne doit pas être utilisé
68
	 */
74
	 */
Line 95... Line 101...
95
			}
101
			}
Line 96... Line 102...
96
			
102
			
Line 97... Line 103...
97
			public void onAfterLayout(Container c) {
103
			public void onAfterLayout(Container c) {
-
 
104
				
98
				
105
				ExtElement lienUpload = Ext.get("lienUpload");
99
				ExtElement lienUpload = Ext.get("lienUpload");
106
				if(lienUpload != null) {
100
				lienUpload.addListener("click", new EventCallback() {
107
					lienUpload.addListener("click", new EventCallback() {
-
 
108
	
-
 
109
						public void execute(EventObject e) {
-
 
110
							
Line 101... Line -...
101
 
-
 
102
					public void execute(EventObject e) {
111
							getIMediateur().uploaderImages();
103
						
-
 
104
						getIMediateur().uploaderImages();
112
						}
105
					}
113
						
Line 106... Line 114...
106
					
114
					}) ;
Line 107... Line 115...
107
				}) ;
115
				}
Line 245... Line 253...
245
		// pour chacune des photos
253
		// pour chacune des photos
246
		final XTemplate template = new XTemplate(
254
		final XTemplate template = new XTemplate(
247
				new String[] {
255
				new String[] {
248
						"<tpl for='.'>",
256
						"<tpl for='.'>",
249
						"<div class='thumb-wrap' id='{num_image}'>",
257
						"<div class='thumb-wrap' id='{num_image}'>",
250
						"<div class='thumb'><img src='{url_image_M}' title='{num_image}'></div>",
258
						"<div class='thumb'><img src='{url_image_M}' width='{taille_x_s} px' height='{taille_y_s} px' title='{num_image}'></div>",
251
						"<span>{nom}</span></div>", "</tpl>",
259
						"<span>{nom}</span></div>", "</tpl>",
252
						"<div class='x-clear'></div>" });
260
						"<div class='x-clear'></div>" });
253
		// pour des raisons de performances on compile le template en une
261
		// pour des raisons de performances on compile le template en une
254
		// fonction
262
		// fonction
255
		template.compile();
263
		template.compile();
Line 258... Line 266...
258
		// cree precedemment
266
		// cree precedemment
259
		dView = new DataView("div.thumb-wrap") {
267
		dView = new DataView("div.thumb-wrap") {
Line 260... Line 268...
260
 
268
 
261
			public void prepareData(Data data) {
269
			public void prepareData(Data data) {
262
				data.setProperty("shortName", Format.ellipsis(data
270
				data.setProperty("shortName", Format.ellipsis(data
-
 
271
						.getProperty("num_image"), 15));
-
 
272
				
-
 
273
				int[] XY = {data.getPropertyAsInt("taille_x") ,data.getPropertyAsInt("taille_y")} ;
-
 
274
				int[] XYresize ;
-
 
275
				
-
 
276
				if(garderRatio) {
-
 
277
					XYresize = calculerDimensions(XY);
-
 
278
				}
-
 
279
				else {
-
 
280
					XYresize = new int[2] ;
-
 
281
					XYresize[0] = XYresize[1] = tailleOr ;
-
 
282
					
-
 
283
				}
-
 
284
				
-
 
285
				data.setProperty("taille_x_s", XYresize[0]);
263
						.getProperty("num_image"), 15));	
286
				data.setProperty("taille_y_s", XYresize[1]);	
Line 264... Line 287...
264
			}
287
			}
265
			
288
			
Line 279... Line 302...
279
		FieldDef defLieImage = new StringFieldDef("lie_image");
302
		FieldDef defLieImage = new StringFieldDef("lie_image");
280
		FieldDef defAppImage = new StringFieldDef("app_image");
303
		FieldDef defAppImage = new StringFieldDef("app_image");
281
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
304
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
282
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
305
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
283
		FieldDef defUrlImage = new StringFieldDef("url_image");
306
		FieldDef defUrlImage = new StringFieldDef("url_image");
-
 
307
		FieldDef defTailleX = new IntegerFieldDef("taille_x");
-
 
308
		FieldDef defTailleY = new IntegerFieldDef("taille_y");
284
		FieldDef[] defTab = { defNumImage, defDatImage, defLieImage,
309
		FieldDef[] defTab = { defNumImage, defDatImage, defLieImage,
285
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage };
310
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage,defTailleX,defTailleY};
286
		RecordDef rd = new RecordDef(defTab);
311
		RecordDef rd = new RecordDef(defTab);
287
		st = new Store(rd);
312
		st = new Store(rd);
288
		dView.setStore(st);
313
		dView.setStore(st);
Line 289... Line 314...
289
 
314
 
Line 347... Line 372...
347
					// on l'affecte à la vue
372
					// on l'affecte à la vue
348
					dView.setStore(st);
373
					dView.setStore(st);
349
					// et on rafrachit la vue
374
					// et on rafrachit la vue
350
					dView.refresh();
375
					dView.refresh();
351
			}
376
			}
-
 
377
			else 
-
 
378
			{
-
 
379
				st.removeAll();
-
 
380
				st.load();
-
 
381
				dView.setStore(st);
-
 
382
				dView.refresh();
-
 
383
			}
Line 352... Line 384...
352
 
384
 
Line 353... Line 385...
353
		}
385
		}
354
 
386
 
Line 388... Line 420...
388
 
420
 
Line 389... Line 421...
389
	public void changerTaillePage(int nouvelleTaillePage) {
421
	public void changerTaillePage(int nouvelleTaillePage) {
390
		
422
		
-
 
423
		iMediateur.changerTaillePage(nouvelleTaillePage) ;
-
 
424
	}
-
 
425
	
-
 
426
	public int[] calculerDimensions(int[] tailleXY) {
-
 
427
	    
-
 
428
		float[] tailleXYf = {new Float(tailleXY[0]),new Float(tailleXY[1])} ;
-
 
429
        float tailleOr = this.tailleOr ;
-
 
430
        float maxTaille = Math.max(tailleXYf[1],tailleXYf[0]) ;
-
 
431
        float[] XYresize = new float[2];
-
 
432
        
-
 
433
        if(maxTaille == tailleXY[0]) {
-
 
434
            float rapport = tailleXYf[1]/tailleXYf[0] ;
-
 
435
            XYresize[0] = tailleOr ;
-
 
436
            XYresize[1] = tailleOr*rapport ;
-
 
437
        }else {
-
 
438
            float rapport = tailleXYf[0]/tailleXYf[1] ;
-
 
439
            XYresize[1] = tailleOr ;
-
 
440
            XYresize[0] = tailleOr*rapport ;
-
 
441
        }
-
 
442
        
-
 
443
        int[] res = {Math.round(XYresize[0]),Math.round(XYresize[1])} ;
-
 
444
        
Line 391... Line 445...
391
		iMediateur.changerTaillePage(nouvelleTaillePage) ;
445
        return res;