Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 131 Rev 155
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import org.tela_botanica.client.image.ImageMediateur;
3
import org.tela_botanica.client.image.ImageMediateur;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
5
 
5
 
6
import com.google.gwt.user.client.Window;
6
import com.google.gwt.user.client.Window;
7
import com.google.gwt.user.client.ui.Label;
7
import com.google.gwt.user.client.ui.Label;
8
import com.gwtext.client.core.EventObject;
8
import com.gwtext.client.core.EventObject;
9
import com.gwtext.client.core.NameValuePair;
9
import com.gwtext.client.core.NameValuePair;
10
import com.gwtext.client.widgets.Button;
10
import com.gwtext.client.widgets.Button;
11
import com.gwtext.client.widgets.Component;
11
import com.gwtext.client.widgets.Component;
12
import com.gwtext.client.widgets.Container;
12
import com.gwtext.client.widgets.Container;
13
import com.gwtext.client.widgets.Panel;
13
import com.gwtext.client.widgets.Panel;
14
import com.gwtext.client.widgets.TabPanel;
14
import com.gwtext.client.widgets.TabPanel;
15
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
15
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
16
import com.gwtext.client.widgets.event.PanelListener;
16
import com.gwtext.client.widgets.event.PanelListener;
17
import com.gwtext.client.widgets.event.PanelListenerAdapter;
17
import com.gwtext.client.widgets.event.PanelListenerAdapter;
18
import com.gwtext.client.widgets.form.DateField;
18
import com.gwtext.client.widgets.form.DateField;
19
import com.gwtext.client.widgets.form.TextArea;
19
import com.gwtext.client.widgets.form.TextArea;
20
import com.gwtext.client.widgets.form.TextField;
20
import com.gwtext.client.widgets.form.TextField;
21
import com.gwtext.client.widgets.grid.GridPanel;
21
import com.gwtext.client.widgets.grid.GridPanel;
22
import com.gwtext.client.widgets.grid.GridView;
22
import com.gwtext.client.widgets.grid.GridView;
23
import com.gwtext.client.widgets.grid.PropertyGridPanel;
23
import com.gwtext.client.widgets.grid.PropertyGridPanel;
24
import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
24
import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
25
import com.gwtext.client.widgets.layout.FitLayout;
25
import com.gwtext.client.widgets.layout.FitLayout;
26
import com.gwtext.client.widgets.layout.VerticalLayout;
26
import com.gwtext.client.widgets.layout.VerticalLayout;
27
 
27
 
28
/**
28
/**
29
 * Panneau contenant les infos, les métadonnées et l'arbre des mots clés, il
29
 * Panneau contenant les infos, les métadonnées et l'arbre des mots clés, il
30
 * implémente l'interface rafraichissable
30
 * implémente l'interface rafraichissable
31
 * 
31
 * 
32
 * @author aurelien
32
 * @author aurelien
33
 * 
33
 * 
34
 */
34
 */
35
public class PanneauMetadonneesVue extends TabPanel implements Rafraichissable {
35
public class PanneauMetadonneesVue extends TabPanel implements Rafraichissable {
36
 
36
 
37
	/**
37
	/**
38
	 * Le médiateur associé à la vue
38
	 * Le médiateur associé à la vue
39
	 */
39
	 */
40
	private ImageMediateur imediateur = null;
40
	private ImageMediateur imediateur = null;
41
	/**
41
	/**
42
	 * Le panneau des Exifs
42
	 * Le panneau des Exifs
43
	 */
43
	 */
44
	private PropertyGridPanel ExifGrid = null;
44
	private PropertyGridPanel ExifGrid = null;
45
	/**
45
	/**
46
	 * Le panneau des Iptc
46
	 * Le panneau des Iptc
47
	 */
47
	 */
48
	private PropertyGridPanel IptcGrid = null;
48
	private PropertyGridPanel IptcGrid = null;
49
 
49
 
50
	/**
50
	/**
51
	 * La grille pour le panneau des Exifs
51
	 * La grille pour le panneau des Exifs
52
	 */
52
	 */
53
	private GridView gViewExif = null;
53
	private GridView gViewExif = null;
54
	/**
54
	/**
55
	 * La grille pour le panneau de Iptc
55
	 * La grille pour le panneau de Iptc
56
	 */
56
	 */
57
	private GridView gViewIptc = null;
57
	private GridView gViewIptc = null;
58
 
58
 
59
	/**
59
	/**
60
	 * L'onglet des Exifs
60
	 * L'onglet des Exifs
61
	 */
61
	 */
62
	private Panel panneauExifGrid = null;
62
	private Panel panneauExifGrid = null;
63
	/**
63
	/**
64
	 * L'onglet des Iptc
64
	 * L'onglet des Iptc
65
	 */
65
	 */
66
	private Panel panneauIptcGrid = null;
66
	private Panel panneauIptcGrid = null;
67
	/**
67
	/**
68
	 * L'onglet des infos
68
	 * L'onglet des infos
69
	 */
69
	 */
70
	private Panel panneauInfoGrid = null;
70
	private Panel panneauInfoGrid = null;
71
	/**
71
	/**
72
	 * L'onglet des mots clés
72
	 * L'onglet des mots clés
73
	 */
73
	 */
74
	private ArbreMotsClesVue panneauMotsCles = null;
74
	private ArbreMotsClesVue panneauMotsCles = null;
-
 
75
	
-
 
76
	/**
-
 
77
	 * l'onglet des observations
-
 
78
	 */
-
 
79
	private Panel panneauMiniListeObservation = null;
75
 
80
 
76
	/**
81
	/**
77
	 * Le champ commentaire
82
	 * Le champ commentaire
78
	 */
83
	 */
79
	private TextField commentaireGeneral = null;
84
	private TextField commentaireGeneral = null;
80
	/**
85
	/**
81
	 * Le champ date
86
	 * Le champ date
82
	 */
87
	 */
83
	private DateField dateImage = null;
88
	private DateField dateImage = null;
84
	
89
	
85
	/**
90
	/**
86
	 * La mini liste des observations
91
	 * La mini liste des observations
87
	 */
92
	 */
88
	private MiniListeObservationVue miniListeObservation = null ;
93
	private MiniListeObservationVue miniListeObservation = null ;
89
	/**
94
	/**
90
	 * Le bouton de validation
95
	 * Le bouton de validation
91
	 */
96
	 */
92
	Button validerInfo = null;
97
	Button validerInfo = null;
93
 
98
 
94
	/**
99
	/**
95
	 * Barre de notation
100
	 * Barre de notation
96
	 */
101
	 */
97
	BarreNotationVue noteVue = null;
102
	BarreNotationVue noteVue = null;
98
 
103
 
99
	/**
104
	/**
100
	 * Booleen d'instanciation
105
	 * Booleen d'instanciation
101
	 */
106
	 */
102
	boolean estInstancie = false;
107
	boolean estInstancie = false;
103
 
108
 
104
	/**
109
	/**
105
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
110
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
106
	 */
111
	 */
107
	@SuppressWarnings("unused")
112
	@SuppressWarnings("unused")
108
	private PanneauMetadonneesVue() {
113
	private PanneauMetadonneesVue() {
109
		super();
114
		super();
110
	}
115
	}
111
 
116
 
112
	/**
117
	/**
113
	 * Constructeur avec argument
118
	 * Constructeur avec argument
114
	 * 
119
	 * 
115
	 * @param im
120
	 * @param im
116
	 */
121
	 */
117
	public PanneauMetadonneesVue(ImageMediateur im) {
122
	public PanneauMetadonneesVue(ImageMediateur im) {
118
		super();
123
		super();
119
 
124
 
120
		// on associe le médiateur
125
		// on associe le médiateur
121
		imediateur = im;
126
		imediateur = im;
122
 
127
 
123
		// on crée et dispose les panneaux et les champs
128
		// on crée et dispose les panneaux et les champs
124
		panneauExifGrid = new Panel("Exif");
129
		panneauExifGrid = new Panel("Exif");
125
		panneauIptcGrid = new Panel("Iptc");
130
		panneauIptcGrid = new Panel("Iptc");
126
		panneauInfoGrid = new Panel("info");
131
		panneauInfoGrid = new Panel("info");
127
		panneauMotsCles = new ArbreMotsClesVue(im);
132
		panneauMotsCles = new ArbreMotsClesVue(im);
128
		panneauMotsCles.setHeight("500px");
133
		panneauMotsCles.setHeight("500px");
129
 
134
 
130
		Panel sousPanneauInfosGenerales = new Panel("Infos Générales");
135
		Panel sousPanneauInfosGenerales = new Panel("Infos Générales");
131
		sousPanneauInfosGenerales.setLayout(new VerticalLayout());
136
		sousPanneauInfosGenerales.setLayout(new VerticalLayout());
132
		sousPanneauInfosGenerales.setBorder(false);
137
		sousPanneauInfosGenerales.setBorder(false);
133
		sousPanneauInfosGenerales.setHeight(200);
138
		sousPanneauInfosGenerales.setHeight(200);
134
		sousPanneauInfosGenerales.setAutoWidth(true);
139
		sousPanneauInfosGenerales.setAutoWidth(true);
135
		sousPanneauInfosGenerales.setMargins(5);
140
		sousPanneauInfosGenerales.setMargins(5);
136
		sousPanneauInfosGenerales.setPaddings(5);
141
		sousPanneauInfosGenerales.setPaddings(5);
137
		sousPanneauInfosGenerales.setCollapsible(true);
142
		sousPanneauInfosGenerales.setCollapsible(true);
138
 
143
 
139
		Label labelComm = new Label("Commentaires :");
144
		Label labelComm = new Label("Commentaires :");
140
		labelComm.setHeight("20px");
145
		labelComm.setHeight("20px");
141
		commentaireGeneral = new TextArea();
146
		commentaireGeneral = new TextArea();
142
		commentaireGeneral.setWidth("90%");
147
		commentaireGeneral.setWidth("90%");
143
		Label labelDate = new Label("Date :");
148
		Label labelDate = new Label("Date :");
144
		Label labelNote = new Label("Note :");
149
		Label labelNote = new Label("Note :");
145
 
150
 
146
		panneauMotsCles.setBorder(false);
151
		panneauMotsCles.setBorder(false);
147
 
152
 
148
		labelDate.setHeight("20px");
153
		labelDate.setHeight("20px");
149
 
154
 
150
		dateImage = new DateField();
155
		dateImage = new DateField();
151
		dateImage.setAutoWidth(true);
156
		dateImage.setAutoWidth(true);
152
		dateImage.setFormat("d/m/Y");
157
		dateImage.setFormat("d/m/Y");
153
 
158
 
154
		validerInfo = new Button("OK");
159
		validerInfo = new Button("OK");
155
 
160
 
156
		noteVue = new BarreNotationVue(im, 5);
161
		noteVue = new BarreNotationVue(im, 5);
157
		
162
		
158
		Panel panneauMiniListeObservation = new Panel("Observations") ;
163
		panneauMiniListeObservation = new Panel("Observations") ;
159
		panneauMiniListeObservation.setLayout(new FitLayout()) ;
164
		panneauMiniListeObservation.setLayout(new FitLayout()) ;
160
		panneauMiniListeObservation.setHeight(800) ;
-
 
161
		panneauMiniListeObservation.setAutoWidth(true) ;
165
		panneauMiniListeObservation.setHeight(800) ;
162
		miniListeObservation = new MiniListeObservationVue(im) ;
166
		miniListeObservation = new MiniListeObservationVue(im) ;
163
		panneauMiniListeObservation.add(miniListeObservation) ;
167
		panneauMiniListeObservation.add(miniListeObservation) ;
164
 
168
 
165
		sousPanneauInfosGenerales.add(labelComm);
169
		sousPanneauInfosGenerales.add(labelComm);
166
		sousPanneauInfosGenerales.add(commentaireGeneral);
170
		sousPanneauInfosGenerales.add(commentaireGeneral);
167
		sousPanneauInfosGenerales.add(labelDate);
171
		sousPanneauInfosGenerales.add(labelDate);
168
		sousPanneauInfosGenerales.add(dateImage);
172
		sousPanneauInfosGenerales.add(dateImage);
169
		sousPanneauInfosGenerales.add(labelNote);
173
		sousPanneauInfosGenerales.add(labelNote);
170
		sousPanneauInfosGenerales.add(noteVue);
174
		sousPanneauInfosGenerales.add(noteVue);
171
		sousPanneauInfosGenerales.add(validerInfo);
175
		sousPanneauInfosGenerales.add(validerInfo);
172
		sousPanneauInfosGenerales.setAutoHeight(true);
176
		sousPanneauInfosGenerales.setAutoHeight(true);
173
		panneauMotsCles.setAutoHeight(true);
177
		panneauMotsCles.setAutoHeight(true);
174
 
178
 
175
		panneauInfoGrid.setBorder(false);
179
		panneauInfoGrid.setBorder(false);
176
		panneauInfoGrid.setAutoHeight(true);
180
		panneauInfoGrid.setAutoHeight(true);
177
 
181
 
178
		panneauInfoGrid.add(sousPanneauInfosGenerales);
182
		panneauInfoGrid.add(sousPanneauInfosGenerales);
179
		panneauInfoGrid.add(panneauMotsCles);
183
		panneauInfoGrid.add(panneauMotsCles);
180
 
184
 
181
		this.add(panneauInfoGrid);
185
		this.add(panneauInfoGrid);
182
		this.add(panneauExifGrid);
186
		this.add(panneauExifGrid);
183
		this.add(panneauIptcGrid);
187
		this.add(panneauIptcGrid);
184
		this.add(panneauMiniListeObservation) ;
188
		this.add(panneauMiniListeObservation) ;
185
 
189
 
186
		gViewExif = new GridView();
190
		gViewExif = new GridView();
187
		gViewExif.setForceFit(true);
191
		gViewExif.setForceFit(true);
188
 
192
 
189
		ExifGrid = new PropertyGridPanel();
193
		ExifGrid = new PropertyGridPanel();
190
		ExifGrid.setId("meta_exif");
194
		ExifGrid.setId("meta_exif");
191
		ExifGrid.setView(gViewExif);
195
		ExifGrid.setView(gViewExif);
192
		ExifGrid.setNameText("Métadonnées Exif");
196
		ExifGrid.setNameText("Métadonnées Exif");
193
		ExifGrid.setAutoWidth(true);
197
		ExifGrid.setAutoWidth(true);
194
		ExifGrid.setAutoHeight(true);
198
		ExifGrid.setAutoHeight(true);
195
		ExifGrid.setSorted(false);
199
		ExifGrid.setSorted(false);
196
 
200
 
197
		gViewIptc = new GridView();
201
		gViewIptc = new GridView();
198
		gViewIptc.setForceFit(true);
202
		gViewIptc.setForceFit(true);
199
 
203
 
200
		IptcGrid = new PropertyGridPanel();
204
		IptcGrid = new PropertyGridPanel();
201
		IptcGrid.setId("meta_iptc");
205
		IptcGrid.setId("meta_iptc");
202
		IptcGrid.setView(gViewIptc);
206
		IptcGrid.setView(gViewIptc);
203
 
207
 
204
		IptcGrid.setNameText("Métadonnées IPTC");
208
		IptcGrid.setNameText("Métadonnées IPTC");
205
		IptcGrid.setAutoWidth(true);
209
		IptcGrid.setAutoWidth(true);
206
		IptcGrid.setAutoHeight(true);
210
		IptcGrid.setAutoHeight(true);
207
		IptcGrid.setSorted(false);
211
		IptcGrid.setSorted(false);
208
 
212
 
209
		panneauExifGrid.add(ExifGrid);
213
		panneauExifGrid.add(ExifGrid);
210
		panneauIptcGrid.add(IptcGrid);
214
		panneauIptcGrid.add(IptcGrid);
211
 
215
 
212
		// on ajoute les listeners
216
		// on ajoute les listeners
213
		ajouterListeners();
217
		ajouterListeners();
214
 
218
 
215
		// on effectue le rendu
219
		// on effectue le rendu
216
		this.doLayout(true);
220
		this.doLayout(true);
217
 
221
 
218
	}
222
	}
219
 
223
 
220
	private void ajouterListeners() {
224
	private void ajouterListeners() {
221
		// on ajoute un écouteur
225
		// on ajoute un écouteur
222
		validerInfo.addListener(new ButtonListenerAdapter() {
226
		validerInfo.addListener(new ButtonListenerAdapter() {
223
 
227
 
224
			// gestion du clic
228
			// gestion du clic
225
 
229
 
226
			public void onClick(Button button, EventObject e) {
230
			public void onClick(Button button, EventObject e) {
227
 
231
 
228
				button.focus();
232
				button.focus();
229
				// lors du clic sur le bouton valider on met à jour les
233
				// lors du clic sur le bouton valider on met à jour les
230
				// commentaires et la date
234
				// commentaires et la date
231
				getIMediateur().mettreAJourInfo(commentaireGeneral.getText(),
235
				getIMediateur().mettreAJourInfo(commentaireGeneral.getText(),
232
						dateImage.getRawValue(), noteVue.getNote());
236
						dateImage.getRawValue(), noteVue.getNote());
233
 
237
 
234
			}
238
			}
235
		});
239
		});
236
 
240
 
237
		// gestion des clics dans la grille
241
		// gestion des clics dans la grille
238
		ExifGrid.addGridCellListener(new GridCellListenerAdapter() {
242
		ExifGrid.addGridCellListener(new GridCellListenerAdapter() {
239
 
243
 
240
			// lors d'un clic d'une cellule
244
			// lors d'un clic d'une cellule
241
 
245
 
242
			public void onCellClick(GridPanel grid, int rowIndex, int colIndex,
246
			public void onCellClick(GridPanel grid, int rowIndex, int colIndex,
243
					EventObject e) {
247
					EventObject e) {
244
 
248
 
245
				// on empeche l'édition
249
				// on empeche l'édition
246
				e.stopEvent();
250
				e.stopEvent();
247
				ExifGrid.stopEditing();
251
				ExifGrid.stopEditing();
248
 
252
 
249
			}
253
			}
250
 
254
 
251
			// lors du double clic sur une cellule
255
			// lors du double clic sur une cellule
252
 
256
 
253
			public void onCellDblClick(GridPanel grid, int rowIndex,
257
			public void onCellDblClick(GridPanel grid, int rowIndex,
254
					int colIndex, EventObject e) {
258
					int colIndex, EventObject e) {
255
 
259
 
256
				// on empêche l'édition
260
				// on empêche l'édition
257
				e.stopEvent();
261
				e.stopEvent();
258
				ExifGrid.stopEditing();
262
				ExifGrid.stopEditing();
259
 
263
 
260
			}
264
			}
261
 
265
 
262
		});
266
		});
263
 
267
 
264
		IptcGrid.addGridCellListener(new GridCellListenerAdapter() {
268
		IptcGrid.addGridCellListener(new GridCellListenerAdapter() {
265
 
269
 
266
			// lors d'un clic d'une cellule
270
			// lors d'un clic d'une cellule
267
 
271
 
268
			public void onCellClick(GridPanel grid, int rowIndex, int colIndex,
272
			public void onCellClick(GridPanel grid, int rowIndex, int colIndex,
269
					EventObject e) {
273
					EventObject e) {
270
				// on empeche l'édition
274
				// on empeche l'édition
271
				e.stopEvent();
275
				e.stopEvent();
272
				ExifGrid.stopEditing();
276
				ExifGrid.stopEditing();
273
 
277
 
274
			}
278
			}
275
 
279
 
276
			// lors d'un double clic d'une cellule
280
			// lors d'un double clic d'une cellule
277
 
281
 
278
			public void onCellDblClick(GridPanel grid, int rowIndex,
282
			public void onCellDblClick(GridPanel grid, int rowIndex,
279
					int colIndex, EventObject e) {
283
					int colIndex, EventObject e) {
280
				// on empeche l'édition
284
				// on empeche l'édition
281
				e.stopEvent();
285
				e.stopEvent();
282
				ExifGrid.stopEditing();
286
				ExifGrid.stopEditing();
283
 
287
 
284
			}
288
			}
285
 
289
 
286
		});
290
		});
287
		
291
		
288
	}
292
	}
289
 
293
 
290
	/**
294
	/**
291
	 * Desactive visuellement ce panneau
295
	 * Desactive visuellement ce panneau
292
	 */
296
	 */
293
	public void desactiverPanneau() {
297
	public void desactiverPanneau() {
294
		this.setDisabled(true);
298
		this.setDisabled(true);
295
	}
299
	}
296
 
300
 
297
	/**
301
	/**
298
	 * Active visuellement ce panneau
302
	 * Active visuellement ce panneau
299
	 */
303
	 */
300
	public void activerPanneau() {
304
	public void activerPanneau() {
301
		this.setDisabled(false);
305
		this.setDisabled(false);
302
	}
306
	}
303
 
307
 
304
	/**
308
	/**
305
	 * Accesseur pour le médiateur
309
	 * Accesseur pour le médiateur
306
	 * 
310
	 * 
307
	 * @return le médiateur associé à la vue
311
	 * @return le médiateur associé à la vue
308
	 */
312
	 */
309
	public ImageMediateur getIMediateur() {
313
	public ImageMediateur getIMediateur() {
310
		return imediateur;
314
		return imediateur;
311
	}
315
	}
312
 
316
 
313
	/**
317
	/**
314
	 * Méthode héritée de l'interface rafraichissable
318
	 * Méthode héritée de l'interface rafraichissable
315
	 * 
319
	 * 
316
	 * @param nouvelleDonnees
320
	 * @param nouvelleDonnees
317
	 *            les nouvelles données
321
	 *            les nouvelles données
318
	 * @param repandreRafraichissement
322
	 * @param repandreRafraichissement
319
	 *            le booleen de notification de mise à jour
323
	 *            le booleen de notification de mise à jour
320
	 */
324
	 */
321
	public void rafraichir(Object nouvelleDonnees,
325
	public void rafraichir(Object nouvelleDonnees,
322
			boolean repandreRafraichissement) {
326
			boolean repandreRafraichissement) {
323
 
327
 
324
		// si on reçoit un tableau d'objets
328
		// si on reçoit un tableau d'objets
325
		if (nouvelleDonnees instanceof Object[]) {
329
		if (nouvelleDonnees instanceof Object[]) {
326
			// extrait infos, exifs et iptc
330
			// extrait infos, exifs et iptc
327
			Object meta[] = (Object[]) nouvelleDonnees;
331
			Object meta[] = (Object[]) nouvelleDonnees;
328
			String[][] exif = (String[][]) meta[0];
332
			String[][] exif = (String[][]) meta[0];
329
			String[][] iptc = (String[][]) meta[1];
333
			String[][] iptc = (String[][]) meta[1];
330
			String[][] gen = (String[][]) meta[2];
334
			String[][] gen = (String[][]) meta[2];
331
 
335
 
332
			NameValuePair[] exifSource = new NameValuePair[exif.length];
336
			NameValuePair[] exifSource = new NameValuePair[exif.length];
333
			NameValuePair[] iptcSource = new NameValuePair[iptc.length];
337
			NameValuePair[] iptcSource = new NameValuePair[iptc.length];
334
 
338
 
335
			int maxLength;
339
			int maxLength;
336
			if (exif.length <= iptc.length) {
340
			if (exif.length <= iptc.length) {
337
				maxLength = iptc.length;
341
				maxLength = iptc.length;
338
			} else {
342
			} else {
339
				maxLength = exif.length;
343
				maxLength = exif.length;
340
			}
344
			}
341
 
345
 
342
			for (int i = 0; i < maxLength; i++) {
346
			for (int i = 0; i < maxLength; i++) {
343
				if (i < exif.length && !exif[i][0].equals("null")) {
347
				if (i < exif.length && !exif[i][0].equals("null")) {
344
					exifSource[i] = new NameValuePair(exif[i][0], exif[i][1]);
348
					exifSource[i] = new NameValuePair(exif[i][0], exif[i][1]);
345
				}
349
				}
346
 
350
 
347
				if (i < iptc.length && !iptc[i][0].equals("null")) {
351
				if (i < iptc.length && !iptc[i][0].equals("null")) {
348
					iptcSource[i] = new NameValuePair(iptc[i][0], iptc[i][1]);
352
					iptcSource[i] = new NameValuePair(iptc[i][0], iptc[i][1]);
349
				}
353
				}
350
			}
354
			}
351
 
355
 
352
			// on met à jour les champs avec la bonne valeur
356
			// on met à jour les champs avec la bonne valeur
353
			commentaireGeneral.setValue(gen[0][1]);
357
			commentaireGeneral.setValue(gen[0][1]);
354
			dateImage.setRawValue(gen[1][1]);
358
			dateImage.setRawValue(gen[1][1]);
355
 
359
 
356
			// et on met à jour les données pour l'affichage
360
			// et on met à jour les données pour l'affichage
357
			ExifGrid.setSource(exifSource);
361
			ExifGrid.setSource(exifSource);
358
			IptcGrid.setSource(iptcSource);
362
			IptcGrid.setSource(iptcSource);
359
 
363
 
360
		}
364
		}
361
	}
365
	}
362
 
366
 
363
	/**
367
	/**
364
	 * Accesseur pour le panneau des mots clés
368
	 * Accesseur pour le panneau des mots clés
365
	 * 
369
	 * 
366
	 * @return the panneauMotsCles
370
	 * @return the panneauMotsCles
367
	 */
371
	 */
368
	public ArbreMotsClesVue getPanneauMotsCles() {
372
	public ArbreMotsClesVue getPanneauMotsCles() {
369
		return panneauMotsCles;
373
		return panneauMotsCles;
370
	}
374
	}
371
 
375
 
372
	public BarreNotationVue getNoteVue() {
376
	public BarreNotationVue getNoteVue() {
373
		return noteVue;
377
		return noteVue;
374
	}
378
	}
375
	
379
	
376
	public MiniListeObservationVue getMiniListeObservation()
380
	public MiniListeObservationVue getMiniListeObservation()
377
	{
381
	{
378
		return miniListeObservation ;
382
		return miniListeObservation ;
379
	}
383
	}
-
 
384
 
-
 
385
	public void redimensionner() {
-
 
386
		
-
 
387
		if(panneauMiniListeObservation.isCreated() && panneauMiniListeObservation.isVisible()) {
-
 
388
			panneauMiniListeObservation.doLayout();
-
 
389
			//panneauMiniListeObservation.show();
-
 
390
			miniListeObservation.redimensionner();
-
 
391
		}
-
 
392
		
-
 
393
	}
380
}
394
}