Subversion Repositories eFlore/Applications.cel

Rev

Rev 195 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 195 Rev 208
Line 66... Line 66...
66
	/**
66
	/**
67
	 * Config de colonne
67
	 * Config de colonne
68
	 */
68
	 */
69
	private ColumnConfig noteImage;
69
	private ColumnConfig noteImage;
70
	/**
70
	/**
-
 
71
	 * Config de colonne
-
 
72
	 */
-
 
73
	private ColumnConfig nomImage;
-
 
74
	/**
71
	 * Modele de colonnes
75
	 * Modele de colonnes
72
	 */
76
	 */
73
	private ColumnModel modeleColonnes;
77
	private ColumnModel modeleColonnes;
Line 74... Line 78...
74
 
78
 
Line 88... Line 92...
88
 
92
 
89
	/**
93
	/**
90
	 * Barre de pagination
94
	 * Barre de pagination
91
	 */
95
	 */
-
 
96
	private BarrePaginationVue bt = null;
-
 
97
	
-
 
98
	/**
-
 
99
	 * Taille max des images dans la liste
-
 
100
	 */
Line 92... Line 101...
92
	private BarrePaginationVue bt = null;
101
	private int tailleOr = 50 ;
-
 
102
 
-
 
103
	/**
-
 
104
	 * Garder ou non l'aspet original des images
-
 
105
	 */
-
 
106
	private boolean garderRatio = true;	
93
 
107
	
94
	/**
108
	/**
95
	 * Constructeur sans arguments (privé car ne doit pas être utilisé)
109
	 * Constructeur sans arguments (privé car ne doit pas être utilisé)
96
	 */
110
	 */
97
	private ListeImageVue() {
111
	private ListeImageVue() {
-
 
112
		super();
Line 98... Line 113...
98
		super();
113
	}
99
	}
114
	
100
 
115
 
101
	/**
116
	/**
Line 117... Line 132...
117
		bt.setLabelElement("Images");
132
		bt.setLabelElement("Images");
118
		bt.setTaillePageParDefaut(50);
133
		bt.setTaillePageParDefaut(50);
119
		setBottomToolbar(bt);
134
		setBottomToolbar(bt);
Line 120... Line 135...
120
 
135
 
121
		// on construit le modèle de colonnes
136
		// on construit le modèle de colonnes
122
		numImage = new ColumnConfig("numéro", "num_image", 30, true,
137
		numImage = new ColumnConfig("Numéro", "num_image", 30, true,
Line 123... Line 138...
123
				new Renderer() {
138
				new Renderer() {
124
 
139
 
125
					public String render(Object value,
140
					public String render(Object value,
Line 131... Line 146...
131
								+ "</div>";
146
								+ "</div>";
132
					}
147
					}
Line 133... Line 148...
133
 
148
 
Line 134... Line 149...
134
				});
149
				});
135
 
150
 
Line 136... Line 151...
136
		datImage = new ColumnConfig("date", "dat_image", 120, true,
151
		datImage = new ColumnConfig("Date", "dat_image", 80, true,
137
				new Renderer() {
152
				new Renderer() {
138
 
153
 
Line 147... Line 162...
147
						return "<div class=\"centered-list\">" + ImgDat
162
						return "<div class=\"centered-list\">" + ImgDat
148
								+ "</div>";
163
								+ "</div>";
149
					}
164
					}
Line 150... Line 165...
150
 
165
 
151
				});
166
				});
152
		lieImage = new ColumnConfig("lieu", "lie_image", 120, true,
167
		lieImage = new ColumnConfig("Lieu", "lie_image", 120, true,
Line 153... Line 168...
153
				new Renderer() {
168
				new Renderer() {
154
 
169
 
155
					public String render(Object value,
170
					public String render(Object value,
Line 163... Line 178...
163
						return "<div class=\"centered-list\">" + ImgLie
178
						return "<div class=\"centered-list\">" + ImgLie
164
								+ "</div>";
179
								+ "</div>";
165
					}
180
					}
Line 166... Line 181...
166
 
181
 
167
				});
182
				});
168
		appImage = new ColumnConfig("appareil", "app_image", 120, true,
183
		appImage = new ColumnConfig("Appareil", "app_image", 120, true,
Line 169... Line 184...
169
				new Renderer() {
184
				new Renderer() {
170
 
185
 
171
					public String render(Object value,
186
					public String render(Object value,
Line 179... Line 194...
179
						return "<div class=\"centered-list\">" + ImgApp
194
						return "<div class=\"centered-list\">" + ImgApp
180
								+ "</div>";
195
								+ "</div>";
181
					}
196
					}
Line 182... Line 197...
182
 
197
 
-
 
198
				});
-
 
199
		
183
				});
200
 
184
		// la colonne url possède une méthode de rendu spéciale
201
		// la colonne url possède une méthode de rendu spéciale
185
		urlImage = new ColumnConfig("Image", "url_image_S", 30, true,
202
		urlImage = new ColumnConfig("Image", "url_image_S", 30, true,
Line 186... Line 203...
186
				new Renderer() {
203
				new Renderer() {
187
 
204
 
188
					public String render(Object value,
205
					public String render(Object value,
189
							CellMetadata cellMetadata, Record record,
206
							CellMetadata cellMetadata, Record record,
190
							int rowIndex, int colNum, Store store) {
207
							int rowIndex, int colNum, Store store) {
-
 
208
						// on affiche une div contenant l'image pointée par
-
 
209
						// l'url
-
 
210
						int[] XY = {record.getAsInteger("taille_x") ,record.getAsInteger("taille_y")} ;
-
 
211
						int[] XYresize = {tailleOr,tailleOr} ;
-
 
212
						
-
 
213
						if(garderRatio) {
-
 
214
							XYresize = calculerDimensions(XY);
191
						// on affiche une div contenant l'image pointée par
215
						}
192
						// l'url
216
						
193
						String ImgUrl = record.getAsString("url_image_S");
217
						String ImgUrl = record.getAsString("url_image_S");
194
						String ImgNum = record.getAsString("num_image");
218
						String ImgNum = record.getAsString("num_image");
195
						return "<div class=\"img-list centered-list\"> <img src=\""
219
						return "<div class=\"img-list centered-list\"> <img src=\""
Line 196... Line 220...
196
								+ ImgUrl + "\" title='" + ImgNum + "'> </div>";
220
								+ ImgUrl + "\" title='" + ImgNum + "' width=\""+XYresize[0]+" px\" height=\""+XYresize[1]+" px\"> </div>";
Line 197... Line 221...
197
					}
221
					}
198
 
222
 
199
				});
223
				});
200
 
224
 
201
		noteImage = new ColumnConfig("note", "note_image", 80, true,
225
		noteImage = new ColumnConfig("Note", "note_image", 80, true,
Line 218... Line 242...
218
						return htmlImage;
242
						return htmlImage;
Line 219... Line 243...
219
 
243
 
Line 220... Line 244...
220
					}
244
					}
-
 
245
 
-
 
246
				});
-
 
247
		
-
 
248
		nomImage = new ColumnConfig("Nom", "nom_original", 120, true,
-
 
249
				new Renderer() {
-
 
250
			public String render(Object value,
-
 
251
					CellMetadata cellMetadata, Record record,
-
 
252
					int rowIndex, int colNum, Store store) {
-
 
253
 
-
 
254
				String imgNomOr = record.getAsString("nom_original");
-
 
255
				if (imgNomOr == null) {
-
 
256
					imgNomOr = " ";
-
 
257
				}
-
 
258
				return "<div class=\"centered-list\">" + imgNomOr
-
 
259
						+ "</div>";
-
 
260
			}
Line 221... Line 261...
221
 
261
 
222
				});
262
		});
223
 
263
 
224
		// on associe le modèle de colonnes
264
		// on associe le modèle de colonnes
225
		ColumnConfig[] cm = { numImage, urlImage, datImage, lieImage, appImage,
265
		ColumnConfig[] cm = { numImage, urlImage, nomImage, datImage, lieImage, appImage,
226
				noteImage };
266
				noteImage };
227
		modeleColonnes = new ColumnModel(cm);
267
		modeleColonnes = new ColumnModel(cm);
228
		this.setColumnModel(modeleColonnes);
268
		this.setColumnModel(modeleColonnes);
Line 229... Line 269...
229
		this.setAutoScroll(true);
269
		this.setAutoScroll(true);
230
		this.setAutoWidth(true);
270
		this.setAutoWidth(true);
-
 
271
		this.setEnableColumnResize(true);
231
		this.setEnableColumnResize(true);
272
 
232
 
273
		// creation du store
233
		// creation du store
274
		FieldDef defNumImage = new IntegerFieldDef("num_image");
234
		FieldDef defNumImage = new IntegerFieldDef("num_image");
275
		FieldDef defNomImage = new StringFieldDef("nom_original");
235
		FieldDef defDatImage = new StringFieldDef("dat_image");
276
		FieldDef defDatImage = new StringFieldDef("dat_image");
236
		FieldDef defLieImage = new StringFieldDef("lie_image");
277
		FieldDef defLieImage = new StringFieldDef("lie_image");
237
		FieldDef defAppImage = new StringFieldDef("app_image");
278
		FieldDef defAppImage = new StringFieldDef("app_image");
-
 
279
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
-
 
280
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
238
		FieldDef defUrlImageS = new StringFieldDef("url_image_S");
281
		FieldDef defUrlImage = new StringFieldDef("url_image");
239
		FieldDef defUrlImageM = new StringFieldDef("url_image_M");
282
		FieldDef defNoteImage = new StringFieldDef("note_image");
240
		FieldDef defUrlImage = new StringFieldDef("url_image");
283
		FieldDef defTailleX = new IntegerFieldDef("taille_x");
241
		FieldDef defNoteImage = new StringFieldDef("note_image");
284
		FieldDef defTailleY = new IntegerFieldDef("taille_y");
242
		FieldDef[] defTab = { defNumImage, defDatImage, defLieImage,
285
		FieldDef[] defTab = { defNumImage,defNomImage, defDatImage, defLieImage,
243
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage,
286
				defAppImage, defUrlImageS, defUrlImageM, defUrlImage,
244
				defNoteImage };
287
				defNoteImage, defTailleX, defTailleY };
245
		RecordDef rd = new RecordDef(defTab);
288
		RecordDef rd = new RecordDef(defTab);
Line 524... Line 567...
524
 
567
 
Line 525... Line 568...
525
	public void changerTaillePage(int nouvelleTaillePage) {
568
	public void changerTaillePage(int nouvelleTaillePage) {
526
		
569
		
-
 
570
		iMediateur.changerTaillePage(nouvelleTaillePage) ;
-
 
571
	}
-
 
572
	
-
 
573
	public int[] calculerDimensions(int[] tailleXY) {
-
 
574
	    
-
 
575
		float[] tailleXYf = {new Float(tailleXY[0]),new Float(tailleXY[1])} ;
-
 
576
        float tailleOr = this.tailleOr ;
-
 
577
        float maxTaille = Math.max(tailleXYf[1],tailleXYf[0]) ;
-
 
578
        float[] XYresize = new float[2];
-
 
579
        
-
 
580
        if(maxTaille == tailleXY[0]) {
-
 
581
            float rapport = tailleXYf[1]/tailleXYf[0] ;
-
 
582
            XYresize[0] = tailleOr ;
-
 
583
            XYresize[1] = tailleOr*rapport ;
-
 
584
        }else {
-
 
585
            float rapport = tailleXYf[0]/tailleXYf[1] ;
-
 
586
            XYresize[1] = tailleOr ;
-
 
587
            XYresize[0] = tailleOr*rapport ;
-
 
588
        }
-
 
589
        
-
 
590
        int[] res = {Math.round(XYresize[0]),Math.round(XYresize[1])} ;
-
 
591
        
Line 527... Line 592...
527
		iMediateur.changerTaillePage(nouvelleTaillePage) ;
592
        return res;