Subversion Repositories eFlore/Applications.coel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1368 → Rev 1369

/trunk/src/org/tela_botanica/client/vues/EnteteVue.java
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/EnteteVue.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/StatutVue.java
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/StatutVue.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/FiltreVue.java
1,34 → 1,31
package org.tela_botanica.client.vues;
 
import java.util.LinkedList;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
import org.tela_botanica.client.composants.pagination.ProxyProjets;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.modeles.projet.ProjetListe;
import org.tela_botanica.client.synchronisation.Sequenceur;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.data.ModelType;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.KeyListener;
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.form.Field;
import com.extjs.gxt.ui.client.widget.form.Validator;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.KeyCodes;
 
public class FiltreVue extends ContentPanel implements Rafraichissable {
private Mediateur mediateur = null;
private Constantes i18nC = null;
private ListStore<Projet> projets = null;
private Sequenceur sequenceur = new Sequenceur();
private ComboBox<Projet> listeProjets;
private ProjetListe projetsCache = null;
private ChampComboBoxRechercheTempsReelPaginable projetsCombo = null;
public FiltreVue(Mediateur mediateurCourrant) {
mediateur = mediateurCourrant;
38,65 → 35,83
setLayout(new FitLayout());
setLayoutOnChange(true);
 
chargerProjets();
initialiserListeProjets();
}
private void chargerProjets() {
mediateur.selectionnerProjet(this, null, null);
}
private void initialiserListeProjets() {
/*********************************/
/** Champ Projets **/
/*********************************/
// Ajout de la sélection des projets
listeProjets = new ComboBox<Projet>();
projets = new ListStore<Projet>();
listeProjets.setStore(projets);
listeProjets.setEditable(false);
listeProjets.setDisplayField("nom");
listeProjets.setEmptyText(i18nC.txtListeProjetDefaut());
listeProjets.setTypeAhead(true);
listeProjets.setTriggerAction(TriggerAction.ALL);
ModelType modelTypeProjets = new ModelType();
modelTypeProjets.setRoot("projets");
modelTypeProjets.setTotalName("nbElements");
modelTypeProjets.addField("cpr_nom");
modelTypeProjets.addField("cpr_id_projet");
String displayNameProjets = "cpr_nom";
ProxyProjets<ModelData> proxyProjets = new ProxyProjets<ModelData>(sequenceur);
projetsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyProjets, modelTypeProjets, displayNameProjets);
projetsCombo.getCombo().setEmptyText("Tous les projets");
projetsCombo.getCombo().setAllowBlank(true);
projetsCombo.getCombo().setForceSelection(false);
projetsCombo.getCombo().setEditable(true);
projetsCombo.setWidth(215);
projetsCombo.getCombo().setValidator(new Validator() {
public String validate(Field<?> field, String value) {
String retour = null;
if (field.getRawValue().equals("")) {
field.setValue(null);
} else if (projetsCombo.getStore().findModel("cpr_nom", field.getRawValue()) == null) {
String contenuBrut = field.getRawValue();
field.setValue(null);
field.setRawValue(contenuBrut);
retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
}
return retour;
}
});
final Projet tousProjets = new Projet();
tousProjets.set("nom", i18nC.tousProjets());
// Ajout d'un écouteur pour le changement => enregistre la valeur courante du projet dans le registre
listeProjets.addSelectionChangedListener(new SelectionChangedListener<Projet>() {
public void selectionChanged(SelectionChangedEvent<Projet> se) {
mediateur.activerChargement(i18nC.chargement());
mediateur.selectionnerProjetCourant(se.getSelectedItem());
projetsCombo.getCombo().addSelectionChangedListener(new SelectionChangedListener<ModelData>() {
public void selectionChanged(SelectionChangedEvent<ModelData> se) {
if (se.getSelectedItem() != null) {
mediateur.activerChargement(i18nC.chargement());
Projet projet = new Projet (se.getSelectedItem());
mediateur.selectionnerProjetCourant(projet);
}
}
});
add(listeProjets);
projetsCombo.getCombo().addKeyListener(new KeyListener() {
public void componentKeyUp(ComponentEvent ce) {
projetsCombo.getCombo().setRawValue("Tous les projets");
projetsCombo.getCombo().setValue(null);
projetsCombo.getCombo().clearSelections();
if (ce.getKeyCode() == KeyCodes.KEY_ENTER) {
mediateur.selectionnerProjetCourant(tousProjets);
projetsCombo.getCombo().setValue(tousProjets);
projetsCombo.getCombo().setVisible(false);
projetsCombo.getCombo().collapse();
projetsCombo.getCombo().setVisible(true);
}
}
});
 
add(projetsCombo);
}
private void afficherListeProjets(List projetsRecus) {
projets.removeAll();
List<Projet> selection = new LinkedList<Projet>();
Projet tousProjets = new Projet();
tousProjets.set("nom", i18nC.tousProjets());
projetsRecus.add(0, tousProjets);
selection.add(tousProjets);
projets.add(projetsRecus);
listeProjets.setStore(projets);
listeProjets.setSelection(selection);
layout();
public String getProjet() {
if (projetsCombo.getValeur() != null) {
Projet projet = new Projet(projetsCombo.getValeur());
return projet.getAbreviation();
} else {
return null;
}
 
}
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof ProjetListe) {
projetsCache = (ProjetListe) nouvellesDonnees;
Registry.register(RegistreId.PROJETS, projetsCache);
afficherListeProjets(projetsCache.toList());
} else if (nouvellesDonnees instanceof List) {
List<Projet> projets = (List) nouvellesDonnees;
Registry.register(RegistreId.PROJETS, projets);
afficherListeProjets(projets);
} else {
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
}
// empty ...
}
}
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/FiltreVue.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/Formulaire.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/Formulaire.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/personne/PersonneFormPublication.java
458,9 → 458,6
}
};
 
ColumnConfig typeRelationColonne = new ColumnConfig("_role_", i18nC.typeRelationPersonneCollection(), 75);
typeRelationColonne.setEditor(editeurRelation);
typeRelationColonne.setRenderer(relationRendu);
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/personne/PersonneFormPublication.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/personne/PersonneVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/personne/PersonneVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/personne/PersonneListeVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/personne/PersonneListeVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/personne/PersonneDetailVue.java
11,6 → 11,7
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.configuration.Configuration;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.modeles.publication.Publication;
49,10 → 50,8
private HashMap hmLabelFieldRegion = new HashMap();
private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
//private boolean ontologieRecue = false;
private Personne personneAAfficher = null;
 
//private boolean personneAffichee = false;
private String tableauPublicationsLieesTpl = "";
private String lignePublicationLieeTpl = "";
60,8 → 59,7
public PersonneDetailVue(Mediateur mediateur) {
super(mediateur);
//chargerOntologie(); -> Les ontologies sont chargées plus tôt, dans la vue PersonneVue
 
setLayout(new FitLayout());
 
entete = new Html();
74,21 → 72,26
panneauPrincipal.setTopComponent(entete);
 
tabIdentite = new TabItem(i18nC.personneIdentite());
tabIdentite.setTitle(i18nC.personneIdentite());
tabIdentite.setLayout(new AnchorLayout());
tabIdentite.setScrollMode(Scroll.AUTO);
 
tabAdresse = new TabItem(i18nC.personneAdresses());
tabAdresse.setTitle(i18nC.personneAdresses());
tabAdresse.setLayout(new FitLayout());
tabAdresse.setScrollMode(Scroll.AUTO);
 
tabInfosNat = new TabItem(i18nC.personneInfoNat());
tabInfosNat.setTitle(i18nC.personneInfoNat());
tabInfosNat.setScrollMode(Scroll.AUTO);
 
tabPublications = new TabItem(i18nC.tabPublications());
tabPublications.setTitle(i18nC.tabPublications());
tabPublications.setScrollMode(Scroll.AUTO);
tabPublications.setLayout(new FlowLayout());
tabLogos = new TabItem(i18nC.personneLogos());
tabLogos.setTitle(i18nC.personneLogos());
tabLogos.setScrollMode(Scroll.AUTO);
tabLogos.setLayout(new FlowLayout());
 
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/personne/PersonneDetailVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/personne/PersonneForm.java
154,11 → 154,10
initialiserComposants();
genererTitreFormulaire();
//mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication", sequenceur);
mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication", sequenceur);
mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication", null);
if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) {
//mediateur.selectionnerPersonne(this, personne, null, sequenceur);
mediateur.selectionnerPersonne(this, personne, null, null);
mediateur.selectionnerPersonne(this, personne, null, sequenceur);
}
}
297,8 → 296,7
fsNoms.add(cbPrefixe);
hmIdentite.put("cbPrefixe", cbPrefixe);
//mediateur.obtenirListeValeurEtRafraichir(this, "prefixe", sequenceur);
mediateur.obtenirListeValeurEtRafraichir(this, "prefixe", null);
mediateur.obtenirListeValeurEtRafraichir(this, "prefixe", sequenceur);
 
//Prénom
TextField<String> tfPrenom = new TextField<String>();
330,8 → 328,7
fsNoms.add(cbSuffixe);
hmIdentite.put("cbSuffixe", cbSuffixe);
//mediateur.obtenirListeValeurEtRafraichir(this, "suffixes", sequenceur);
mediateur.obtenirListeValeurEtRafraichir(this, "prefixe", null);
mediateur.obtenirListeValeurEtRafraichir(this, "suffixes", sequenceur);
 
TextField<String> tfAbreviation = new TextField<String>();
tfAbreviation.setFieldLabel("Abréviation");
502,8 → 499,7
lcAutreInformations1.add(cbSexe, fd);
hmIdentite.put("cbSexe", cbSexe);
//mediateur.obtenirListeValeurEtRafraichir(this, "sexe", sequenceur);
mediateur.obtenirListeValeurEtRafraichir(this, "sexe", null);
mediateur.obtenirListeValeurEtRafraichir(this, "sexe", sequenceur);
//Description
TextArea taDescription = new TextArea();
646,8 → 642,7
hmAdresse.put("tfVille", tfVille);
// MAJ ComboBox
//mediateur.obtenirListeValeurEtRafraichir(this, "pays", sequenceur);
mediateur.obtenirListeValeurEtRafraichir(this, "pays", null);
mediateur.obtenirListeValeurEtRafraichir(this, "pays", sequenceur);
FieldSet fsAdresse = new FieldSet();
fsAdresse.setHeading("Adresse personnelle");
1356,6 → 1351,7
} else if (typeDate=="décès") {
Date decesDate = DateTimeFormat.getFormat("dd/MM/yyyy").parse(valeurDate);
personneSelectionnee.setDecesDate(decesDate);
personneSelectionnee.set("ce_deces", personneSelectionnee.ETRE_DECEDE);
}
}
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/personne/PersonneForm.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormContenu.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionFormContenu.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionListeVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionListeVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormGeneral.java
172,8 → 172,6
structuresCombo.getCombo().setTabIndex(tabIndex++);
structuresCombo.getCombo().setFieldLabel(i18nC.lienStructureCollection());
structuresCombo.getCombo().setForceSelection(true);
structuresCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
structuresCombo.getCombo().addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
structuresCombo.getCombo().setValidator(new Validator() {
public String validate(Field<?> field, String value) {
211,9 → 209,7
collectionsCombo.setWidth(250, 600);
collectionsCombo.getCombo().setTabIndex(tabIndex++);
collectionsCombo.getCombo().setFieldLabel(i18nC.lienMereCollection());
collectionsCombo.getCombo().setForceSelection(true);
collectionsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
collectionsCombo.getCombo().addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
collectionsCombo.getCombo().setForceSelection(true);
collectionsCombo.getCombo().setValidator(new Validator() {
public String validate(Field<?> field, String value) {
450,7 → 446,6
}
private void setValeurComboCollections() {
if (collectionsCombo.getCombo().getStore() != null && collection != null) {
Debug.log("collection.getCollectionMereId()="+collection.getCollectionMereId());
collectionsCombo.getCombo().setValue(collectionsCombo.getStore().findModel("cc_ce_mere", collection.getCollectionMereId()));
}
}
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionFormGeneral.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionDetailVue.java
628,7 → 628,7
String idAlternatif = construireTxtTruck(collection.getIdAlternatif());
String code = construireTxtTruck(collection.getCode());
String urls = construireTxtTruck(collection.getUrls());
String urls = construireTxtTruck(collection.getUrls(), false);
String groupementBut = construireTxtListeOntologie(collection.getGroupementBut());
String groupementPrincipe = construireTxtListeOntologie(collection.getGroupementPrincipe());
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionDetailVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionForm.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionForm.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormCommentaire.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionFormCommentaire.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormDescription.java
292,6 → 292,14
truk += getPrecisionAbr(unite.getPrecision())+aDonnee.SEPARATEUR_DONNEES;
truk += unite.getFormat();
truk += (i == (nbreUnite - 1)) ? "" : aDonnee.SEPARATEUR_VALEURS;
if (truk.matches("^"+aDonnee.SEPARATEUR_DONNEES)) {
truk = truk.replaceFirst("^"+aDonnee.SEPARATEUR_DONNEES, "");
}
if (truk.matches("^"+aDonnee.SEPARATEUR_TYPE_VALEUR)) {
truk = truk.replaceFirst("^"+aDonnee.SEPARATEUR_TYPE_VALEUR, "");
}
}
return truk;
}
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionFormDescription.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormInventaire.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionFormInventaire.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormPersonne.java
6,7 → 6,9
 
import org.tela_botanica.client.ComposantClass;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.pagination.ProxyPersonnes;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
24,6 → 26,7
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.modeles.publication.Publication;
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
import org.tela_botanica.client.vues.FenetreForm;
33,6 → 36,8
import org.tela_botanica.client.vues.personne.PersonneForm;
 
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.data.ModelType;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
51,7 → 56,9
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.Field;
import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.extjs.gxt.ui.client.widget.form.Validator;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
85,7 → 92,8
private CollectionAPersonneListe personnesAjoutees = null;
private CollectionAPersonneListe personnesSupprimees = null;
private ComboBox<Personne> personnesSaisisComboBox = null;
private ChampComboBoxRechercheTempsReelPaginable personnesSaisisComboBox = null;
private ChampComboBoxRechercheTempsReelPaginable recherchePersonnesCombo = null;
private Button personnesBoutonSupprimer = null;
private Button personnesBoutonModifier = null;
private ListStore<Valeur> listeIon = null;
92,6 → 100,8
private FenetreForm fenetreFormulaire = null;
private Sequenceur sequenceur = new Sequenceur();
public CollectionFormPersonne(Formulaire formulaireCourrant) {
initialiserOnglet(formulaireCourrant);
276,36 → 286,54
return bouton;
}
private ComboBox<Personne> creerComboBoxPersonnesSaisies() {
ListStore<Personne> personnesSaisiesStore = new ListStore<Personne>();
personnesSaisiesStore.add(new ArrayList<Personne>());
private ChampComboBoxRechercheTempsReelPaginable 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_nom");
modelTypePersonnes.addField("cp_prenom");
modelTypePersonnes.addField("cp_code_postal");
modelTypePersonnes.addField("cp_naissance_date");
modelTypePersonnes.addField("cp_naissance_lieu");
modelTypePersonnes.addField("cp_ce_deces");
modelTypePersonnes.addField("cp_deces_date");
modelTypePersonnes.addField("cp_deces_lieu");
ComboBox<Personne> comboBox = new ComboBox<Personne>();
comboBox.setWidth(200);
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 (personnesSaisisComboBox.getRawValue() != null && personnesSaisisComboBox.getRawValue().length() > 0) {
if (!ce.isNavKeyPress()) {
obtenirPersonnesSaisis(personnesSaisisComboBox.getRawValue());
}
String displayNamePersonnes = "cp_fmt_nom_complet";
ProxyPersonnes<ModelData> proxyPersonnes = new ProxyPersonnes<ModelData>(sequenceur);
recherchePersonnesCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyPersonnes, modelTypePersonnes, displayNamePersonnes);
recherchePersonnesCombo.getCombo().setForceSelection(true);
recherchePersonnesCombo.getCombo().setValidator(new Validator() {
public String validate(Field<?> field, String value) {
String retour = null;
if (field.getRawValue().equals("")) {
field.setValue(null);
} else if (recherchePersonnesCombo.getStore().findModel("cp_fmt_nom_complet", field.getRawValue()) == null) {
String contenuBrut = field.getRawValue();
field.setValue(null);
field.setRawValue(contenuBrut);
retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
}
return retour;
}
});
comboBox.addListener(Events.Select, new Listener<BaseEvent>() {
recherchePersonnesCombo.getCombo().addListener(Events.Select, new Listener<BaseEvent>() {
public void handleEvent(BaseEvent be) {
if (personnesSaisisComboBox.getValue() instanceof Personne) {
Personne personneSaisiSelectionnee = personnesSaisisComboBox.getValue();
if (personnesSaisisComboBox.getValeur() instanceof ModelData) {
Personne personneSaisiSelectionnee = new Personne(personnesSaisisComboBox.getValeur());
ajouterDansGrille(personneSaisiSelectionnee);
personnesSaisisComboBox.setValue(null);
personnesSaisisComboBox.getCombo().setValue(null);
}
}
});
return comboBox;
 
return recherchePersonnesCombo;
}
private void ajouterDansGrille(Personne personne) {
517,17 → 545,8
GWT.log("MESSAGES:\n"+info.getMessages().toString(), null);
}
String type = info.getType();
if (type.equals("liste_personne")) {
if (info.getType().equals("liste_collection_a_personne")) {
if (info.getDonnee(0) != null) {
PersonneListe personnes = (PersonneListe) info.getDonnee(0);
List<Personne> liste = personnes.toList();
personnesSaisisComboBox.getStore().removeAll();
personnesSaisisComboBox.getStore().add(liste);
personnesSaisisComboBox.expand();
}
} else if (info.getType().equals("liste_collection_a_personne")) {
if (info.getDonnee(0) != null) {
initialiser();
collection.setPersonnesLiees((CollectionAPersonneListe) info.getDonnee(0));
peupler();
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionFormPersonne.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormPublication.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/collection/CollectionFormPublication.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/FenetreForm.java
9,7 → 9,6
public FenetreForm(String titre) {
int hauteur = (int) Math.ceil(com.google.gwt.user.client.Window.getClientHeight() * .8);
int largeur = (int) Math.ceil(com.google.gwt.user.client.Window.getClientWidth() * .8);
GWT.log("Taille:"+hauteur+"x"+largeur, null);
setSize(largeur, hauteur);
setPlain(true);
setModal(true);
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/FenetreForm.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/FormulaireOnglet.java
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/FormulaireOnglet.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/NavigationVue.java
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/NavigationVue.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/structure/StructureDetailVue.java
183,7 → 183,7
String typePrive = construireTxtListeOntologie(structure.getTypePrive());
String typePublic = construireTxtListeOntologie(structure.getTypePublic());
String pays = construireTxtListeOntologie(structure.getPays());
String web = construireTxtTruck(structure.getUrl());
String web = construireTxtTruck(structure.getUrl(), false);
String latitude = structure.getLatitude();
String longitude = structure.getLongitude();
String latitudeLongitude = (!longitude.equals("") && !latitude.equals("")) ? latitude+" / "+longitude : "";
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/structure/StructureDetailVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/structure/StructureForm.java
10,6 → 10,7
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.pagination.ProxyPersonnes;
import org.tela_botanica.client.composants.pagination.ProxyProjets;
import org.tela_botanica.client.composants.pagination.ProxyValeur;
import org.tela_botanica.client.images.Images;
222,7 → 223,7
private TextField<String> publicationChp = null;
private LayoutContainer materielConservationCp = null;
private ListStore<Personne> personneExistanteMagazin = null;
private ComboBox<Personne> personneExistanteCombo = null;
private ChampComboBoxRechercheTempsReelPaginable personneExistanteCombo = null;
private Button supprimerPersonnelBtn = null;
private ListStore<Projet> projetsMagazin = null;
private ChampComboBoxRechercheTempsReelPaginable projetsCombo = null;
1463,43 → 1464,34
personneExistanteMagazin = new ListStore<Personne>();
personneExistanteMagazin.add(new ArrayList<Personne>());
personneExistanteCombo = new ComboBox<Personne>();
personneExistanteCombo.setWidth(200);
personneExistanteCombo.setEmptyText("Chercher une personne existante...");
personneExistanteCombo.setTriggerAction(TriggerAction.ALL);
personneExistanteCombo.setEditable(true);
personneExistanteCombo.setDisplayField("fmt_nom_complet");
personneExistanteCombo.setStore(personneExistanteMagazin);
personneExistanteCombo.addKeyListener(new KeyListener() {
public void componentKeyUp(ComponentEvent ce) {
if (!ce.isNavKeyPress() && personneExistanteCombo.getRawValue() != null && personneExistanteCombo.getRawValue().length() > 0) {
rafraichirPersonneExistante(personneExistanteCombo.getRawValue());
}
}
});
ModelType modelTypePersonnes = new ModelType();
modelTypePersonnes.setRoot("personnes");
modelTypePersonnes.setTotalName("nbElements");
modelTypePersonnes.addField("cp_fmt_nom_complet");
modelTypePersonnes.addField("cp_nom");
modelTypePersonnes.addField("cp_prenom");
modelTypePersonnes.addField("cp_truk_courriel");
modelTypePersonnes.addField("cp_truk_telephone");
modelTypePersonnes.addField("cp_ce_truk_specialite");
String displayNamePersonnes = "cp_fmt_nom_complet";
ProxyPersonnes<ModelData> proxyPersonnes = new ProxyPersonnes<ModelData>(sequenceur);
personneExistanteCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyPersonnes, modelTypePersonnes, displayNamePersonnes);
 
// TODO : dans GXT 2.0 plus besoin de l'adaptateur, on peut ajouter la combobox directement sur la toolbar
//> CHECK
toolBar.add(personneExistanteCombo);
Button ajouterPersonneExistanteBtn = new Button("Ajouter");
Button ajouterPersonneExistanteBtn = new Button("Ajouter à la grille");
ajouterPersonneExistanteBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
Personne personneExistante = personneExistanteCombo.getValue();
public void componentSelected(ButtonEvent ce) {
Personne personneExistante = new Personne(personneExistanteCombo.getValeur());
if (personneExistante != null) {
StructureAPersonne membreDuPersonnel = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
membreDuPersonnel.setIdPersonne(personneExistante.getId());
membreDuPersonnel.setIdProjetPersonne(personneExistante.getIdProjet());
membreDuPersonnel.setNom(personneExistante.getNom());
membreDuPersonnel.setPrenom(personneExistante.getPrenom());
membreDuPersonnel.setTelephone(personneExistante.getTelephone());
membreDuPersonnel.setCourriel(personneExistante.selectionnerCourriel(1));
membreDuPersonnel.setSpecialite(personneExistante.afficherSpecialite());
StructureAPersonne membreDuPersonnel = new StructureAPersonne(personneExistante, "", StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
ajouterMembreAGrillePersonnel(membreDuPersonnel);
}
}
1586,8 → 1578,8
projetsCombo.getCombo().setForceSelection(true);
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
projetsCombo.getCombo().addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
projetsCombo.setWidth(120, 450);
fieldSetIdentite.add(projetsCombo, new FormData(450, 0));
projetsCombo.setWidth(120, 520);
fieldSetIdentite.add(projetsCombo, new FormData(520, 0));
// Création du sous-formulaire : Acronyme
LayoutContainer ligne = new LayoutContainer();
1761,7 → 1753,7
// Fieldset ADRESSE
LayoutContainer principalFdAdresse = new LayoutContainer();
principalFdAdresse.setLayout(new ColumnLayout());
principalFdAdresse.setSize(700, -1);
principalFdAdresse.setSize(1050, -1);
LayoutContainer gaucheFdAdresse = new LayoutContainer();
gaucheFdAdresse.setLayout(creerFormLayout(null, LabelAlign.LEFT));
1768,7 → 1760,7
LayoutContainer droiteFdAdresse = new LayoutContainer();
droiteFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT));
droiteFdAdresse.setWidth(300);
droiteFdAdresse.setWidth(700);
FieldSet fieldSetAdresse = new FieldSet();
fieldSetAdresse.setHeading("Adresse");
1809,7 → 1801,7
ProxyValeur<ModelData> proxyPays = new ProxyValeur<ModelData>(nomListeTypes, sequenceur);
comboPays = new ChampComboBoxRechercheTempsReelPaginable(proxyPays, modelTypesPays, displayNamePays);
comboPays.setWidth(100,300);
comboPays.setWidth(100,500);
comboPays.getCombo().setTabIndex(tabIndex++);
comboPays.getCombo().setFieldLabel("Pays");
comboPays.getCombo().setForceSelection(true);
1835,8 → 1827,8
comboRegion.setTypeAhead(true);
comboRegion.setTriggerAction(TriggerAction.ALL);
comboRegion.setStore(magazinRegion);
droiteFdAdresse.add(comboRegion, new FormData("95%"));
 
latitudeChp = new TextField<String>();
latitudeChp.setRegex(Pattern.latitude);
2125,16 → 2117,6
personnelAjoute = new StructureAPersonneListe();
personnelSupprime = new StructureAPersonneListe();
}
} else if (info.getType().equals("liste_personne")) {
if (info.getDonnee(0) != null) {
PersonneListe personnes = (PersonneListe) info.getDonnee(0);
List<Personne> liste = personnes.toList();
personneExistanteMagazin.removeAll();
personneExistanteMagazin.add(liste);
personneExistanteCombo.setStore(personneExistanteMagazin);
personneExistanteCombo.expand();
}
}
}
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/structure/StructureForm.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/structure/StructureVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/structure/StructureVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/structure/StructureListeVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/structure/StructureListeVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/DetailVue.java
84,6 → 84,10
}
protected String construireTxtTruck(String chaineAAnalyser) {
return construireTxtTruck(chaineAAnalyser, true);
}
protected String construireTxtTruck(String chaineAAnalyser, boolean ucFirst) {
ArrayList<String> termes = new ArrayList<String>();
if ((chaineAAnalyser != null) && (!chaineAAnalyser.trim().equals(""))) {
98,7 → 102,7
}
}
String chaineARetourner = formaterTableauDeTxt(termes);
String chaineARetourner = formaterTableauDeTxt(termes, ucFirst);
return chaineARetourner;
}
124,7 → 128,7
return chaineAAfficher;
}
protected String formaterTableauDeTxt(ArrayList<String> tableauDeTxt) {
protected String formaterTableauDeTxt(ArrayList<String> tableauDeTxt, boolean ucFirst) {
String chaineAAfficher = "";
int tailleDuTableau = tableauDeTxt.size();
if (tailleDuTableau > 0) {
138,7 → 142,8
}
}
}
return UtilString.ucFirst(chaineAAfficher);
if (ucFirst) return UtilString.ucFirst(chaineAAfficher);
else return chaineAAfficher;
}
protected String nettoyerPointFinal(String mot) {
297,8 → 302,8
}
}
String chaineTermes = formaterTableauDeTxt(termes);
String chaineAutres = formaterTableauDeTxt(autres);
String chaineTermes = formaterTableauDeTxt(termes, true);
String chaineAutres = formaterTableauDeTxt(autres, true);
String chaineARetourner = chaineTermes+formaterAutre(chaineAutres);
return chaineARetourner;
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/DetailVue.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/FenetreJournal.java
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/FenetreJournal.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/commentaire/CommentaireVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireListeVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/commentaire/CommentaireListeVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireDetailVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/commentaire/CommentaireDetailVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireForm.java
109,7 → 109,6
projetsCombo.getCombo().setForceSelection(true);
projetsCombo.getCombo().setEditable(false);
projetsCombo.getCombo().setAllowBlank(false);
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
projetsCombo.getCombo().setValidator(new Validator() {
public String validate(Field<?> champ, String valeurAValider) {
String retour = null;
121,7 → 120,6
return retour;
}
});
projetsCombo.getCombo().addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
panneauFormulaire.add(projetsCombo, new FormData(450, 0));
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/commentaire/CommentaireForm.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/projet/ProjetVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/projet/ProjetVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/projet/ProjetListeVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/projet/ProjetListeVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/projet/ProjetDetailVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/projet/ProjetDetailVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/projet/ProjetForm.java
452,7 → 452,6
projetCollecte.setCitation(citationChp.getValue());
projetCollecte.setLicence(licenceChp.getValue());
if (langueChp.getValeur() != null) {
Debug.log("langueChp.getValeur()="+langueChp.getValeur());
Valeur valeur = new Valeur(langueChp.getValeur());
projetCollecte.setLangue(valeur.getId());
} else {
468,7 → 467,6
Projet projetARetourner = null;
if (!projetCollecte.comparer(projet)) {
projetARetourner = projet = projetCollecte;
Debug.log(projetARetourner.toString());
}
return projetARetourner;
}
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/projet/ProjetForm.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/MenuVue.java
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/MenuVue.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/BarrePaginationVue.java
9,6 → 9,7
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.ListePaginable;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.event.ButtonEvent;
314,6 → 315,7
});
champPage.addKeyListener(new KeyListener() {
public void componentKeyUp(ComponentEvent ce) {
// on teste si la touche entrée a été pressée
if (ce.getKeyCode() == KeyCodes.KEY_ENTER) {
339,32 → 341,24
changerPageCourante(nouvellePage - 1);
listePaginable.changerNumeroPage(pageCourante);
} else {
// sinon on reaffiche l'ancien numero de page sans rien
// changer
// sinon on reaffiche l'ancien numero de page sans rien changer
rafraichirNumeroPage();
champPage.focus();
}
}
}
});
 
// pour éviter de se compliquer la vie, on filtre tous les charactères
// non numériques
champPage.addKeyListener(new KeyListener() {
public void componentKeyDown(ComponentEvent ce) {
// FIXME : si c'est un numerique
/*if (Character.isDigit((char) e.getCharCode())) {
// on laisse passer
return;
}*/
 
// si c'est la touche entrée ou backspace (valider ou effacer)
if (ce.getKeyCode() == KeyCodes.KEY_ENTER
|| ce.getKeyCode() == KeyCodes.KEY_BACKSPACE) {
// on laisse passer
return;
} else {
// sinon on remet le numero de page correct et on annule l'évenement
int caractereSaisi = ce.getKeyCode();
boolean isInteger = (caractereSaisi >= 97 && caractereSaisi <= 105);
// si le caractère n'est ni un chiffre ni 'entrée' ni 'backspace'
if (!( isInteger
|| ce.getKeyCode() == KeyCodes.KEY_ENTER
|| ce.getKeyCode() == KeyCodes.KEY_BACKSPACE
)) {
// on remet le numero de page correct et on annule l'évenement
rafraichirNumeroPage();
ce.stopEvent();
}
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/BarrePaginationVue.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/publication/PublicationVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/publication/PublicationVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/publication/PublicationListeVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/publication/PublicationListeVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/publication/PublicationDetailVue.java
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/publication/PublicationDetailVue.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java
8,6 → 8,7
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.pagination.ProxyPersonnes;
import org.tela_botanica.client.composants.pagination.ProxyProjets;
import org.tela_botanica.client.composants.pagination.ProxyStructures;
import org.tela_botanica.client.images.Images;
650,7 → 651,6
if (nouvellesDonnees instanceof Publication) {
// Si on a reçu les details d'une publication
publication = (Publication) nouvellesDonnees;
//rafraichirPublication((Publication) nouvellesDonnees);
} else if (nouvellesDonnees instanceof PublicationAPersonneListe) {
rafraichirListeAuteurs((PublicationAPersonneListe) nouvellesDonnees);
} else if (nouvellesDonnees instanceof Information) {
723,7 → 723,6
}
}
private void initialiserAuteurs() {
auteursAjoutes = new PersonneListe();
auteursSupprimes = new PersonneListe();
1025,7 → 1024,6
}
private void setValeurComboProjets() {
if (projetsCombo.getStore() != null ) {
Debug.log(projetsCombo.getStore().getModels().toArray().toString());
if (mode.equals(Formulaire.MODE_MODIFIER) && publication != null) {
projetsCombo.getCombo().setValue(projetsCombo.getStore().findModel("cpr_id_projet", publication.getIdProjet()));
} else if (mode.equals(Formulaire.MODE_AJOUTER)) {
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/publication/PublicationForm.java:r1136-1368
/trunk/src/org/tela_botanica/client/vues/ContenuVue.java
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/ContenuVue.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/FormulaireBarreValidation.java
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/FormulaireBarreValidation.java:r1292-1368
/trunk/src/org/tela_botanica/client/vues/PopupChargement.java
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/vues/PopupChargement.java:r1292-1368