Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 19 | Rev 24 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 19 Rev 20
Line 1... Line 1...
1
package org.tela_botanica.client.image;
1
package org.tela_botanica.client.image;
Line 2... Line 2...
2
 
2
 
3
import org.tela_botanica.client.interfaces.Rafraichissable;
3
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
4
import org.tela_botanica.client.interfaces.VueListable;
4
import org.tela_botanica.client.interfaces.VueListable;
5
import org.tela_botanica.client.vues.BarreOutilsVue;
5
import org.tela_botanica.client.vues.GalerieImageVue;
6
import org.tela_botanica.client.vues.GalerieImageVue;
6
import org.tela_botanica.client.vues.ListeImageVue;
7
import org.tela_botanica.client.vues.ListeImageVue;
7
import org.tela_botanica.client.vues.MenuImageVue;
8
import org.tela_botanica.client.vues.MenuImageVue;
8
import org.tela_botanica.client.vues.PanneauMetadonneesVue;
9
import org.tela_botanica.client.vues.PanneauMetadonneesVue;
-
 
10
import org.tela_botanica.client.vues.ZoomImageVue;
9
import org.tela_botanica.client.vues.ZoomImageVue;
11
 
10
import com.google.gwt.user.client.DOM;
12
import com.google.gwt.user.client.DOM;
11
import com.google.gwt.user.client.Element;
13
import com.google.gwt.user.client.Element;
12
import com.google.gwt.user.client.Event;
14
import com.google.gwt.user.client.Event;
13
import com.google.gwt.user.client.Window;
15
import com.google.gwt.user.client.Window;
14
import com.gwtext.client.core.EventObject;
-
 
15
import com.gwtext.client.core.Function;
16
import com.gwtext.client.core.EventObject;
16
import com.gwtext.client.core.RegionPosition;
17
import com.gwtext.client.core.RegionPosition;
17
import com.gwtext.client.data.Record;
18
import com.gwtext.client.data.Record;
18
import com.gwtext.client.data.Store;
19
import com.gwtext.client.data.Store;
19
import com.gwtext.client.widgets.DataView;
20
import com.gwtext.client.widgets.DataView;
20
import com.gwtext.client.widgets.Panel;
21
import com.gwtext.client.widgets.Panel;
21
import com.gwtext.client.widgets.TabPanel;
-
 
22
import com.gwtext.client.widgets.Tool;
-
 
23
import com.gwtext.client.widgets.Tool.ToolType;
22
import com.gwtext.client.widgets.TabPanel;
24
import com.gwtext.client.widgets.layout.BorderLayout;
23
import com.gwtext.client.widgets.layout.BorderLayout;
25
import com.gwtext.client.widgets.layout.BorderLayoutData;
24
import com.gwtext.client.widgets.layout.BorderLayoutData;
Line 26... Line 25...
26
import com.gwtext.client.widgets.layout.FitLayout;
25
import com.gwtext.client.widgets.layout.FitLayout;
Line 55... Line 54...
55
	// panneau details et mots clés
54
	// panneau details et mots clés
56
	private final Panel detailsEtMotsCles = new Panel("Détails et mots clés");
55
	private final Panel detailsEtMotsCles = new Panel("Détails et mots clés");
Line 57... Line 56...
57
	
56
	
Line -... Line 57...
-
 
57
	private MenuImageVue menuImageVue = null ;
-
 
58
	
58
	private MenuImageVue menuImageVue = null ;
59
	private BarreOutilsVue barreOutilsVue = null ;
Line 59... Line 60...
59
	
60
	
Line -... Line 61...
-
 
61
	private PanneauMetadonneesVue metadonneesIptcExif = null ;
-
 
62
	
-
 
63
	private int dernierIndexOnglet = 0 ; 
-
 
64
	
-
 
65
	private boolean selection = false ;
-
 
66
	
-
 
67
	/**
-
 
68
	 * @param selection the selection to set
-
 
69
	 */
-
 
70
	public void setSelection(boolean selection) {
-
 
71
		this.selection = selection;
-
 
72
	}
-
 
73
 
-
 
74
	/**
-
 
75
	 * @return the selection
-
 
76
	 */
60
	private PanneauMetadonneesVue metadonneesIptcExif = null ;
77
	public boolean isSelection() {
61
	
78
		return selection;
62
	private int dernierIndexOnglet = 0 ; 
79
	}
63
	
80
 
64
	public static ImageMediateur Instance()
81
	public static ImageMediateur Instance()
Line 106... Line 123...
106
		ongletsImage.add(galerieImage);
123
		ongletsImage.add(galerieImage);
107
		ongletsImage.add(zoomImage);
124
		ongletsImage.add(zoomImage);
108
		ongletsImage.add(panneauListeImage);
125
		ongletsImage.add(panneauListeImage);
Line 109... Line 126...
109
		
126
		
-
 
127
		menuImageVue = new MenuImageVue(this) ;
Line 110... Line 128...
110
		menuImageVue = new MenuImageVue(this) ;
128
		barreOutilsVue = new BarreOutilsVue(this) ;
111
		
129
		
112
		detailsEtMotsCles.setWidth("20%");
130
		detailsEtMotsCles.setWidth("20%");
113
		detailsEtMotsCles.setAnimCollapse(true);
131
		detailsEtMotsCles.setAnimCollapse(true);
Line 114... Line 132...
114
		detailsEtMotsCles.setTitleCollapse(true);
132
		detailsEtMotsCles.setTitleCollapse(true);
115
		detailsEtMotsCles.setCollapsible(true);
133
		detailsEtMotsCles.setCollapsible(true);
Line 116... Line 134...
116
		
134
		
117
		metadonneesIptcExif = new PanneauMetadonneesVue(this) ;
135
		metadonneesIptcExif = new PanneauMetadonneesVue(this) ;
Line 118... Line 136...
118
		detailsEtMotsCles.add(metadonneesIptcExif) ;
136
		detailsEtMotsCles.add(metadonneesIptcExif) ;
119
			
137
			
Line 157... Line 175...
157
 
175
 
158
	public Panel getDetailsEtMotsCles() {
176
	public Panel getDetailsEtMotsCles() {
159
		return detailsEtMotsCles;
177
		return detailsEtMotsCles;
Line -... Line 178...
-
 
178
	}
-
 
179
	
-
 
180
	/**
-
 
181
	 * @return the estInstancie
-
 
182
	 */
-
 
183
	public static boolean isEstInstancie() {
-
 
184
		return estInstancie;
-
 
185
	}
-
 
186
 
-
 
187
	/**
-
 
188
	 * @return the panneauMenuEtOngletsImage
-
 
189
	 */
-
 
190
	public Panel getPanneauMenuEtOngletsImage() {
-
 
191
		return panneauMenuEtOngletsImage;
-
 
192
	}
-
 
193
 
-
 
194
	/**
-
 
195
	 * @return the menuImageVue
-
 
196
	 */
-
 
197
	public MenuImageVue getMenuImageVue() {
-
 
198
		return menuImageVue;
-
 
199
	}
-
 
200
 
-
 
201
	/**
-
 
202
	 * @return the barreOutilsVue
-
 
203
	 */
-
 
204
	public BarreOutilsVue getBarreOutilsVue() {
-
 
205
		return barreOutilsVue;
-
 
206
	}
-
 
207
 
-
 
208
	/**
-
 
209
	 * @return the metadonneesIptcExif
-
 
210
	 */
-
 
211
	public PanneauMetadonneesVue getMetadonneesIptcExif() {
-
 
212
		return metadonneesIptcExif;
-
 
213
	}
-
 
214
 
-
 
215
	/**
-
 
216
	 * @return the dernierIndexOnglet
-
 
217
	 */
-
 
218
	public int getDernierIndexOnglet() {
-
 
219
		return dernierIndexOnglet;
160
	}
220
	}
161
	
221
	
162
	public VueListable getVueSelectionnee()
222
	public VueListable getVueSelectionnee()
163
	{
223
	{
164
		Panel active = ongletsImage.getActiveTab() ;
224
		Panel active = ongletsImage.getActiveTab() ;
Line 187... Line 247...
187
 
247
 
Line 188... Line 248...
188
		}
248
		}
Line 189... Line 249...
189
		
249
		
190
	}
250
	}
-
 
251
	
-
 
252
	public void synchroniserDonneesZoomListeGalerie(Object o, Rafraichissable r)
-
 
253
	{		
191
	
254
		
-
 
255
		if(o instanceof Store) {
-
 
256
		
-
 
257
			Store li = (Store)o ;
-
 
258
			
-
 
259
			if(li.getCount() <= 0)
-
 
260
			{
-
 
261
				aucuneSelection() ;
-
 
262
			}
-
 
263
			else
-
 
264
			{
-
 
265
				selection() ;
Line 192... Line 266...
192
	public void synchroniserZoomListeGalerie(Object o, Rafraichissable r)
266
			}
193
	{		
267
			
194
		getIModele().rafraichirListeImage(o) ;
268
		}
195
		
269
		
Line 202... Line 276...
202
			getZoomImage().rafraichir(o,false);
276
			getZoomImage().rafraichir(o,false);
203
		}
277
		}
204
		if(r != getListeImage())
278
		if(r != getListeImage())
205
		{
279
		{
206
			getListeImage().rafraichir(o,false);
280
			getListeImage().rafraichir(o,false);
207
		}	
281
		}
-
 
282
		
-
 
283
		aucuneSelection() ;
208
	}
284
	}
Line 209... Line 285...
209
	
285
	
210
	
286
	
Line 247... Line 323...
247
		
323
		
248
		String imgNum = rd.getAsString("num_image");
324
		String imgNum = rd.getAsString("num_image");
249
		obtenirMetadonnees(metadonneesIptcExif,imgNum) ;
325
		obtenirMetadonnees(metadonneesIptcExif,imgNum) ;
Line 250... Line 326...
250
	}
326
	}
251
	
-
 
252
	public void clicListeImage(int rowIndex,
327
	
253
			EventObject e)
328
	public void clicListeImage(int rowIndex)
254
	{
329
	{
Line 255... Line 330...
255
		Record rd = getListeImage().getSelectionModel().getSelected() ;
330
		Record rd = getListeImage().getSelectionModel().getSelected() ;
Line 261... Line 336...
261
		
336
		
262
		String imgNum = rd.getAsString("num_image");
337
		String imgNum = rd.getAsString("num_image");
263
		obtenirMetadonnees(metadonneesIptcExif,imgNum) ;
338
		obtenirMetadonnees(metadonneesIptcExif,imgNum) ;
Line 264... Line 339...
264
	}
339
	}
265
	
-
 
266
	public void doubleClicListeImage(int rowIndex,
340
	
267
			EventObject e)
341
	public void doubleClicListeImage(int rowIndex)
268
	{
342
	{
269
		clicListeImage(rowIndex, e) ;
343
		clicListeImage(rowIndex) ;
Line 270... Line 344...
270
		getOngletsImage().setActiveTab(1);
344
		getOngletsImage().setActiveTab(1);
271
	}
345
	}
Line 296... Line 370...
296
		if(getVueSelectionnee() == galerieImage)
370
		if(getVueSelectionnee() == galerieImage)
297
		{
371
		{
298
			DataView dv = getGalerieImage().getDView();
372
			DataView dv = getGalerieImage().getDView();
299
			st = getGalerieImage().getSt();
373
			st = getGalerieImage().getSt();
Line -... Line 374...
-
 
374
			
-
 
375
			if(st.getCount() <= 0)
-
 
376
			{
-
 
377
				return ;
-
 
378
			}
300
			
379
			
301
			selected = st.indexOf(dv.getSelectedRecords()[0]);
380
			selected = st.indexOf(dv.getSelectedRecords()[0]);
302
			storeIndex = dv.indexOf(selected);
381
			storeIndex = dv.indexOf(selected);
303
		}
382
		}
304
		else
383
		else
305
		{
384
		{
-
 
385
			st = listeImage.getSt() ;
-
 
386
			
-
 
387
			if(st.getCount() <= 0)
-
 
388
			{
-
 
389
				return ;
-
 
390
			}
306
			st = listeImage.getSt() ;
391
			
307
			selected = st.indexOf(listeImage.getSelectionModel().getSelected()) ;
392
			selected = st.indexOf(listeImage.getSelectionModel().getSelected()) ;
308
			storeIndex = selected ;
393
			storeIndex = selected ;
Line 309... Line 394...
309
		}
394
		}
Line 359... Line 444...
359
			String imgNum = nRec.getAsString("num_image");
444
			String imgNum = nRec.getAsString("num_image");
360
			obtenirMetadonnees(metadonneesIptcExif,imgNum) ;
445
			obtenirMetadonnees(metadonneesIptcExif,imgNum) ;
361
		}
446
		}
362
	}
447
	}
Line -... Line 448...
-
 
448
	
-
 
449
	public void obtenirSelection(String nomVue)
-
 
450
	{
-
 
451
		
-
 
452
	}
-
 
453
 
-
 
454
 
-
 
455
	public void synchroniserSelection(String string) {
-
 
456
		
-
 
457
		if(string.equals("galerie") && getDernierIndexOnglet() != 2)
-
 
458
		{
-
 
459
				Record[] sel = getGalerieImage().getDView().getSelectedRecords() ;
-
 
460
				getListeImage().selectionnerEnregistrements(sel) ;
-
 
461
		}
-
 
462
		
-
 
463
		if(string.equals("liste") && getDernierIndexOnglet() != 0)
-
 
464
		{
-
 
465
		
-
 
466
				Record[] sel = getListeImage().getSelectionModel().getSelections() ;
-
 
467
				int[] ids = new int[sel.length] ;
-
 
468
				
-
 
469
				for (int i = 0; i < sel.length; i++) {
-
 
470
					
-
 
471
					ids[i] = getGalerieImage().getSt().indexOf(sel[i]) ;
-
 
472
				}
-
 
473
				
-
 
474
				getGalerieImage().selectionnerImages(ids) ;
-
 
475
		}
-
 
476
		
-
 
477
	}
-
 
478
 
-
 
479
	public void supprimerImages() {
-
 
480
		
-
 
481
		String[] ids = null ;
-
 
482
		
-
 
483
		
-
 
484
			if(dernierIndexOnglet == 0)
-
 
485
			{
-
 
486
				ids = getGalerieImage().getIdSelectionnees() ;
-
 
487
			}
-
 
488
			else
-
 
489
			{
-
 
490
				ids = getListeImage().getIdSelectionnees() ;
-
 
491
			}
-
 
492
			
-
 
493
		if(ids.length > 0)
-
 
494
		{
-
 
495
			
-
 
496
			if(com.google.gwt.user.client.Window
-
 
497
					.confirm("Supprimer les images sélectionnées ?"))
-
 
498
			{
-
 
499
				getIModele().supprimerImages(ids) ;
-
 
500
				aucuneSelection() ;
-
 
501
			}
-
 
502
		}
-
 
503
		else
-
 
504
		{
-
 
505
			Window.alert("Impossible de supprimer : aucune image selectionnée") ;
-
 
506
		}
-
 
507
		
-
 
508
	}
-
 
509
 
-
 
510
	public void aucuneSelection() {
-
 
511
		
-
 
512
		if(getListeImage().getSelectionModel().getCount() <= 0 && getGalerieImage().getDView().getSelectionCount() <= 0)
-
 
513
		{
-
 
514
			getMetadonneesIptcExif().desactiverPanneau() ;
-
 
515
			getZoomImage().desactiverPanneau() ;
-
 
516
			setSelection(false) ;
-
 
517
		}
-
 
518
		
-
 
519
	}
-
 
520
	
-
 
521
	public void selection() {
-
 
522
		
-
 
523
		if(!isSelection())
-
 
524
		{
-
 
525
			getMetadonneesIptcExif().activerPanneau() ;
-
 
526
			getZoomImage().activerPanneau() ;
-
 
527
			setSelection(true);
-
 
528
		}
-
 
529
	}
Line 363... Line 530...
363
	
530