Subversion Repositories eFlore/Archives.cel-v2

Rev

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

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