Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1919 → Rev 1920

/trunk/src/org/tela_botanica/client/i18n/Constantes.java
37,6 → 37,7
String articleUne();
String articleLe();
String articleLa();
String format();
// Fenetre aide
String plierDeplierToutBtn();
399,6 → 400,9
String selectionnerUniteBase();
String collectionNbPlanchesHerbier();
String collectionNbEspeces();
String collectionCartonsHerbiers();
String collectionLiasses();
String collectionAutreUnitesRangement();
String collectionUniteBaseSaisirType();
String selectionnerUniteBaseAjoute();
String collectionTitreConservation();
/trunk/src/org/tela_botanica/client/i18n/Constantes.properties
21,6 → 21,7
articleUne = une
articleLe = le
articleLa = la
format = Format(s)
 
# Tooltips
indicationCreerUneFiche = Cliquez ici pour créer une fiche
411,6 → 412,9
selectionnerUniteBase = une unité de base
collectionNbPlanchesHerbier = Planches d'herbier
collectionNbEspeces = Nombres d'espèces
collectionCartonsHerbiers = Cartons d'herbiers
collectionLiasses = Liasses
collectionAutreUnitesRangement = Autres unités de rangement
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/vues/collection/CollectionDetailVue.java
73,10 → 73,6
private TabItem contenuOnglet = null;
private TabItem inventaireOnglet = null;
private TabItem commentaireOnglet = null;
private String tableauUniteRangementTpl;
private String ligneUniteRangementTpl;
private String tableauUniteBaseTpl;
private String ligneUniteBaseTpl;
 
private Sequenceur sequenceur;
149,10 → 145,6
initialiserLignePublicationLieeTpl();
initialiserContenuTpl();
initialiserDescriptionTpl();
initialiserTableauUniteRangementTpl();
initialiserLigneUniteRangementTpl();
initialiserTableauUniteBaseTpl();
initialiserLigneUniteBaseTpl();
initialiserInventaireTpl();
initialiserCommentaireTpl();
initialiserTableauCommentairesLieesTpl();
297,8 → 289,10
" <h2>{i18n_titre_description}</h2>"+
" <span class='{css_label}'>{i18n_type_botanique} :</span> {type_botanique}<br />"+
" <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 />"+
" <span class='{css_label}'>{i18n_etat_unite_rangement} :</span> {etat_unite_rangement}<br />"+
" <span class='{css_label}'>{i18n_collection_cartons_herbiers} :</span> {nb_cartons_herbier}<br />"+
" <span class='{css_label}'>{i18n_nb_liasses} :</span> {nb_liasses}<br />"+
" <span class='{css_label}'>{i18n_autres_unites_rangement} : </span>{autres_unites_rangement}<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>"+
332,73 → 326,6
"</div>";
}
private void initialiserTableauUniteRangementTpl() {
tableauUniteRangementTpl =
"<table>"+
" <thead>"+
" <tr>" +
" <th>{i18n_type}</th>" +
" <th>{i18n_nombre}</th>" +
" <th>{i18n_precision}</th>" +
" <th>{i18n_format}</th>" +
" </tr>"+
" </thead>"+
" <tbody>"+
" {lignes}"+
" </tbody>"+
"</table>";
}
private void initialiserLigneUniteRangementTpl() {
ligneUniteRangementTpl =
"<tr>"+
" <td>{type}</td>"+
" <td>{nombre}</td>"+
" <td>{precision}</td>"+
" <td>{format}</td>"+
"</tr>";
}
private void initialiserTableauUniteBaseTpl() {
tableauUniteBaseTpl =
"<table>"+
" <thead>"+
" <tr>" +
" <th colspan='4'>{i18n_unite_base}</th>" +
" <th colspan='2'>{i18n_part}</th>" +
" <th colspan='2'>{i18n_sp}</th>" +
" </tr>"+
" <tr>" +
" <th>{i18n_type}</th>" +
" <th>{i18n_nombre}</th>" +
" <th>{i18n_precision}</th>" +
" <th>{i18n_format}</th>" +
" <th>{i18n_nombre}</th>" +
" <th>{i18n_precision}</th>" +
" <th>{i18n_nombre}</th>" +
" <th>{i18n_precision}</th>" +
" </tr>"+
" </thead>"+
" <tbody>"+
" {lignes}"+
" </tbody>"+
"</table>";
}
private void initialiserLigneUniteBaseTpl() {
ligneUniteBaseTpl =
"<tr>"+
" <td>{type}</td>"+
" <td>{nombre}</td>"+
" <td>{precision}</td>"+
" <td>{format}</td>"+
" <td>{part_nombre}</td>"+
" <td>{part_precision}</td>"+
" <td>{sp_nombre}</td>"+
" <td>{sp_precision}</td>"+
"</tr>";
}
private void initialiserContenuTpl() {
contenuTpl =
"<div class='{css_corps}'>"+
791,9 → 718,29
CollectionBotanique collectionBotanique = collection.getBotanique();
String etatUniteRangement = construireTxtListeOntologie(collectionBotanique.getUniteRangementEtat());
String tableauUniteRangementHtml = construireTableauUniteRangement();
descriptionParams.set("i18n_collection_cartons_herbiers", i18nC.collectionCartonsHerbiers());
descriptionParams.set("i18n_nb_liasses", i18nC.collectionLiasses());
descriptionParams.set("i18n_autres_unites_rangement", i18nC.collectionAutreUnitesRangement());
String cartonsHerbiers = collectionBotanique.getNbCartonsHerbiers();
if(!collectionBotanique.getNbCartonsHerbiers().trim().isEmpty() &&
! collectionBotanique.getFormatCartonsHerbiers().trim().isEmpty()) {
cartonsHerbiers += " - "+i18nC.format()+": ";
}
cartonsHerbiers += collectionBotanique.getFormatCartonsHerbiers();
descriptionParams.set("nb_cartons_herbier", cartonsHerbiers);
String liasses = collectionBotanique.getNbLiasses();
if(!collectionBotanique.getNbLiasses().trim().isEmpty() &&
! collectionBotanique.getFormatLiasses().trim().isEmpty()) {
liasses += " - "+i18nC.format()+": ";
}
liasses += collectionBotanique.getFormatLiasses();
descriptionParams.set("nb_liasses", liasses);
 
descriptionParams.set("tableau_unite_rangement", tableauUniteRangementHtml);
descriptionParams.set("autres_unites_rangement", collectionBotanique.getAutresUnitesRangement().replaceAll("\r\n|\r|\n", ", "));
 
descriptionParams.set("etat_unite_rangement", etatUniteRangement);
descriptionParams.set("i18n_nb_planches_herbier", i18nC.collectionNbPlanchesHerbier());
840,44 → 787,6
afficherOnglet(descriptionTpl, descriptionParams, descriptionOnglet);
}
private String construireTableauUniteRangement() {
Params contenuParams = new Params();
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,UniteRangement> unites = CollectionFormDescription.parserValeurUniteRangement(collectionBotanique.getUniteRangement());
String lignesUnite = "";
Iterator<String> it = unites.keySet().iterator();
while (it.hasNext()) {
String cle = it.next();
UniteRangement unite = unites.get(cle);
if (unite.getNombre() != 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());
lignesUnite += Format.substitute(ligneUniteRangementTpl, ligneParams);
}
}
 
String cHtml = i18nC.nonRenseigne();
if (!UtilString.isEmpty(lignesUnite)) {
contenuParams.set("lignes", lignesUnite);
cHtml = Format.substitute(tableauUniteRangementTpl, contenuParams);
}
return cHtml;
}
private void afficherContenu() {
Params contenuParams = new Params();
contenuParams.set("i18n_titre_nature", i18nC.collectionNatureTitre());
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormDescription.java
10,66 → 10,35
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
import org.tela_botanica.client.composants.ChampMultiValeursMultiTypes;
import org.tela_botanica.client.composants.ChampSliderPourcentage;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.ChampNombre;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.InterneValeur;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.aDonnee;
import org.tela_botanica.client.modeles.collection.Collection;
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.util.Debug;
import org.tela_botanica.client.util.Pattern;
import org.tela_botanica.client.util.UtilNombre;
import org.tela_botanica.client.util.UtilString;
import org.tela_botanica.client.vues.Formulaire;
import org.tela_botanica.client.vues.FormulaireOnglet;
 
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.FieldEvent;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.Label;
import com.extjs.gxt.ui.client.widget.Text;
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.FieldSet;
import com.extjs.gxt.ui.client.widget.form.LabelField;
import com.extjs.gxt.ui.client.widget.form.NumberField;
import com.extjs.gxt.ui.client.widget.form.TextArea;
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.grid.AggregationRowConfig;
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
import com.extjs.gxt.ui.client.widget.grid.ColumnData;
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
import com.extjs.gxt.ui.client.widget.grid.Grid;
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig;
import com.extjs.gxt.ui.client.widget.grid.SummaryType;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FormData;
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.user.client.ui.HorizontalPanel;
 
public class CollectionFormDescription extends FormulaireOnglet implements Rafraichissable {
103,6 → 72,11
private Text labelPresentationDegradationChp = null;
private ChampNombre planchesHerbier = null;
private ChampNombre nbEspeces = null;
private ChampNombre nbCartonsHerbier = null;
private TextField<String> cartonsHerbierFormat = null;
private ChampNombre nbLiasses = null;
private TextField<String> liassesFormat = null;
private TextArea autresUnitesRangement = null;
public CollectionFormDescription(Formulaire formulaireCourrant) {
initialiserOnglet(formulaireCourrant);
153,301 → 127,7
precisionStore.add(new InterneValeur(UniteRangement.COMPTE_EXACT, Mediateur.i18nC.precisionExact()));
}
}
private static String getPrecisionNom(String precisionAbr) {
String precision = "";
if (!precisionAbr.equals("NULL")) {
creerStorePrecision();
InterneValeur precisionValeur = precisionStore.findModel("abr", precisionAbr);
if (precisionValeur != null && !precisionValeur.getNom().equals("NULL")) {
precision = precisionValeur.getNom();
}
}
return precision;
}
private static String getPrecisionAbr(String precisionNom) {
String precision = "";
if (!precisionNom.equals("NULL")) {
creerStorePrecision();
InterneValeur precisionValeur = precisionStore.findModel("nom", precisionNom);
if (precisionValeur != null) {
precision = precisionValeur.getAbr();
}
}
return precision;
}
private ComboBox<InterneValeur> getChampPrecision() {
ComboBox<InterneValeur> precisionCombo = new ComboBox<InterneValeur>();
precisionCombo.setForceSelection(true);
precisionCombo.setTriggerAction(TriggerAction.ALL);
precisionCombo.setDisplayField("nom");
precisionCombo.setStore(precisionStore);
precisionCombo.setEditable(false);
return precisionCombo;
}
/**
* La classe NumberField est sujette à un bug qui empeche son
* édition dans firefox, il faut donc la surcharger
**/
private NumberField creerChampNombre() {
ChampNombre champNombre = new ChampNombre();
return champNombre;
}
private ContentPanel creerUniteRangement() {
ContentPanel panneauGrille = creerPanneauContenantGrille(i18nC.collectionUniteRangementTitre());
uniteRangementGrille = creerGrilleUniteRangement();
mediateur.obtenirListeValeurEtRafraichir(this, "typeUniteRangement", null);
panneauGrille.add(uniteRangementGrille);
ToolBar barreOutils = creerBarreOutilsGrilleUniteRangement();
panneauGrille.setTopComponent(barreOutils);
return panneauGrille;
}
private ContentPanel creerPanneauContenantGrille(String titre) {
ContentPanel panneau = new ContentPanel();
panneau.setHeadingHtml(titre);
panneau.setIcon(Images.ICONES.table());
panneau.setLayout(new FitLayout());
panneau.setFrame(true);
panneau.setSize(800, 200);
panneau.setScrollMode(Scroll.NONE);
panneau.setCollapsible(true);
panneau.setStyleAttribute("margin", "5px 0");
return panneau;
}
private EditorGrid<UniteRangement> creerGrilleUniteRangement() {
ListStore<UniteRangement> storeGrille = new ListStore<UniteRangement>();
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
colonnes.add(new ColumnConfig("type", i18nC.collectionUniteType(), 150));
NumberField champNombre = creerChampNombre();
champNombre.setFormat(NumberFormat.getFormat("#"));
ColumnConfig nombreColonne = new ColumnConfig("nombre", i18nC.collectionUniteNbre(), 50);
nombreColonne.setEditor(new CellEditor(champNombre));
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);
GridSelectionModel<UniteRangement> modeleDeSelection = new GridSelectionModel<UniteRangement>();
ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
AggregationRowConfig<UniteBase> total = new AggregationRowConfig<UniteBase>();
total.setHtml("type", i18nC.total());
total.setSummaryType("nombre", SummaryType.SUM);
total.setSummaryFormat("nombre", NumberFormat.getFormat("#"));
modeleDeColonnes.addAggregationRow(total);
EditorGrid<UniteRangement> grilleUniteRangement = new EditorGrid<UniteRangement>(storeGrille, modeleDeColonnes);
grilleUniteRangement.setHeight(300);
grilleUniteRangement.setBorders(true);
grilleUniteRangement.setSelectionModel(modeleDeSelection);
grilleUniteRangement.getView().setForceFit(true);
grilleUniteRangement.getView().setAutoFill(true);
grilleUniteRangement.setAutoExpandColumn("type");
grilleUniteRangement.setStripeRows(true);
grilleUniteRangement.setTrackMouseOver(true);
return grilleUniteRangement;
}
private String collecterGrilleUniteRangement() {
String truk = "";
int nbreUnite = uniteRangementGrille.getStore().getCount();
for (int i = 0; i < nbreUnite; i++) {
UniteRangement unite = uniteRangementGrille.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();
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;
}
private void peuplerGrilleUniteRangement(String valeurTruk) {
if (!UtilString.isEmpty(valeurTruk)) {
HashMap<String,UniteRangement> unitesEnregistrees = parserValeurUniteRangement(valeurTruk);
ArrayList<UniteRangement> listeUniteMaj = new ArrayList<UniteRangement>();
int nbreUnite = uniteRangementGrille.getStore().getCount();
for (int i = 0; i < nbreUnite; i++) {
UniteRangement uniteDansGrille = uniteRangementGrille.getStore().getAt(i);
UniteRangement 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]+")) {
UniteRangement uniteAutreEnregistree = unitesEnregistrees.get(cle);
listeUniteMaj.add(uniteAutreEnregistree);
}
}
uniteRangementGrille.getStore().removeAll();
uniteRangementGrille.getStore().add(listeUniteMaj);
layout();
}
}
public static HashMap<String,UniteRangement> parserValeurUniteRangement(String valeurTruk) {
HashMap<String,UniteRangement> unitesEnregistrees = new HashMap<String,UniteRangement>();
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));
UniteRangement uniteRangement = new UniteRangement();
if (uniteDonnees.length > 0) {
uniteRangement.setNombre(UtilString.formaterEnEntier(uniteDonnees[0]));
}
if (uniteDonnees.length > 1) {
uniteRangement.setPrecision(getPrecisionNom(uniteDonnees[1]));
}
if (uniteDonnees.length > 2) {
uniteRangement.setFormat(uniteDonnees[2]);
}
if (uniteTypeIdDonnees[0].matches("[0-9]+")) {
uniteRangement.setId(uniteTypeIdDonnees[0]);
uniteRangement.setTypeAutre(false);
unitesEnregistrees.put(uniteTypeIdDonnees[0], uniteRangement);
} else {
uniteRangement.setType(uniteTypeIdDonnees[0]);
uniteRangement.setTypeAutre(true);
String id = aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR+uniteTypeIdDonnees[0]+"-"+i;
uniteRangement.setId(id);
unitesEnregistrees.put(aDonnee.TYPE_AUTRE+aDonnee.SEPARATEUR_TYPE_VALEUR+uniteTypeIdDonnees[0], uniteRangement);
}
}
}
return unitesEnregistrees;
}
private ToolBar creerBarreOutilsGrilleUniteRangement() {
ToolBar barreOutils = new ToolBar();
Button ajouterBouton = creerBoutonAjouterUniteRangement();
barreOutils.add(ajouterBouton);
barreOutils.add(new SeparatorToolItem());
Button supprimerBouton = creerBoutonSupprimerUniteRangement();
barreOutils.add(supprimerBouton);
 
return barreOutils;
}
private Button creerBoutonAjouterUniteRangement() {
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.collectionUniteRangementSaisirType());
box.addCallback(new Listener<MessageBoxEvent>() {
public void handleEvent(MessageBoxEvent be) {
if (!UtilString.isEmpty(be.getValue()) && !be.getValue().matches("[0-9]+")) {
final UniteRangement unite = new UniteRangement();
unite.setType(be.getValue());
unite.setTypeAutre(true);
uniteRangementGrille.getStore().add(unite);
} else {
InfoLogger.display("Information", "Vous ne pouvez pas saisir de valeur vide ou numérique");
}
}
});
}
});
return bouton;
}
private Button creerBoutonSupprimerUniteRangement() {
Button bouton = new Button(i18nC.supprimer());
bouton.setIcon(Images.ICONES.supprimer());
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
UniteRangement uniteRangementSelectionnee = uniteRangementGrille.getSelectionModel().getSelectedItem();
if (uniteRangementSelectionnee == null) {
InfoLogger.display(i18nC.informationTitreGenerique(), Mediateur.i18nM.veuillezSelectionner(i18nC.selectionnerUniteRangement()));
} else if (uniteRangementSelectionnee.getTypeAutre() == false) {
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerUniteRangementAjoute());
} else {
uniteRangementGrille.getStore().remove(uniteRangementSelectionnee);
}
}
});
return bouton;
}
private void creerFieldsetConservation() {
FieldSet conservationFieldSet = new FieldSet();
conservationFieldSet.setHeadingHtml(i18nC.collectionTitreConservation());
529,8 → 209,56
etatUniteRangementCombo.setWidth(300);
etatTypesUniteFieldSet.add(etatUniteRangementCombo);
etatTypesUniteFieldSet.add(creerUniteRangement());
// Liasses et cartons d'herbier
Label labelcartonsHerbiersFormat = new Label(i18nC.collectionCartonsHerbiers());
labelcartonsHerbiersFormat.setStyleName("labelChampNombreFormat");
nbCartonsHerbier = new ChampNombre();
nbCartonsHerbier.setStyleName("champNombreFormat");
nbCartonsHerbier.setWidth(55);
nbCartonsHerbier.setEmptyText(i18nC.collectionUniteNbre());
cartonsHerbierFormat = new TextField<String>();
cartonsHerbierFormat.setStyleName("champNombreFormat");
cartonsHerbierFormat.setEmptyText(i18nC.collectionUniteFormat());
HorizontalPanel conteneurCartonsHerbiers = new HorizontalPanel();
conteneurCartonsHerbiers.setBorderWidth(0);
conteneurCartonsHerbiers.add(labelcartonsHerbiersFormat);
conteneurCartonsHerbiers.add(nbCartonsHerbier);
conteneurCartonsHerbiers.add(cartonsHerbierFormat);
etatTypesUniteFieldSet.add(conteneurCartonsHerbiers);
Label labelLiasses = new Label(i18nC.collectionLiasses());
labelLiasses.setStyleName("labelChampNombreFormat");
nbLiasses = new ChampNombre();
nbLiasses.setStyleName("champNombreFormat");
nbLiasses.setWidth(55);
nbLiasses.setEmptyText(i18nC.collectionUniteNbre());
liassesFormat = new TextField<String>();
liassesFormat.setStyleName("champNombreFormat");
liassesFormat.setEmptyText(i18nC.collectionUniteFormat());
HorizontalPanel conteneurLiasses = new HorizontalPanel();
conteneurLiasses.setBorderWidth(0);
conteneurLiasses.add(labelLiasses);
conteneurLiasses.add(nbLiasses);
conteneurLiasses.add(liassesFormat);
etatTypesUniteFieldSet.add(conteneurLiasses);
autresUnitesRangement = new TextArea();
autresUnitesRangement.setStyleName("textAreaAutreUniteRangement");
autresUnitesRangement.setHeight(90);
autresUnitesRangement.setFieldLabel(i18nC.collectionAutreUnitesRangement());
etatTypesUniteFieldSet.add(autresUnitesRangement);
planchesHerbier = new ChampNombre();
planchesHerbier.setFieldLabel(i18nC.collectionNbPlanchesHerbier());
591,7 → 319,18
nbreEchantillonChp.setValue(Integer.parseInt(collectionBotanique.getNbreEchantillon()));
}
peuplerGrilleUniteRangement(collectionBotanique.getUniteRangement());
if(!collectionBotanique.getNbCartonsHerbiers().isEmpty()) {
nbCartonsHerbier.setValue((Integer.parseInt(collectionBotanique.getNbCartonsHerbiers())));
}
cartonsHerbierFormat.setValue(collectionBotanique.getFormatCartonsHerbiers());
if(!collectionBotanique.getNbLiasses().isEmpty()) {
nbLiasses.setValue((Integer.parseInt(collectionBotanique.getNbLiasses())));
}
liassesFormat.setValue(collectionBotanique.getFormatLiasses());
autresUnitesRangement.setValue(collectionBotanique.getAutresUnitesRangement());
 
etatUniteRangementCombo.peupler(collectionBotanique.getUniteRangementEtat());
632,7 → 371,12
collectionBotaniqueCollectee.setNbreEchantillon(Integer.toString(nbreEchantillonChp.getValue().intValue()));
}
collectionBotaniqueCollectee.setUniteRangement(collecterGrilleUniteRangement());
collectionBotaniqueCollectee.setNbCartonsHerbiers(nbCartonsHerbier.getValue()+"");
collectionBotaniqueCollectee.setFormatCartonsHerbiers(cartonsHerbierFormat.getValue());
collectionBotaniqueCollectee.setNbLiasses(nbLiasses.getValue()+"");
collectionBotaniqueCollectee.setFormatLiasses(liassesFormat.getValue());
collectionBotaniqueCollectee.setAutresUnitesRangement(autresUnitesRangement.getValue());
collectionBotaniqueCollectee.setUniteRangementEtat(etatUniteRangementCombo.getValeur());
collectionBotaniqueCollectee.setNbPlanchesHerbiers(planchesHerbier.getValue()+"");
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionBotanique.java
70,14 → 70,42
this.set("ce_truk_type", type);
}
// UNITÉ RANGEMENT
public String getUniteRangement() {
return renvoyerValeurCorrecte("truk_unite_rangement");
// UNITÉ RANGEMENT
public String getNbLiasses() {
return renvoyerValeurCorrecte("nb_liasses");
}
public void setUniteRangement(String uniteRangement) {
this.set("truk_unite_rangement", uniteRangement);
public void setNbLiasses(String nbLiasses) {
this.set("nb_liasses", nbLiasses);
}
public String getFormatLiasses() {
return renvoyerValeurCorrecte("format_liasses");
}
public void setFormatLiasses(String formatLiasses) {
this.set("format_liasses", formatLiasses);
}
public String getNbCartonsHerbiers() {
return renvoyerValeurCorrecte("nb_cartons_herbier");
}
public void setNbCartonsHerbiers(String nbCartonsHerbiers) {
this.set("nb_cartons_herbier", nbCartonsHerbiers);
}
public String getFormatCartonsHerbiers() {
return renvoyerValeurCorrecte("format_cartons_herbier");
}
public void setFormatCartonsHerbiers(String formatCartonsHerbiers) {
this.set("format_cartons_herbier", formatCartonsHerbiers);
}
public String getAutresUnitesRangement() {
return renvoyerValeurCorrecte("autres_unites_rangement");
}
public void setAutresUnitesRangement(String autresUnitesRangement) {
this.set("autres_unites_rangement", autresUnitesRangement);
}
// UNITÉ RANGEMENT ÉTAT
public String getUniteRangementEtat() {
return renvoyerValeurCorrecte("ce_unite_rangement_etat");
85,14 → 113,6
public void setUniteRangementEtat(String uniteRangementEtat) {
this.set("ce_unite_rangement_etat", uniteRangementEtat);
}
 
// UNITÉ BASE
public String getUniteBase() {
return renvoyerValeurCorrecte("truk_unite_base");
}
public void setUniteBase(String uniteBase) {
this.set("truk_unite_base", uniteBase);
}
// NB PLANCHES HERBIER
public String getNbPlanchesHerbiers() {
396,14 → 416,5
}
public void setInventaireEtat(String inventaireEtat) {
this.set("ce_inventaire_etat", inventaireEtat);
}
//DELETEME ::: INVENTAIRE DONNÉES TYPES
/*public String getInventaireDonneesTypes() {
return renvoyerValeurCorrecte("inventaire_donnee_type");
}
public void setInventaireDonneesTypes(String inventaireDonneesTypes) {
this.set("inventaire_donnee_type", inventaireDonneesTypes);
}*/
}
}
/trunk/war/Coel.css
254,6 → 254,27
#main-button button{
font-weight:bold;
text-decoration:underline;}
.champNombreFormat {
margin-right: 5px;
margin-bottom: 5px;
}
 
.labelChampNombreFormat {
font: 12px tahoma,arial,helvetica,sans-serif;
display: inline-block;
margin-top: 2px;
width: 255px;
}
 
.labelChampNombreFormat::after {
content: ":";
}
 
.textAreaAutreUniteRangement textarea {
width: 400px !important;
}
 
/* #----------------------------------------------------------------------------------------------------------#*/
/* FORMULAIRE */
/* #----------------------------------------------------------------------------------------------------------#*/