57,6 → 57,10 |
String modeDeCreation = (UtilString.isEmpty(collection.getId()) ? Formulaire.MODE_AJOUTER : Formulaire.MODE_MODIFIER); |
initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.COLLECTION); |
|
String titre = genererTitreFormulaire(); |
panneauFormulaire.setHeading(titre); |
|
creerOnglets(); |
creerFieldsetPrincipal(); |
|
if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) { |
67,6 → 71,14 |
} |
} |
|
private String genererTitreFormulaire() { |
String titre = i18nC.collectionTitreFormAjout(); |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
titre = i18nC.collectionTitreFormModif()+" - "+i18nC.id()+": "+collection.getId(); |
} |
return titre; |
} |
|
private void creerFieldsetPrincipal() { |
FieldSet principalFieldSet = new FieldSet(); |
principalFieldSet.setHeading("Info"); |
82,28 → 94,27 |
nomChp.getMessages().setBlankText(i18nC.champObligatoire()); |
principalFieldSet.add(nomChp, new FormData(450, 0)); |
|
typesCollectionCombo = new ChampComboBoxListeValeurs(i18nC.typeCollectionNcd(), "typeCollectionNcd", tabIndex++); |
typesCollectionCombo.peupler(Valeur.COLLECTION_NCD_HERBIER); |
typesCollectionCombo.addStyleName(ComposantClass.OBLIGATOIRE); |
typesCollectionCombo.addListener(Events.Select, new Listener<BaseEvent>() { |
Listener<BaseEvent> ecouteurTypeCollection = new Listener<BaseEvent>() { |
@Override |
public void handleEvent(BaseEvent be) { |
Valeur valeur = typesCollectionCombo.getValue(); |
|
// Gestion des onglets en fonction du type de collection |
panneauFormulaire.remove(onglets); |
mediateur.activerChargement(""); |
if (valeur != null && valeur.getId().equals(Valeur.COLLECTION_NCD_HERBIER)) { |
onglets = creerOngletsHerbier(); |
panneauFormulaire.add(onglets); |
activerOngletsHerbier(); |
} else { |
onglets = creerOngletsDefaut(); |
panneauFormulaire.add(onglets); |
activerOngletsDefaut(); |
} |
mediateur.desactiverChargement(); |
panneauFormulaire.layout(); |
} |
}); |
}; |
|
typesCollectionCombo = new ChampComboBoxListeValeurs(i18nC.typeCollectionNcd(), "typeCollectionNcd", tabIndex++); |
typesCollectionCombo.peupler(Valeur.COLLECTION_NCD_HERBIER); |
typesCollectionCombo.addStyleName(ComposantClass.OBLIGATOIRE); |
typesCollectionCombo.addListener(Events.Change, ecouteurTypeCollection); |
typesCollectionCombo.addListener(Events.Select, ecouteurTypeCollection); |
typesCollectionCombo.addListener(Events.Valid, creerEcouteurChampObligatoire()); |
principalFieldSet.add(typesCollectionCombo, new FormData(150, 0)); |
typesCollectionCombo.fireEvent(Events.Select); |
111,48 → 122,86 |
panneauFormulaire.setTopComponent(principalFieldSet); |
} |
|
protected TabPanel creerOngletsDefaut() { |
TabPanel ongletsCollectionDefaut = new TabPanel(); |
|
// Onlget formulaire GENERAL |
ongletsCollectionDefaut.add(creerOngletGeneral()); |
|
// Onlget formulaire AUTEUR |
ongletsCollectionDefaut.add(creerOngletPersonne()); |
private void activerOngletsDefaut() { |
if (onglets.findItem(CollectionFormGeneral.ID, false) == null) { |
onglets.add(generalOnglet); |
} |
if (onglets.findItem(CollectionFormPersonne.ID, false) == null) { |
onglets.add(personneOnglet); |
} |
if (onglets.findItem(CollectionFormPublication.ID, false) != null) { |
onglets.remove(publicationOnglet); |
} |
if (onglets.findItem(CollectionFormDescription.ID, false) != null) { |
onglets.remove(descriptionOnglet); |
} |
if (onglets.findItem(CollectionFormContenu.ID, false) != null) { |
onglets.remove(contenuOnglet); |
} |
if (onglets.findItem(CollectionFormInventaire.ID, false) != null) { |
onglets.remove(inventaireOnglet); |
} |
if (onglets.findItem(CollectionFormCommentaire.ID, false) != null) { |
onglets.remove(commentaireOnglet); |
} |
panneauFormulaire.layout(); |
} |
|
return ongletsCollectionDefaut; |
private void activerOngletsHerbier() { |
if (onglets.findItem(CollectionFormGeneral.ID, false) == null) { |
onglets.add(generalOnglet); |
} |
if (onglets.findItem(CollectionFormPersonne.ID, false) == null) { |
onglets.add(personneOnglet); |
} |
if (onglets.findItem(CollectionFormPublication.ID, false) == null) { |
onglets.add(publicationOnglet); |
} |
if (onglets.findItem(CollectionFormDescription.ID, false) == null) { |
onglets.add(descriptionOnglet); |
} |
if (onglets.findItem(CollectionFormContenu.ID, false) == null) { |
onglets.add(contenuOnglet); |
} |
if (onglets.findItem(CollectionFormInventaire.ID, false) == null) { |
onglets.add(inventaireOnglet); |
} |
if (onglets.findItem(CollectionFormCommentaire.ID, false) == null) { |
onglets.add(commentaireOnglet); |
} |
panneauFormulaire.layout(); |
} |
|
protected TabPanel creerOngletsHerbier() { |
TabPanel ongletsCollectionHerbier = new TabPanel(); |
private void creerOnglets() { |
onglets = new TabPanel(); |
// NOTE : pour faire apparaître les scrollBar il faut définir la hauteur du panneau d'onglets à 100% (autoHeight ne semble pas fonctionner) |
ongletsCollectionHerbier.setHeight("100%"); |
onglets.setHeight("100%"); |
|
// Onlget formulaire GENERAL |
ongletsCollectionHerbier.add(creerOngletGeneral()); |
onglets.add(creerOngletGeneral()); |
|
// Onlget formulaire AUTEUR |
ongletsCollectionHerbier.add(creerOngletPersonne()); |
onglets.add(creerOngletPersonne()); |
|
// Onlget formulaire PUBLICATION |
ongletsCollectionHerbier.add(creerOngletPublication()); |
onglets.add(creerOngletPublication()); |
|
// Onlget formulaire DESCRIPTION |
ongletsCollectionHerbier.add(creerOngletDescription()); |
onglets.add(creerOngletDescription()); |
|
// Onlget formulaire CONTENU |
ongletsCollectionHerbier.add(creerOngletContenu()); |
onglets.add(creerOngletContenu()); |
|
// Onlget formulaire INVENTAIRE |
ongletsCollectionHerbier.add(creerOngletInventaire()); |
onglets.add(creerOngletInventaire()); |
|
// Onlget formulaire COMMENTAIRE |
ongletsCollectionHerbier.add(creerOngletCommentaire()); |
onglets.add(creerOngletCommentaire()); |
|
// Sélection de l'onglet par défaut |
ongletsCollectionHerbier.setSelection(generalOnglet); |
onglets.setSelection(generalOnglet); |
|
return ongletsCollectionHerbier; |
panneauFormulaire.add(onglets); |
} |
|
private TabItem creerOngletGeneral() { |