Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1628 Rev 1641
Line 157... Line 157...
157
			return TOUT.toString();
157
			return TOUT.toString();
158
	    }
158
	    }
159
	};
159
	};
Line 160... Line 160...
160
	
160
	
161
	private String formatDate = null ;
161
	private String formatDate = null ;
-
 
162
	private Button boutonOK = new Button("Valider");
-
 
163
	private Button boutonModifier = new Button("Modifier");
162
	private Button boutonOK = new Button("Créer");
164
	private Button boutonSupprimer = new Button("Supprimer");
Line 163... Line 165...
163
	private Button boutonAnnuler = new Button("Réinitialiser");
165
	private Button boutonAnnuler = new Button("Réinitialiser");
164
 
166
 
165
	private boolean selectionCommune=false;
167
	private boolean selectionCommune=false;
166
	private boolean selectionEspece=false;
168
	private boolean selectionEspece=false;
167
	private boolean selectionAbondance = false;
169
	private boolean selectionAbondance = false;
Line 168... Line -...
168
	private boolean selectionCertitude = false;
-
 
169
	private boolean selectionPhenologie = false;
170
	private boolean selectionCertitude = false;
Line 170... Line 171...
170
	
171
	private boolean selectionPhenologie = false;
171
	private boolean modification = false ;
172
	
172
	private Toolbar bt = null ;
173
	private Toolbar bt = null ;
Line 200... Line 201...
200
	private final int KEY_RIGHT = 39;
201
	private final int KEY_RIGHT = 39;
201
	private final int KEY_SHIFT = 16;
202
	private final int KEY_SHIFT = 16;
202
	private final int KEY_TAB = 9;
203
	private final int KEY_TAB = 9;
203
	private final int KEY_UP = 38;
204
	private final int KEY_UP = 38;
Line 204... Line -...
204
	
-
 
205
	
-
 
206
	/**
-
 
207
	 * Combobox permettant de selectionner le mode
-
 
208
	 * modification ou bien création
-
 
209
	 */
-
 
210
	private ComboBox selecteurMode = new ComboBox();
-
 
211
	
-
 
212
	Store storeMode = null ;
-
 
213
 
205
	
214
	/**
206
	/**
215
	 * Booleen d'instanciation
207
	 * Booleen d'instanciation
216
	 */
208
	 */
Line 220... Line 212...
220
 
212
 
Line 221... Line 213...
221
	private Panel panneauPremierColonne;
213
	private Panel panneauPremierColonne;
Line 222... Line -...
222
 
-
 
223
	private Panel panneauSecondeColonne;
-
 
224
 
214
 
Line 225... Line 215...
225
	private boolean masseModification =false ;
215
	private Panel panneauSecondeColonne;
Line 226... Line 216...
226
 
216
 
Line 262... Line 252...
262
	
252
	
Line 263... Line 253...
263
	private ComboBox selecteurReferentielTaxo = null;
253
	private ComboBox selecteurReferentielTaxo = null;
Line -... Line 254...
-
 
254
	
-
 
255
	private ComboBox selecteurStadePheno = null;
264
	
256
	
Line 265... Line 257...
265
	private ComboBox selecteurStadePheno = null;
257
	private boolean selectionMultiple = false;
266
	
258
	
Line 436... Line 428...
436
		htmlPanel.setId("x-coord-panel");
428
		htmlPanel.setId("x-coord-panel");
Line 437... Line 429...
437
			
429
			
438
		panneauPremierColonne.add(htmlPanel);
430
		panneauPremierColonne.add(htmlPanel);
Line 439... Line 431...
439
		panneauPremierColonne.add(coordPanel);
431
		panneauPremierColonne.add(coordPanel);
440
	    
432
	    
441
	    date = new DateField("Date", "date", 200);  
433
	    date = new DateField("Date", "date", 250);  
442
	    date.setAllowBlank(true);
434
	    date.setAllowBlank(true);
443
	    formatDate = "d/m/Y";
435
	    formatDate = "d/m/Y";
444
	    date.setFormat(formatDate) ;
436
	    date.setFormat(formatDate) ;
Line 567... Line 559...
567
			panneauIntermediaire.add(panneauPremierColonne);
559
			panneauIntermediaire.add(panneauPremierColonne);
568
			panneauIntermediaire.add(panneauSecondeColonne);   	
560
			panneauIntermediaire.add(panneauSecondeColonne);   	
569
	    }
561
	    }
Line 570... Line 562...
570
			
562
			
571
		panneauFormulaire.add(panneauIntermediaire);
563
		panneauFormulaire.add(panneauIntermediaire);
572
		
-
 
573
		Object[][] mode = {{"création",false} , {"modification", true} };
-
 
574
		storeMode = new SimpleStore(new String[] { "nom_mode", "mode" },
-
 
575
				mode);
-
 
576
		storeMode.load();
-
 
577
		selecteurMode.setStore(storeMode);
-
 
578
		selecteurMode.setDisplayField("nom_mode") ;
-
 
579
		selecteurMode.setLabel("mode ") ;
-
 
580
		selecteurMode.setForceSelection(true) ;
-
 
581
		selecteurMode.setValue("création") ;
-
 
582
		selecteurMode.setEditable(false) ;
-
 
583
		selecteurMode.setCls("x-selec-crea") ;
-
 
584
		
-
 
585
		bt = new Toolbar() ;
-
 
586
		bt.addSpacer() ;
-
 
587
		bt.addText("Mode de saisie ") ;
-
 
588
		bt.addField(selecteurMode) ;
-
 
589
			
564
					
590
		if (Ext.isIE()) {
565
		if (Ext.isIE()) {
591
			panneauPremierColonne.setButtonAlign(Position.RIGHT);
566
			panneauPremierColonne.setButtonAlign(Position.RIGHT);
-
 
567
			panneauPremierColonne.addButton(boutonOK);
-
 
568
			panneauPremierColonne.addButton(boutonModifier);
592
			panneauPremierColonne.addButton(boutonOK);
569
			panneauPremierColonne.addButton(boutonSupprimer);
593
			panneauSecondeColonne.setButtonAlign(Position.LEFT);
570
			panneauSecondeColonne.setButtonAlign(Position.LEFT);
594
			panneauPremierColonne.addButton(boutonAnnuler);
571
			panneauPremierColonne.addButton(boutonAnnuler);
595
		}
572
		}
596
		else {	
573
		else {	
-
 
574
			panneauFormulaire.addButton(boutonOK);
-
 
575
			panneauFormulaire.addButton(boutonModifier);
597
			panneauFormulaire.addButton(boutonOK);
576
			panneauFormulaire.addButton(boutonSupprimer);
598
			panneauFormulaire.addButton(boutonAnnuler);		
577
			panneauFormulaire.addButton(boutonAnnuler);		
599
		}
578
		}
600
			
-
 
601
		selecteurMode.addListener(new ComboBoxListenerAdapter() {
-
 
602
			@Override
-
 
603
			public void onSelect(ComboBox comboBox, Record record, int index) {
-
 
604
				
-
 
605
				// et on met la valeur à jour dans la combobox
-
 
606
				comboBox.setValue(record.getAsString("nom_mode"));
-
 
607
				setModification(record.getAsString("mode")) ;
-
 
608
			}
-
 
609
		});
-
 
610
	
579
		
611
		this.add(panneauFormulaire) ;
-
 
Line 612... Line 580...
612
		this.setTopToolbar(bt) ;
580
		this.add(panneauFormulaire) ;
Line 613... Line 581...
613
		
581
		
Line 664... Line 632...
664
					lienAfficherChampsEtendus.setVisible(false);
632
					lienAfficherChampsEtendus.setVisible(false);
665
					premierAffichage = false;
633
					premierAffichage = false;
666
				}
634
				}
667
			}
635
			}
668
		});
636
		});
669
		
637
 
670
		// on ajoute les listeners
-
 
671
		ajouterListeners() ;
638
		ajouterListeners() ;
-
 
639
		ajouterToolTipsBoutons();
672
		saisieTabindex();
640
		saisieTabindex();
673
	}
641
	}
Line -... Line 642...
-
 
642
	
-
 
643
	private void ajouterToolTipsBoutons() {
-
 
644
		boutonOK.setTitle("Crée une nouvelle observation à partir des champs saisis dans le formulaire");
-
 
645
		boutonModifier.setTitle("Modifie la ou les observations sélectionnées");
-
 
646
		boutonSupprimer.setTitle("Supprime la ou les observations sélectionnées");
-
 
647
		boutonAnnuler.setTitle("Vide tous les champs du formulaire");		
-
 
648
	}
674
	
649
	
675
	private void surPremierAffichageCoordPanel(final double largeur) {
650
	private void surPremierAffichageCoordPanel(final double largeur) {
676
		ExtElement lienCoord = Ext.get("lien_coord");
651
		ExtElement lienCoord = Ext.get("lien_coord");
677
		lienCoord.removeAllListeners();
652
		lienCoord.removeAllListeners();
678
		lienCoord.addListener("click", new EventCallback() {
653
		lienCoord.addListener("click", new EventCallback() {
Line 781... Line 756...
781
		ajouterListenerChampsCombobox();
756
		ajouterListenerChampsCombobox();
Line 782... Line 757...
782
		
757
		
783
		boutonOK.addListener(new ButtonListenerAdapter() {
758
		boutonOK.addListener(new ButtonListenerAdapter() {
784
			@Override
759
			@Override
785
			public void onClick(Button button, EventObject e) {	
760
			public void onClick(Button button, EventObject e) {	
-
 
761
				ajouterObservation();
-
 
762
			}			
-
 
763
		});
-
 
764
		
-
 
765
		boutonModifier.addListener(new ButtonListenerAdapter() {
-
 
766
			@Override
786
				if(modification) {
767
			public void onClick(Button button, EventObject e) {	
787
					if(masseModification) {
768
				if(selectionMultiple) {
788
							modifierObservationEnMasse(null);
769
						modifierObservationEnMasse(null);
789
					} else {
770
				} else {
790
						modifierObservation() ;
-
 
791
					}
771
					modifierObservation() ;
-
 
772
				}
-
 
773
			}		
-
 
774
		});
-
 
775
		
-
 
776
		boutonSupprimer.addListener(new ButtonListenerAdapter() {
-
 
777
			@Override
-
 
778
			public void onClick(Button button, EventObject e) {	
-
 
779
				if(!selectionMultiple) {
792
				}
780
					supprimerObservation();
793
				else {
781
				} else {
794
					ajouterObservation();
782
					observationMediateur.supprimerObservations();
795
				}
783
				}
796
			}			
784
			}			
Line 797... Line 785...
797
		});
785
		});
798
	
786
	
799
		boutonAnnuler.addListener(new ButtonListenerAdapter() {	
787
		boutonAnnuler.addListener(new ButtonListenerAdapter() {	
800
			@Override
-
 
801
			public void onClick(Button button, EventObject e) {			
-
 
802
				if(modification)
788
			@Override
803
				{
-
 
804
					supprimerObservation() ;
-
 
805
				}
-
 
806
				else
789
			public void onClick(Button button, EventObject e) {		
807
				{
-
 
808
					raz();
790
					setSelectionMultiple(false);
809
				}
791
					raz();
Line 810... Line 792...
810
			}	
792
			}	
811
		});
793
		});
Line 1066... Line 1048...
1066
	/**
1048
	/**
1067
	 * Validation de la saisie 
1049
	 * Validation de la saisie 
1068
	 */
1050
	 */
Line 1069... Line 1051...
1069
	
1051
	
1070
	private void validerSaisie(Champs champs) {
-
 
1071
		
-
 
1072
		if(modification) {
1052
	private void validerSaisie(Champs champs) {
1073
			if(masseModification) {
-
 
1074
				modifierObservationEnMasse(champs);
-
 
1075
			} else {
-
 
1076
				modifierObservation();
-
 
1077
			}
-
 
1078
			
-
 
1079
			raz(champs);
-
 
1080
		}
-
 
1081
		else {
1053
		if(!selectionMultiple) {
1082
			ajouterObservation();
1054
			ajouterObservation();
-
 
1055
			raz(champs);
-
 
1056
		} else {
1083
			raz(champs);
1057
			modifierObservationEnMasse(champs);
1084
		}
1058
		}
Line 1085... Line 1059...
1085
	}
1059
	}
1086
	
1060
	
Line 1182... Line 1156...
1182
			// On recoit une observation dont on veut afficher le detail 
1156
			// On recoit une observation dont on veut afficher le detail 
Line 1183... Line 1157...
1183
			
1157
			
1184
			if(nouvelleDonnees instanceof Observation)
1158
			if(nouvelleDonnees instanceof Observation)
1185
			{
1159
			{
-
 
1160
				Observation obs = (Observation)nouvelleDonnees ;
1186
				Observation obs = (Observation)nouvelleDonnees ;
1161
				setSelectionMultiple(false);
1187
				afficherDetailsObservation(obs) ;
1162
				afficherDetailsObservation(obs) ;
Line 1188... Line 1163...
1188
			}
1163
			}
Line 1189... Line 1164...
1189
			
1164
			
-
 
1165
			if(nouvelleDonnees instanceof ListeObservation) {
1190
			if(nouvelleDonnees instanceof ListeObservation) {
1166
				
1191
				
1167
				ListeObservation listeObs = (ListeObservation)nouvelleDonnees;
Line 1192... Line 1168...
1192
				ListeObservation listeObs = (ListeObservation)nouvelleDonnees;
1168
				setSelectionMultiple(true);
1193
				calculerAfficherDifferences(listeObs);
1169
				calculerAfficherDifferences(listeObs);
Line 1201... Line 1177...
1201
			
1177
			
1202
			if(nouvelleDonnees instanceof String[]) {
1178
			if(nouvelleDonnees instanceof String[]) {
1203
				String[] anumNom = (String[])nouvelleDonnees ;
1179
				String[] anumNom = (String[])nouvelleDonnees ;
1204
				numeroNom = anumNom[1];
1180
				numeroNom = anumNom[1];
1205
				espece.setValue(anumNom[0]);
-
 
1206
				setModification("false");
1181
				espece.setValue(anumNom[0]);
Line 1207... Line 1182...
1207
			}
1182
			}
1208
			
1183
			
1209
			if(nouvelleDonnees instanceof EntiteGeographiqueObservation)
1184
			if(nouvelleDonnees instanceof EntiteGeographiqueObservation)
Line 1216... Line 1191...
1216
				}
1191
				}
1217
			}
1192
			}
Line 1218... Line 1193...
1218
 
1193
 
Line 1219... Line -...
1219
	}
-
 
1220
	
1194
	}
1221
	
1195
	
Line 1222... Line 1196...
1222
	private void afficherIndicationCommune(
1196
	private void afficherIndicationCommune(
1223
			final EntiteGeographiqueObservation infosCom) {
1197
			final EntiteGeographiqueObservation infosCom) {
Line 1437... Line 1411...
1437
		obs.setPhenologie(getPhenologie());
1411
		obs.setPhenologie(getPhenologie());
1438
		obs.setReferentielTaxo(getReferentielTaxo());
1412
		obs.setReferentielTaxo(getReferentielTaxo());
1439
		obs.setChampsEtendus(getValeursChampsEtendus());
1413
		obs.setChampsEtendus(getValeursChampsEtendus());
Line 1440... Line 1414...
1440
		
1414
		
1441
		observationMediateur.modifierObservation(obs);
-
 
1442
 
-
 
1443
		selecteurMode.setValue("création");
-
 
1444
		setModification("false");
1415
		observationMediateur.modifierObservation(obs);
Line 1445... Line 1416...
1445
	}
1416
	}
Line 1446... Line 1417...
1446
	
1417
	
Line 1903... Line 1874...
1903
				break;
1874
				break;
Line 1904... Line 1875...
1904
 
1875
 
Line 1905... Line 1876...
1905
		}
1876
		}
1906
		
-
 
1907
	}
-
 
1908
	
-
 
1909
	private void setModification(String mode)
-
 
1910
	{
-
 
1911
		if(mode.equals("true")) {
-
 
1912
 
-
 
1913
			boutonOK.setText("Modifier") ;
-
 
1914
			setTitle("Modification") ;
-
 
1915
			boutonAnnuler.setText("Supprimer") ;
-
 
1916
			modification = true ;
-
 
1917
			selecteurMode.removeClass("x-selec-crea") ;
-
 
1918
			selecteurMode.setCls("x-selec-modif") ;
-
 
1919
			observationMediateur.onModeModification();
-
 
1920
		}
-
 
1921
		else
-
 
1922
		{
-
 
1923
			boutonOK.setText("Créer") ;
-
 
1924
			setTitle("Saisir") ;
-
 
1925
			boutonAnnuler.setText("Réinitialiser") ;
-
 
1926
			modification = false ;
-
 
1927
			selecteurMode.removeClass("x-selec-modif") ;
-
 
1928
			selecteurMode.setCls("x-selec-crea") ;
-
 
1929
			observationMediateur.onModeCreation();
-
 
1930
		}	
-
 
1931
	}
-
 
1932
	
-
 
1933
	/**
-
 
1934
	 * renvoie vrai si on est en mode modification, faux si on est en mode création
-
 
1935
	 * @return
-
 
1936
	 */
-
 
1937
	public boolean getModification()
-
 
1938
	{
-
 
1939
		return modification ;
-
 
1940
	}
-
 
1941
	
-
 
1942
	/**
-
 
1943
	 * renvoie vrai si on est en mode modification de masse, faux sinon
-
 
1944
	 * @return
-
 
1945
	 */
-
 
1946
	public boolean getMasseModification()
-
 
1947
	{
-
 
1948
		return masseModification ;
1877
		
1949
	}
1878
	}
Line 1950... Line 1879...
1950
	
1879
			
1951
	public boolean verifierFormatDate(String date) {
1880
	public boolean verifierFormatDate(String date) {
1952
		
1881
		
Line 1957... Line 1886...
1957
		else {
1886
		else {
1958
			return false;
1887
			return false;
1959
		}
1888
		}
1960
	}
1889
	}
Line 1961... Line 1890...
1961
 
1890
 
1962
	public void setMasseModification(boolean masseModification) {
1891
	public void setSelectionMultiple(boolean selectionMultiple) {
1963
		this.masseModification = masseModification;
1892
		this.selectionMultiple = selectionMultiple;
-
 
1893
		if(!selectionMultiple) {
-
 
1894
			boutonAnnuler.enable();
-
 
1895
			boutonOK.enable();
1964
		if(masseModification) {
1896
		} else {
-
 
1897
			boutonAnnuler.disable();
1965
			reinitialiserValeurModifiees();
1898
			boutonOK.disable();
1966
		}
1899
		}
Line -... Line 1900...
-
 
1900
	}
-
 
1901
	
-
 
1902
	public boolean getSelectionMultiple() {
-
 
1903
		return selectionMultiple;
1967
	}
1904
	}
Line 1968... Line 1905...
1968
	
1905
	
1969
	private void calculerAfficherDifferences(ListeObservation listeObs) {
1906
	private void calculerAfficherDifferences(ListeObservation listeObs) {
1970
		
1907
		
Line 2014... Line 1951...
2014
		obs.setAltitude(alt);
1951
		obs.setAltitude(alt);
2015
		obs.setAbondance(abondance);
1952
		obs.setAbondance(abondance);
2016
		obs.setCertitude(certitude);
1953
		obs.setCertitude(certitude);
2017
		obs.setReferentielTaxo(referentielTaxo);
1954
		obs.setReferentielTaxo(referentielTaxo);
2018
		obs.setPhenologie(phenologie);
1955
		obs.setPhenologie(phenologie);
2019
		rafraichir(obs, false);	
1956
		afficherDetailsObservation(obs);	
2020
	}
1957
	}
Line 2021... Line 1958...
2021
	
1958
	
Line 2022... Line 1959...
2022
	private String comparerDifferencesChamps(String valeurActuelle, String nouvelleValeur) {
1959
	private String comparerDifferencesChamps(String valeurActuelle, String nouvelleValeur) {
Line 2052... Line 1989...
2052
		phenologieModifiee = false;
1989
		phenologieModifiee = false;
2053
	}
1990
	}
Line 2054... Line 1991...
2054
	
1991
	
2055
	public void saisieTabindex()
1992
	public void saisieTabindex()
2056
	{
-
 
2057
		
-
 
2058
		selecteurMode.setTabIndex(0);
1993
	{
2059
		commune.setTabIndex(1);
1994
		commune.setTabIndex(1);
2060
		lieudit.setTabIndex(3);
1995
		lieudit.setTabIndex(3);
2061
		station.setTabIndex(4);
1996
		station.setTabIndex(4);
2062
		milieu.setTabIndex(5);
1997
		milieu.setTabIndex(5);