/trunk/src/org/tela_botanica/client/Mediateur.java |
---|
677,20 → 677,10 |
} |
public void afficherFormPublication(String publicationId) { |
String mode = Formulaire.MODE_AJOUTER; |
if (publicationId != null) { |
mode = Formulaire.MODE_MODIFIER; |
} |
panneauCentre.removeAll(); |
PublicationForm publicationForm = new PublicationForm(this, mode); |
PublicationForm publicationForm = new PublicationForm(this, publicationId); |
panneauCentre.add(publicationForm); |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
selectionnerPublication(publicationForm, publicationId); |
selectionnerAuteurAPublication(publicationForm, publicationId); |
} |
panneauCentre.layout(); |
} |
/trunk/src/org/tela_botanica/client/vues/Formulaire.java |
---|
97,7 → 97,7 |
protected abstract SelectionListener<ButtonEvent> creerEcouteurValidation(); |
protected abstract void soumettreFormulaire(); |
protected abstract void soumettreFormulaire(Rafraichissable vueARafraichir); |
protected TabItem creerOnglet(String nom, String id) { |
TabItem onglet = new TabItem(); |
/trunk/src/org/tela_botanica/client/vues/CollectionFormPublication.java |
---|
7,8 → 7,6 |
import org.tela_botanica.client.images.Images; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.Personne; |
import org.tela_botanica.client.modeles.PersonneListe; |
import org.tela_botanica.client.modeles.Publication; |
import org.tela_botanica.client.modeles.PublicationListe; |
import org.tela_botanica.client.modeles.ValeurListe; |
25,7 → 23,6 |
import com.extjs.gxt.ui.client.store.StoreEvent; |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.Info; |
import com.extjs.gxt.ui.client.widget.InfoConfig; |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.button.ButtonBar; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
37,7 → 34,6 |
import com.extjs.gxt.ui.client.widget.grid.Grid; |
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer; |
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel; |
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig; |
import com.extjs.gxt.ui.client.widget.grid.RowNumberer; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem; |
57,6 → 53,8 |
private Button publicationsBoutonModifier = null; |
private Button ajouterPublicationSaisieBouton = null; |
private FenetreForm fenetreFormulaire = null; |
private static final String ETAT_AJOUTE = "A"; |
private static final String ETAT_SUPPRIME = "S"; |
134,8 → 132,8 |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() { |
@Override |
public void componentSelected(ButtonEvent ce) { |
final FenetreForm fenetre = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_AJOUTER); |
fenetre.show(); |
fenetreFormulaire = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_AJOUTER); |
fenetreFormulaire.show(); |
} |
}); |
return bouton; |
152,8 → 150,8 |
if (publicationSaisieSelectionnee == null) { |
Info.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication()); |
} else { |
final FenetreForm fenetre = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_MODIFIER); |
fenetre.show(); |
fenetreFormulaire = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_MODIFIER); |
fenetreFormulaire.show(); |
} |
} |
}); |
161,14 → 159,20 |
} |
private FenetreForm creerFenetreModaleAvecFormulairePersonne(String mode) { |
String publicationId = null; |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
Publication publicationSaisiSelectionne = grille.getSelectionModel().getSelectedItem(); |
publicationId = publicationSaisiSelectionne.getId(); |
} |
final FenetreForm fenetre = new FenetreForm(""); |
final PublicationForm formulaire = creerFormulairePublication(fenetre, mode); |
final PublicationForm formulaire = creerFormulairePublication(fenetre, publicationId); |
fenetre.add(formulaire); |
return fenetre; |
} |
private PublicationForm creerFormulairePublication(final FenetreForm fenetre, final String mode) { |
PublicationForm formulairePublication = new PublicationForm(mediateur, mode); |
private PublicationForm creerFormulairePublication(final FenetreForm fenetre, final String publicationId) { |
PublicationForm formulairePublication = new PublicationForm(mediateur, publicationId); |
FormPanel panneauFormulaire = formulairePublication.getFormulaire(); |
fenetre.setHeading(panneauFormulaire.getHeading()); |
panneauFormulaire.setHeaderVisible(false); |
179,11 → 183,6 |
final ButtonBar barreValidation = new FormulaireBarreValidation(ecouteur); |
panneauFormulaire.setBottomComponent(barreValidation); |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
Publication publicationSaisiSelectionne = grille.getSelectionModel().getSelectedItem(); |
formulairePublication.rafraichir(publicationSaisiSelectionne); |
} |
return formulairePublication; |
} |
193,14 → 192,16 |
public void componentSelected(ButtonEvent ce) { |
String code = ((Button) ce.getComponent()).getData("code"); |
if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) { |
formulaire.soumettreFormulaire(); |
formulaire.soumettreFormulaire(renvoyerCollectionFormPublication()); |
fenetre.hide(); |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) { |
formulaire.soumettreFormulaire(); |
formulaire.soumettreFormulaire(renvoyerCollectionFormPublication()); |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) { |
fenetre.hide(); |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) { |
formulaire.reinitialiserFormulaire(); |
fenetreFormulaire.hide(); |
fenetreFormulaire = creerFenetreModaleAvecFormulairePersonne(formulaire.mode); |
fenetreFormulaire.show(); |
} |
} |
}; |
208,6 → 209,10 |
return ecouteur; |
} |
private CollectionFormPublication renvoyerCollectionFormPublication() { |
return this; |
} |
private Button creerBoutonSupprimer() { |
Button bouton = new Button(i18nC.supprimer()); |
bouton.setIcon(Images.ICONES.vcardSupprimer()); |
/trunk/src/org/tela_botanica/client/vues/CollectionForm.java |
---|
235,10 → 235,10 |
public void componentSelected(ButtonEvent ce) { |
String code = ((Button) ce.getComponent()).getData("code"); |
if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) { |
soumettreFormulaire(); |
soumettreFormulaire(renvoyerCollectionForm()); |
clicBoutonvalidation = true; |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) { |
soumettreFormulaire(); |
soumettreFormulaire(renvoyerCollectionForm()); |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) { |
mediateur.clicMenu(menuIdCourant); |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) { |
250,7 → 250,11 |
return ecouteur; |
} |
protected void soumettreFormulaire() { |
private CollectionForm renvoyerCollectionForm() { |
return this; |
} |
protected void soumettreFormulaire(Rafraichissable vueARafraichir) { |
// Vérification de la validité des champs du formulaire |
if (verifierFormulaire()) { |
// Collecte des données du formulaire |
257,12 → 261,12 |
Collection collection = collecterCollection(); |
if (mode.equals(MODE_AJOUTER)) { |
mediateur.ajouterCollection(this, collection); |
mediateur.ajouterCollection(vueARafraichir, collection); |
} else if (mode.equals(MODE_MODIFIER)) { |
if (collection == null) { |
Info.display("Modification d'une collection", "Rien n'a été enregistré car le formulaire n'a pas été modifié."); |
} else { |
mediateur.modifierCollection(this, collection); |
mediateur.modifierCollection(vueARafraichir, collection); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/vues/StructureForm.java |
---|
244,10 → 244,10 |
public void componentSelected(ButtonEvent ce) { |
String code = ((Button) ce.getComponent()).getData("code"); |
if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) { |
soumettreFormulaire(); |
soumettreFormulaire(renvoyerStructureForm()); |
clicBoutonvalidation = true; |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) { |
soumettreFormulaire(); |
soumettreFormulaire(renvoyerStructureForm()); |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) { |
mediateur.clicMenu(menuIdCourant); |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) { |
263,7 → 263,11 |
return ecouteur; |
} |
protected void soumettreFormulaire() { |
private StructureForm renvoyerStructureForm() { |
return this; |
} |
protected void soumettreFormulaire(Rafraichissable vueARafraichir) { |
// Vérification de la validité des champs du formulaire |
if (verifierFormulaire()) { |
// Collecte des données du formulaire |
274,7 → 278,7 |
if (mode.equals(MODE_AJOUTER)) { |
// Ajout des informations sur la Structure |
mediateur.ajouterStructure(this, structure, conservation, valorisation); |
mediateur.ajouterStructure(vueARafraichir, structure, conservation, valorisation); |
// L'ajout des relations StructureAPersonne se fait quand la structure a été ajoutée |
// Voir la méthode rafraichir(). |
} else if (mode.equals(MODE_MODIFIER)) { |
289,17 → 293,17 |
} else { |
if (personnelModifie.size() != 0) { |
decompteRafraichissementPersonnel++; |
mediateur.modifierStructureAPersonne(this, personnelModifie); |
mediateur.modifierStructureAPersonne(vueARafraichir, personnelModifie); |
} |
// Ajout des relations StructureAPersonne |
if (personnelAjoute.size() != 0) { |
decompteRafraichissementPersonnel++; |
mediateur.ajouterStructureAPersonne(this, identification.getId(), personnelAjoute); |
mediateur.ajouterStructureAPersonne(vueARafraichir, identification.getId(), personnelAjoute); |
} |
// Suppression des relations StructureAPersonne |
if (personnelSupprime.size() != 0) { |
decompteRafraichissementPersonnel++; |
mediateur.supprimerStructureAPersonne(this, personnelSupprime); |
mediateur.supprimerStructureAPersonne(vueARafraichir, personnelSupprime); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/vues/PublicationForm.java |
---|
87,8 → 87,14 |
protected boolean listeAuteurInitialisee = false; |
protected boolean listeAuteurPublicationInitialisee = false; |
public PublicationForm(Mediateur mediateurCourrant, String modeDeCreation) { |
public PublicationForm(Mediateur mediateurCourrant, String publicationId) { |
String modeDeCreation = Formulaire.MODE_AJOUTER; |
if (publicationId != null) { |
modeDeCreation = Formulaire.MODE_MODIFIER; |
} |
initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.PUBLICATION); |
chargerOntologie(); |
panneauFormulaire.setLayout(new FlowLayout()); |
String titre = (modeDeCreation.equals(Formulaire.MODE_AJOUTER) ? "Ajout d'une publication" : "Modification d'une publication"); |
panneauFormulaire.setHeading(titre); |
102,6 → 108,11 |
creerZoneEdition(); |
panneauFormulaire.add(editionFieldset); |
mediateurCourrant.selectionnerPublication(this, publicationId); |
mediateurCourrant.selectionnerAuteurAPublication(this, publicationId); |
} |
private void chargerOntologie() { |
mediateur.clicObtenirListeEditeurs(this); |
mediateur.clicObtenirListeAuteurs(this); |
} |
357,7 → 368,7 |
} |
} |
public void soumettreFormulaire() { |
public void soumettreFormulaire(Rafraichissable vueARafraichir) { |
String auteur = ""; |
String idAuteur = ""; |
for (int i = 0; i < auteurComboboxListe.size(); i++) { |
434,7 → 445,7 |
protected void reinitialiserFormulaire() { |
if (mode.equals(StructureForm.MODE_MODIFIER)) { |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
mediateur.afficherFormPublication(publi.getId()); |
} else { |
mediateur.afficherFormPublication(null); |
464,10 → 475,10 |
public void componentSelected(ButtonEvent ce) { |
String code = ((Button) ce.getComponent()).getData("code"); |
if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) { |
soumettreFormulaire(); |
soumettreFormulaire(renvoyerPublicationForm()); |
clicBoutonvalidation = true; |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) { |
soumettreFormulaire(); |
soumettreFormulaire(renvoyerPublicationForm()); |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) { |
mediateur.clicMenu(menuIdCourant); |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) { |
478,4 → 489,8 |
return ecouteur; |
} |
private PublicationForm renvoyerPublicationForm() { |
return this; |
} |
} |