17,6 → 17,7 |
import org.tela_botanica.client.modeles.MenuApplicationId; |
import org.tela_botanica.client.modeles.Valeur; |
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.collection.CollectionAPersonne; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.modeles.personne.PersonneListe; |
import org.tela_botanica.client.modeles.projet.Projet; |
119,7 → 120,7 |
|
private ToolBar barreOutils = null; |
private EditorGrid<Personne> grille; |
private ComboBox<Personne> personnesSaisiesComboBox = null; |
private ChampComboBoxRechercheTempsReelPaginable personnesSaisiesComboBox = null; |
private Button personnesBoutonSupprimer = null; |
private Button personnesBoutonModifier = null; |
private PersonneListe listePersonne = new PersonneListe(); |
192,7 → 193,7 |
|
barreOutils.add(new Text(" ou ")); |
|
personnesSaisiesComboBox = creerComboBoxPersonnesSaisies(); |
creerComboBoxPersonnesSaisies(); |
barreOutils.add(personnesSaisiesComboBox); |
|
barreOutils.add(new SeparatorToolItem()); |
332,43 → 333,38 |
} |
} |
|
private ComboBox<Personne> creerComboBoxPersonnesSaisies() { |
ListStore<Personne> personnesSaisiesStore = new ListStore<Personne>(); |
private void creerComboBoxPersonnesSaisies() { |
ModelType modelTypePersonnes = new ModelType(); |
modelTypePersonnes.setRoot("personnes"); |
modelTypePersonnes.setTotalName("nbElements"); |
modelTypePersonnes.addField("cp_fmt_nom_complet"); |
modelTypePersonnes.addField("cp_id_personne"); |
modelTypePersonnes.addField("cp_code_postal"); |
modelTypePersonnes.addField("cp_ville"); |
modelTypePersonnes.addField("cp_truk_courriel"); |
|
ComboBox<Personne> comboBox = new ComboBox<Personne>(); |
comboBox.setWidth(400); |
comboBox.setEmptyText(i18nC.chercherPersonneSaisi()); |
comboBox.setTriggerAction(TriggerAction.ALL); |
comboBox.setEditable(true); |
comboBox.setDisplayField("fmt_nom_complet"); |
comboBox.setStore(personnesSaisiesStore); |
comboBox.addKeyListener(new KeyListener() { |
public void componentKeyUp(ComponentEvent ce) { |
if (personnesSaisiesComboBox.getRawValue() != null && personnesSaisiesComboBox.getRawValue().length() > 0) { |
if (!ce.isNavKeyPress()) { |
obtenirPersonnesSaisies(personnesSaisiesComboBox.getRawValue()); |
} |
} |
} |
}); |
comboBox.addListener(Events.Select, new Listener<BaseEvent>() { |
public void handleEvent(BaseEvent be) { |
if (personnesSaisiesComboBox.getValue() instanceof Personne) { |
String displayNamePersonnes = "cp_fmt_nom_complet"; |
ProxyPersonnes<ModelData> proxyPersonnes = new ProxyPersonnes<ModelData>(sequenceur); |
|
personnesSaisiesComboBox = new ChampComboBoxRechercheTempsReelPaginable(proxyPersonnes, modelTypePersonnes, displayNamePersonnes); |
|
personnesSaisiesComboBox.getCombo().addListener(Events.Select, new Listener<BaseEvent>() { |
public void handleEvent(BaseEvent be) { |
if (personnesSaisiesComboBox.getValeur() instanceof ModelData) { |
// N'ajouter l'auteur que s'il n'est pas déjà présent dans la grille et dans les valeurs initiales |
Personne personneSaisieSelectionne = personnesSaisiesComboBox.getValue(); |
if (grille.getStore().findModel(personneSaisieSelectionne) != null) { |
Personne personneSaisieSelectionnee = new Personne(personnesSaisiesComboBox.getValeur()); |
if (grille.getStore().findModel(personneSaisieSelectionnee) != null) { |
Info.display("Information", "La personne est déjà présente dans la liste d'auteurs"); |
} else { |
if (!auteursInitialListe.containsValue(personneSaisieSelectionne)) { |
auteursAjoutes.put(personneSaisieSelectionne.getId(), personneSaisieSelectionne); |
if (!auteursInitialListe.containsValue(personneSaisieSelectionnee)) { |
auteursAjoutes.put(personneSaisieSelectionnee.getId(), personneSaisieSelectionnee); |
} |
ajouterDansGrille(personneSaisieSelectionne); |
personnesSaisiesComboBox.setValue(null); |
ajouterDansGrille(personneSaisieSelectionnee); |
personnesSaisiesComboBox.getCombo().setValue(null); |
} |
} |
} |
}); |
return comboBox; |
} |
|
private void obtenirPersonnesSaisies(String nom) { |
654,7 → 650,7 |
} else if (nouvellesDonnees instanceof PublicationAPersonneListe) { |
rafraichirListeAuteurs((PublicationAPersonneListe) nouvellesDonnees); |
} else if (nouvellesDonnees instanceof Information) { |
rafraichirInformation((Information) nouvellesDonnees); |
rafraichirInformation((Information) nouvellesDonnees); |
} else { |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
705,12 → 701,26 |
genererTitreFormulaire(); |
} |
|
if (info.getType().equals("liste_personne")) { |
/*if (info.getType().equals("liste_personne")) { |
PersonneListe listePersonneAuteur = (PersonneListe) info.getDonnee(0); |
ListStore store = personnesSaisiesComboBox.getStore(); |
store.removeAll(); |
store.add(listePersonneAuteur.toList()); |
|
} else */ |
if (type.equals("personne_ajoutee")) { |
if (info.getDonnee(0) != null) { |
Personne personne = (Personne) info.getDonnee(0); |
ajouterDansGrille(personne); |
} |
} else if (type.equals("personne_modifiee")) { |
if (info.getDonnee(0) != null) { |
Personne personne = (Personne) info.getDonnee(0); |
Personne personneDansGrille = grille.getStore().findModel("id_personne", personne.getId()); |
int index = grille.getStore().indexOf(personneDansGrille); |
grille.getStore().remove(personneDansGrille); |
ajouterDansGrille(personne, index); |
} |
} else if (info.getType().equals("modif_publication")) { |
InfoLogger.display("Modification d'une publication", info.toString()); |
} else if (info.getType().equals("ajout_publication")) { |