Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 145 Rev 156
Line 2... Line 2...
2
 
2
 
Line -... Line 3...
-
 
3
 
-
 
4
 
3
 
5
// TODO : systematiser les onQuelquechose, appelle depuis les vues
-
 
6
 
4
 
7
import java.util.HashMap;
5
// TODO : systematiser les onQuelquechose, appelle depuis les vues
8
 
6
 
9
import org.tela_botanica.client.CarnetEnLigneMediateur;
-
 
10
import org.tela_botanica.client.image.ImageMediateur;
-
 
11
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.CarnetEnLigneMediateur;
12
import org.tela_botanica.client.modeles.ListeObservation;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
13
import org.tela_botanica.client.modeles.Observation;
9
import org.tela_botanica.client.modeles.ListeObservation;
14
import org.tela_botanica.client.vues.ArbreMotsClesObsVue;
10
import org.tela_botanica.client.modeles.Observation;
15
import org.tela_botanica.client.vues.ArbreMotsClesVue;
11
import org.tela_botanica.client.vues.FormulaireSaisieObservationVue;
16
import org.tela_botanica.client.vues.FormulaireSaisieObservationVue;
Line 23... Line 28...
23
import com.google.gwt.user.client.Window;
28
import com.google.gwt.user.client.Window;
24
import com.gwtext.client.core.EventObject;
29
import com.gwtext.client.core.EventObject;
25
import com.gwtext.client.core.Ext;
30
import com.gwtext.client.core.Ext;
26
import com.gwtext.client.core.ExtElement;
31
import com.gwtext.client.core.ExtElement;
27
import com.gwtext.client.core.RegionPosition;
32
import com.gwtext.client.core.RegionPosition;
-
 
33
import com.gwtext.client.data.Record;
-
 
34
import com.gwtext.client.data.Tree;
28
import com.gwtext.client.widgets.BoxComponent;
35
import com.gwtext.client.widgets.BoxComponent;
29
import com.gwtext.client.widgets.Component;
36
import com.gwtext.client.widgets.Component;
30
import com.gwtext.client.widgets.Container;
37
import com.gwtext.client.widgets.Container;
31
import com.gwtext.client.widgets.Panel;
38
import com.gwtext.client.widgets.Panel;
-
 
39
import com.gwtext.client.widgets.TabPanel;
32
import com.gwtext.client.widgets.event.ContainerListener;
40
import com.gwtext.client.widgets.event.ContainerListener;
33
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
41
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
34
import com.gwtext.client.widgets.layout.BorderLayout;
42
import com.gwtext.client.widgets.layout.BorderLayout;
35
import com.gwtext.client.widgets.layout.BorderLayoutData;
43
import com.gwtext.client.widgets.layout.BorderLayoutData;
-
 
44
import com.gwtext.client.widgets.layout.FitLayout;
36
import com.gwtext.client.widgets.layout.RowLayout;
45
import com.gwtext.client.widgets.layout.RowLayout;
37
import com.gwtext.client.widgets.layout.RowLayoutData;
46
import com.gwtext.client.widgets.layout.RowLayoutData;
-
 
47
import com.gwtext.client.widgets.menu.BaseItem;
-
 
48
import com.gwtext.client.widgets.menu.Item;
-
 
49
import com.gwtext.client.widgets.menu.Menu;
-
 
50
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
-
 
51
import com.gwtext.client.widgets.tree.TreeEditor;
-
 
52
import com.gwtext.client.widgets.tree.TreeNode;
Line 38... Line 53...
38
 
53
 
39
 
54
 
40
/**
55
/**
Line 89... Line 104...
89
	
104
	
90
 
105
 
91
	/**
106
	/**
92
	 * booleen explicitant s'il y a une selection en cours
107
	 * booleen explicitant s'il y a une selection en cours
93
	 */
-
 
94
	private boolean selection = false ;
-
 
95
 
-
 
96
	
-
 
97
	
-
 
98
	/**
-
 
99
	 * La liste des observations affichées en cours (verifier utilité)
-
 
100
	 */
-
 
101
	
-
 
102
	private ListeObservation cacheObservation = new ListeObservation(0) ;
-
 
103
	/**
-
 
104
	
108
	 */
105
	
109
	private boolean selection = false ;		
106
	/**
110
	/**
Line 107... Line 111...
107
	 * panneau conteneur pour le panneau  des informations lies à l'observation
111
	 * panneau conteneur pour le panneau  des informations lies à l'observation
Line -... Line 112...
-
 
112
	 */
-
 
113
	
-
 
114
  	private Panel details = new Panel("Détails");
-
 
115
 
-
 
116
  	private Panel panelMotsCles = new Panel("Mots Clés");
Line 108... Line 117...
108
	 */
117
  	
109
	
118
  	private ArbreMotsClesObsVue arbreMotsClesVue = null ;
110
  	private Panel details = new Panel("Détails");
119
  	
Line 205... Line 214...
205
		formulaireSaisieObservationVue.setBorder(false);
214
		formulaireSaisieObservationVue.setBorder(false);
206
		conteneurFormulaire.add(formulaireSaisieObservationVue);
215
		conteneurFormulaire.add(formulaireSaisieObservationVue);
Line 207... Line 216...
207
		
216
		
208
		centre.add(conteneurFormulaire, new RowLayoutData(210));
217
		centre.add(conteneurFormulaire, new RowLayoutData(210));
209
		centre.add(listeObservation, new RowLayoutData());
218
		centre.add(listeObservation, new RowLayoutData());
-
 
219
		
210
 
220
		Panel conteneurDetailsMotsClés = new Panel("Détails");
211
		// on initialise le volet qui contient les details
221
		// on initialise le volet qui contient les details
212
		details.setWidth("10%");
222
		conteneurDetailsMotsClés.setWidth("10%");
213
		details.setTitleCollapse(true);
223
		conteneurDetailsMotsClés.setTitleCollapse(true);
-
 
224
		conteneurDetailsMotsClés.setCollapsible(true);
-
 
225
		
-
 
226
		conteneurDetailsMotsClés.add(detailsEtMotsCles);
214
		details.setCollapsible(true);
227
		
-
 
228
		conteneurDetailsMotsClés.setLayout(new FitLayout());
215
		details.setLayout(new RowLayout());
229
		
-
 
230
		details.setAutoScroll(true);
-
 
231
		details.setLayout(new RowLayout());
-
 
232
		details.setWidth("100%");
-
 
233
		
-
 
234
		arbreMotsClesVue = new ArbreMotsClesObsVue(this) ;
Line 216... Line 235...
216
		details.setAutoScroll(true);
235
		panelMotsCles.add(arbreMotsClesVue);
217
		
236
		
218
		// Information de repartition
237
		// Information de repartition
219
		informationRepartitionVue=new InformationRepartitionVue(this);
238
		informationRepartitionVue=new InformationRepartitionVue(this);
Line 240... Line 259...
240
		filtres.setWidth("10%");
259
		filtres.setWidth("10%");
241
		filtres.setHeight(700) ;
260
		filtres.setHeight(700) ;
242
		filtres.setTitleCollapse(true);
261
		filtres.setTitleCollapse(true);
243
		filtres.setCollapsible(true);
262
		filtres.setCollapsible(true);
Line -... Line 263...
-
 
263
		
-
 
264
		detailsEtMotsCles.add(details);
-
 
265
		//detailsEtMotsCles.add(panelMotsCles);
-
 
266
		
-
 
267
		panelMotsCles.hide();
-
 
268
		
244
		
269
		
245
		panneauPrincipalObservation.add(details,regionEst);
270
		panneauPrincipalObservation.add(conteneurDetailsMotsClés,regionEst);
246
		panneauPrincipalObservation.add(filtres,regionOuest);
271
		panneauPrincipalObservation.add(filtres,regionOuest);
Line 247... Line 272...
247
		panneauPrincipalObservation.add(centre,regionCentre);
272
		panneauPrincipalObservation.add(centre,regionCentre);
Line 311... Line 336...
311
	 */
336
	 */
Line 312... Line 337...
312
	
337
	
Line 313... Line 338...
313
	
338
	
314
	public void onRafraichissementListeObservations() {
-
 
315
		
-
 
316
		cacheObservation = listeObservation.getCacheListeObservation() ;
-
 
317
		if(cacheObservation.size() == 0)
-
 
318
		{
339
	public void onRafraichissementListeObservations() {
319
			//formulaireSaisieObservationVue.raz() ;
340
		
Line 320... Line 341...
320
		}
341
		carnetEnLigneMediateur.donneesImagesVersObs(listeObservation.getCacheListeObservation());
321
		carnetEnLigneMediateur.donneesRafraichies(cacheObservation) ;		
342
		observationModele.rafraichirCacheObservation(listeObservation.getCacheListeObservation());
322
	}
343
	}
Line 331... Line 352...
331
	 *            le numéro de ligne selectionné
352
	 *            le numéro de ligne selectionné
332
	 */
353
	 */
Line 333... Line 354...
333
	
354
	
Line 334... Line 355...
334
	public void onClicListeObservation(int rowIndex, String ordreObservation) {
355
	public void onClicListeObservation(int rowIndex, String ordreObservation) {
Line 335... Line 356...
335
	
356
	
336
		Observation obs = cacheObservation.get(ordreObservation) ;
357
		Observation obs = obtenirCacheObservation().get(ordreObservation) ;
337
		
358
		
Line 349... Line 370...
349
		// Affichage de l'image correspondante
370
		// Affichage de l'image correspondante
Line 350... Line 371...
350
				
371
				
Line 351... Line 372...
351
		observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
372
		observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
-
 
373
		
-
 
374
		observationModele.obtenirLiaisonImage(mvz, ordreObservation) ;
-
 
375
		
Line 352... Line 376...
352
		
376
		observationModele.obtenirMotsClesId(arbreMotsClesVue, ordreObservation);
Line 353... Line 377...
353
		observationModele.obtenirLiaisonImage(mvz, ordreObservation) ;
377
		//arbreMotsClesVue.cocherMotsCles(motsClesIds);
Line 423... Line 447...
423
		observationModele.obtenirListeObservation(r,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
447
		observationModele.obtenirListeObservation(r,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
424
	}
448
	}
Line 425... Line 449...
425
	
449
	
Line 426... Line 450...
426
	public void obtenirCacheObservation(Rafraichissable r) {
450
	public void obtenirCacheObservation(Rafraichissable r) {
427
		
451
		
Line 428... Line 452...
428
		r.rafraichir(cacheObservation, false) ;
452
		r.rafraichir(observationModele.getCacheObservation(), false) ;
429
	}
453
	}
Line 514... Line 538...
514
	 * @return Les noms et valeurs des filtres
538
	 * @return Les noms et valeurs des filtres
515
	 */
539
	 */
516
	public String[][] renvoyerFiltres()
540
	public String[][] renvoyerFiltres()
517
	{		
541
	{		
518
		int longueur = 0;
542
		int longueur = 0;
519
			/*String[] filtresMotsCles = filtres.getMotsClesObsVue().renvoyerValeursAFiltrer();
543
			/*String[] filtresMotsCles = filtres.getArbreMotsClesFiltreVue().renvoyerValeursAFiltrer();
520
			if(filtresMotsCles.length > 0) {
544
			if(filtresMotsCles.length > 0) {
521
				longueur++ ;
545
				longueur++ ;
522
			}*/
546
			}*/
Line 523... Line 547...
523
		
547
		
Line 600... Line 624...
600
 
624
 
Line 601... Line 625...
601
	public void doubleClicListeObservation(int rowIndex) {
625
	public void doubleClicListeObservation(int rowIndex) {
602
		
-
 
603
		
-
 
Line 604... Line 626...
604
	}
626
		
Line 605... Line 627...
605
 
627
		
Line 613... Line 635...
613
		
635
		
Line 614... Line 636...
614
	}
636
	}
615
	
637
	
616
	public void masquerChargementInfosObservations()
638
	public void masquerChargementInfosObservations()
Line 617... Line 639...
617
	{
639
	{
618
		ExtElement masked = Ext.get(details.getId());
640
		ExtElement masked = Ext.get(detailsEtMotsCles.getId());
619
 
641
 
620
		if (masked != null && !masked.isMasked()) {
642
		if (details.isVisible() && masked != null && !masked.isMasked()) {
621
			informationRepartitionVue.raz() ;
643
			informationRepartitionVue.raz() ;
622
			imageGeneriqueVue.raz() ;
644
			imageGeneriqueVue.raz() ;
Line 623... Line 645...
623
			masked.mask("Chargement", true);
645
			masked.mask("Chargement", true);
624
		}
646
		}
625
	}
647
	}
Line 626... Line 648...
626
	
648
	
627
	public void deMasquerChargementInfosObservations()
649
	public void deMasquerChargementInfosObservations()
628
	{
650
	{
629
		ExtElement masked = Ext.get(details.getId());
651
		ExtElement masked = Ext.get(detailsEtMotsCles.getId());
Line 663... Line 685...
663
		{
685
		{
664
			listeObservation.raz() ;
686
			listeObservation.raz() ;
665
			formulaireSaisieObservationVue.raz() ;
687
			formulaireSaisieObservationVue.raz() ;
666
			filtres.getArbreDateObservationFiltreVue().raz() ;
688
			filtres.getArbreDateObservationFiltreVue().raz() ;
667
			filtres.getArbreEntiteGeographiqueObservationFiltreVue().raz() ;
689
			filtres.getArbreEntiteGeographiqueObservationFiltreVue().raz() ;
-
 
690
			filtres.getArbreMotsClesFiltreVue().raz();
668
			informationRepartitionVue.raz() ;
691
			informationRepartitionVue.raz() ;
669
			imageGeneriqueVue.raz() ;
692
			imageGeneriqueVue.raz() ;
670
			mvz.raz() ;
693
			mvz.raz() ;
671
		}
694
		}
672
	}
695
	}
Line 757... Line 780...
757
	        observationModele.analyserHistorique(formulaireSaisieObservationVue,anum);
780
	        observationModele.analyserHistorique(formulaireSaisieObservationVue,anum);
758
		}
781
		}
759
	}
782
	}
Line -... Line 783...
-
 
783
 
-
 
784
 
-
 
785
	public void montrerContextMenuArbre(final TreeNode n, EventObject e,
-
 
786
			TreeEditor te) {
-
 
787
			Menu mn = new Menu();
-
 
788
			final com.gwtext.client.widgets.menu.Item ajoutN = new Item(
-
 
789
					"Ajouter mot cle");
-
 
790
			final com.gwtext.client.widgets.menu.Item suppN = new Item(
-
 
791
					"Supprimer mot cle");
-
 
792
 
-
 
793
			mn.addItem(ajoutN);
-
 
794
			mn.addItem(suppN);
-
 
795
 
760
 
796
			mn.addListener(new MenuListenerAdapter() {
-
 
797
 
-
 
798
				public void onItemClick(BaseItem item, EventObject e) {
-
 
799
					if (item.equals(suppN)) {
-
 
800
						arbreMotsClesVue
-
 
801
								.supprimerNoeud(n);
-
 
802
					}
-
 
803
					if (item.equals(ajoutN)) {
-
 
804
						arbreMotsClesVue.ajouterNoeud(
-
 
805
								n);
-
 
806
					}
-
 
807
				}
-
 
808
			});
Line 761... Line -...
761
 
-
 
762
	/*public void ajouterMotCleRecherche(String motCle) {
809
 
Line -... Line 810...
-
 
810
			mn.showAt(e.getXY());
-
 
811
		
-
 
812
	}
-
 
813
 
-
 
814
 
-
 
815
	/**
-
 
816
	 * Appelle le modèle pour mettre à jour la paire mot-clé / identifiant du
-
 
817
	 * mot clé
-
 
818
	 * 
763
		
819
	 * @param text
764
		filtres.getMotsClesObsVue().rafraichir(motCle, false);
820
	 *            le texte du mot clé
765
	}
821
	 * @param id
-
 
822
	 *            l'identifiant du mot clé
766
 
823
	 */
Line -... Line 824...
-
 
824
	public void mettreAjourMotsClesId(String text, String id) {
-
 
825
 
-
 
826
		observationModele.mettreAjourMotsClesId(text, id);
-
 
827
 
-
 
828
	}
-
 
829
 
-
 
830
	/**
-
 
831
	 * Récupère les identifiants des images selectionnés et appelle le modèle
-
 
832
	 * pour qu'il mette à jour les associations mots clés/images
-
 
833
	 * 
-
 
834
	 * @param motsClesEnCours
-
 
835
	 *            les mots clés à associer aux images selectionnés séparés par
-
 
836
	 *            une ','
-
 
837
	 * @param arbreMC
Line 767... Line -...
767
 
-
 
768
	public void obtenirNuageMotsCles(Rafraichissable r) {
-
 
769
		
-
 
770
		observationModele.obtenirNuageMotsCles(r);
-
 
771
	}
-
 
772
 
-
 
773
 
-
 
774
	public void afficherNuageMotsCles() {
-
 
775
		
-
 
776
		if(nuaMC != null && nuaMC.isVisible()) {
-
 
777
			nuaMC.hide();
-
 
778
			nuaMC.close();
838
	 *            l'arbre des mots clés à mettre à jour
Line -... Line 839...
-
 
839
	 */
-
 
840
	public void mettreAjourMotsCles(String motsClesEnCours, Tree arbreMC) {
-
 
841
 
-
 
842
		String[] ids = listeObservation.getIdSelectionnees();
-
 
843
		observationModele.mettreAjourMotsCles(ids, motsClesEnCours, arbreMC);
-
 
844
 
-
 
845
	}
-
 
846
 
-
 
847
	/**
-
 
848
	 * Appelle le médiateur pour qu'il ajoute un mot clé dans l'arbre des mots
-
 
849
	 * clés
-
 
850
	 * 
Line -... Line 851...
-
 
851
	 * @param n
-
 
852
	 *            le noeud à ajouter à l'arbre
-
 
853
	 * @param arbreMC
-
 
854
	 *            le nouvel arbre de mots clés à mettre à jour
-
 
855
	 */
-
 
856
	public void ajouterMotCleDansArbre(TreeNode n, Tree arbreMC) {
-
 
857
		observationModele.ajouterMotCleDansArbre(n, arbreMC);
-
 
858
		getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n, false);
-
 
859
 
-
 
860
	}
-
 
861
 
779
			nuaMC = null;
862
	/**
780
		}
863
	 * Appelle le médiateur pour qu'il supprime un mot clé et son sous arbre
781
		else {
864
	 * dans l'arbre des mots clés
782
			nuaMC = new NuageMotsClesVue(this);
865
	 * 
-
 
866
	 * @param n
-
 
867
	 *            le noeud à supprimer
783
			nuaMC.show(filtres.getMotsClesObsVue().getElement());
868
	 * @param arbreMC
-
 
869
	 *            le nouvel arbre de mots clés à mettre à jour
-
 
870
	 */
-
 
871
	public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) {
-
 
872
 
-
 
873
		observationModele.supprimerMotCleDansArbre(n, arbreMC);
784
		}
874
		getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n.getId(), false);
785
	}
875
 
-
 
876
	}
-
 
877
 
-
 
878
	/**
-
 
879
	 * Appelle le médiateur pour qu'il modifie un mot clé dans l'arbre des mots
-
 
880
	 * clés
-
 
881
	 * 
-
 
882
	 * @param n
786
 
883
	 *            le noeud à modifier
787
 
884
	 * @param arbreMC
-
 
885
	 *            le nouvel arbre de mots clés à mettre à jour
788
	public void AjouterMotsClesEnMasse(String motsAAjouter) {
886
	 */
789
		
887
	public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
-
 
888
 
-
 
889
		observationModele.modifierMotCleDansArbre(n, arbreMC);
790
		String[] numObs = listeObservation.getIdSelectionnees();
890
		getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n, false);
791
		String numObsApl = "" ;
891
 
-
 
892
	}
792
		
893
 
-
 
894
	/**
-
 
895
	 * Appelle le médiateur pour qu'il déplace un mot clé et son sous arbre dans
-
 
896
	 * l'arbre des mots clés
-
 
897
	 * 
793
		if(numObs.length < 1) {
898
	 * @param n
-
 
899
	 *            le noeud à déplacer
-
 
900
	 * @param arbreMC
-
 
901
	 *            le nouvel arbre de mots clés à mettre à jour
Line 794... Line -...
794
			return;
-
 
795
		}
902
	 */
796
		
903
	public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) {
Line 797... Line 904...
797
		for(int i = 0 ; i < numObs.length ; i++) {
904
 
Line 798... Line 905...
798
			numObsApl += numObs[i] ;
905
		observationModele.deplacerMotCleDansArbre(n, arbreMC);
799
			if(i != numObs.length - 1) {
-
 
800
				numObsApl +="," ;
-
 
801
			}
-
 
Line -... Line 906...
-
 
906
		getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(n, false);
802
		}
907
	}
-
 
908
 
-
 
909
 
-
 
910
	public void rafraichirArbreMotsCles(Tree arbreMotsCles) {
-
 
911
		
-
 
912
		arbreMotsClesVue.rafraichir(arbreMotsCles, false);
-
 
913
		getPanneauFiltres().getArbreMotsClesFiltreVue().rafraichir(arbreMotsCles, false);
-
 
914
		
-
 
915
	}
-
 
916
 
-
 
917
 
-
 
918
	public void obtenirArbreMotsCles(Rafraichissable r) {
-
 
919
		
-
 
920
		observationModele.obtenirArbreMotsCles(r);
Line -... Line 921...
-
 
921
	}
-
 
922
	
-
 
923
	public ListeObservation obtenirCacheObservation() {
803
		
924
		return observationModele.getCacheObservation();