Subversion Repositories eFlore/Applications.cel

Rev

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

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