159,7 → 159,9 |
}; |
|
private String formatDate = null ; |
private Button boutonOK = new Button("Créer"); |
private Button boutonOK = new Button("Valider"); |
private Button boutonModifier = new Button("Modifier"); |
private Button boutonSupprimer = new Button("Supprimer"); |
private Button boutonAnnuler = new Button("Réinitialiser"); |
|
private boolean selectionCommune=false; |
168,7 → 170,6 |
private boolean selectionCertitude = false; |
private boolean selectionPhenologie = false; |
|
private boolean modification = false ; |
private Toolbar bt = null ; |
|
private final String VALEURS_MULTIPLES = "(Valeurs multiples)"; |
202,16 → 203,7 |
private final int KEY_TAB = 9; |
private final int KEY_UP = 38; |
|
|
/** |
* Combobox permettant de selectionner le mode |
* modification ou bien création |
*/ |
private ComboBox selecteurMode = new ComboBox(); |
|
Store storeMode = null ; |
|
/** |
* Booleen d'instanciation |
*/ |
boolean estInstancie = false ; |
222,8 → 214,6 |
|
private Panel panneauSecondeColonne; |
|
private boolean masseModification =false ; |
|
private TextField longitude; |
|
private TextField latitude; |
264,6 → 254,8 |
|
private ComboBox selecteurStadePheno = null; |
|
private boolean selectionMultiple = false; |
|
private HTML lienAfficherChampsEtendus = null; |
|
FormPanel conteneurChampEtenduGauche = null; |
438,7 → 430,7 |
panneauPremierColonne.add(htmlPanel); |
panneauPremierColonne.add(coordPanel); |
|
date = new DateField("Date", "date", 200); |
date = new DateField("Date", "date", 250); |
date.setAllowBlank(true); |
formatDate = "d/m/Y"; |
date.setFormat(formatDate) ; |
569,47 → 561,23 |
} |
|
panneauFormulaire.add(panneauIntermediaire); |
|
Object[][] mode = {{"création",false} , {"modification", true} }; |
storeMode = new SimpleStore(new String[] { "nom_mode", "mode" }, |
mode); |
storeMode.load(); |
selecteurMode.setStore(storeMode); |
selecteurMode.setDisplayField("nom_mode") ; |
selecteurMode.setLabel("mode ") ; |
selecteurMode.setForceSelection(true) ; |
selecteurMode.setValue("création") ; |
selecteurMode.setEditable(false) ; |
selecteurMode.setCls("x-selec-crea") ; |
|
bt = new Toolbar() ; |
bt.addSpacer() ; |
bt.addText("Mode de saisie ") ; |
bt.addField(selecteurMode) ; |
|
|
if (Ext.isIE()) { |
panneauPremierColonne.setButtonAlign(Position.RIGHT); |
panneauPremierColonne.addButton(boutonOK); |
panneauPremierColonne.addButton(boutonModifier); |
panneauPremierColonne.addButton(boutonSupprimer); |
panneauSecondeColonne.setButtonAlign(Position.LEFT); |
panneauPremierColonne.addButton(boutonAnnuler); |
} |
else { |
panneauFormulaire.addButton(boutonOK); |
panneauFormulaire.addButton(boutonModifier); |
panneauFormulaire.addButton(boutonSupprimer); |
panneauFormulaire.addButton(boutonAnnuler); |
} |
|
selecteurMode.addListener(new ComboBoxListenerAdapter() { |
@Override |
public void onSelect(ComboBox comboBox, Record record, int index) { |
|
// et on met la valeur à jour dans la combobox |
comboBox.setValue(record.getAsString("nom_mode")); |
setModification(record.getAsString("mode")) ; |
} |
}); |
|
|
this.add(panneauFormulaire) ; |
this.setTopToolbar(bt) ; |
|
this.setAutoScroll(true); |
|
666,12 → 634,19 |
} |
} |
}); |
|
// on ajoute les listeners |
|
ajouterListeners() ; |
ajouterToolTipsBoutons(); |
saisieTabindex(); |
} |
|
private void ajouterToolTipsBoutons() { |
boutonOK.setTitle("Crée une nouvelle observation à partir des champs saisis dans le formulaire"); |
boutonModifier.setTitle("Modifie la ou les observations sélectionnées"); |
boutonSupprimer.setTitle("Supprime la ou les observations sélectionnées"); |
boutonAnnuler.setTitle("Vide tous les champs du formulaire"); |
} |
|
private void surPremierAffichageCoordPanel(final double largeur) { |
ExtElement lienCoord = Ext.get("lien_coord"); |
lienCoord.removeAllListeners(); |
783,15 → 758,28 |
boutonOK.addListener(new ButtonListenerAdapter() { |
@Override |
public void onClick(Button button, EventObject e) { |
if(modification) { |
if(masseModification) { |
modifierObservationEnMasse(null); |
} else { |
modifierObservation() ; |
} |
ajouterObservation(); |
} |
}); |
|
boutonModifier.addListener(new ButtonListenerAdapter() { |
@Override |
public void onClick(Button button, EventObject e) { |
if(selectionMultiple) { |
modifierObservationEnMasse(null); |
} else { |
modifierObservation() ; |
} |
else { |
ajouterObservation(); |
} |
}); |
|
boutonSupprimer.addListener(new ButtonListenerAdapter() { |
@Override |
public void onClick(Button button, EventObject e) { |
if(!selectionMultiple) { |
supprimerObservation(); |
} else { |
observationMediateur.supprimerObservations(); |
} |
} |
}); |
798,15 → 786,9 |
|
boutonAnnuler.addListener(new ButtonListenerAdapter() { |
@Override |
public void onClick(Button button, EventObject e) { |
if(modification) |
{ |
supprimerObservation() ; |
} |
else |
{ |
public void onClick(Button button, EventObject e) { |
setSelectionMultiple(false); |
raz(); |
} |
} |
}); |
|
1068,19 → 1050,11 |
*/ |
|
private void validerSaisie(Champs champs) { |
|
if(modification) { |
if(masseModification) { |
modifierObservationEnMasse(champs); |
} else { |
modifierObservation(); |
} |
|
raz(champs); |
} |
else { |
if(!selectionMultiple) { |
ajouterObservation(); |
raz(champs); |
} else { |
modifierObservationEnMasse(champs); |
} |
} |
|
1184,6 → 1158,7 |
if(nouvelleDonnees instanceof Observation) |
{ |
Observation obs = (Observation)nouvelleDonnees ; |
setSelectionMultiple(false); |
afficherDetailsObservation(obs) ; |
} |
|
1190,6 → 1165,7 |
if(nouvelleDonnees instanceof ListeObservation) { |
|
ListeObservation listeObs = (ListeObservation)nouvelleDonnees; |
setSelectionMultiple(true); |
calculerAfficherDifferences(listeObs); |
} |
|
1203,7 → 1179,6 |
String[] anumNom = (String[])nouvelleDonnees ; |
numeroNom = anumNom[1]; |
espece.setValue(anumNom[0]); |
setModification("false"); |
} |
|
if(nouvelleDonnees instanceof EntiteGeographiqueObservation) |
1218,7 → 1193,6 |
|
} |
|
|
private void afficherIndicationCommune( |
final EntiteGeographiqueObservation infosCom) { |
|
1439,9 → 1413,6 |
obs.setChampsEtendus(getValeursChampsEtendus()); |
|
observationMediateur.modifierObservation(obs); |
|
selecteurMode.setValue("création"); |
setModification("false"); |
} |
|
private void modifierObservationEnMasse(Champs champModifie) { |
1905,49 → 1876,7 |
} |
|
} |
|
private void setModification(String mode) |
{ |
if(mode.equals("true")) { |
|
boutonOK.setText("Modifier") ; |
setTitle("Modification") ; |
boutonAnnuler.setText("Supprimer") ; |
modification = true ; |
selecteurMode.removeClass("x-selec-crea") ; |
selecteurMode.setCls("x-selec-modif") ; |
observationMediateur.onModeModification(); |
} |
else |
{ |
boutonOK.setText("Créer") ; |
setTitle("Saisir") ; |
boutonAnnuler.setText("Réinitialiser") ; |
modification = false ; |
selecteurMode.removeClass("x-selec-modif") ; |
selecteurMode.setCls("x-selec-crea") ; |
observationMediateur.onModeCreation(); |
} |
} |
|
/** |
* renvoie vrai si on est en mode modification, faux si on est en mode création |
* @return |
*/ |
public boolean getModification() |
{ |
return modification ; |
} |
|
/** |
* renvoie vrai si on est en mode modification de masse, faux sinon |
* @return |
*/ |
public boolean getMasseModification() |
{ |
return masseModification ; |
} |
|
|
public boolean verifierFormatDate(String date) { |
|
String regex = "[1-9][0-9]{3}-[0-9]{2}-[0-9]{2}" ; |
1959,13 → 1888,21 |
} |
} |
|
public void setMasseModification(boolean masseModification) { |
this.masseModification = masseModification; |
if(masseModification) { |
reinitialiserValeurModifiees(); |
public void setSelectionMultiple(boolean selectionMultiple) { |
this.selectionMultiple = selectionMultiple; |
if(!selectionMultiple) { |
boutonAnnuler.enable(); |
boutonOK.enable(); |
} else { |
boutonAnnuler.disable(); |
boutonOK.disable(); |
} |
} |
|
public boolean getSelectionMultiple() { |
return selectionMultiple; |
} |
|
private void calculerAfficherDifferences(ListeObservation listeObs) { |
|
String departement = null; |
2016,7 → 1953,7 |
obs.setCertitude(certitude); |
obs.setReferentielTaxo(referentielTaxo); |
obs.setPhenologie(phenologie); |
rafraichir(obs, false); |
afficherDetailsObservation(obs); |
} |
|
private String comparerDifferencesChamps(String valeurActuelle, String nouvelleValeur) { |
2054,8 → 1991,6 |
|
public void saisieTabindex() |
{ |
|
selecteurMode.setTabIndex(0); |
commune.setTabIndex(1); |
lieudit.setTabIndex(3); |
station.setTabIndex(4); |