Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 282 → Rev 283

/trunk/src/org/tela_botanica/client/vues/FormPersonneVue.java
1,18 → 1,24
package org.tela_botanica.client.vues;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
 
import org.tela_botanica.client.ComposantClass;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.modeles.InterneValeur;
import org.tela_botanica.client.modeles.Personne;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
 
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.KeyListener;
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
19,19 → 25,19
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.store.Store;
import com.extjs.gxt.ui.client.widget.Container;
import com.extjs.gxt.ui.client.store.StoreListener;
 
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.DatePicker;
 
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.TabItem;
import com.extjs.gxt.ui.client.widget.TabPanel;
 
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.extjs.gxt.ui.client.widget.form.DateField;
import com.extjs.gxt.ui.client.widget.form.FieldSet;
import com.extjs.gxt.ui.client.widget.form.LabelField;
import com.extjs.gxt.ui.client.widget.form.TextField;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
40,8 → 46,7
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
 
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Widget;
 
 
55,8 → 60,9
*/
private TabItem tiIdentite, tiAdresses, tiInfosNat;
private Mediateur mediateur = Registry.get(RegistreId.MEDIATEUR);
private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
/*--------------------------------------------------------------------------------------
* CONSTRUCTEUR
* -------------------------------------------------------------------------------------
70,7 → 76,7
* */
public FormPersonneVue() {
initialiserPanneau(this);
initialiserPanneau();
ToolBar barreOutils = new ToolBar();
96,14 → 102,14
*
* @param contentPanel le panneau à initialiser
* */
public void initialiserPanneau(ContentPanel contentPanel) {
public void initialiserPanneau() {
contentPanel.setLayout(new FitLayout());
contentPanel.setIconStyle("icone-form-ajouter");
contentPanel.setCollapsible(false);
contentPanel.setHeading("Ajouter une personne");
contentPanel.setButtonAlign(HorizontalAlignment.CENTER);
contentPanel.setLayout(new FormLayout());
setLayout(new FitLayout());
setIconStyle("icone-form-ajouter");
setCollapsible(false);
setHeading("Ajouter une personne");
setButtonAlign(HorizontalAlignment.CENTER);
setLayout(new FormLayout());
}
/**
117,17 → 123,21
//Tab 1 : identite
tiIdentite = new TabItem("Identité");
tiIdentite.setLayout(new FormLayout());
tiIdentite.setScrollMode(Scroll.AUTO);
formulaireOnglets.add(tiIdentite);
//Tab 2 : Adresse
tiAdresses = new TabItem("Adresse");
tiAdresses.setLayout(new FlowLayout());
tiAdresses.setScrollMode(Scroll.AUTO);
formulaireOnglets.add(tiAdresses);
//Tab 3 : Infos Naturalistes
tiInfosNat = new TabItem("Informations Naturalistes");
tiInfosNat.setLayout(new FormLayout());
tiInfosNat.setScrollMode(Scroll.AUTO);
formulaireOnglets.add(tiInfosNat);
add(formulaireOnglets);
143,7 → 153,7
public void creerComposantsIdentite() {
// Gestion de l'affichage en colonnes
// Gestion de l'affichage en colonnes
// On crée 3 Layout container : un principal, un pour la colonne de gauche, un pour la colonne de droite
// Gauche
187,11 → 197,16
ComboBox<Valeur> cbPrefix = new ComboBox<Valeur>();
ListStore<Valeur> storePrefixe = new ListStore<Valeur>();
cbPrefix.setStore(storePrefixe);
cbPrefix.setDisplayField("nom");
cbPrefix.setEmptyText("Choisissez le préfixe:");
cbPrefix.setFieldLabel("Prefix");
fsNoms.add(cbPrefix);
hmIdentite.put("cbPrefix", cbPrefix);
// Remplir la liste des préfixe
mediateur.obtenirListeValeurEtRafraichir(this, "prefixe");
//Prénom
TextField<String> tfPrenom = new TextField<String>();
tfPrenom.setFieldLabel("Prénom");
206,15 → 221,20
hmIdentite.put("tfNom", tfNom);
//Préfixe
//Suffixe
ComboBox<Valeur> cbSuffixe = new ComboBox<Valeur>();
ListStore<Valeur> storeSuffixe = new ListStore<Valeur>();
cbSuffixe.setStore(storeSuffixe);
cbSuffixe.setFieldLabel("Suffixe");
cbSuffixe.setDisplayField("nom");
cbSuffixe.setEmptyText("Choisissez un suffixe:");
fsNoms.add(cbSuffixe);
hmIdentite.put("cbSuffixe", cbSuffixe);
// Remplir la liste des suffixes:
mediateur.obtenirListeValeurEtRafraichir(this, "suffixes");
// Nom : autre
TextField<String> tfNomAutre = new TextField();
tfNomAutre.setFieldLabel("Autres noms");
276,10 → 296,6
hmIdentite.put("tfLieuDeces", tfLieuDeces);
//Date picker
DatePicker datePick = new DatePicker();
left.add(fsVie);
tiIdentite.add(main);
288,55 → 304,22
// Ajout des évènements saisi
KeyListener klNoms = new KeyListener() {
public void componentKeyUp(ComponentEvent ev) {
/*
* Met à jour le nom Complet du formulaire
* */
String valeurRetour = "";
// Prefixe
String prefixe = (String) ((ComboBox) hmIdentite.get("cbPrefix")).getSelectedText();
// Prénom
String prenom = (String) ((TextField) hmIdentite.get("tfPrenom")).getValue();
// Nom
String nom = (String) ((TextField) hmIdentite.get("tfNom")).getValue();
// Suffixe
String suffixe = (String) ((ComboBox) hmIdentite.get("cbSuffixe")).getSelectedText();
// Mettre à jour la valeur
valeurRetour = prefixe + " " + prenom + " " + nom + " " + suffixe;
valeurRetour = valeurRetour.replaceAll("null", "");
((LabelField) hmIdentite.get("nomComplet")).setValue(valeurRetour);
if (!valeurRetour.trim().equals("")) {
((LabelField) hmIdentite.get("nomComplet")).show();
} else {
((LabelField) hmIdentite.get("nomComplet")).hide();
}
rafraichir(null);
}
};
SelectionChangedListener<InterneValeur> selectionChange = new SelectionChangedListener<InterneValeur>() {
public void selectionChanged(SelectionChangedEvent se) {
rafraichir(null);
}
};
cbPrefix.addSelectionChangedListener(selectionChange);
cbPrefix.addKeyListener(klNoms);
tfPrenom.addKeyListener(klNoms);
tfNom.addKeyListener(klNoms);
cbSuffixe.addKeyListener(klNoms);
cbSuffixe.addSelectionChangedListener(selectionChange);
//Prénom
this.recalculate();
fsNoms.recalculate();
fsNoms.layout();
this.layout();
this.hide();
rafraichir(null);
}
/**
399,11 → 382,85
* RAFRAICHISSEMENT DU PANNEAU
* --------------------------------------------------------------------------------------
*/
public void rafraichir(Object nouvelleDonnees) {
// TODO Auto-generated method stub
this.show();
this.layout();
this.recalculate();
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof ValeurListe){
ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
// Créer une liste de valeurs
List<Valeur> liste = new ArrayList<Valeur>();
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
liste.add(listeValeurs.get(it.next()));
}
if (listeValeurs.getId().equals(config.getListeId("prefixe"))) {
 
//Remplir la liste Prefixe
ListStore<Valeur> stPrefixe = ((ComboBox) hmIdentite.get("cbPrefix")).getStore();
stPrefixe.removeAll();
stPrefixe.add(liste);
((ComboBox) hmIdentite.get("cbPrefix")).setStore(stPrefixe);
} else if (listeValeurs.getId().equals(config.getListeId("suffixes"))) {
//Remplir la liste Suffixe
ListStore<Valeur> stSuffix = ((ComboBox) hmIdentite.get("cbSuffixe")).getStore();
stSuffix.removeAll();
stSuffix.add(liste);
((ComboBox) hmIdentite.get("cbSuffixe")).setStore(stSuffix);
}
}
if (nouvellesDonnees == null)
{
ComboBox cb= (ComboBox) hmIdentite.get("cbPrefix");
/*
* Met à jour le nom Complet du formulaire
* */
String valeurRetour = "";
// Prefixe
String prefixe = "";
Valeur valPrefixe = (Valeur) ((ComboBox) hmIdentite.get("cbPrefix")).getValue();
if (valPrefixe != null) {
prefixe = valPrefixe.getNom();
}
// Prénom
String prenom = (String) ((TextField) hmIdentite.get("tfPrenom")).getValue();
// Nom
String nom = (String) ((TextField) hmIdentite.get("tfNom")).getValue();
// Suffixe
String suffixe = "";
Valeur valSuffixe = (Valeur) ((ComboBox) hmIdentite.get("cbSuffixe")).getValue();
if (valSuffixe != null) {
suffixe = valSuffixe.getNom();
}
// Mettre à jour la valeur
valeurRetour = prefixe + " " + prenom + " " + nom + " " + suffixe;
valeurRetour = valeurRetour.replaceAll("null", "");
((LabelField) hmIdentite.get("nomComplet")).setValue(valeurRetour);
if (!valeurRetour.trim().equals("")) {
((LabelField) hmIdentite.get("nomComplet")).show();
} else {
((LabelField) hmIdentite.get("nomComplet")).hide();
}
}
}