Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 719 → Rev 775

/trunk/src/org/tela_botanica/client/vues/CollectionFormPublication.java
13,8 → 13,10
import org.tela_botanica.client.modeles.PublicationListe;
import org.tela_botanica.client.modeles.ValeurListe;
 
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.KeyListener;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.SelectionListener;
25,7 → 27,9
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;
import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
import com.extjs.gxt.ui.client.widget.grid.ColumnData;
51,6 → 55,7
private ComboBox<Publication> publicationsSaisiesComboBox = null;
private Button publicationsBoutonSupprimer = null;
private Button publicationsBoutonModifier = null;
private Button ajouterPublicationSaisieBouton = null;
private static final String ETAT_AJOUTE = "A";
private static final String ETAT_SUPPRIME = "S";
117,7 → 122,7
publicationsSaisiesComboBox = creerComboBoxPublicationsSaisis();
barreOutils.add(publicationsSaisiesComboBox);
Button ajouterPublicationSaisieBouton = creerBoutonAjouterPublicationSaisi();
ajouterPublicationSaisieBouton = creerBoutonAjouterPublicationSaisi();
barreOutils.add(ajouterPublicationSaisieBouton);
return barreOutils;
129,14 → 134,7
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
PublicationForm formulairePublication = new PublicationForm();
//formulairePersonne.setHeaderVisible(false);
//formulairePersonne.setTopComponent(null);
// TODO : gérer la barre d'outil avec des évènements spécifique au contexte de fenêtre modale
//formulairePersonne.setBottomComponent(null);
final FenetreForm fenetre = new FenetreForm(i18nC.publicationTitreFormAjout());
fenetre.add(formulairePublication);
final FenetreForm fenetre = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_AJOUTER);
fenetre.show();
}
});
154,15 → 152,7
if (publicationSaisieSelectionnee == null) {
Info.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication());
} else {
PublicationForm formulairePublication = new PublicationForm();
//formulairePublication.setHeaderVisible(false);
//formulairePublication.setTopComponent(null);
// TODO : gérer la barre d'outil avec des évènements spécifique au contexte de fenêtre modale
//formulairePersonne.setBottomComponent(null);
formulairePublication.rafraichir(publicationSaisieSelectionnee);
final FenetreForm fenetre = new FenetreForm(i18nC.publicationTitreFormModif());
fenetre.add(formulairePublication);
final FenetreForm fenetre = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_MODIFIER);
fenetre.show();
}
}
169,7 → 159,55
});
return bouton;
}
private FenetreForm creerFenetreModaleAvecFormulairePersonne(String mode) {
final FenetreForm fenetre = new FenetreForm("");
final PublicationForm formulaire = creerFormulairePublication(fenetre, mode);
fenetre.add(formulaire);
return fenetre;
}
private PublicationForm creerFormulairePublication(final FenetreForm fenetre, final String mode) {
PublicationForm formulairePublication = new PublicationForm(mediateur, mode);
FormPanel panneauFormulaire = formulairePublication.getFormulaire();
fenetre.setHeading(panneauFormulaire.getHeading());
panneauFormulaire.setHeaderVisible(false);
panneauFormulaire.setTopComponent(null);
 
// TODO : gérer la barre d'outil avec des évènements spécifique au contexte de fenêtre modale
SelectionListener<ButtonEvent> ecouteur = creerEcouteurValidationFormulairePublication(fenetre, formulairePublication);
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;
}
private SelectionListener<ButtonEvent> creerEcouteurValidationFormulairePublication(final FenetreForm fenetre, final PublicationForm formulaire) {
SelectionListener<ButtonEvent> ecouteur = new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
String code = ((Button) ce.getComponent()).getData("code");
if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) {
formulaire.soumettreFormulaire();
fenetre.hide();
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) {
formulaire.soumettreFormulaire();
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) {
fenetre.hide();
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) {
formulaire.reinitialiserFormulaire();
}
}
};
return ecouteur;
}
 
private Button creerBoutonSupprimer() {
Button bouton = new Button(i18nC.supprimer());
bouton.setIcon(Images.ICONES.vcardSupprimer());
211,12 → 249,21
comboBox.setStore(publicationsSaisiesStore);
comboBox.addKeyListener(new KeyListener() {
public void componentKeyUp(ComponentEvent ce) {
ComboBox<Publication> comboBox = (ComboBox<Publication>) ce.getComponent();
if (!ce.isNavKeyPress() && comboBox.getRawValue() != null && comboBox.getRawValue().length() > 0) {
obtenirPublicationsSaisies(comboBox.getRawValue());
if (publicationsSaisiesComboBox.getRawValue() != null && publicationsSaisiesComboBox.getRawValue().length() > 0) {
if (!ce.isNavKeyPress()) {
obtenirPublicationsSaisies(publicationsSaisiesComboBox.getRawValue());
}
}
}
});
comboBox.addListener(Events.Select, new Listener<BaseEvent>() {
@Override
public void handleEvent(BaseEvent be) {
if (publicationsSaisiesComboBox.getValue() instanceof Publication) {
ajouterPublicationSaisieBouton.fireEvent(Events.Select);
}
}
});
return comboBox;
}
227,6 → 274,7
public void componentSelected(ButtonEvent ce) {
Publication publicationSaisieSelectionne = publicationsSaisiesComboBox.getValue();
ajouterDansGrille(publicationSaisieSelectionne);
publicationsSaisiesComboBox.setValue(null);
}
});
return bouton;