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; |