Subversion Repositories eFlore/Applications.cel

Rev

Rev 2 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 5
Line 18... Line 18...
18
import com.gwtext.client.widgets.grid.PropertyGridPanel;
18
import com.gwtext.client.widgets.grid.PropertyGridPanel;
19
import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
19
import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
20
import com.gwtext.client.widgets.layout.VerticalLayout;
20
import com.gwtext.client.widgets.layout.VerticalLayout;
Line 21... Line 21...
21
 
21
 
22
/**
22
/**
-
 
23
 * Panneau contenant les infos, les métadonnées et l'arbre des mots clés, il
-
 
24
 * 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
25
 * 
24
 * @author aurelien
26
 * @author aurelien
25
 *
27
 * 
26
 */
28
 */
Line 71... Line 73...
71
	private TextField commentaireGeneral = null ;
73
	private TextField commentaireGeneral = null;
72
	/**
74
	/**
73
	 * Le champ date
75
	 * Le champ date
74
	 */
76
	 */
75
	private DateField dateImage = null ;
77
	private DateField dateImage = null;
-
 
78
	
-
 
79
	/**
-
 
80
	 * La mini liste des observations
-
 
81
	 */
-
 
82
	private MiniListeObservationVue miniListeObservation = null ;
76
	/**
83
	/**
77
	 * Le bouton de validation
84
	 * Le bouton de validation
78
	 */
85
	 */
79
	Button validerInfo = null ;
86
	Button validerInfo = null;
Line 90... Line 97...
90
	
97
 
91
	/**
98
	/**
92
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
99
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
93
	 */
100
	 */
94
	@SuppressWarnings("unused")
101
	@SuppressWarnings("unused")
95
	private PanneauMetadonneesVue()
-
 
96
	{
102
	private PanneauMetadonneesVue() {
97
		super() ;
103
		super();
Line 98... Line 104...
98
	}
104
	}
99
	
105
 
-
 
106
	/**
100
	/**
107
	 * Constructeur avec argument
101
	 * Constructeur avec argument
108
	 * 
102
	 * @param im
109
	 * @param im
103
	 */
-
 
104
	public PanneauMetadonneesVue(ImageMediateur im)
110
	 */
Line 105... Line 111...
105
	{
111
	public PanneauMetadonneesVue(ImageMediateur im) {
106
		super() ;
112
		super();
Line 113... Line 119...
113
		panneauIptcGrid = new Panel("Iptc") ;
119
		panneauIptcGrid = new Panel("Iptc");
114
		panneauInfoGrid = new Panel("info") ;
120
		panneauInfoGrid = new Panel("info");
115
		panneauMotsCles = new ArbreMotsClesVue(im) ;
121
		panneauMotsCles = new ArbreMotsClesVue(im);
116
		panneauMotsCles.setHeight("500px") ;
122
		panneauMotsCles.setHeight("500px");
Line 117... Line -...
117
		
-
 
118
		
123
 
119
		Panel sousPanneauInfosGenerales = new Panel("Infos Générales") ;
124
		Panel sousPanneauInfosGenerales = new Panel("Infos Générales");
120
		sousPanneauInfosGenerales.setLayout(new VerticalLayout());
125
		sousPanneauInfosGenerales.setLayout(new VerticalLayout());
121
		sousPanneauInfosGenerales.setBorder(false) ;
126
		sousPanneauInfosGenerales.setBorder(false);
122
		sousPanneauInfosGenerales.setHeight(200);
127
		sousPanneauInfosGenerales.setHeight(200);
Line 142... Line 147...
142
		
147
 
Line 143... Line 148...
143
		validerInfo = new Button("OK") ;
148
		validerInfo = new Button("OK");
Line -... Line 149...
-
 
149
 
-
 
150
		noteVue = new BarreNotationVue(im, 5);
144
		
151
		
145
		noteVue = new BarreNotationVue(im, 5) ;
152
		miniListeObservation = new MiniListeObservationVue(im) ;
146
		
153
 
147
		sousPanneauInfosGenerales.add(labelComm) ;
154
		sousPanneauInfosGenerales.add(labelComm);
148
		sousPanneauInfosGenerales.add(commentaireGeneral) ;
155
		sousPanneauInfosGenerales.add(commentaireGeneral);
Line 155... Line 162...
155
		panneauMotsCles.setAutoHeight(true) ;
162
		panneauMotsCles.setAutoHeight(true);
Line 156... Line 163...
156
		
163
 
157
		panneauInfoGrid.setBorder(false);
164
		panneauInfoGrid.setBorder(false);
Line 158... Line -...
158
		panneauInfoGrid.setAutoHeight(true);
-
 
159
		
165
		panneauInfoGrid.setAutoHeight(true);
160
		
166
 
Line 161... Line -...
161
		panneauInfoGrid.add(sousPanneauInfosGenerales) ;
-
 
162
		panneauInfoGrid.add(panneauMotsCles) ;
167
		panneauInfoGrid.add(sousPanneauInfosGenerales);
163
		
168
		panneauInfoGrid.add(panneauMotsCles);
164
		
169
 
-
 
170
		this.add(panneauInfoGrid);
Line 165... Line 171...
165
		this.add(panneauInfoGrid) ;
171
		this.add(panneauExifGrid);
166
		this.add(panneauExifGrid) ;
172
		this.add(panneauIptcGrid);
Line 167... Line 173...
167
		this.add(panneauIptcGrid) ;
173
		this.add(miniListeObservation) ;
Line 187... Line 193...
187
		IptcGrid.setNameText("Métadonnées IPTC");
193
		IptcGrid.setNameText("Métadonnées IPTC");
188
		IptcGrid.setAutoWidth(true);
194
		IptcGrid.setAutoWidth(true);
189
		IptcGrid.setAutoHeight(true);
195
		IptcGrid.setAutoHeight(true);
190
		IptcGrid.setSorted(false);
196
		IptcGrid.setSorted(false);
Line 191... Line -...
191
		
-
 
192
		
197
 
193
		panneauExifGrid.add(ExifGrid);
198
		panneauExifGrid.add(ExifGrid);
Line 194... Line 199...
194
		panneauIptcGrid.add(IptcGrid);
199
		panneauIptcGrid.add(IptcGrid);
195
		
200
 
Line 196... Line -...
196
		// on ajoute les listeners
-
 
197
		ajouterListeners() ;
201
		// on ajoute les listeners
198
		
202
		ajouterListeners();
Line 199... Line 203...
199
		
203
 
Line 200... Line 204...
200
		// on effectue le rendu
204
		// on effectue le rendu
201
		this.doLayout(true) ;
-
 
202
		
205
		this.doLayout(true);
203
	}
206
 
Line 204... Line 207...
204
	
207
	}
Line 205... Line 208...
205
	private void ajouterListeners()
208
 
Line 206... Line 209...
206
	{
209
	private void ajouterListeners() {
207
		// on ajoute un écouteur
210
		// on ajoute un écouteur
-
 
211
		validerInfo.addListener(new ButtonListenerAdapter() {
208
		validerInfo.addListener(new ButtonListenerAdapter() {
212
 
-
 
213
			// gestion du clic
Line 209... Line 214...
209
 
214
 
210
			// gestion du clic
215
			public void onClick(Button button, EventObject e) {
Line 211... Line 216...
211
			
216
 
Line 271... Line 276...
271
	}
276
	}
Line 272... Line 277...
272
	
277
 
273
	/**
278
	/**
274
	 * Desactive visuellement ce panneau
279
	 * Desactive visuellement ce panneau
275
	 */
280
	 */
276
	public void desactiverPanneau()
-
 
277
	{
281
	public void desactiverPanneau() {
278
		this.setDisabled(true) ;
282
		this.setDisabled(true);
Line 279... Line 283...
279
	}
283
	}
280
	
284
 
281
	/**
285
	/**
282
	 * Active visuellement ce panneau
286
	 * Active visuellement ce panneau
283
	 */
-
 
284
	public void activerPanneau()
287
	 */
285
	{
288
	public void activerPanneau() {
Line 286... Line 289...
286
		this.setDisabled(false) ;
289
		this.setDisabled(false);
287
	}
290
	}
-
 
291
 
288
	
292
	/**
289
	/**
293
	 * Accesseur pour le médiateur
290
	 * Accesseur pour le médiateur
294
	 * 
291
	 * @return le médiateur associé à la vue
-
 
292
	 */
295
	 * @return le médiateur associé à la vue
293
	public ImageMediateur getIMediateur()
296
	 */
Line 294... Line 297...
294
	{
297
	public ImageMediateur getIMediateur() {
295
		return imediateur ;
298
		return imediateur;
-
 
299
	}
-
 
300
 
296
	}
301
	/**
-
 
302
	 * Méthode héritée de l'interface rafraichissable
297
	
303
	 * 
298
	/**
304
	 * @param nouvelleDonnees
299
	 * Méthode héritée de l'interface rafraichissable
305
	 *            les nouvelles données
-
 
306
	 * @param repandreRafraichissement
Line 300... Line 307...
300
	 * @param nouvelleDonnees les nouvelles données
307
	 *            le booleen de notification de mise à jour
301
	 * @param repandreRafraichissement le booleen de notification de mise à jour
308
	 */
302
	 */
-
 
303
	public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) {
309
	public void rafraichir(Object nouvelleDonnees,
304
		
310
			boolean repandreRafraichissement) {
305
		// si on reçoit un tableau d'objets
311
 
306
		if(nouvelleDonnees instanceof Object[])
312
		// si on reçoit un tableau d'objets
307
		{
313
		if (nouvelleDonnees instanceof Object[]) {
Line 308... Line 314...
308
			// extrait infos, exifs et iptc
314
			// extrait infos, exifs et iptc
309
			Object meta[] = (Object[])nouvelleDonnees ;
315
			Object meta[] = (Object[]) nouvelleDonnees;
Line 310... Line -...
310
			String[][] exif = (String[][])meta[0] ;
-
 
311
			String[][] iptc = (String[][])meta[1] ;
316
			String[][] exif = (String[][]) meta[0];
312
			String[][] gen = (String[][])meta[2] ;
317
			String[][] iptc = (String[][]) meta[1];
313
			
-
 
314
			NameValuePair[] exifSource = new NameValuePair[exif.length] ;
318
			String[][] gen = (String[][]) meta[2];
315
			NameValuePair[] iptcSource = new NameValuePair[iptc.length] ;
-
 
316
			
319
 
317
			
-
 
318
			int maxLength ;
320
			NameValuePair[] exifSource = new NameValuePair[exif.length];
319
			if(exif.length <= iptc.length)
321
			NameValuePair[] iptcSource = new NameValuePair[iptc.length];
Line 320... Line 322...
320
			{
322
 
321
				maxLength = iptc.length ;
-
 
322
			}
323
			int maxLength;
323
			else
-
 
324
			{
324
			if (exif.length <= iptc.length) {
325
				maxLength = exif.length ;
325
				maxLength = iptc.length;
Line 326... Line 326...
326
			}
326
			} else {
327
			
-
 
328
			for(int i = 0; i < maxLength ; i++)
327
				maxLength = exif.length;
329
			{
328
			}
330
				if(i < exif.length && !exif[i][0].equals("null"))
329
 
Line 331... Line 330...
331
				{
330
			for (int i = 0; i < maxLength; i++) {
Line 349... Line 348...
349
		}	
348
		}
350
	}
349
	}
Line 351... Line 350...
351
 
350
 
352
	/**
351
	/**
-
 
352
	 * Accesseur pour le panneau des mots clés
353
	 * Accesseur pour le panneau des mots clés
353
	 * 
354
	 * @return the panneauMotsCles
354
	 * @return the panneauMotsCles
355
	 */
355
	 */
356
	public ArbreMotsClesVue getPanneauMotsCles() {
356
	public ArbreMotsClesVue getPanneauMotsCles() {
357
		return panneauMotsCles;
357
		return panneauMotsCles;
Line 358... Line 358...
358
	}
358
	}
359
	
359
 
360
	public BarreNotationVue getNoteVue() {
360
	public BarreNotationVue getNoteVue() {
-
 
361
		return noteVue;
-
 
362
	}
-
 
363
	
-
 
364
	public MiniListeObservationVue getMiniListeObservation()
-
 
365
	{
361
		return noteVue ;
366
		return miniListeObservation ;