Subversion Repositories eFlore/Applications.cel

Rev

Rev 394 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 394 Rev 408
Line 2... Line 2...
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;
Line -... Line 5...
-
 
5
import org.tela_botanica.client.vues.ArbreMotsClesVue;
-
 
6
 
5
import org.tela_botanica.client.vues.ArbreMotsClesVue;
7
import com.google.gwt.core.client.JavaScriptObject;
6
 
8
import com.google.gwt.user.client.Timer;
7
import com.google.gwt.user.client.Window;
9
import com.google.gwt.user.client.Window;
-
 
10
import com.google.gwt.user.client.ui.Label;
8
import com.google.gwt.user.client.ui.Label;
11
import com.gwtext.client.core.EventObject;
-
 
12
import com.gwtext.client.core.Ext;
9
import com.gwtext.client.core.EventObject;
13
import com.gwtext.client.core.NameValuePair;
10
import com.gwtext.client.core.NameValuePair;
14
import com.gwtext.client.widgets.BoxComponent;
11
import com.gwtext.client.widgets.Button;
15
import com.gwtext.client.widgets.Button;
12
import com.gwtext.client.widgets.Component;
16
import com.gwtext.client.widgets.Component;
13
import com.gwtext.client.widgets.Container;
17
import com.gwtext.client.widgets.Container;
14
import com.gwtext.client.widgets.Panel;
18
import com.gwtext.client.widgets.Panel;
-
 
19
import com.gwtext.client.widgets.TabPanel;
-
 
20
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
15
import com.gwtext.client.widgets.TabPanel;
21
import com.gwtext.client.widgets.event.ContainerListener;
16
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
22
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
17
import com.gwtext.client.widgets.event.PanelListener;
23
import com.gwtext.client.widgets.event.PanelListener;
-
 
24
import com.gwtext.client.widgets.event.PanelListenerAdapter;
18
import com.gwtext.client.widgets.event.PanelListenerAdapter;
25
import com.gwtext.client.widgets.form.DateField;
19
import com.gwtext.client.widgets.form.DateField;
26
import com.gwtext.client.widgets.form.Field;
-
 
27
import com.gwtext.client.widgets.form.TextArea;
-
 
28
import com.gwtext.client.widgets.form.TextField;
20
import com.gwtext.client.widgets.form.TextArea;
29
import com.gwtext.client.widgets.form.event.FieldListener;
21
import com.gwtext.client.widgets.form.TextField;
30
import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
22
import com.gwtext.client.widgets.grid.GridPanel;
31
import com.gwtext.client.widgets.grid.GridPanel;
23
import com.gwtext.client.widgets.grid.GridView;
32
import com.gwtext.client.widgets.grid.GridView;
24
import com.gwtext.client.widgets.grid.PropertyGridPanel;
33
import com.gwtext.client.widgets.grid.PropertyGridPanel;
-
 
34
import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
-
 
35
import com.gwtext.client.widgets.layout.FitLayout;
25
import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
36
import com.gwtext.client.widgets.layout.RowLayout;
Line 26... Line 37...
26
import com.gwtext.client.widgets.layout.FitLayout;
37
import com.gwtext.client.widgets.layout.RowLayoutData;
27
import com.gwtext.client.widgets.layout.VerticalLayout;
38
import com.gwtext.client.widgets.layout.VerticalLayout;
28
 
39
 
Line 87... Line 98...
87
	 * Le champ date
98
	 * Le champ date
88
	 */
99
	 */
89
	private DateField dateImage = null;
100
	private DateField dateImage = null;
Line 90... Line 101...
90
	
101
	
-
 
102
	/**
-
 
103
	 * La barre de recherche rapide des taxons
-
 
104
	 */
-
 
105
	private RechercheFiltreTaxonVue rechercheFiltreTaxonVue = null; 
-
 
106
	
91
	/**
107
	/**
92
	 * La mini liste des observations
108
	 * La mini liste des observations
93
	 */
109
	 */
94
	private MiniListeObservationVue miniListeObservation = null ;
110
	private MiniListeObservationVue miniListeObservation = null ;
95
	/**
111
	/**
Line 104... Line 120...
104
 
120
 
105
	/**
121
	/**
106
	 * Booleen d'instanciation
122
	 * Booleen d'instanciation
107
	 */
123
	 */
-
 
124
	boolean estInstancie = false;
-
 
125
	
Line 108... Line 126...
108
	boolean estInstancie = false;
126
	Timer timerRedimensionnement = null;
109
 
127
 
110
	/**
128
	/**
111
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
129
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
Line 158... Line 176...
158
		dateImage.setFormat("d/m/Y");
176
		dateImage.setFormat("d/m/Y");
Line 159... Line 177...
159
 
177
 
Line 160... Line 178...
160
		validerInfo = new Button("OK");
178
		validerInfo = new Button("OK");
161
 
-
 
162
		noteVue = new BarreNotationVue(im, 5);
179
 
-
 
180
		noteVue = new BarreNotationVue(im, 5);
-
 
181
		panneauMiniListeObservation = new Panel("Observations") ;
163
		
182
		
-
 
183
		if(!Ext.isIE()) {
-
 
184
			panneauMiniListeObservation.setLayout(new RowLayout());
-
 
185
		}
-
 
186
		
-
 
187
		miniListeObservation = new MiniListeObservationVue(im);
-
 
188
		rechercheFiltreTaxonVue = new RechercheFiltreTaxonVue(im);
164
		panneauMiniListeObservation = new Panel("Observations") ;
189
		rechercheFiltreTaxonVue.setTitle("Recherche dans les observations");
-
 
190
		if(Ext.isIE()) {
-
 
191
			panneauMiniListeObservation.add(rechercheFiltreTaxonVue);
-
 
192
			rechercheFiltreTaxonVue.setHeight(90);
-
 
193
		} else {
-
 
194
			panneauMiniListeObservation.add(rechercheFiltreTaxonVue, new RowLayoutData(90));
-
 
195
		}
-
 
196
		rechercheFiltreTaxonVue.setWidth("100%") ;
-
 
197
		rechercheFiltreTaxonVue.setBorder(false);
165
		panneauMiniListeObservation.setLayout(new FitLayout()) ;
198
	
-
 
199
		if(Ext.isIE()) {
166
		panneauMiniListeObservation.setHeight(800) ;
200
			panneauMiniListeObservation.add(miniListeObservation, new RowLayoutData(400)) ;
-
 
201
		} else {
Line 167... Line 202...
167
		miniListeObservation = new MiniListeObservationVue(im) ;
202
			panneauMiniListeObservation.add(miniListeObservation, new RowLayoutData()) ;
168
		panneauMiniListeObservation.add(miniListeObservation) ;
203
		}
169
 
204
 
170
		sousPanneauInfosGenerales.add(labelComm);
205
		sousPanneauInfosGenerales.add(labelComm);
Line 180... Line 215...
180
		panneauInfoGrid.setBorder(false);
215
		panneauInfoGrid.setBorder(false);
181
		panneauInfoGrid.setAutoHeight(true);
216
		panneauInfoGrid.setAutoHeight(true);
Line 182... Line 217...
182
 
217
 
183
		panneauInfoGrid.add(sousPanneauInfosGenerales);
218
		panneauInfoGrid.add(sousPanneauInfosGenerales);
-
 
219
		panneauInfoGrid.add(panneauMotsCles);
Line 184... Line 220...
184
		panneauInfoGrid.add(panneauMotsCles);
220
		
185
 
221
 
186
		this.add(panneauMiniListeObservation) ;
222
		this.add(panneauMiniListeObservation) ;
187
		this.add(panneauInfoGrid);
223
		this.add(panneauInfoGrid);
Line 216... Line 252...
216
 
252
 
217
		// on ajoute les listeners
253
		// on ajoute les listeners
Line 218... Line 254...
218
		ajouterListeners();
254
		ajouterListeners();
219
 
255
 
Line 220... Line 256...
220
		// on effectue le rendu
256
		// on effectue le rendu
Line 221... Line 257...
221
		this.doLayout(true);
257
		//this.doLayout(true);
222
 
258
 
Line 277... Line 313...
277
				ExifGrid.stopEditing();
313
				ExifGrid.stopEditing();
Line 278... Line 314...
278
 
314
 
Line 279... Line 315...
279
			}
315
			}
280
 
-
 
281
			// lors d'un double clic d'une cellule
316
 
282
 
317
			// lors d'un double clic d'une cellule
283
			public void onCellDblClick(GridPanel grid, int rowIndex,
318
			public void onCellDblClick(GridPanel grid, int rowIndex,
284
					int colIndex, EventObject e) {
319
					int colIndex, EventObject e) {
285
				// on empeche l'édition
320
				// on empeche l'édition
Line 286... Line 321...
286
				e.stopEvent();
321
				e.stopEvent();
Line 287... Line 322...
287
				ExifGrid.stopEditing();
322
				ExifGrid.stopEditing();
Line -... Line 323...
-
 
323
 
-
 
324
			}
-
 
325
 
-
 
326
		});
-
 
327
		
-
 
328
		panneauMiniListeObservation.addListener(new ContainerListenerAdapter() {
-
 
329
								
-
 
330
			public void onResize(BoxComponent component, int adjWidth, int adjHeight,
-
 
331
					int rawWidth, int rawHeight) {
-
 
332
									
-
 
333
				timerRedimensionnement = new Timer() {
-
 
334
					public void run() {
-
 
335
						
-
 
336
						int taille = 500;
-
 
337
						
-
 
338
						if(Window.getClientHeight() > 800 ) {
-
 
339
							taille = Window.getClientHeight() - 226;
-
 
340
						}
-
 
341
						panneauMiniListeObservation.setHeight(taille);
-
 
342
					}
288
 
343
				};
Line 289... Line 344...
289
			}
344
				
290
 
345
				timerRedimensionnement.schedule(300);
291
		});
346
			}
Line 326... Line 381...
326
	public void rafraichir(Object nouvelleDonnees,
381
	public void rafraichir(Object nouvelleDonnees,
327
			boolean repandreRafraichissement) {
382
			boolean repandreRafraichissement) {
Line 328... Line 383...
328
 
383
 
329
		// si on reçoit un tableau d'objets
384
		// si on reçoit un tableau d'objets
-
 
385
		if (nouvelleDonnees instanceof Object[]) {
-
 
386
			
-
 
387
			final Object ressourceObject = nouvelleDonnees;
-
 
388
			
-
 
389
			if(!this.isRendered()) {
-
 
390
				addListener(new PanelListenerAdapter() {
-
 
391
										
-
 
392
					public void onRender(Component component) {
-
 
393
						rafraichir(ressourceObject, false);
-
 
394
					}
-
 
395
				});
-
 
396
				
-
 
397
				return ;
-
 
398
			}
330
		if (nouvelleDonnees instanceof Object[]) {
399
			
331
			// extrait infos, exifs et iptc
400
			// extrait infos, exifs et iptc
332
			Object meta[] = (Object[]) nouvelleDonnees;
401
			Object meta[] = (Object[]) nouvelleDonnees;
333
			String[][] exif = (String[][]) meta[0];
402
			String[][] exif = (String[][]) meta[0];
334
			String[][] iptc = (String[][]) meta[1];
403
			String[][] iptc = (String[][]) meta[1];
Line 335... Line 404...
335
			String[][] gen = (String[][]) meta[2];
404
			final String[][] gen = (String[][]) meta[2];
336
 
405
 
Line 337... Line 406...
337
			NameValuePair[] exifSource = new NameValuePair[exif.length];
406
			NameValuePair[] exifSource = new NameValuePair[exif.length];
Line 354... Line 423...
354
				}
423
				}
355
			}
424
			}
Line 356... Line 425...
356
 
425
 
357
			// on met à jour les champs avec la bonne valeur
426
			// on met à jour les champs avec la bonne valeur
358
			commentaireGeneral.setValue(gen[0][1]);
427
			commentaireGeneral.setValue(gen[0][1]);
359
			dateImage.setRawValue(gen[1][1]);
428
			dateImage.setValue(gen[1][1]);
360
 
429
	
361
			// et on met à jour les données pour l'affichage
430
			// et on met à jour les données pour l'affichage
362
			ExifGrid.setSource(exifSource);
431
			ExifGrid.setSource(exifSource);
Line 363... Line 432...
363
			IptcGrid.setSource(iptcSource);
432
			IptcGrid.setSource(iptcSource);
Line 380... Line 449...
380
	
449
	
381
	public MiniListeObservationVue getMiniListeObservation()
450
	public MiniListeObservationVue getMiniListeObservation()
382
	{
451
	{
383
		return miniListeObservation ;
452
		return miniListeObservation ;
-
 
453
	}
-
 
454
	
-
 
455
	public RechercheFiltreTaxonVue getRechercheFiltreTaxonVue()
-
 
456
	{
-
 
457
		return rechercheFiltreTaxonVue ;
Line 384... Line 458...
384
	}
458
	}
Line 385... Line 459...
385
 
459
 
386
	public void redimensionner() {
460
	public void redimensionner() {