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(); |
} |
} |
} |
|
|