Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1489 Rev 1542
Line 90... Line 90...
90
	private String departement = null;
90
	private String departement = null;
91
	private ComboBox  espece = null;
91
	private ComboBox  espece = null;
92
	private String numeroNom = null;
92
	private String numeroNom = null;
93
	private String numeroOrdre = null;
93
	private String numeroOrdre = null;
94
	private String codeInseeCommune = null;
94
	private String codeInseeCommune = null;
95
	
-
 
-
 
95
	private String referentielTaxo = null;
96
	private String referentielGeo = null;
96
	private String referentielGeo = null;
Line 97... Line 97...
97
 
97
 
Line 98... Line 98...
98
	// Pour remise a zero partielle lors d'une validation
98
	// Pour remise a zero partielle lors d'une validation
99
	
99
	
Line 100... Line 100...
100
	private  enum Champs {
100
	private  enum Champs {
101
	    DATE, LIEUDIT, STATION, MILIEU, COMMENT, COMMUNE, ESPECE, TOUT, LATITUDE, LONGITUDE, ABONDANCE, CERTITUDE;
101
	    DATE, LIEUDIT, STATION, MILIEU, COMMENT, COMMUNE, ESPECE, TOUT, LATITUDE, LONGITUDE, ABONDANCE, CERTITUDE, REFERENTIELTAXO, PHENOLOGIE;
Line 102... Line 102...
102
	    
102
	    
Line 134... Line 134...
134
	    	case ABONDANCE:
134
	    	case ABONDANCE:
135
	    		return "abondance";
135
	    		return "abondance";
Line 136... Line 136...
136
	    		
136
	    		
137
	    	case CERTITUDE:
137
	    	case CERTITUDE:
-
 
138
	    		return "identification";
-
 
139
	    		
-
 
140
	    	case REFERENTIELTAXO:
Line -... Line 141...
-
 
141
	    		return "referentiel";
-
 
142
	    	
-
 
143
	    	case PHENOLOGIE:
138
	    		return "identification";
144
	    		return "phenologie";
139
	    	
145
	    		
140
	    	case TOUT:
146
	    	case TOUT:
141
	    		return "date, commune, lieu dit, station, milieu, espèce, commentaire, latitude, longitude, abondance, identification";
147
	    		return "date, commune, lieu dit, station, milieu, espèce, commentaire, latitude, longitude, abondance, identification, referentiel, phenologie";
142
	    	}
148
	    	}
143
			return TOUT.toString();
149
			return TOUT.toString();
Line 150... Line 156...
150
 
156
 
151
	private boolean selectionCommune=false;
157
	private boolean selectionCommune=false;
152
	private boolean selectionEspece=false;
158
	private boolean selectionEspece=false;
153
	private boolean selectionAbondance = false;
159
	private boolean selectionAbondance = false;
-
 
160
	private boolean selectionCertitude = false;
Line 154... Line 161...
154
	private boolean selectionCertitude = false;
161
	private boolean selectionPhenologie = false;
155
	
162
	
Line 156... Line 163...
156
	private boolean modification = false ;
163
	private boolean modification = false ;
157
	private Toolbar bt = null ;
164
	private Toolbar bt = null ;
158
	
165
	
159
	private final String VALEURS_MULTIPLES = "(Valeurs multiples)";
166
	private final String VALEURS_MULTIPLES = "(Valeurs multiples)";
160
	private final String modeleMessageModif = "commune:lieu-dit:station:milieu:latitude:longitude:date:espece:commentaire:abondance:identification";
167
	private final String modeleMessageModif = "commune:lieu-dit:station:milieu:latitude:longitude:date:espece:commentaire:abondance:identification:referentiel:phenologie";
161
	private boolean communeModifiee = false;
168
	private boolean communeModifiee = false;
162
	private boolean lieuDitModifie = false;
169
	private boolean lieuDitModifie = false;
163
	private boolean stationModifiee = false;
170
	private boolean stationModifiee = false;
164
	private boolean milieuModifie = false;
171
	private boolean milieuModifie = false;
165
	private boolean dateModifiee = false;
172
	private boolean dateModifiee = false;
166
	private boolean especeModifiee = false;
173
	private boolean especeModifiee = false;
-
 
174
	private boolean commModifie = false;
-
 
175
	private boolean abondanceModifiee = false;
Line 167... Line 176...
167
	private boolean commModifie = false;
176
	private boolean certitudeModifiee = false;
168
	private boolean abondanceModifiee = false;
177
	private boolean referentielTaxoModifie = false;
169
	private boolean certitudeModifiee = false;
178
	private boolean phenologieModifiee = false;;
170
	
179
	
Line 237... Line 246...
237
	
246
	
Line 238... Line 247...
238
	private ComboBox selecteurAbondance = null; 
247
	private ComboBox selecteurAbondance = null; 
Line -... Line 248...
-
 
248
	
-
 
249
	private ComboBox selecteurCertitude = null; 
-
 
250
	
-
 
251
	private ComboBox selecteurReferentielTaxo = null;
239
	
252
	
240
	private ComboBox selecteurCertitude = null; 
253
	private ComboBox selecteurStadePheno = null;
241
	
254
	
242
	/**
255
	/**
243
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
256
	 * Constructeur sans argument (privé car ne doit pas être utilisé)
Line 251... Line 264...
251
	/**
264
	/**
252
	 * Constructeur avec argument
265
	 * Constructeur avec argument
253
	 * @param im
266
	 * @param im
254
	 */
267
	 */
255
	public FormulaireSaisieObservationVue(ObservationMediateur obs)
268
	public FormulaireSaisieObservationVue(ObservationMediateur obs)
256
	{
269
	{		
257
		
-
 
258
		super("Saisie");
270
		super("Saisie");
259
		// on associe le médiateur
271
		// on associe le médiateur
260
		observationMediateur = obs ;
272
		observationMediateur = obs ;
Line -... Line 273...
-
 
273
		
Line 261... Line 274...
261
		
274
		referentielTaxo = obs.getRefTaxSelectionne().getCode();
262
	     	
275
	     	
Line 263... Line 276...
263
		panneauFormulaire = new FormPanel(Position.RIGHT);
276
		panneauFormulaire = new FormPanel(Position.RIGHT);
Line 380... Line 393...
380
			//ajout d'un listener sur le lien "saisie X/Y"	
393
			//ajout d'un listener sur le lien "saisie X/Y"	
381
			coordPanel.addListener(new PanelListenerAdapter() {
394
			coordPanel.addListener(new PanelListenerAdapter() {
Line 382... Line 395...
382
				
395
				
383
				@Override
396
				@Override
384
				public void onAfterLayout(Container c) {
-
 
385
					
-
 
386
					ExtElement lienCoord = Ext.get("lien_coord");
-
 
387
					lienCoord.removeAllListeners();
-
 
388
					lienCoord.addListener("click", new EventCallback() {
-
 
389
						@Override
-
 
390
						public void execute(EventObject e) {
-
 
391
							
397
				public void onAfterLayout(Container c) {
392
							coordPanel.setVisible(!coordPanel.isVisible());
-
 
393
							
-
 
394
							if(Ext.isIE()) {
-
 
395
								latitude.focus();
-
 
396
							}
-
 
397
							
-
 
398
							CarnetEnLigneMediateur.fireResize();
-
 
399
						}
-
 
400
					}) ;
-
 
401
					
-
 
402
					ExtElement lienCartoCoord = Ext.get("lien_carto_coord");
-
 
403
					lienCartoCoord.removeAllListeners();
-
 
404
					lienCartoCoord.addListener("click", new EventCallback() {
-
 
405
						@Override
-
 
406
						public void execute(EventObject e) {
-
 
407
							obtenirInformationCoord();
-
 
408
						}
-
 
409
					}) ;
-
 
410
				
-
 
411
					ExtElement lienCarto = Ext.get("lien_carto");
-
 
412
					lienCarto.removeAllListeners();
-
 
413
					lienCarto.addListener("click", new EventCallback() {
-
 
414
 
-
 
415
						@Override
-
 
416
						public void execute(EventObject e) {
-
 
417
							
-
 
418
							if(commune.getValue() != null && !commune.getValue().equals("") && !getDepartement().equals("")) {
-
 
419
								obtenirInformationCommune();
-
 
420
								longlatAjoutee = true;
-
 
421
					
-
 
422
							} else {
-
 
423
								Window.alert("Veuillez renseigner une commune et un numéro de département sous la forme : Commune (departement)");
-
 
424
							}
-
 
425
						}
-
 
426
					});
-
 
427
					
-
 
428
					if(!Ext.isIE() && Window.getClientWidth() < 1200) {
-
 
429
						
-
 
430
						int largeurN = (int)largeur;
-
 
431
						
-
 
432
						latitude.setWidth(largeurN+"px");
-
 
433
						longitude.setWidth(largeurN+"px");
-
 
434
						lienSelectionCommune.setWidth(largeurN+"px");						
-
 
435
					}
398
					surPremierAffichageCoordPanel(largeur);
436
				}
399
				}
Line 437... Line 400...
437
			});
400
			});
438
						
401
						
Line 453... Line 416...
453
	    date.setFormat(formatDate) ;
416
	    date.setFormat(formatDate) ;
454
	    date.setTitle("Date de l'observation au format jj/mm/aaaa");
417
	    date.setTitle("Date de l'observation au format jj/mm/aaaa");
455
	    //date.setTabIndex(5);
418
	    //date.setTabIndex(5);
456
	    panneauPremierColonne.add(date, new AnchorLayoutData("55%"));  
419
	    panneauPremierColonne.add(date, new AnchorLayoutData("55%"));  
Line -... Line 420...
-
 
420
 	
-
 
421
	    // Selection d'un référentiel par défaut (le premier spécifié dans la config)
-
 
422
	    referentielTaxo = Configuration.getReferentielsDispos().get(0).getCode();
-
 
423
	    selecteurReferentielTaxo = new ComboBox();
-
 
424
	    selecteurReferentielTaxo.setCls("champ-separation");
-
 
425
	    selecteurReferentielTaxo.setLabel("Référentiel");
-
 
426
	    selecteurReferentielTaxo.setStore(Ontologies.getValeursReferentiel());
-
 
427
	    selecteurReferentielTaxo.setValue(referentielTaxo);
-
 
428
	    selecteurReferentielTaxo.setDisplayField("label") ;
-
 
429
	    selecteurReferentielTaxo.setValueField("valeur");
-
 
430
	    selecteurReferentielTaxo.setEditable(false);
-
 
431
	    selecteurReferentielTaxo.setHideTrigger(false);
-
 
432
	    selecteurReferentielTaxo.setForceSelection(true);
457
 	
433
	    	    
458
		espece=new ComboBox("Espèce","nom");  
-
 
459
			
434
		espece=new ComboBox("Espèce","nom");  
Line 460... Line 435...
460
		final String resultTplEspece = "<div class=\"search-item-espece {indicateurNomRetenu}\">{nom}</div>";  
435
		final String resultTplEspece = "<div class=\"search-item-espece {indicateurNomRetenu}\">{nom}</div>";  
461
 
436
 
462
		
-
 
463
		espece.setTpl(resultTplEspece);
437
		
464
		espece.setMode(ComboBox.REMOTE);
438
		espece.setTpl(resultTplEspece);
465
		// espece.setPageSize(10); // Ne fonctionne pas 
439
		espece.setMode(ComboBox.REMOTE);
Line 466... Line 440...
466
		espece.setItemSelector("div.search-item-espece");
440
		espece.setItemSelector("div.search-item-espece");
467
		espece.setTypeAhead(true);  
-
 
Line 468... Line 441...
468
		espece.setLoadingText("Recherche...");  
441
		espece.setTypeAhead(true);  
469
		  
442
		espece.setLoadingText("Recherche...");  
470
		espece.setHideTrigger(true);
443
		  
Line 471... Line 444...
471
		//espece.setTabIndex(6);
444
		espece.setHideTrigger(true);
472
 
-
 
-
 
445
 
473
	    Panel panelSeparationPp = new Panel();
446
	    Panel panelSeparationPp = new Panel();
Line 474... Line 447...
474
	    panelSeparationPp.setHeight(15);
447
	    panelSeparationPp.setHeight(15);
475
	    panelSeparationPp.setBorder(false);
448
	    panelSeparationPp.setBorder(false);
476
	    
449
	    
Line 520... Line 493...
520
	    
493
	    
521
	    comment = new TextArea("Notes", "comment");  
494
	    comment = new TextArea("Notes", "comment");  
522
	    comment.setAllowBlank(true);
495
	    comment.setAllowBlank(true);
Line 523... Line -...
523
	    comment.setHeight(50);
-
 
524
	    
496
	    comment.setHeight(50);
Line 525... Line 497...
525
	    //comment.setTabIndex(7);
497
	    
526
	    panneauSecondeColonne.add(comment, new AnchorLayoutData("95%") );
498
	    panneauSecondeColonne.add(comment, new AnchorLayoutData("95%") );
527
	    
499
	    
Line 528... Line 500...
528
	    Panel panelSeparationPs = new Panel();
500
	    Panel panelSeparationPs = new Panel();
Line 529... Line 501...
529
	    panelSeparationPs.setHeight(15);
501
	    panelSeparationPs.setHeight(39);
Line 539... Line 511...
539
	    selecteurCertitude.setEditable(true);
511
	    selecteurCertitude.setEditable(true);
540
	    selecteurCertitude.setHideTrigger(false);
512
	    selecteurCertitude.setHideTrigger(false);
541
	    selecteurCertitude.setForceSelection(false);
513
	    selecteurCertitude.setForceSelection(false);
542
	    panneauSecondeColonne.add(selecteurCertitude, new AnchorLayoutData("50%"));   
514
	    panneauSecondeColonne.add(selecteurCertitude, new AnchorLayoutData("50%"));   
Line -... Line 515...
-
 
515
	    
-
 
516
	    selecteurStadePheno = new ComboBox();
-
 
517
	    selecteurStadePheno.setLabel("Phénologie");
-
 
518
	    selecteurStadePheno.setStore(Ontologies.getValeursPhenologie());
-
 
519
	    selecteurStadePheno.setDisplayField("label") ;
-
 
520
	    selecteurStadePheno.setValueField("valeur");
-
 
521
	    selecteurStadePheno.setEditable(true);
-
 
522
	    selecteurStadePheno.setHideTrigger(false);
-
 
523
	    selecteurStadePheno.setForceSelection(false);
-
 
524
	    panneauSecondeColonne.add(selecteurStadePheno, new AnchorLayoutData("50%"));  
543
	    
525
	    
544
	    if (Window.getClientWidth() > Window.getClientHeight() || Window.getClientWidth() < 800) {
526
	    if (Window.getClientWidth() > Window.getClientHeight() || Window.getClientWidth() < 800) {
545
			panneauIntermediaire.add(panneauPremierColonne, new ColumnLayoutData(.5));
527
			panneauIntermediaire.add(panneauPremierColonne, new ColumnLayoutData(.5));
546
			panneauIntermediaire.add(panneauSecondeColonne, new ColumnLayoutData(.5));
528
			panneauIntermediaire.add(panneauSecondeColonne, new ColumnLayoutData(.5));
547
	    }
529
	    }
548
	    else {
530
	    else {
549
			panneauIntermediaire.add(panneauPremierColonne);
531
			panneauIntermediaire.add(panneauPremierColonne);
550
			panneauIntermediaire.add(panneauSecondeColonne);
-
 
551
	    	
532
			panneauIntermediaire.add(panneauSecondeColonne);   	
Line 552... Line 533...
552
	    }
533
	    }
Line 553... Line 534...
553
			
534
			
Line 567... Line 548...
567
		
548
		
568
		bt = new Toolbar() ;
549
		bt = new Toolbar() ;
569
		bt.addSpacer() ;
550
		bt.addSpacer() ;
570
		bt.addText("Mode de saisie ") ;
551
		bt.addText("Mode de saisie ") ;
571
		bt.addField(selecteurMode) ;
-
 
572
		
552
		bt.addField(selecteurMode) ;
573
		
553
			
574
		if (Ext.isIE()) {
554
		if (Ext.isIE()) {
575
			panneauPremierColonne.setButtonAlign(Position.RIGHT);
555
			panneauPremierColonne.setButtonAlign(Position.RIGHT);
576
			panneauPremierColonne.addButton(boutonOK);
556
			panneauPremierColonne.addButton(boutonOK);
577
			panneauSecondeColonne.setButtonAlign(Position.LEFT);
557
			panneauSecondeColonne.setButtonAlign(Position.LEFT);
578
			panneauPremierColonne.addButton(boutonAnnuler);
558
			panneauPremierColonne.addButton(boutonAnnuler);
579
		}
559
		}
580
		else {
-
 
581
		
560
		else {	
582
			panneauFormulaire.addButton(boutonOK);
561
			panneauFormulaire.addButton(boutonOK);
583
			panneauFormulaire.addButton(boutonAnnuler);		
562
			panneauFormulaire.addButton(boutonAnnuler);		
584
		}
-
 
585
		
563
		}
586
		
564
			
587
		selecteurMode.addListener(new ComboBoxListenerAdapter() {
-
 
588
 
565
		selecteurMode.addListener(new ComboBoxListenerAdapter() {
589
			@Override
566
			@Override
Line 590... Line 567...
590
			public void onSelect(ComboBox comboBox, Record record, int index) {
567
			public void onSelect(ComboBox comboBox, Record record, int index) {
591
				
568
				
592
				// et on met la valeur à jour dans la combobox
569
				// et on met la valeur à jour dans la combobox
593
				comboBox.setValue(record.getAsString("nom_mode"));
570
				comboBox.setValue(record.getAsString("nom_mode"));
594
				setModification(record.getAsString("mode")) ;
-
 
595
			}
571
				setModification(record.getAsString("mode")) ;
Line 596... Line 572...
596
 
572
			}
597
		});
573
		});
Line 613... Line 589...
613
	        		        	
589
	        		        	
614
	        	htmlCommunePanel.doLayout();
590
	        	htmlCommunePanel.doLayout();
Line 615... Line 591...
615
	        	htmlPanel.doLayout();
591
	        	htmlPanel.doLayout();
-
 
592
	        	
616
	        	
593
	        	doLayout();
Line 617... Line 594...
617
	        	doLayout();
594
	        }
618
	     }});
595
	    });
619
		
596
		
620
		// on ajoute les listeners
597
		// on ajoute les listeners
621
		ajouterListeners() ;
598
		ajouterListeners() ;
622
		saisieTabindex();
-
 
623
	}
-
 
624
			
-
 
625
	private void ajouterListeners()
-
 
626
	{	
-
 
627
		// Listener completion communne 
-
 
628
		final Rafraichissable r = this;
-
 
629
		
599
		saisieTabindex();
630
		   commune.addListener(new ComboBoxListenerAdapter() {  
-
 
631
	             @Override
-
 
632
				public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
633
	                 commune.setValue(record.getAsString("commune"));
-
 
634
	                 departement=record.getAsString("departement");
-
 
635
	                 codeInseeCommune=record.getAsString("codeInsee");
-
 
636
	                 selectionCommune=true;
-
 
637
	                 commune.collapse();
-
 
638
	             }  
-
 
639
	             
-
 
640
	             @Override
-
 
641
				public void onExpand(ComboBox comboBox) {
-
 
642
	            	 comboBox.focus();
-
 
643
	             }
-
 
644
	         });  
600
	}
645
	         
601
	
646
	        
-
 
647
			ListenerConfig listenerConfigCommune=new ListenerConfig();
-
 
648
			listenerConfigCommune.setDelay(200);
-
 
649
			listenerConfigCommune.setStopPropagation(false);
-
 
650
			listenerConfigCommune.setStopEvent(false);
-
 
651
			
-
 
652
		    commune.addKeyPressListener(new EventCallback()	{
-
 
653
		    	
-
 
654
	    	    @Override
-
 
655
				public void execute(EventObject e) {
-
 
656
	    	    	
-
 
657
	    	    		  
-
 
658
	    	    		switch(e.getKey()) {
-
 
659
	    	    	      
-
 
660
    	    				case KEY_ALT:
-
 
661
	    	    	        case KEY_CTRL:
-
 
662
	    	    	        case KEY_DOWN:
-
 
663
	    	    	        case KEY_END:
-
 
664
	    	    	        case KEY_ESCAPE:
-
 
665
	    	    	        case KEY_HOME:
-
 
666
	    	    	        case KEY_LEFT:
-
 
667
	    	    	        case KEY_PAGEDOWN:
-
 
668
	    	    	        case KEY_PAGEUP:
-
 
669
	    	    	        case KEY_RIGHT:
-
 
670
	    	    	        case KEY_SHIFT:
-
 
671
	    	    	        case KEY_TAB:
-
 
672
	    	    	        case KEY_UP:
-
 
673
	    	    	    	
-
 
674
	    	    	        break;
-
 
675
	    	    		
-
 
676
	    	    	    	case KEY_ENTER:
-
 
677
	    	    	    	  
-
 
678
		    	    	    	 if (selectionCommune) {
-
 
679
		    	    	    		 communeModifiee= true;
-
 
680
		    	    	    		 selectionCommune=false;
-
 
681
		    	    	    	 }
-
 
682
		    	    	    	else {
-
 
683
	
-
 
684
		    	    	    		validerSaisie(Champs.COMMUNE);
-
 
685
		    	    	    		// lancer mise a jour 	    	    	    		 
-
 
686
		    	    	    	 }
-
 
687
		    	    	    break;
-
 
688
	    	    	       
-
 
689
		    	    	    default:
-
 
690
		    	    	    	  departement="";
-
 
691
		    	    	    	  commune.collapse();	
-
 
692
		    	    	    	  obtenirListeReferentielCommune();
-
 
693
		    	    	    	  communeModifiee= true;
-
 
694
		    	    	    	  	    	    	        
-
 
695
		    	    	    break;
-
 
696
	    	    	    }
-
 
697
	     			}
-
 
698
	    		},    listenerConfigCommune
602
	private void surPremierAffichageCoordPanel(final double largeur) {
699
			);
-
 
700
		    
603
		ExtElement lienCoord = Ext.get("lien_coord");
701
		    date.addKeyPressListener(new EventCallback() {
604
		lienCoord.removeAllListeners();
702
 
-
 
703
				@Override
-
 
704
				public void execute(EventObject e) {
-
 
705
					// TODO Auto-generated method stub
-
 
706
					switch(e.getKey()) {
-
 
707
					
-
 
708
						case KEY_ALT:
-
 
709
		    	        case KEY_CTRL:
-
 
710
		    	        case KEY_DOWN:
-
 
711
		    	        case KEY_END:
-
 
712
		    	        case KEY_ESCAPE:
-
 
713
		    	        case KEY_HOME:
-
 
714
		    	        case KEY_LEFT:
-
 
715
		    	        case KEY_PAGEDOWN:
-
 
716
		    	        case KEY_PAGEUP:
-
 
717
		    	        case KEY_RIGHT:
-
 
718
		    	        case KEY_SHIFT:
-
 
719
		    	        case KEY_TAB:
-
 
720
		    	        	if(date.getRawValue().equals(VALEURS_MULTIPLES)) {
-
 
721
		    	        		date.clearInvalid();
-
 
722
		    	        	}
-
 
723
		    	        case KEY_UP:
605
		lienCoord.addListener("click", new EventCallback() {
724
		    	    	
-
 
725
		    	        break;
-
 
726
	  	    	      
-
 
727
	  	    	      case KEY_ENTER:	  	
-
 
728
	  	    	    		validerSaisie(Champs.DATE); 
-
 
729
	  	    	    	  break;
-
 
730
	  	    	       
-
 
731
	  	    	      default:
-
 
732
	  					dateModifiee = true;
-
 
733
					}
-
 
734
				}
606
			@Override
735
		    });
-
 
736
		    
-
 
737
		    date.addListener(new DatePickerListenerAdapter() {
-
 
738
 
-
 
739
				@Override
-
 
740
				public void onSelect(DatePicker dataPicker, Date date) {
-
 
741
					dateModifiee = true;
-
 
742
				}
-
 
743
		    });
-
 
744
		    
-
 
745
		    ListenerConfig listenerConfigAutocompletion=new ListenerConfig();
-
 
746
		    listenerConfigAutocompletion.setDelay(200);
-
 
747
		    listenerConfigAutocompletion.setStopPropagation(false);
-
 
748
		    listenerConfigAutocompletion.setStopEvent(false);
-
 
749
 
-
 
750
		    			
-
 
751
			// Listener completion espece 
-
 
752
			espece.addListener(new ComboBoxListenerAdapter() {  
-
 
753
	             @Override
-
 
754
				public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
755
	            	 espece.setValue(record.getAsString("nom"));
-
 
756
	            	 numeroNom=record.getAsString("numeroNom");
-
 
757
	                 selectionEspece=true;
-
 
758
	                 observationMediateur.obtenirImageInformationExternes(numeroNom);
-
 
759
	             }  
-
 
760
	         });  
-
 
761
	         
-
 
762
 
-
 
763
			ListenerConfig listenerConfigEspece=new ListenerConfig();
-
 
764
			listenerConfigEspece.setDelay(10);
-
 
765
			listenerConfigEspece.setStopPropagation(false);
-
 
766
			listenerConfigEspece.setStopEvent(false);			
-
 
767
 
-
 
768
		
-
 
769
			espece.addKeyPressListener(new EventCallback()	{
-
 
770
		    	
-
 
771
		    	    @Override
-
 
772
					public void execute(EventObject e) {
-
 
773
		    	    	
-
 
774
		    	    		  
-
 
775
		    	    		  switch(e.getKey()) {
-
 
776
		    	    	      	    		  
-
 
777
		    	    		  
-
 
778
		    	    		  case KEY_ALT:
-
 
779
		    	    	      case KEY_CTRL:
-
 
780
		    	    	      case KEY_DOWN:
-
 
781
		    	    	      case KEY_END:
-
 
782
		    	    	      case KEY_ESCAPE:
-
 
783
		    	    	      case KEY_HOME:
-
 
784
		    	    	      case KEY_LEFT:
-
 
785
		    	    	      case KEY_PAGEDOWN:
-
 
786
		    	    	      case KEY_PAGEUP:
-
 
787
		    	    	      case KEY_RIGHT:
-
 
788
		    	    	      case KEY_SHIFT:
-
 
789
		    	    	      case KEY_TAB:
-
 
790
		    	    	      case KEY_UP:
-
 
791
		    	    	    	
-
 
792
		    	    	        break;
-
 
793
		    	    	      
-
 
794
		    	    	      case KEY_ENTER:
-
 
795
		    	    	    	  
-
 
796
			    	    	    	if(selectionEspece) {
-
 
797
			    	    	    		especeModifiee = true;
-
 
798
			    	    	    		selectionEspece=false;
-
 
799
			    	    	    	}
-
 
800
			    	    	    	else {
-
 
801
			    	    	    		validerSaisie(Champs.ESPECE); 	    	    		 
-
 
802
			    	    	    	}
-
 
803
		    	    	    	
-
 
804
		    	    	    	  break;
-
 
805
		    	    	       
-
 
806
		    	    	      default:
-
 
807
		    	    	    	  
-
 
808
		    	    	    	  numeroNom="";
-
 
809
		    	    	    	  obtenirListeReferentielNom();
-
 
810
		    	    	    	  especeModifiee = true;
-
 
811
		    	    	    	  	    	    	        
-
 
812
		    	    	        break;
-
 
813
		    	    	    }
-
 
814
 
-
 
815
		    	    	 
-
 
816
		    	    	
-
 
817
		     		}
-
 
818
		    	 
-
 
819
		    		},    listenerConfigEspece
-
 
820
		    	
-
 
821
			);
607
			public void execute(EventObject e) {
822
			
-
 
823
			comment.addKeyPressListener(new EventCallback() {
-
 
824
 
608
				
825
				@Override
-
 
826
				public void execute(EventObject e) {
-
 
827
					switch(e.getKey()) { 
-
 
828
						case KEY_ALT:
-
 
829
			    	      case KEY_CTRL:
-
 
830
			    	      case KEY_DOWN:
-
 
831
			    	      case KEY_END:
-
 
832
			    	      case KEY_ESCAPE:
-
 
833
			    	      case KEY_HOME:
-
 
834
			    	      case KEY_LEFT:
-
 
835
			    	      case KEY_PAGEDOWN:
-
 
836
			    	      case KEY_PAGEUP:
-
 
837
			    	      case KEY_RIGHT:
-
 
838
			    	      case KEY_SHIFT:
-
 
839
			    	      case KEY_TAB:
-
 
840
			    	      case KEY_UP:
-
 
841
		    	    	
-
 
842
		    	        break;
-
 
843
 
-
 
844
		    	        default:
-
 
845
						commModifie = true;
-
 
846
					}
-
 
847
				}
-
 
848
		    });
-
 
849
			
-
 
850
			tCoord = new Timer() {
609
				coordPanel.setVisible(!coordPanel.isVisible());
851
 
-
 
852
				@Override
-
 
853
				public void run() {
-
 
854
    	        	double[] coord = coordonneesValides();
-
 
855
    	        	if(!rechercheCommuneEnCours && coord != null && (longModifiee || latModifiee)) {
-
 
856
    	        		rechercheCommuneEnCours = true;
-
 
857
    	        		Ext.get(lienSelectionCommune.getElement()).mask("recherche");
610
				
Line -... Line 611...
-
 
611
				if(Ext.isIE()) {
858
    	        		observationMediateur.obtenirInformationCoord(r,LatLng.newInstance(coord[0], coord[1]));
612
					latitude.focus();
-
 
613
				}
859
    	        	}
614
				
-
 
615
				CarnetEnLigneMediateur.fireResize();
-
 
616
			}
-
 
617
		}) ;
-
 
618
		
-
 
619
		ExtElement lienCartoCoord = Ext.get("lien_carto_coord");
-
 
620
		lienCartoCoord.removeAllListeners();
-
 
621
		lienCartoCoord.addListener("click", new EventCallback() {
-
 
622
			@Override
-
 
623
			public void execute(EventObject e) {
-
 
624
				obtenirInformationCoord();
-
 
625
			}
860
				}
626
		}) ;
Line 861... Line 627...
861
				
627
	
862
			};
628
		ExtElement lienCarto = Ext.get("lien_carto");
863
			
-
 
864
			latitude.addKeyPressListener(new EventCallback() {
-
 
865
 
-
 
866
				@Override
-
 
867
				public void execute(EventObject e) {
-
 
868
					switch(e.getKey()) { 
-
 
869
						case KEY_ALT:
-
 
870
			    	      case KEY_CTRL:
-
 
871
			    	      case KEY_DOWN:
-
 
872
			    	      case KEY_END:
-
 
873
			    	      case KEY_ESCAPE:
-
 
874
			    	      case KEY_HOME:
-
 
875
			    	      case KEY_LEFT:
-
 
876
			    	      case KEY_PAGEDOWN:
-
 
877
			    	      case KEY_PAGEUP:
-
 
878
			    	      case KEY_RIGHT:
-
 
879
			    	      case KEY_SHIFT:
629
		lienCarto.removeAllListeners();
880
			    	      case KEY_TAB:
630
		lienCarto.addListener("click", new EventCallback() {
881
			    	      case KEY_UP:
631
 
882
		    	    	
632
			@Override
883
		    	        break;
633
			public void execute(EventObject e) {
884
		    	        
634
				
885
			    	      case KEY_ENTER:	  	    	    	  
-
 
886
	  	    	    		validerSaisie(Champs.LATITUDE); 	    	    		 
-
 
887
	  	    	    	  break;
635
				if(commune.getValue() != null && !commune.getValue().equals("") && !getDepartement().equals("")) {
888
 
-
 
889
		    	        default:
636
					obtenirInformationCommune();
-
 
637
					longlatAjoutee = true;
890
						latModifiee = true;
638
		
-
 
639
				} else {
-
 
640
					Window.alert("Veuillez renseigner une commune et un numéro de département sous la forme : Commune (departement)");
Line 891... Line -...
891
	    	        	tCoord.cancel();
-
 
892
	    	        	tCoord.schedule(250);
-
 
893
					}
-
 
894
				}
-
 
895
		    });
-
 
896
			
-
 
897
			longitude.addKeyPressListener(new EventCallback() {
-
 
898
 
-
 
899
				@Override
-
 
900
				public void execute(EventObject e) {
-
 
901
					switch(e.getKey()) { 
-
 
902
					
-
 
903
						case KEY_ALT:
-
 
904
			    	      case KEY_CTRL:
-
 
905
			    	      case KEY_DOWN:
-
 
906
			    	      case KEY_END:
-
 
907
			    	      case KEY_ESCAPE:
-
 
908
			    	      case KEY_HOME:
-
 
909
			    	      case KEY_LEFT:
-
 
910
			    	      case KEY_PAGEDOWN:
-
 
911
			    	      case KEY_PAGEUP:
-
 
912
			    	      case KEY_RIGHT:
-
 
913
			    	      case KEY_SHIFT:
-
 
914
			    	      case KEY_UP:
-
 
915
			    	      case KEY_TAB:
-
 
916
			    	      break;
-
 
917
			    	      
641
				}
918
			    	      case KEY_ENTER:	  	    	    	  
-
 
919
		  	    	    		validerSaisie(Champs.LONGITUDE); 	    	    		 
-
 
920
		  	    	    	break;
-
 
921
 
-
 
922
		    	        default:
-
 
Line 923... Line 642...
923
							longModifiee = true;
642
			}
924
		    	        	tCoord.cancel();
-
 
925
		    	        	tCoord.schedule(250);
-
 
926
					}
-
 
927
				}
643
		});
928
		    });
644
		
929
			
645
		if(!Ext.isIE() && Window.getClientWidth() < 1200) {
930
			selecteurAbondance.addListener(new ComboBoxListenerAdapter() {  
646
			
Line -... Line 647...
-
 
647
			int largeurN = (int)largeur;
-
 
648
			
-
 
649
			latitude.setWidth(largeurN+"px");
-
 
650
			longitude.setWidth(largeurN+"px");
-
 
651
			lienSelectionCommune.setWidth(largeurN+"px");						
931
 
652
		}
-
 
653
	}
-
 
654
			
-
 
655
	private void ajouterListeners()
Line 932... Line -...
932
				@Override
-
 
933
				public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
934
	                 selectionAbondance=true;
-
 
935
	                 abondanceModifiee = true;
-
 
936
	             }
-
 
937
	         });  
-
 
938
			
-
 
939
			selecteurAbondance.addKeyPressListener(new EventCallback() {
-
 
940
 
-
 
941
				@Override
-
 
942
				public void execute(EventObject e) {
-
 
943
					switch(e.getKey()) { 
-
 
944
						case KEY_ALT:
-
 
945
			    	      case KEY_CTRL:
-
 
946
			    	      case KEY_DOWN:
-
 
947
			    	      case KEY_END:
-
 
948
			    	      case KEY_ESCAPE:
-
 
949
			    	      case KEY_HOME:
-
 
950
			    	      case KEY_LEFT:
-
 
951
			    	      case KEY_PAGEDOWN:
-
 
952
			    	      case KEY_PAGEUP:
-
 
953
			    	      case KEY_RIGHT:
-
 
954
			    	      case KEY_SHIFT:
-
 
955
			    	      case KEY_TAB:
-
 
956
			    	      case KEY_UP:
-
 
957
		    	        break;
-
 
958
		    	        
-
 
959
			    	    case KEY_ENTER:
-
 
960
			    	    	if(!selectionAbondance) {	
-
 
961
		  	    	    		validerSaisie(Champs.ABONDANCE); 	
-
 
962
			    	    	} else {
-
 
963
			    	    		selectionAbondance = false;
-
 
964
			    	    	}
-
 
965
	  	    	    	break;
-
 
966
 
-
 
967
		    	        default:
-
 
968
		    	        	selecteurAbondance.setRawValue(selecteurAbondance.getRawValue());
656
	{	
Line 969... Line 657...
969
		    	        	selecteurAbondance.setValue(selecteurAbondance.getRawValue());
657
		// Listener completion communne 
970
		    	        	abondanceModifiee = true;
658
		final Rafraichissable r = this;
971
		    	        	selectionAbondance = false;
-
 
972
		    	        break;
659
		  	        
973
					}
660
		ListenerConfig listenerConfigCommune=new ListenerConfig();
974
				}
661
		listenerConfigCommune.setDelay(200);
-
 
662
		listenerConfigCommune.setStopPropagation(false);
-
 
663
		listenerConfigCommune.setStopEvent(false);
-
 
664
 
-
 
665
	    date.addListener(new DatePickerListenerAdapter() {
-
 
666
 
-
 
667
			@Override
-
 
668
			public void onSelect(DatePicker dataPicker, Date date) {
-
 
669
				dateModifiee = true;
-
 
670
			}
-
 
671
	    });
Line 975... Line 672...
975
		    });
672
	    
Line 976... Line -...
976
			
-
 
977
			selecteurCertitude.addListener(new ComboBoxListenerAdapter() {  
-
 
978
 
-
 
979
				@Override
-
 
980
				public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
981
	                 selectionCertitude=true;
-
 
982
	                 certitudeModifiee = true;
-
 
983
	             }
-
 
984
	         });  
-
 
985
			
-
 
986
			selecteurCertitude.addKeyPressListener(new EventCallback() {
-
 
987
 
-
 
988
				@Override
-
 
989
				public void execute(EventObject e) {
-
 
990
					switch(e.getKey()) { 
-
 
991
						case KEY_ALT:
-
 
992
			    	      case KEY_CTRL:
-
 
993
			    	      case KEY_DOWN:
-
 
994
			    	      case KEY_END:
-
 
995
			    	      case KEY_ESCAPE:
-
 
996
			    	      case KEY_HOME:
-
 
997
			    	      case KEY_LEFT:
-
 
998
			    	      case KEY_PAGEDOWN:
-
 
999
			    	      case KEY_PAGEUP:
-
 
1000
			    	      case KEY_RIGHT:
-
 
1001
			    	      case KEY_SHIFT:
-
 
1002
			    	      case KEY_TAB:
-
 
1003
			    	      case KEY_UP:
-
 
1004
		    	        break;
-
 
1005
		    	        
-
 
1006
			    	    case KEY_ENTER:
-
 
1007
			    	    	if(!selectionCertitude) {	
-
 
1008
		  	    	    		validerSaisie(Champs.CERTITUDE); 	
-
 
1009
			    	    	} else {
-
 
1010
			    	    		selectionCertitude = false;
-
 
1011
			    	    	}
-
 
1012
	  	    	    	break;
-
 
1013
 
-
 
1014
		    	        default:
673
	    ListenerConfig listenerConfigAutocompletion=new ListenerConfig();
-
 
674
	    listenerConfigAutocompletion.setDelay(200);
-
 
675
	    listenerConfigAutocompletion.setStopPropagation(false);
-
 
676
	    listenerConfigAutocompletion.setStopEvent(false);
-
 
677
	    
-
 
678
		ListenerConfig listenerConfigEspece=new ListenerConfig();
-
 
679
		listenerConfigEspece.setDelay(10);
-
 
680
		listenerConfigEspece.setStopPropagation(false);
-
 
681
		listenerConfigEspece.setStopEvent(false);
-
 
682
			
-
 
683
		tCoord = new Timer() {
-
 
684
 
-
 
685
			@Override
-
 
686
			public void run() {
-
 
687
	        	double[] coord = coordonneesValides();
-
 
688
	        	if(!rechercheCommuneEnCours && coord != null && (longModifiee || latModifiee)) {
-
 
689
	        		rechercheCommuneEnCours = true;
-
 
690
	        		Ext.get(lienSelectionCommune.getElement()).mask("recherche");
1015
		    	        	selecteurCertitude.setRawValue(selecteurCertitude.getRawValue());
691
	        		observationMediateur.obtenirInformationCoord(r,LatLng.newInstance(coord[0], coord[1]));
-
 
692
	        	}
-
 
693
			}
-
 
694
			
-
 
695
		};
Line -... Line 696...
-
 
696
		
-
 
697
		ajouterListenerChampEvenementsClavier(commune, listenerConfigCommune);
-
 
698
	    ajouterListenerChampEvenementsClavier(date);
1016
		    	        	selecteurCertitude.setValue(selecteurCertitude.getRawValue());
699
		ajouterListenerChampEvenementsClavier(selecteurReferentielTaxo);
1017
		    	        	certitudeModifiee = true;
700
		ajouterListenerChampEvenementsClavier(espece, listenerConfigEspece);
1018
		    	        	selectionCertitude = false;
701
		ajouterListenerChampEvenementsClavier(comment);
1019
		    	        break;
702
		ajouterListenerChampEvenementsClavier(latitude);
1020
					}
703
		ajouterListenerChampEvenementsClavier(longitude);
1021
				}
704
		ajouterListenerChampEvenementsClavier(selecteurAbondance);			
1022
		    });
705
		ajouterListenerChampEvenementsClavier(selecteurCertitude);			
1023
 
706
		ajouterListenerChampEvenementsClavier(selecteurStadePheno);
1024
		boutonOK.addListener(new ButtonListenerAdapter() {
707
		ajouterListenerChampsCombobox();
1025
			
708
		
1026
			@Override
-
 
1027
			public void onClick(Button button, EventObject e) {
-
 
1028
		
709
		boutonOK.addListener(new ButtonListenerAdapter() {
1029
				if(modification) {
-
 
1030
					if(masseModification) {
710
			@Override
1031
							modifierObservationEnMasse(null);
711
			public void onClick(Button button, EventObject e) {	
1032
					} else {
712
				if(modification) {
1033
						modifierObservation() ;
-
 
1034
					}
713
					if(masseModification) {
1035
				}
714
							modifierObservationEnMasse(null);
1036
				else {
-
 
1037
					ajouterObservation();
715
					} else {
1038
				}
716
						modifierObservation() ;
1039
				
717
					}
1040
				
718
				}
1041
			}
719
				else {
1042
			
720
					ajouterObservation();
1043
		});
721
				}
1044
		
722
			}			
1045
		boutonAnnuler.addListener(new ButtonListenerAdapter() {
723
		});
1046
			
-
 
1047
			@Override
724
	
1048
			public void onClick(Button button, EventObject e) {
725
		boutonAnnuler.addListener(new ButtonListenerAdapter() {	
1049
				
726
			@Override
1050
				if(modification)
727
			public void onClick(Button button, EventObject e) {			
1051
				{
728
				if(modification)
1052
					supprimerObservation() ;
729
				{
1053
				}
730
					supprimerObservation() ;
1054
				else
731
				}
-
 
732
				else
-
 
733
				{
-
 
734
					raz();
-
 
735
				}
-
 
736
			}	
-
 
737
		});
-
 
738
	
-
 
739
		this.addListener(new ContainerListenerAdapter() {
-
 
740
			@Override
-
 
741
			public void onAfterLayout(Container self) {
-
 
742
				commune.focus();
-
 
743
			}
-
 
744
		});		
-
 
745
	}
-
 
746
	
-
 
747
	private void ajouterListenerChampsCombobox() {
-
 
748
		commune.addListener(new ComboBoxListenerAdapter() {  
-
 
749
            @Override
-
 
750
			public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
751
                commune.setValue(record.getAsString("commune"));
-
 
752
                departement=record.getAsString("departement");
-
 
753
                codeInseeCommune=record.getAsString("codeInsee");
-
 
754
                selectionCommune=true;
-
 
755
                commune.collapse();
-
 
756
            }  
-
 
757
            
-
 
758
            @Override
-
 
759
			public void onExpand(ComboBox comboBox) {
-
 
760
           	 comboBox.focus();
-
 
761
            }
-
 
762
        }); 
-
 
763
		 
-
 
764
		selecteurReferentielTaxo.addListener(new ComboBoxListenerAdapter() {  
-
 
765
             @Override
-
 
766
			public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
767
            	 referentielTaxo = record.getAsString("valeur");
-
 
768
                 observationMediateur.setRefTaxSelectionne(index);
-
 
769
                 referentielTaxoModifie = true;
-
 
770
             }  
-
 
771
         });  
-
 
772
		
-
 
773
		espece.addListener(new ComboBoxListenerAdapter() {  
-
 
774
             @Override
-
 
775
			public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
776
            	 espece.setValue(record.getAsString("nom"));
-
 
777
            	 numeroNom=record.getAsString("numeroNom");
-
 
778
                 selectionEspece=true;
-
 
779
                 observationMediateur.obtenirImageInformationExternes(referentielTaxo, numeroNom);
-
 
780
             }  
-
 
781
         });  
-
 
782
		
-
 
783
		selecteurAbondance.addListener(new ComboBoxListenerAdapter() {  
-
 
784
			@Override
-
 
785
			public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
786
                 selectionAbondance=true;
-
 
787
                 abondanceModifiee = true;
-
 
788
             }
-
 
789
         });
-
 
790
		
-
 
791
		selecteurCertitude.addListener(new ComboBoxListenerAdapter() {  
-
 
792
 
-
 
793
			@Override
-
 
794
			public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
795
                 selectionCertitude=true;
-
 
796
                 certitudeModifiee = true;
-
 
797
             }
-
 
798
         }); 
-
 
799
		
-
 
800
		selecteurStadePheno.addListener(new ComboBoxListenerAdapter() {  
-
 
801
			@Override
-
 
802
			public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
803
                 selectionPhenologie=true;
-
 
804
                 phenologieModifiee = true;
-
 
805
             }
-
 
806
         });  
-
 
807
	}
-
 
808
	
-
 
809
	private void ajouterListenerChampEvenementsClavier(final TextField champ) {
-
 
810
		champ.addKeyPressListener(new EventCallback() {
-
 
811
			@Override
-
 
812
			public void execute(EventObject e) {
-
 
813
				surEvenementClavier(e, champ);
-
 
814
			}
-
 
815
	    });
-
 
816
	}
-
 
817
	
-
 
818
	
-
 
819
	private void ajouterListenerChampEvenementsClavier(final TextField champ, final ListenerConfig config) {
-
 
820
		champ.addKeyPressListener(new EventCallback() {
-
 
821
			@Override
-
 
822
			public void execute(EventObject e) {
-
 
823
				surEvenementClavier(e, champ);
-
 
824
			}
-
 
825
	    }, config);
-
 
826
	}
-
 
827
	
-
 
828
	private void surEvenementClavier(EventObject e, TextField champ) {
-
 
829
		switch(e.getKey()) { 
-
 
830
			case KEY_ALT:
-
 
831
			case KEY_CTRL:
-
 
832
			case KEY_DOWN:
-
 
833
			case KEY_END:
-
 
834
			case KEY_ESCAPE:
-
 
835
			case KEY_HOME:
-
 
836
			case KEY_LEFT:
-
 
837
			case KEY_PAGEDOWN:
-
 
838
			case KEY_PAGEUP:
-
 
839
			case KEY_RIGHT:
-
 
840
			case KEY_SHIFT:
-
 
841
			case KEY_TAB:
-
 
842
			case KEY_UP:
-
 
843
	        break;
-
 
844
	        
-
 
845
		    case KEY_ENTER:
-
 
846
		    	surEvenementClavierToucheEntree(champ);
-
 
847
		    	break;
-
 
848
	
-
 
849
	        default:
-
 
850
	        	gererEvenementClavierDefaut(champ);
-
 
851
	        break;
-
 
852
		}
-
 
853
	}
-
 
854
	
-
 
855
	private void surEvenementClavierToucheEntree(TextField champ) {
-
 
856
		//TODO: faire un switch ou une enum
-
 
857
		if(champ.equals(selecteurStadePheno)) {
-
 
858
			if(!selectionPhenologie) {	
-
 
859
  	    		validerSaisie(Champs.PHENOLOGIE); 	
-
 
860
	    	} else {
-
 
861
	    		selectionPhenologie = false;
-
 
862
	    	}
-
 
863
		}
-
 
864
		
-
 
865
		if(champ.equals(selecteurCertitude)) {
-
 
866
			if(!selectionCertitude) {	
-
 
867
		    		validerSaisie(Champs.CERTITUDE); 	
-
 
868
	    	} else {
-
 
869
	    		selectionCertitude = false;
-
 
870
	    	}
1055
				{
871
		}
-
 
872
		
-
 
873
		if(champ.equals(selecteurAbondance)) {
-
 
874
			if(!selectionAbondance) {	
-
 
875
		    	validerSaisie(Champs.ABONDANCE); 	
-
 
876
	    	} else {
-
 
877
	    		selectionAbondance = false;
-
 
878
	    	}
-
 
879
		}
-
 
880
		
-
 
881
		if(champ.equals(longitude)) {
-
 
882
			validerSaisie(Champs.LONGITUDE);
-
 
883
		}
-
 
884
		
-
 
885
		if(champ.equals(latitude)) {  	    	    	  
-
 
886
	    	validerSaisie(Champs.LATITUDE); 
-
 
887
		}
-
 
888
		
-
 
889
		if(champ.equals(espece)) {
-
 
890
			if(selectionEspece) {
-
 
891
	    		especeModifiee = true;
-
 
892
	    		selectionEspece=false;
-
 
893
	    	}
-
 
894
	    	else {
-
 
895
	    		validerSaisie(Champs.ESPECE); 	    	    		 
-
 
896
	    	}
-
 
897
		}
-
 
898
		
-
 
899
		if(champ.equals(selecteurReferentielTaxo)) {
-
 
900
			validerSaisie(Champs.REFERENTIELTAXO); 
-
 
901
		}
-
 
902
		
-
 
903
		if(champ.equals(date)) {
-
 
904
			validerSaisie(Champs.DATE); 
-
 
905
		}
-
 
906
		
-
 
907
		if(champ.equals(commune)) {		
-
 
908
			if(champ.equals(commune)) {
-
 
909
				if (selectionCommune) {
-
 
910
		    		 communeModifiee= true;
-
 
911
		    		 selectionCommune=false;
-
 
912
		    	 }
-
 
913
		    	else {
-
 
914
		    		validerSaisie(Champs.COMMUNE);    	    	    		 
-
 
915
		    	 }
-
 
916
			}
-
 
917
		}
-
 
918
	}
-
 
919
	
-
 
920
	private void gererEvenementClavierDefaut(TextField champ) {
-
 
921
		//TODO: faire un switch ou une enum
-
 
922
		if(champ.equals(selecteurStadePheno)) {
-
 
923
			selecteurStadePheno.setRawValue(selecteurStadePheno.getRawValue());
-
 
924
			selecteurStadePheno.setValue(selecteurStadePheno.getRawValue());
-
 
925
			phenologieModifiee = true;
-
 
926
			selectionPhenologie = false;
-
 
927
		}
-
 
928
		
-
 
929
		if(champ.equals(selecteurCertitude)) {
-
 
930
			selecteurCertitude.setRawValue(selecteurCertitude.getRawValue());
-
 
931
	    	selecteurCertitude.setValue(selecteurCertitude.getRawValue());
-
 
932
	    	certitudeModifiee = true;
-
 
933
	    	selectionCertitude = false;
-
 
934
		}
-
 
935
		
-
 
936
		if(champ.equals(selecteurAbondance)) {
-
 
937
			selecteurAbondance.setRawValue(selecteurAbondance.getRawValue());
-
 
938
	    	selecteurAbondance.setValue(selecteurAbondance.getRawValue());
-
 
939
	    	abondanceModifiee = true;
-
 
940
	    	selectionAbondance = false;
-
 
941
		}
-
 
942
		
-
 
943
		if(champ.equals(longitude)) {
-
 
944
			longModifiee = true;
-
 
945
        	tCoord.cancel();
-
 
946
        	tCoord.schedule(250);
-
 
947
		}
-
 
948
		
-
 
949
		if(champ.equals(latitude)) {  	    	    	  
-
 
950
			latModifiee = true;
-
 
951
	      	tCoord.cancel();
-
 
952
	      	tCoord.schedule(250);
-
 
953
		}
-
 
954
		
-
 
955
		if(champ.equals(comment)) {
-
 
956
			commModifie = true;
-
 
957
		}
-
 
958
		
-
 
959
		if(champ.equals(espece)) {
-
 
960
			numeroNom="";
-
 
961
	    	obtenirListeReferentielNom();
-
 
962
	    	especeModifiee = true;
-
 
963
		}
-
 
964
		
-
 
965
		if(champ.equals(selecteurReferentielTaxo)) {
1056
					raz();
966
			referentielTaxoModifie = true;
Line 1057... Line 967...
1057
				}
967
		}
1058
			}
968
		
1059
			
969
		if(champ.equals(date)) {
Line 1060... Line 970...
1060
		});
970
			dateModifiee = true;
Line 1061... Line 971...
1061
		
971
		}
1062
		this.addListener(new ContainerListenerAdapter() {
972
		
1063
			@Override
973
		if(champ.equals(commune)) {
1064
			public void onAfterLayout(Container self) {
974
			departement="";
1065
				commune.focus();
975
	    	commune.collapse();	
1066
			}
976
	    	obtenirListeReferentielCommune();
Line 1067... Line 977...
1067
		});	
977
	    	communeModifiee= true;	
Line 1142... Line 1052...
1142
				commune.setStore(store);
1052
				commune.setStore(store);
1143
				store.load();
1053
				store.load();
Line 1144... Line 1054...
1144
				
1054
				
Line 1145... Line 1055...
1145
			}
1055
			}
1146
			
-
 
1147
			//			 si l'on a reçu une liste du référentiel nom (complétion referentiel nom)
1056
			
1148
			
1057
			// si l'on a reçu une liste du référentiel nom (complétion referentiel nom)
1149
			if(nouvelleDonnees instanceof ListeReferentielNom)
-
 
1150
			{
1058
			if(nouvelleDonnees instanceof ListeReferentielNom)
1151
				
1059
			{
1152
				ListeReferentielNom data = (ListeReferentielNom) nouvelleDonnees ;
1060
				ListeReferentielNom data = (ListeReferentielNom) nouvelleDonnees ;
Line 1153... Line 1061...
1153
				Object[][] nomData = new Object[data.size()][3];
1061
				Object[][] nomData = new Object[data.size()][3];
1154
				int i = 0 ;
1062
				int i = 0 ;
1155
 
1063
 
Line 1156... Line 1064...
1156
				// on la parse et on récupère les informations quiç nous interessent
1064
				// on la parse et on récupère les informations qui nous interessent
Line 1198... Line 1106...
1198
				
1106
				
1199
				ListeObservation listeObs = (ListeObservation)nouvelleDonnees;
1107
				ListeObservation listeObs = (ListeObservation)nouvelleDonnees;
1200
				calculerAfficherDifferences(listeObs);
1108
				calculerAfficherDifferences(listeObs);
Line 1201... Line -...
1201
			}
-
 
1202
			
-
 
1203
			// Sur Mise à jour ou suppression d'une suppression ?
1109
			}
1204
			
1110
			
1205
			if(nouvelleDonnees instanceof String)
1111
			if(nouvelleDonnees instanceof String)
1206
			{
1112
			{
1207
				String str = (String)nouvelleDonnees ;
1113
				String str = (String)nouvelleDonnees ;
Line 1297... Line 1203...
1297
		commune.setValue(nCommune);
1203
		commune.setValue(nCommune);
1298
		communeModifiee = true;
1204
		communeModifiee = true;
1299
	}
1205
	}
Line 1300... Line 1206...
1300
 
1206
 
1301
	private void rafraichirCommuneEtCoord(EntiteGeographiqueObservation infosCom) {
-
 
1302
		;
1207
	private void rafraichirCommuneEtCoord(EntiteGeographiqueObservation infosCom) {
1303
		// on ne remplace la commune que si le champ était vide
1208
		// on ne remplace la commune que si le champ était vide
1304
		if(commune.getRawValue() == null || commune.getRawValue().equals("")) {
1209
		if(commune.getRawValue() == null || commune.getRawValue().equals("")) {
1305
			rafraichirCommune(infosCom);
1210
			rafraichirCommune(infosCom);
Line 1326... Line 1231...
1326
		  
1231
		  
Line 1327... Line 1232...
1327
	 observationMediateur.obtenirListeReferentielCommune(this,com);
1232
	 observationMediateur.obtenirListeReferentielCommune(this,com);
Line 1328... Line -...
1328
	 
-
 
1329
	}
1233
	 
1330
	
-
 
1331
 
1234
	}
1332
	public void obtenirListeReferentielNom() {	 
1235
	
-
 
1236
	public void obtenirListeReferentielNom() {	 
Line 1333... Line 1237...
1333
	 // FIXME : trouver un autre moyen que le hack "/*" pour rechercher les taxons lors de la saisie d'un espace apres le genre
1237
	  String esp=espece.getText().replaceAll(" ","/*");
1334
	  String esp=espece.getText().replaceAll(" ","/*");
1238
	  esp=esp.replaceAll("%","");
Line 1335... Line 1239...
1335
	  esp=esp.replaceAll("%","");
1239
	  String referentiel = this.referentielTaxo;
1336
		
1240
		
1337
	  observationMediateur.obtenirListeReferentielNom(this,esp);	 
1241
	  observationMediateur.obtenirListeReferentielNom(this,referentiel ,esp);	 
Line 1355... Line 1259...
1355
			Window.alert("Attention la date saisie est invalide, la date doit être au format jj/mm/aaaa");
1259
			Window.alert("Attention la date saisie est invalide, la date doit être au format jj/mm/aaaa");
1356
			date.setInvalidText("Date invalide");
1260
			date.setInvalidText("Date invalide");
1357
			return;
1261
			return;
1358
		}
1262
		}
Line 1359... Line 1263...
1359
		
1263
		
1360
		if(departement != null) {  
-
 
1361
		// TODO : regler le probleme a la base plutot que ce patch
-
 
1362
			
1264
		if(departement != null) {
1363
			if(departement.equals("000null") || departement.equals("")) {
1265
			if(departement.equals("000null") || departement.equals("")) {
1364
				String[] depCom = commune.getText().split(" ");
1266
				String[] depCom = commune.getText().split(" ");
1365
				if(depCom.length > 1) {
1267
				if(depCom.length > 1) {
1366
					String dep = depCom[1].replace('(', ' ');
1268
					String dep = depCom[1].replace('(', ' ');
Line 1381... Line 1283...
1381
						departement = "" ;
1283
						departement = "" ;
1382
					}
1284
					}
1383
				}
1285
				}
1384
			}
1286
			}
1385
		}
1287
		}
1386
		
1288
 
1387
		String dateObs = Util.remplacerSeparateursDateFormatCel(date.getRawValue());
1289
		String dateObs = Util.remplacerSeparateursDateFormatCel(date.getRawValue());
Line 1388... Line 1290...
1388
 
1290
 
Line 1389... Line 1291...
1389
		Observation obs=new Observation(espece.getText(),numeroNom,commune.getText(),departement,lieudit.getText(),station.getText(),milieu.getText(), comment.getText(),dateObs);	
1291
		Observation obs=new Observation(espece.getText(),numeroNom,commune.getText(),departement,lieudit.getText(),station.getText(),milieu.getText(), comment.getText(),dateObs);	
1390
		
-
 
1391
		String[] coords = getValeurCoordonnees();
1292
		
1392
		
1293
		String[] coords = getValeurCoordonnees();
1393
		obs.setLatitude(coords[0]);
1294
		obs.setLatitude(coords[0]);
1394
		obs.setLongitude(coords[1]);
1295
		obs.setLongitude(coords[1]);
1395
		
1296
 
-
 
1297
		obs.setAbondance(getAbondance());
-
 
1298
		obs.setCertitude(getCertitude());
-
 
1299
		obs.setPhenologie(getPhenologie());
Line 1396... Line 1300...
1396
		obs.setAbondance(getAbondance());
1300
		
1397
		obs.setCertitude(getCertitude());
1301
		obs.setReferentielTaxo(Ontologies.getInfosReferentielNomParCode(referentielTaxo).getCodeVersionComplet());
1398
		
1302
		
1399
		observationMediateur.ajouterObservation(obs);
1303
		observationMediateur.ajouterObservation(obs);
Line 1400... Line 1304...
1400
	}
1304
	}
1401
	
1305
 
1402
	private void modifierObservation() {
1306
	private void modifierObservation() {
Line 1440... Line 1344...
1440
		obs.setLatitude(coords[0]);
1344
		obs.setLatitude(coords[0]);
1441
		obs.setLongitude(coords[1]);
1345
		obs.setLongitude(coords[1]);
Line 1442... Line 1346...
1442
		
1346
		
1443
		obs.setAbondance(getAbondance());
1347
		obs.setAbondance(getAbondance());
-
 
1348
		obs.setCertitude(getCertitude());
-
 
1349
		obs.setPhenologie(getPhenologie());
Line 1444... Line 1350...
1444
		obs.setCertitude(getCertitude());
1350
		obs.setReferentielTaxo(getReferentielTaxo());
Line 1445... Line 1351...
1445
		
1351
		
1446
		observationMediateur.modifierObservation(obs);
1352
		observationMediateur.modifierObservation(obs);
1447
 
-
 
1448
		selecteurMode.setValue("création");
1353
 
Line 1449... Line 1354...
1449
		setModification("false");
1354
		selecteurMode.setValue("création");
-
 
1355
		setModification("false");
-
 
1356
	}
1450
		
1357
	
1451
	}
1358
	private void modifierObservationEnMasse(Champs champModifie) {
1452
	
1359
		
1453
	private void modifierObservationEnMasse(Champs champModifie) {
1360
		//TODO: factoriser
1454
		String communeM = null;
1361
		String communeM = null;
Line 1462... Line 1369...
1462
		String commM = null; 
1369
		String commM = null; 
1463
		String latM = null;
1370
		String latM = null;
1464
		String longM = null;
1371
		String longM = null;
1465
		String abondanceM = null;
1372
		String abondanceM = null;
1466
		String certitudeM = null;
1373
		String certitudeM = null;
-
 
1374
		String referentielTaxoM = null;
-
 
1375
		String phenologieM = null;
Line 1467... Line 1376...
1467
		
1376
		
Line 1468... Line 1377...
1468
		String champs = modeleMessageModif;
1377
		String champs = modeleMessageModif;
1469
			
1378
			
Line 1558... Line 1467...
1558
			certitudeM = getCertitude();
1467
			certitudeM = getCertitude();
1559
		} else {
1468
		} else {
1560
			champs = champs.replaceAll(":identification", "");
1469
			champs = champs.replaceAll(":identification", "");
1561
		}
1470
		}
Line -... Line 1471...
-
 
1471
		
-
 
1472
		if(referentielTaxoModifie && !selecteurReferentielTaxo.getRawValue().equals(VALEURS_MULTIPLES)) {
-
 
1473
			referentielTaxoM = getReferentielTaxo();
-
 
1474
		} else {
-
 
1475
			champs = champs.replaceAll(":referentiel", "");
-
 
1476
		}
-
 
1477
		
-
 
1478
		if(phenologieModifiee && !selecteurStadePheno.getRawValue().equals(VALEURS_MULTIPLES)) {
-
 
1479
			phenologieM = getPhenologie();
-
 
1480
		} else {
-
 
1481
			champs = champs.replaceAll(":phenologie", "");
-
 
1482
		}
1562
		
1483
		
1563
		champs = champs.replaceAll(":",", ");
1484
		champs = champs.replaceAll(":",", ");
1564
		if(champs.startsWith(",")) {
1485
		if(champs.startsWith(",")) {
1565
			champs = champs.replaceFirst(",", "");
1486
			champs = champs.replaceFirst(",", "");
Line 1574... Line 1495...
1574
			obs.setNumeroOrdre(numeroOrdre);
1495
			obs.setNumeroOrdre(numeroOrdre);
1575
			obs.setLatitude(latM);
1496
			obs.setLatitude(latM);
1576
			obs.setLongitude(longM);
1497
			obs.setLongitude(longM);
1577
			obs.setAbondance(abondanceM);
1498
			obs.setAbondance(abondanceM);
1578
			obs.setCertitude(certitudeM);
1499
			obs.setCertitude(certitudeM);
-
 
1500
			obs.setReferentielTaxo(referentielTaxoM);
-
 
1501
			obs.setPhenologie(phenologieM);
1579
			if(Window.confirm(message)) {
1502
			if(Window.confirm(message)) {
1580
				observationMediateur.modifierObservationEnMasse(obs);
1503
				observationMediateur.modifierObservationEnMasse(obs);
1581
				reinitialiserValeurModifiees();
1504
				reinitialiserValeurModifiees();
1582
			}
1505
			}
1583
		}
1506
		}
1584
	}
1507
	}
Line 1585... Line 1508...
1585
	
1508
	
1586
	private void supprimerObservation() {
-
 
1587
		
1509
	private void supprimerObservation() {		
1588
		observationMediateur.supprimerObservation(this, numeroOrdre);
1510
		observationMediateur.supprimerObservation(this, numeroOrdre);
Line 1589... Line 1511...
1589
	}
1511
	}
1590
	
1512
	
Line 1670... Line 1592...
1670
		selecteurAbondance.getStore().load();
1592
		selecteurAbondance.getStore().load();
1671
		selecteurAbondance.setValue(obs.getAbondance());
1593
		selecteurAbondance.setValue(obs.getAbondance());
Line 1672... Line 1594...
1672
		
1594
		
1673
		selecteurCertitude.getStore().load();
1595
		selecteurCertitude.getStore().load();
-
 
1596
		selecteurCertitude.setValue(obs.getCertitude());
-
 
1597
		
-
 
1598
		selecteurStadePheno.getStore().load();
-
 
1599
		selecteurStadePheno.setValue(obs.getPhenologie());
-
 
1600
		
-
 
1601
		selecteurReferentielTaxo.getStore().load();
-
 
1602
		if(obs.getReferentielTaxo() != VALEURS_MULTIPLES) {
-
 
1603
			referentielTaxo = obs.getCodeCourtReferentielTaxo();
-
 
1604
			selecteurReferentielTaxo.setValue(referentielTaxo);
-
 
1605
		} else {
-
 
1606
			referentielTaxo = "";
-
 
1607
			selecteurReferentielTaxo.setRawValue(VALEURS_MULTIPLES);
1674
		selecteurCertitude.setValue(obs.getCertitude());
1608
		}
Line 1675... Line 1609...
1675
	}
1609
	}
1676
	
1610
	
Line 1681... Line 1615...
1681
		
1615
		
1682
	}
1616
	}
1683
	public void raz(Champs champs)
1617
	public void raz(Champs champs)
1684
	{
1618
	{
1685
		switch (champs) {
-
 
1686
		
-
 
1687
		
1619
		switch (champs) {
1688
			case DATE:
1620
			case DATE:
1689
				date.reset() ;
1621
				date.reset() ;
Line 1690... Line 1622...
1690
				break;
1622
				break;
Line 1703... Line 1635...
1703
		
1635
		
1704
			case COMMENT:
1636
			case COMMENT:
1705
				comment.reset() ;
1637
				comment.reset() ;
Line 1706... Line -...
1706
				break;
-
 
1707
 
1638
				break;
1708
 
1639
 
1709
			case COMMUNE:
1640
			case COMMUNE:
1710
				commune.reset() ;
1641
				commune.reset() ;
1711
				departement ="";
1642
				departement ="";
Line 1735... Line 1666...
1735
				
1666
				
1736
			case CERTITUDE:
1667
			case CERTITUDE:
1737
				selecteurCertitude.setValue("");
1668
				selecteurCertitude.setValue("");
Line -... Line 1669...
-
 
1669
				break;
-
 
1670
				
-
 
1671
			case REFERENTIELTAXO:
-
 
1672
				selecteurReferentielTaxo.setValue("");
-
 
1673
				break;
-
 
1674
			
-
 
1675
			case PHENOLOGIE:
-
 
1676
				selecteurStadePheno.setValue("");
1738
				break;
1677
				break;
1739
				
1678
				
1740
			case TOUT:
1679
			case TOUT:
1741
				commune.reset();
1680
				commune.reset();
1742
				date.reset() ;
1681
				date.reset() ;
Line 1749... Line 1688...
1749
				longitude.reset();
1688
				longitude.reset();
1750
				departement ="";
1689
				departement ="";
1751
				espece.reset();
1690
				espece.reset();
1752
				selecteurAbondance.clearValue();
1691
				selecteurAbondance.clearValue();
1753
				selecteurCertitude.clearValue();
1692
				selecteurCertitude.clearValue();
-
 
1693
				selecteurReferentielTaxo.clearValue();
-
 
1694
				selecteurStadePheno.clearValue();
-
 
1695
				referentielTaxo = "";
1754
				numeroNom = "" ;
1696
				numeroNom = "" ;
1755
				numeroOrdre = "";
1697
				numeroOrdre = "";
1756
				afficherIndicationCommune(null);
1698
				afficherIndicationCommune(null);
1757
				break;
1699
				break;
Line 1832... Line 1774...
1832
		String notes = null;
1774
		String notes = null;
1833
		String lat = null;
1775
		String lat = null;
1834
		String lon = null;
1776
		String lon = null;
1835
		String abondance = null;
1777
		String abondance = null;
1836
		String certitude = null;
1778
		String certitude = null;
-
 
1779
		String referentielTaxo = null;
-
 
1780
		String phenologie = null;
Line 1837... Line 1781...
1837
		
1781
		
Line 1838... Line 1782...
1838
		String ordreObs = "";
1782
		String ordreObs = "";
1839
		
1783
		
Line 1849... Line 1793...
1849
			notes = comparerDifferencesChamps(notes, obsEnCours.getCommentaire());
1793
			notes = comparerDifferencesChamps(notes, obsEnCours.getCommentaire());
1850
			lat = comparerDifferencesChamps(lat, obsEnCours.getLatitude());
1794
			lat = comparerDifferencesChamps(lat, obsEnCours.getLatitude());
1851
			lon = comparerDifferencesChamps(lon, obsEnCours.getLongitude());
1795
			lon = comparerDifferencesChamps(lon, obsEnCours.getLongitude());
1852
			abondance = comparerDifferencesChamps(abondance, obsEnCours.getAbondance());
1796
			abondance = comparerDifferencesChamps(abondance, obsEnCours.getAbondance());
1853
			certitude = comparerDifferencesChamps(certitude, obsEnCours.getCertitude());
1797
			certitude = comparerDifferencesChamps(certitude, obsEnCours.getCertitude());
-
 
1798
			referentielTaxo = comparerDifferencesChamps(referentielTaxo, obsEnCours.getReferentielTaxo());
-
 
1799
			phenologie = comparerDifferencesChamps(phenologie, obsEnCours.getPhenologie());
Line 1854... Line 1800...
1854
			
1800
			
1855
			ordreObs += obsEnCours.getNumeroOrdre()+",";
1801
			ordreObs += obsEnCours.getNumeroOrdre()+",";
Line 1856... Line 1802...
1856
		}
1802
		}
1857
		
1803
		
1858
		Observation obs=new Observation(espece,numeroNom,commune,departement,lieuDit,station,milieu, notes,date);
1804
		Observation obs=new Observation(espece,numeroNom,commune,departement,lieuDit,station,milieu, notes,date);
1859
		obs.setNumeroOrdre(ordreObs);
1805
		obs.setNumeroOrdre(ordreObs);
1860
		obs.setLatitude(lat);
1806
		obs.setLatitude(lat);
1861
		obs.setLongitude(lon);
1807
		obs.setLongitude(lon);
-
 
1808
		obs.setAbondance(abondance);
-
 
1809
		obs.setCertitude(certitude);
1862
		obs.setAbondance(abondance);
1810
		obs.setReferentielTaxo(referentielTaxo);
1863
		obs.setCertitude(certitude);
1811
		obs.setPhenologie(phenologie);
Line 1864... Line 1812...
1864
		rafraichir(obs, false);	
1812
		rafraichir(obs, false);	
Line 1890... Line 1838...
1890
		commModifie = false;
1838
		commModifie = false;
1891
		latModifiee = false;
1839
		latModifiee = false;
1892
		longModifiee = false;
1840
		longModifiee = false;
1893
		abondanceModifiee = false;
1841
		abondanceModifiee = false;
1894
		certitudeModifiee = false;
1842
		certitudeModifiee = false;
-
 
1843
		referentielTaxoModifie = false;
-
 
1844
		phenologieModifiee = false;
1895
	}
1845
	}
Line 1896... Line 1846...
1896
	
1846
	
1897
	public void saisieTabindex()
1847
	public void saisieTabindex()
Line 1920... Line 1870...
1920
		comment.setTabIndex(10);
1870
		comment.setTabIndex(10);
1921
		date.setTabIndex(11);
1871
		date.setTabIndex(11);
1922
		espece.setTabIndex(12);
1872
		espece.setTabIndex(12);
1923
		selecteurCertitude.setTabIndex(13);
1873
		selecteurCertitude.setTabIndex(13);
1924
		selecteurAbondance.setTabIndex(14);
1874
		selecteurAbondance.setTabIndex(14);
-
 
1875
		selecteurStadePheno.setTabIndex(15);
1925
		boutonOK.setTabIndex(15);
1876
		boutonOK.setTabIndex(16);
1926
		boutonAnnuler.setTabIndex(16);
1877
		boutonAnnuler.setTabIndex(17);
Line 1927... Line 1878...
1927
		
1878
		
Line 1928... Line 1879...
1928
	}
1879
	}
1929
	
1880
	
Line 1935... Line 1886...
1935
		}
1886
		}
Line 1936... Line 1887...
1936
 
1887
 
Line 1937... Line 1888...
1937
	}
1888
	}
1938
	
1889
	
1939
	private void obtenirInformationCommune() {
1890
	private void obtenirInformationCommune() {
Line 1940... Line 1891...
1940
		observationMediateur.obtenirInformationCommune(getCommuneSansDepartement(), obtenirDepartementAPartirChampCommune());
1891
		observationMediateur.obtenirInformationCommune(getCommuneSansDepartement(), Util.obtenirDepartementAPartirChaineCommune(departement, commune.getText()));
Line 1941... Line 1892...
1941
	}
1892
	}
Line 1965... Line 1916...
1965
			String[] coord = {"000null","000null" };
1916
			String[] coord = {"000null","000null" };
1966
			return coord;
1917
			return coord;
1967
		}
1918
		}
1968
	}
1919
	}
Line 1969... Line -...
1969
	
-
 
1970
	private String obtenirDepartementAPartirChampCommune() {
-
 
1971
		
-
 
1972
		String dep = "";
-
 
1973
		
-
 
1974
		if(departement == null) {
-
 
1975
			departement = "";
-
 
1976
		}
-
 
1977
		
-
 
1978
		if(departement.equals("000null") || departement.equals("")) {
-
 
1979
					
-
 
1980
			String[] depCom = commune.getText().split(" ");
-
 
1981
			if(depCom.length > 1) {
-
 
1982
				dep = depCom[1].replace('(', ' ');
-
 
1983
			} else {
-
 
1984
				dep = "";
-
 
1985
			}
-
 
1986
		} else {
-
 
1987
			dep = departement;
-
 
1988
		}
-
 
1989
		
-
 
1990
		dep = dep.replace(')', ' ');
-
 
1991
		dep = dep.trim();
-
 
1992
		dep = dep.replace('\\',' ');
-
 
1993
		dep = dep.trim();
-
 
1994
		
-
 
1995
		try
-
 
1996
		{
-
 
1997
			int nDep = Integer.parseInt(dep);
-
 
1998
			if(nDep > 0 && nDep < 110) {
-
 
1999
				departement = dep ;
-
 
2000
			}
-
 
2001
			
-
 
2002
			if(departement.length() == 4) {
-
 
2003
				departement = "0"+departement;
-
 
2004
			}
-
 
2005
			
-
 
2006
			departement = departement.substring(0,2);
-
 
2007
		}
-
 
2008
		catch(NumberFormatException e)
-
 
2009
		{
-
 
2010
			departement = "" ;
-
 
2011
		}
-
 
2012
		
-
 
2013
		return departement;
-
 
2014
	}
-
 
2015
	
1920
	
Line 2016... Line 1921...
2016
	public String getCommune() {
1921
	public String getCommune() {
Line 2017... Line 1922...
2017
		
1922
		
Line 2022... Line 1927...
2022
		}
1927
		}
2023
		return valeurCommune;
1928
		return valeurCommune;
2024
	}
1929
	}
Line 2025... Line 1930...
2025
	
1930
	
2026
	public String getDepartement() {
1931
	public String getDepartement() {
2027
		return obtenirDepartementAPartirChampCommune();
1932
		return Util.obtenirDepartementAPartirChaineCommune(departement, commune.getText());
Line 2028... Line 1933...
2028
	}
1933
	}
2029
	 
1934
	 
2030
	public String getCommuneSansDepartement() {
1935
	public String getCommuneSansDepartement() {
Line 2031... Line -...
2031
		return Util.supprimerNumDepartementChaineLocalite(getCommune());
-
 
2032
	}
-
 
2033
	
1936
		return Util.supprimerNumDepartementChaineLocalite(getCommune());
2034
	//TODO fusionner les deux fonctions et les objets qu'elles utilisent 
1937
	}
2035
	// car leur code est à 99% identique
1938
	
Line 2036... Line 1939...
2036
	public String getAbondance() {
1939
	private String getValeurChampListeLibre(ComboBox champ) {
2037
		String valeurAbondance = selecteurAbondance.getValue();
1940
		String valeurChamp = champ.getValue();
2038
		String valeurAbondanceBrute = selecteurAbondance.getRawValue();
1941
		String valeurChampBrute = champ.getRawValue();
-
 
1942
		
2039
		
1943
		// Test idiot qui permet de savoir si l'on utilise la valeur saisie directement ou bien la valeur
2040
		// Test idiot qui permet de savoir si l'on utilise la valeur saisie directement ou bien la valeur
1944
		// selectionnee car lors du setValue sur le keypress, gwtext ne prends pas en compte le dernier 
-
 
1945
		// caractère
2041
		// selectionnee car lors du setValue sur le keypress, gwtext ne prends pas en compte le dernier 
1946
		if(valeurChamp != null && valeurChamp.length() > 0) {
Line 2042... Line 1947...
2042
		// caractère
1947
			if(valeurChamp.equals(valeurChampBrute.substring(0, valeurChampBrute.length() -1))) {
-
 
1948
				valeurChamp = champ.getRawValue();
-
 
1949
			}
-
 
1950
		}
-
 
1951
		
2043
		if(valeurAbondance.equals(valeurAbondanceBrute.substring(0, valeurAbondanceBrute.length() -1))) {
1952
		return valeurChamp;
Line 2044... Line 1953...
2044
			valeurAbondance = selecteurAbondance.getRawValue();
1953
	}
2045
		}
1954
 
2046
		
-
 
-
 
1955
	public String getAbondance() {
2047
		return valeurAbondance;
1956
		return getValeurChampListeLibre(selecteurAbondance);
2048
	}
-
 
2049
	
-
 
2050
	public String getCertitude() {
1957
	}
2051
		String valeurCertitude = selecteurCertitude.getValue();
-
 
2052
		String valeurCertitudeBrute = selecteurCertitude.getRawValue();
1958
	
2053
		
1959
	public String getCertitude() {
2054
		// Test idiot qui permet de savoir si l'on utilise la valeur saisie directement ou bien la valeur
1960
		return getValeurChampListeLibre(selecteurCertitude);
2055
		// selectionnee car lors du setValue sur le keypress, gwtext ne prends pas en compte le dernier 
1961
	}
-
 
1962
	
-
 
1963
	public String getPhenologie() {
2056
		// caractère
1964
		return getValeurChampListeLibre(selecteurStadePheno);
Line 2057... Line 1965...
2057
		if(valeurCertitude.equals(valeurCertitudeBrute.substring(0, valeurCertitudeBrute.length() -1))) {
1965
	}
2058
			valeurCertitude = selecteurCertitude.getRawValue();
1966
	
2059
		}
1967
	public String getReferentielTaxo() {