Subversion Repositories eFlore/Archives.cel-v2

Rev

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

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