Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1917 → Rev 1918

/trunk/src/org/tela_botanica/client/util/UtilString.java
20,6 → 20,10
return inputStr.substring(0,1).toUpperCase() + inputStr.substring(1, inputStr.length());
}
public static String mettrePremiereLettreEnMajuscule(String str) {
return str.substring(0, 1).toUpperCase() + str.substring(1);
}
public static boolean isEmpty(String chaine) {
boolean etreVide = false;
if (chaine == null || chaine.equals("") || chaine.equals("0000-00-00") || chaine.equals("0000-00-00 00:00:00")) {
/trunk/src/org/tela_botanica/client/i18n/Constantes.properties
3,6 → 3,8
chargement = Chargement ...
oui = oui
non = non
peutEtre = peut-être
neSaitPas = ne sait pas
ok = ok
autres = Autres
nom = Nom
407,6 → 409,8
collectionUniteBasePart = Parts
collectionUniteBaseSp = Espèces
selectionnerUniteBase = une unité de base
collectionNbPlanchesHerbier = Planches d'herbier
collectionNbEspeces = Nombres d'espèces
collectionUniteBaseSaisirType = Veuillez saisir le type d'unité de base :
selectionnerUniteBaseAjoute = Seules les unités de base ajoutées peuvent être supprimées
collectionTitreConservation = Conservation
/trunk/src/org/tela_botanica/client/i18n/Constantes.java
19,6 → 19,8
String chargement();
String oui();
String non();
String peutEtre();
String neSaitPas();
String ok();
String autres();
String nom();
395,6 → 397,8
String collectionUniteBasePart();
String collectionUniteBaseSp();
String selectionnerUniteBase();
String collectionNbPlanchesHerbier();
String collectionNbEspeces();
String collectionUniteBaseSaisirType();
String selectionnerUniteBaseAjoute();
String collectionTitreConservation();
/trunk/src/org/tela_botanica/client/vues/collection/CollectionDetailVue.java
8,6 → 8,7
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.OntologiesLocales;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.collection.Collection;
import org.tela_botanica.client.modeles.collection.CollectionACommentaire;
17,7 → 18,6
import org.tela_botanica.client.modeles.collection.CollectionAPublication;
import org.tela_botanica.client.modeles.collection.CollectionAPublicationListe;
import org.tela_botanica.client.modeles.collection.CollectionBotanique;
import org.tela_botanica.client.modeles.collection.UniteBase;
import org.tela_botanica.client.modeles.collection.UniteRangement;
import org.tela_botanica.client.modeles.commentaire.Commentaire;
import org.tela_botanica.client.modeles.personne.Personne;
299,7 → 299,8
" <span class='{css_label}'>{i18n_nbre_echantillon} :</span> {nbre_echantillon}<br />"+
" <span class='{css_label}'>{i18n_etat_unite_rangement} :</span> {etat_unite_rangement}<br />"+
" {tableau_unite_rangement}<br />"+
" {tableau_unite_base}<br />"+
" <span class='{css_label}'>{i18n_nb_planches_herbier} :</span> {nb_planches_herbier}<br />"+
" <span class='{css_label}'>{i18n_nb_especes} :</span> {nb_especes}<br />"+
" </div>"+
" <div>"+
" <h2>{i18n_titre_conservation}</h2>"+
791,11 → 792,16
CollectionBotanique collectionBotanique = collection.getBotanique();
String etatUniteRangement = construireTxtListeOntologie(collectionBotanique.getUniteRangementEtat());
String tableauUniteRangementHtml = construireTableauUniteRangement();
String tableauUniteBaseHtml = construireTableauUniteBase();
 
descriptionParams.set("tableau_unite_rangement", tableauUniteRangementHtml);
descriptionParams.set("etat_unite_rangement", etatUniteRangement);
descriptionParams.set("tableau_unite_base", tableauUniteBaseHtml);
descriptionParams.set("i18n_nb_planches_herbier", i18nC.collectionNbPlanchesHerbier());
descriptionParams.set("i18n_nb_especes", i18nC.collectionNbEspeces());
descriptionParams.set("nb_planches_herbier", collectionBotanique.getNbPlanchesHerbiers());
descriptionParams.set("nb_especes", collectionBotanique.getNbEspeces());
String typePapier = construireTxtListeOntologie(collectionBotanique.getConservationPapierType());
String conservationMethode = construireTxtListeOntologie(collectionBotanique.getConservationMethode());
descriptionParams.set("type_papier", typePapier);
872,52 → 878,6
return cHtml;
}
private String construireTableauUniteBase() {
Params contenuParams = new Params();
contenuParams.set("i18n_unite_base", i18nC.collectionUniteBase());
contenuParams.set("i18n_part", i18nC.collectionUniteBasePart());
contenuParams.set("i18n_sp", i18nC.collectionUniteBaseSp());
contenuParams.set("i18n_type", i18nC.collectionUniteType());
contenuParams.set("i18n_nombre", i18nC.collectionUniteNbre());
contenuParams.set("i18n_precision", i18nC.collectionUnitePrecision());
contenuParams.set("i18n_format", i18nC.collectionUniteFormat());
CollectionBotanique collectionBotanique = collection.getBotanique();
HashMap<String,UniteBase> unites = CollectionFormDescription.parserValeurUniteBase(collectionBotanique.getUniteBase());
String lignesUnite = "";
Iterator<String> it = unites.keySet().iterator();
while (it.hasNext()) {
String cle = it.next();
UniteBase unite = unites.get(cle);
if (unite.getNombre() != 0 || unite.getNombrePart() != 0 || unite.getNombreSp() != 0) {
Params ligneParams = new Params();
if (unite.getTypeAutre()) {
ligneParams.set("type", unite.getType());
} else {
ligneParams.set("type", construireTxtListeOntologie(unite.getId()));
}
ligneParams.set("nombre", UtilNombre.formaterEnEntier(unite.getNombre()));
ligneParams.set("precision", unite.getPrecision());
ligneParams.set("format", unite.getFormat());
ligneParams.set("part_nombre", UtilNombre.formaterEnEntier(unite.getNombrePart()));
ligneParams.set("part_precision", unite.getPrecisionPart());
ligneParams.set("sp_nombre", UtilNombre.formaterEnEntier(unite.getNombreSp()));
ligneParams.set("sp_precision", unite.getPrecisionSp());
lignesUnite += Format.substitute(ligneUniteBaseTpl, ligneParams);
}
}
String cHtml = i18nC.nonRenseigne();
if (!UtilString.isEmpty(lignesUnite)) {
contenuParams.set("lignes", lignesUnite);
cHtml = Format.substitute(tableauUniteBaseTpl, contenuParams);
}
return cHtml;
}
private void afficherContenu() {
Params contenuParams = new Params();
contenuParams.set("i18n_titre_nature", i18nC.collectionNatureTitre());
1018,8 → 978,8
//DELETEME inventaireParams.set("i18n_type_donnee", i18nC.typeDonneeInventaireCollectionDetail());
CollectionBotanique collectionBotanique = collection.getBotanique();
String existence = construireTxtListeOntologie(collectionBotanique.getInventaire());
String participationAuteur = construireTxtListeOntologie(collectionBotanique.getInventaireAuteur());
String existence = OntologiesLocales.getValeurOntologie(OntologiesLocales.getListeOuiNonPeutEtre(), collectionBotanique.getInventaire());
String participationAuteur = OntologiesLocales.getValeurOntologie(OntologiesLocales.getListeOuiNonPeutEtre(), collectionBotanique.getInventaireAuteur());
String forme = construireTxtListeOntologie(collectionBotanique.getInventaireForme());
String digital = construireTxtListeOntologie(collectionBotanique.getInventaireDigital());
String digitalPourcent = collectionBotanique.getInventaireDigitalPourcent()+"%";
1031,7 → 991,6
inventaireParams.set("digital", digital);
inventaireParams.set("digital_pourcent", digitalPourcent);
inventaireParams.set("etat", etat);
//DELETEME inventaireParams.set("type_donnee", collectionBotanique.getInventaireDonneesTypes());
afficherOnglet(inventaireTpl, inventaireParams, inventaireOnglet);
}
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormDescription.java
101,6 → 101,8
private ChampMultiValeursMultiTypes specimenDegradationChp = null;
private ChampMultiValeursMultiTypes presentationDegradationChp = null;
private Text labelPresentationDegradationChp = null;
private ChampNombre planchesHerbier = null;
private ChampNombre nbEspeces = null;
public CollectionFormDescription(Formulaire formulaireCourrant) {
initialiserOnglet(formulaireCourrant);
446,277 → 448,6
return bouton;
}
private ContentPanel creerUniteBase() {
ContentPanel panneauGrille = creerPanneauContenantGrille(i18nC.collectionUniteBaseTitre());
uniteBaseGrille = creerGrilleUniteBase();
mediateur.obtenirListeValeurEtRafraichir(this, "typeUniteBase", null);
panneauGrille.add(uniteBaseGrille);
ToolBar barreOutils = creerBarreOutilsGrilleUniteBase();
panneauGrille.setTopComponent(barreOutils);
return panneauGrille;
}
private EditorGrid<UniteBase> creerGrilleUniteBase() {
ListStore<UniteBase> storeGrille = new ListStore<UniteBase>();
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
NumberField champNombre = creerChampNombre();
champNombre.setFormat(NumberFormat.getFormat("#"));
CellEditor editeurNombre = new CellEditor(champNombre);
ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
nombreColonne.setEditor(editeurNombre);
nombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
colonnes.add(nombreColonne);
CellEditor editeurPrecision = new CellEditor(getChampPrecision()) {
@Override
public Object preProcessValue(Object valeur) {
InterneValeur retour = null;
if (valeur != null ) {
if (precisionStore.findModel("nom", valeur.toString()) != null) {
retour = precisionStore.findModel("nom", valeur.toString());
} else if (precisionStore.findModel("abr", valeur.toString()) != null) {
retour = precisionStore.findModel("abr", valeur.toString());
}
}
return retour;
}
 
@Override
public Object postProcessValue(Object valeur) {
String retour = null;
if (valeur != null ) {
if (valeur instanceof InterneValeur) {
InterneValeur valeurInterne = (InterneValeur) valeur;
retour = valeurInterne.getNom();
}
}
return retour;
}
};
ColumnConfig precisionColonne = new ColumnConfig("precision", i18nC.collectionUnitePrecision(), 50);
precisionColonne.setEditor(editeurPrecision);
colonnes.add(precisionColonne);
TextField<String> formatChp = new TextField<String>();
ColumnConfig formatColonne = new ColumnConfig("format", i18nC.collectionUniteFormat(), 100);
formatColonne.setEditor(new CellEditor(formatChp));
colonnes.add(formatColonne);
ColumnConfig partNombreColonne = new ColumnConfig("nombre_part", i18nC.collectionUniteNbre(), 50);
partNombreColonne.setEditor(editeurNombre);
partNombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
colonnes.add(partNombreColonne);
ColumnConfig partPrecisionColonne = new ColumnConfig("precision_part", i18nC.collectionUnitePrecision(), 50);
partPrecisionColonne.setEditor(editeurPrecision);
colonnes.add(partPrecisionColonne);
ColumnConfig spNombreColonne = new ColumnConfig("nombre_sp", i18nC.collectionUniteNbre(), 50);
spNombreColonne.setEditor(editeurNombre);
spNombreColonne.setNumberFormat(NumberFormat.getFormat("#"));
colonnes.add(spNombreColonne);
ColumnConfig spPrecisionColonne = new ColumnConfig("precision_sp", i18nC.collectionUnitePrecision(), 50);
spPrecisionColonne.setEditor(editeurPrecision);
colonnes.add(spPrecisionColonne);
GridSelectionModel<UniteBase> modeleDeSelection = new GridSelectionModel<UniteBase>();
ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
modeleDeColonnes.addHeaderGroup(0, 0, new HeaderGroupConfig(i18nC.collectionUniteBase(), 1, 4));
modeleDeColonnes.addHeaderGroup(0, 4, new HeaderGroupConfig(i18nC.collectionUniteBasePart(), 1, 2));
modeleDeColonnes.addHeaderGroup(0, 6, new HeaderGroupConfig(i18nC.collectionUniteBaseSp(), 1, 2));
AggregationRowConfig<UniteBase> total = new AggregationRowConfig<UniteBase>();
total.setHtml("type", "TOTAL");
total.setSummaryType("nombre", SummaryType.SUM);
total.setSummaryFormat("nombre", NumberFormat.getFormat("#"));
total.setSummaryType("nombre_part", SummaryType.SUM);
total.setSummaryFormat("nombre_part", NumberFormat.getFormat("#"));
total.setSummaryType("nombre_sp", SummaryType.SUM);
total.setSummaryFormat("nombre_sp", NumberFormat.getFormat("#"));
modeleDeColonnes.addAggregationRow(total);
EditorGrid<UniteBase> grilleUniteBase = new EditorGrid<UniteBase>(storeGrille, modeleDeColonnes);
grilleUniteBase.setHeight(200);
grilleUniteBase.setBorders(true);
grilleUniteBase.setSelectionModel(modeleDeSelection);
grilleUniteBase.getView().setForceFit(true);
grilleUniteBase.getView().setAutoFill(true);
grilleUniteBase.setAutoExpandColumn("type");
grilleUniteBase.setStripeRows(true);
grilleUniteBase.setTrackMouseOver(true);
return grilleUniteBase;
}
private String collecterGrilleUniteBase() {
String truk = "";
int nbreUnite = uniteBaseGrille.getStore().getCount();
for (int i = 0; i < nbreUnite; i++) {
UniteBase unite = uniteBaseGrille.getStore().getAt(i);
if (unite.getTypeAutre()) {
truk += unite.getType();
} else {
truk += unite.getId();
}
truk += aDonnee.SEPARATEUR_TYPE_VALEUR;
truk += UtilNombre.formaterEnEntier(unite.getNombre())+aDonnee.SEPARATEUR_DONNEES;
truk += getPrecisionAbr(unite.getPrecision())+aDonnee.SEPARATEUR_DONNEES;
truk += unite.getFormat()+aDonnee.SEPARATEUR_DONNEES;
truk += UtilNombre.formaterEnEntier(unite.getNombrePart())+aDonnee.SEPARATEUR_DONNEES;
truk += getPrecisionAbr(unite.getPrecisionPart())+aDonnee.SEPARATEUR_DONNEES;
truk += UtilNombre.formaterEnEntier(unite.getNombreSp())+aDonnee.SEPARATEUR_DONNEES;
truk += getPrecisionAbr(unite.getPrecisionSp());
truk += (i == (nbreUnite - 1)) ? "" : aDonnee.SEPARATEUR_VALEURS;
}
return truk;
}
private void peuplerGrilleUniteBase(String valeurTruk) {
if (!UtilString.isEmpty(valeurTruk)) {
HashMap<String,UniteBase> unitesEnregistrees = parserValeurUniteBase(valeurTruk);
ArrayList<UniteBase> listeUniteMaj = new ArrayList<UniteBase>();
int nbreUnite = uniteBaseGrille.getStore().getCount();
for (int i = 0; i < nbreUnite; i++) {
UniteBase uniteDansGrille = uniteBaseGrille.getStore().getAt(i);
UniteBase uniteEnregistree = unitesEnregistrees.get(uniteDansGrille.getId());
if (uniteEnregistree != null) {
uniteEnregistree.setType(uniteDansGrille.getType());
listeUniteMaj.add(uniteEnregistree);
} else {
listeUniteMaj.add(uniteDansGrille);
}
}
Iterator<String> it = unitesEnregistrees.keySet().iterator();
while (it.hasNext()) {
String cle = it.next();
if (cle.matches(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR+"[a-zA-Z0-9]+")) {
UniteBase uniteAutreEnregistree = unitesEnregistrees.get(cle);
listeUniteMaj.add(uniteAutreEnregistree);
}
}
uniteBaseGrille.getStore().removeAll();
uniteBaseGrille.getStore().add(listeUniteMaj);
layout();
}
}
public static HashMap<String,UniteBase> parserValeurUniteBase(String valeurTruk) {
HashMap<String,UniteBase> unitesEnregistrees = new HashMap<String,UniteBase>();
if (!UtilString.isEmpty(valeurTruk)) {
String[] unites = valeurTruk.split(Pattern.quote(aDonnee.SEPARATEUR_VALEURS));
for (int i = 0; i < unites.length; i++) {
String[] uniteTypeIdDonnees = unites[i].split(Pattern.quote(aDonnee.SEPARATEUR_TYPE_VALEUR));
String uniteChaineDonnees = uniteTypeIdDonnees[1];
String[] uniteDonnees = uniteChaineDonnees.split(Pattern.quote(aDonnee.SEPARATEUR_DONNEES));
UniteBase uniteBase = new UniteBase();
if (uniteDonnees.length > 0) {
uniteBase.setNombre(UtilString.formaterEnEntier(uniteDonnees[0]));
}
if (uniteDonnees.length > 1) {
uniteBase.setPrecision(getPrecisionNom(uniteDonnees[1]));
}
if (uniteDonnees.length > 2) {
uniteBase.setFormat(uniteDonnees[2]);
}
if (uniteDonnees.length > 3) {
uniteBase.setNombrePart(UtilString.formaterEnEntier(uniteDonnees[3]));
}
if (uniteDonnees.length > 4) {
uniteBase.setPrecisionPart(getPrecisionNom(uniteDonnees[4]));
}
if (uniteDonnees.length > 5) {
uniteBase.setNombreSp(UtilString.formaterEnEntier(uniteDonnees[5]));
}
if (uniteDonnees.length > 6) {
uniteBase.setPrecisionSp(getPrecisionNom(uniteDonnees[6]));
}
if (uniteTypeIdDonnees[0].matches("[0-9]+")) {
uniteBase.setId(uniteTypeIdDonnees[0]);
uniteBase.setTypeAutre(false);
unitesEnregistrees.put(uniteTypeIdDonnees[0], uniteBase);
} else {
uniteBase.setType(uniteTypeIdDonnees[0]);
uniteBase.setTypeAutre(true);
String id = aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR+uniteTypeIdDonnees[0]+"-"+i;
uniteBase.setId(id);
unitesEnregistrees.put(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR+uniteTypeIdDonnees[0], uniteBase);
}
}
}
return unitesEnregistrees;
}
private ToolBar creerBarreOutilsGrilleUniteBase() {
ToolBar barreOutils = new ToolBar();
Button ajouterBouton = creerBoutonAjouterUniteBase();
barreOutils.add(ajouterBouton);
barreOutils.add(new SeparatorToolItem());
Button supprimerBouton = creerBoutonSupprimerUniteBase();
barreOutils.add(supprimerBouton);
return barreOutils;
}
private Button creerBoutonAjouterUniteBase() {
Button bouton = new Button(i18nC.ajouter());
bouton.setIcon(Images.ICONES.ajouter());
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
final MessageBox box = MessageBox.prompt(i18nC.collectionUniteType(), i18nC.collectionUniteBaseSaisirType());
box.addCallback(new Listener<MessageBoxEvent>() {
public void handleEvent(MessageBoxEvent be) {
if (!UtilString.isEmpty(be.getValue()) && !be.getValue().matches("[0-9]+")) {
final UniteBase unite = new UniteBase();
unite.setType(be.getValue());
unite.setTypeAutre(true);
uniteBaseGrille.getStore().add(unite);
} else {
InfoLogger.display("Information", "Vous ne pouvez pas saisir de valeur vide ou numérique");
}
}
});
}
});
return bouton;
}
private Button creerBoutonSupprimerUniteBase() {
Button bouton = new Button(i18nC.supprimer());
bouton.setIcon(Images.ICONES.supprimer());
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
UniteBase uniteBaseSelectionnee = uniteBaseGrille.getSelectionModel().getSelectedItem();
if (uniteBaseSelectionnee == null) {
InfoLogger.display(i18nC.informationTitreGenerique(), Mediateur.i18nM.veuillezSelectionner(i18nC.selectionnerUniteBase()));
} else if (uniteBaseSelectionnee.getTypeAutre() == false) {
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerUniteBaseAjoute());
} else {
uniteBaseGrille.getStore().remove(uniteBaseSelectionnee);
}
}
});
return bouton;
}
private void creerFieldsetConservation() {
FieldSet conservationFieldSet = new FieldSet();
conservationFieldSet.setHeadingHtml(i18nC.collectionTitreConservation());
799,8 → 530,16
etatTypesUniteFieldSet.add(etatUniteRangementCombo);
etatTypesUniteFieldSet.add(creerUniteRangement());
etatTypesUniteFieldSet.add(creerUniteBase());
planchesHerbier = new ChampNombre();
planchesHerbier.setFieldLabel(i18nC.collectionNbPlanchesHerbier());
nbEspeces = new ChampNombre();
nbEspeces.setFieldLabel(i18nC.collectionNbEspeces());
etatTypesUniteFieldSet.add(planchesHerbier);
etatTypesUniteFieldSet.add(nbEspeces);
add(etatTypesUniteFieldSet);
etatGeneralCombo = new ChampComboBoxListeValeurs(i18nC.collectionEtatGeneral(), "etat");
855,8 → 594,15
peuplerGrilleUniteRangement(collectionBotanique.getUniteRangement());
etatUniteRangementCombo.peupler(collectionBotanique.getUniteRangementEtat());
peuplerGrilleUniteBase(collectionBotanique.getUniteBase());
if(!collectionBotanique.getNbPlanchesHerbiers().isEmpty()) {
planchesHerbier.setValue((Integer.parseInt(collectionBotanique.getNbPlanchesHerbiers())));
}
if(!collectionBotanique.getNbEspeces().isEmpty()) {
nbEspeces.setValue((Integer.parseInt(collectionBotanique.getNbEspeces())));
}
typePapierConservationChp.peupler(collectionBotanique.getConservationPapierType());
methodeConservationChp.peupler(collectionBotanique.getConservationMethode());
889,7 → 635,8
collectionBotaniqueCollectee.setUniteRangement(collecterGrilleUniteRangement());
collectionBotaniqueCollectee.setUniteRangementEtat(etatUniteRangementCombo.getValeur());
collectionBotaniqueCollectee.setUniteBase(collecterGrilleUniteBase());
collectionBotaniqueCollectee.setNbPlanchesHerbiers(planchesHerbier.getValue()+"");
collectionBotaniqueCollectee.setNbEspeces(nbEspeces.getValue()+"");
collectionBotaniqueCollectee.setConservationPapierType(typePapierConservationChp.getValeur());
collectionBotaniqueCollectee.setConservationMethode(methodeConservationChp.getValeur());
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormInventaire.java
4,6 → 4,8
import org.tela_botanica.client.composants.ChampCaseACocher;
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
import org.tela_botanica.client.composants.ChampSliderPourcentage;
import org.tela_botanica.client.modeles.OntologiesLocales;
import org.tela_botanica.client.modeles.SimpleModelData;
import org.tela_botanica.client.modeles.collection.Collection;
import org.tela_botanica.client.modeles.collection.CollectionBotanique;
import org.tela_botanica.client.util.Debug;
10,7 → 12,11
import org.tela_botanica.client.vues.Formulaire;
import org.tela_botanica.client.vues.FormulaireOnglet;
 
import com.extjs.gxt.ui.client.Style.SortDir;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.extjs.gxt.ui.client.widget.form.TextArea;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.layout.FormData;
 
public class CollectionFormInventaire extends FormulaireOnglet {
21,8 → 27,8
private Collection collectionCollectee = null;
private CollectionBotanique collectionBotaniqueCollectee = null;
private ChampComboBoxListeValeurs existenceInventaireCombo = null;
private ChampComboBoxListeValeurs auteurInventaireCombo = null;
private ComboBox<SimpleModelData> existenceInventaireCombo = null;
private ComboBox<SimpleModelData> auteurInventaireCombo = null;
private ChampComboBoxListeValeurs formeInventaireCombo = null;
private TextArea infoInventaireChp = null;
private ChampCaseACocher digitalInventaireChp = null;
35,13 → 41,10
setText(Mediateur.i18nC.collectionInventaire());
int tabIndex = formulaireCourrant.tabIndex;
existenceInventaireCombo = new ChampComboBoxListeValeurs(i18nC.existenceInventaireCollection(), "onpi", tabIndex++);
existenceInventaireCombo.setTrie("id_valeur");
existenceInventaireCombo = creerSimpleComboOuiNonPeutEtre(i18nC.existenceInventaireCollection());
add(existenceInventaireCombo, new FormData(300, 0));
auteurInventaireCombo = new ChampComboBoxListeValeurs(i18nC.auteurInventaireCollection(), "onpi", tabIndex++);
auteurInventaireCombo.setTrie("id_valeur");
auteurInventaireCombo.setTabIndex(tabIndex++);
auteurInventaireCombo = creerSimpleComboOuiNonPeutEtre(i18nC.auteurInventaireCollection());
add(auteurInventaireCombo, new FormData(300, 0));
formeInventaireCombo = new ChampComboBoxListeValeurs(i18nC.formeInventaireCollection(), "inventaireForme", tabIndex++);
68,8 → 71,8
public void peupler() {
initialiserCollection();
if (collectionBotanique != null) {
existenceInventaireCombo.peupler(collectionBotanique.getInventaire());
auteurInventaireCombo.peupler(collectionBotanique.getInventaireAuteur());
remplirSimpleCombo(existenceInventaireCombo, collectionBotanique.getInventaire());
remplirSimpleCombo(auteurInventaireCombo, collectionBotanique.getInventaireAuteur());
formeInventaireCombo.peupler(collectionBotanique.getInventaireForme());
infoInventaireChp.setValue(collectionBotanique.getInventaireInfo());
digitalInventaireChp.peupler(collectionBotanique.getInventaireDigital());
80,9 → 83,10
public void collecter() {
initialiserCollection();
if (etreAccede()) {
collectionBotaniqueCollectee.setInventaire(existenceInventaireCombo.getValeur());
collectionBotaniqueCollectee.setInventaireAuteur(auteurInventaireCombo.getValeur());
collectionBotaniqueCollectee.setInventaire(existenceInventaireCombo.getValue().getCle());
collectionBotaniqueCollectee.setInventaireAuteur(auteurInventaireCombo.getValue().getCle());
collectionBotaniqueCollectee.setInventaireForme(formeInventaireCombo.getValeur());
collectionBotaniqueCollectee.setInventaireInfo(infoInventaireChp.getValue());
collectionBotaniqueCollectee.setInventaireDigital(digitalInventaireChp.getValeur());
107,4 → 111,24
Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
}
public void remplirSimpleCombo(ComboBox<SimpleModelData> simpleCombo, String valeur) {
SimpleModelData selectionne = simpleCombo.getStore().findModel("cle", valeur);
simpleCombo.setValue(selectionne);
}
public ComboBox<SimpleModelData> creerSimpleComboOuiNonPeutEtre(String label) {
ListStore<SimpleModelData> listeOuiNonPeutEtre = OntologiesLocales.convertirVersListeStore(OntologiesLocales.getListeOuiNonPeutEtre());
ComboBox<SimpleModelData> combo = new ComboBox<SimpleModelData>();
combo.setForceSelection(true);
combo.setTriggerAction(TriggerAction.ALL);
combo.setFieldLabel(label);
combo.setDisplayField("valeur");
combo.setValueField("cle");
listeOuiNonPeutEtre.sort("ordre", SortDir.ASC);
combo.setStore(listeOuiNonPeutEtre);
return combo;
}
}
/trunk/src/org/tela_botanica/client/modeles/SimpleModelData.java
New file
0,0 → 1,57
package org.tela_botanica.client.modeles;
 
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
 
import com.extjs.gxt.ui.client.data.ModelData;
 
public class SimpleModelData implements ModelData {
private Map<String, Object> modele = new HashMap<String, Object>();
public SimpleModelData(String cle, String valeur, String ordre) {
this.set("cle", cle);
this.set("valeur", valeur);
this.set("ordre", ordre);
}
public String getValeur() {
return (String)modele.get("valeur");
}
public String getCle() {
return (String)modele.get("cle");
}
public String getOrdre() {
return (String)modele.get("ordre");
}
 
@Override
public String get(String property) {
return (String)modele.get(property);
}
 
@Override
public Map<String, Object> getProperties() {
return modele;
}
 
@Override
public Collection<String> getPropertyNames() {
return modele.keySet();
}
 
@Override
public String remove(String property) {
return (String)modele.remove(property);
}
 
@Override
public <Object> Object set(String property, Object value) {
modele.put(property, value);
return value;
}
 
}
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionBotanique.java
94,6 → 94,22
this.set("truk_unite_base", uniteBase);
}
// NB PLANCHES HERBIER
public String getNbPlanchesHerbiers() {
return renvoyerValeurCorrecte("nb_planches_herbiers");
}
public void setNbPlanchesHerbiers(String nbPlanchesHerbiers) {
this.set("nb_planches_herbiers", nbPlanchesHerbiers);
}
// NB ESPECES
public String getNbEspeces() {
return renvoyerValeurCorrecte("nb_especes");
}
public void setNbEspeces(String nbEspeces) {
this.set("nb_especes", nbEspeces);
}
// CONSERVATION PAPIER TYPE
public String getConservationPapierType() {
return renvoyerValeurCorrecte("truk_conservation_papier_type");
/trunk/src/org/tela_botanica/client/modeles/OntologiesLocales.java
New file
0,0 → 1,50
package org.tela_botanica.client.modeles;
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.store.ListStore;
 
public class OntologiesLocales {
 
public static Map<String,String[]> listeOuiNonPeutEtre;
// TODO: mapper ça vers l'i18n
public static Map<String, String[]> getListeOuiNonPeutEtre() {
if(listeOuiNonPeutEtre == null) {
Constantes i18n = Mediateur.i18nC;
listeOuiNonPeutEtre = new HashMap<String, String[]>();
listeOuiNonPeutEtre.put("",new String[] {UtilString.mettrePremiereLettreEnMajuscule(i18n.neSaitPas()), "0"});
listeOuiNonPeutEtre.put("oui", new String[] {UtilString.mettrePremiereLettreEnMajuscule(i18n.oui()), "1"});
listeOuiNonPeutEtre.put("non", new String[] {UtilString.mettrePremiereLettreEnMajuscule(i18n.non()), "2"});
listeOuiNonPeutEtre.put("peut-etre", new String[] {UtilString.mettrePremiereLettreEnMajuscule(i18n.peutEtre()), "3"});
}
return listeOuiNonPeutEtre;
}
public static String getValeurOntologie(Map<String, String[]> ontologie, String cle) {
String retour = "";
if(ontologie.containsKey(cle)) {
retour = ontologie.get(cle)[0];
}
return retour;
}
public static ListStore<SimpleModelData> convertirVersListeStore(Map<String, String[]> aConvertir) {
ListStore<SimpleModelData> listeConvertie = new ListStore<SimpleModelData>();
Iterator<String> it = aConvertir.keySet().iterator();
while (it.hasNext()) {
String cle = it.next();
String[] valeurs = aConvertir.get(cle);
listeConvertie.add(new SimpleModelData(cle, valeurs[0], valeurs[1]));
}
return listeConvertie;
}
}