|
From: <bma...@us...> - 2013-10-10 13:28:11
|
Revision: 8519
http://sourceforge.net/p/fudaa/svn/8519
Author: bmarchan
Date: 2013-10-10 13:28:07 +0000 (Thu, 10 Oct 2013)
Log Message:
-----------
Saisie et sauvegarde des param?\195?\168tres de s?\195?\169dimentologie
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
Added Paths:
-----------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java 2013-09-20 08:04:11 UTC (rev 8518)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -59,7 +59,7 @@
nbDecimales_= 0;
super.dispose();
}
- // Attributs
+ // Le nom, comme il apparait dans les fichiers de r\xE9sultats.
private String nom_;
public String nom() {
return nom_;
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java 2013-09-20 08:04:11 UTC (rev 8518)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -20,6 +20,7 @@
import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierCalageAuto;
import org.fudaa.dodico.hydraulique1d.metier.evenement.Notifieur;
import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.MetierParametresQualiteDEau;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierSediment;
import java.io.IOException;
@@ -57,11 +58,13 @@
qualiteDEau((MetierParametresQualiteDEau)q.qualiteDEau().creeClone());
if (q.calageAuto() != null)
calageAuto((MetierCalageAuto)q.calageAuto().creeClone());
+ if (q.sediment()!=null)
+ sediment(q.sediment().creeClone());
}
}
@Override
- final public MetierHydraulique1d creeClone() {
+ final public MetierEtude1d creeClone() {
MetierEtude1d p= new MetierEtude1d();
p.initialise(this);
return p;
@@ -88,6 +91,7 @@
versionFormat_= FORMAT_VERSION;
identifieurs_= new SMetierIdentifieur[0];
qualiteDEau_ = new MetierParametresQualiteDEau();
+ sediment_=new MetierSediment();
notifieObjetCree();
}
@@ -238,6 +242,16 @@
Notifieur.getNotifieur().fireObjetModifie(toString(), this, "calageAuto");
}
+ private MetierSediment sediment_;
+ public MetierSediment sediment() {
+ return sediment_;
+ }
+ public void sediment(MetierSediment _sediment) {
+ if (sediment_==_sediment) return;
+ sediment_=_sediment;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "sediment");
+ }
+
private MetierParametresQualiteDEau qualiteDEau_;
public MetierParametresQualiteDEau qualiteDEau() {
return qualiteDEau_;
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -0,0 +1,61 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+/**
+ * Les formules pour la s\xE9dimentologie. Cette classe n'est volontairement pas une \xE9numeration
+ * pour la serialisation Yapod.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class EnumFormuleSediment {
+ public static final EnumFormuleSediment MEYER_PETER=new EnumFormuleSediment("Meyer-Peter");
+ public static final EnumFormuleSediment LEFORT_1991=new EnumFormuleSediment("Lefort 1991");
+ public static final EnumFormuleSediment LEFORT_2007=new EnumFormuleSediment("Lefort 2007");
+ public static final EnumFormuleSediment ENGELUND_HANSEN=new EnumFormuleSediment("Engelund & Hansen");
+ public static final EnumFormuleSediment RECKING_2010=new EnumFormuleSediment("Recking 2010");
+ public static final EnumFormuleSediment RECKING_2011=new EnumFormuleSediment("Recking 2011");
+ public static final EnumFormuleSediment VAN_RIJN=new EnumFormuleSediment("Van Rijn");
+ public static final EnumFormuleSediment SMART_JAGGI=new EnumFormuleSediment("Smart & J\xE4ggi");
+ public static final EnumFormuleSediment RICKENMANN=new EnumFormuleSediment("Rickenmann");
+
+ public String name_;
+
+ public static EnumFormuleSediment[] values() {
+ return new EnumFormuleSediment[]{
+ MEYER_PETER,
+ LEFORT_1991,
+ LEFORT_2007,
+ ENGELUND_HANSEN,
+ RECKING_2010,
+ RECKING_2011,
+ VAN_RIJN,
+ SMART_JAGGI,
+ RICKENMANN
+ };
+ }
+
+ /**
+ * On ne devrait pas acceder \xE0 ce constructeur.
+ */
+ protected EnumFormuleSediment() {
+ name_="";
+ }
+
+ private EnumFormuleSediment(String _name) {
+ name_=_name;
+ }
+
+ /**
+ * Necessaire pour comparer correctement 2 enums.
+ */
+ @Override
+ public boolean equals(Object _obj) {
+ if (_obj==null || !(_obj instanceof EnumFormuleSediment)) return false;
+ return name_.equals(((EnumFormuleSediment)_obj).name_);
+ }
+
+ @Override
+ public String toString() {
+ return name_;
+ }
+}
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -0,0 +1,199 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.evenement.Notifieur;
+import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d;
+
+/**
+ * Classe de stockage des parametres de granulometrie pour le calcul de s\xE9diments.
+ *
+ * @version $Id$
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public class MetierParametresSediment extends MetierHydraulique1d {
+ /** Temperature de l'eau */
+ private double tEau_;
+ /** Diametre moyen */
+ private double dmoy_;
+ /** Diametre fractile 30 */
+ private double d30_;
+ /** Diametre fractile 50 */
+ private double d50_;
+ /** Diametre fractile 84 */
+ private double d84_;
+ /** Diametre fractile 90 */
+ private double d90_;
+ /** Rugosite de grain */
+ private double rugo_=4;
+ /** Densite de materiau */
+ private double densMat_=2.65;
+ /** Densite apparente */
+ private double densApparente_=2;
+ /** Contrainte critique adimensionnelle */
+ private double tauc_=0.047;
+ /** Formule de calcul */
+ private EnumFormuleSediment formule_;
+
+ // Constructeur.
+ public MetierParametresSediment() {
+ super();
+
+ notifieObjetCree();
+ }
+
+ @Override
+ public void initialise(MetierHydraulique1d _o) {
+ super.initialise(_o);
+ if (_o instanceof MetierParametresSediment) {
+ MetierParametresSediment q=(MetierParametresSediment)_o;
+ setTEau(q.getTauc());
+ setDmoyen(q.getDmoyen());
+ setD30(q.getD30());
+ setD50(q.getD50());
+ setD84(q.getD84());
+ setD90(q.getD90());
+ setRugosite(q.getRugosite());
+ setDensiteApparente(q.getDensiteApparente());
+ setDensiteMateriau(q.getDensiteMateriau());
+ setTauc(q.getTauc());
+ setFormule(q.getFormule());
+ }
+ }
+
+ @Override
+ final public MetierParametresSediment creeClone() {
+ MetierParametresSediment p= new MetierParametresSediment();
+ p.initialise(this);
+ return p;
+ }
+
+ public double getTEau() {
+ return tEau_;
+ }
+
+ public void setTEau(double tEau) {
+ if (tEau_==tEau) return;
+ this.tEau_ = tEau;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "TEau");
+ }
+
+ public double getDmoyen() {
+ return dmoy_;
+ }
+
+ public void setDmoyen(double dmoy) {
+ if (dmoy_==dmoy) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "DMoyen");
+ this.dmoy_ = dmoy;
+ }
+
+ public double getD30() {
+ return d30_;
+ }
+
+ public void setD30(double d30) {
+ if (d30_==d30) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "D30");
+ this.d30_ = d30;
+ }
+
+ public double getD50() {
+ return d50_;
+ }
+
+ public void setD50(double d50) {
+ if (d50_==d50) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "D50");
+ this.d50_ = d50;
+ }
+
+ public double getD84() {
+ return d84_;
+ }
+
+ public void setD84(double d84) {
+ if (d84_==d84) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "D84");
+ this.d84_ = d84;
+ }
+
+ public double getD90() {
+ return d90_;
+ }
+
+ public void setD90(double d90) {
+ if (d90_==d90) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "D90");
+ this.d90_ = d90;
+ }
+
+ public double getRugosite() {
+ return rugo_;
+ }
+
+ public void setRugosite(double rugo) {
+ if (rugo_==rugo) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "Rugosite");
+ this.rugo_ = rugo;
+ }
+
+ public double getDensiteMateriau() {
+ return densMat_;
+ }
+
+ public void setDensiteMateriau(double densMat) {
+ if (densMat_==densMat) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "DensiteMateriau");
+ this.densMat_ = densMat;
+ }
+
+ public double getDensiteApparente() {
+ return densApparente_;
+ }
+
+ public void setDensiteApparente(double densApparente) {
+ if (densApparente_==densApparente) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "DensiteApparente");
+ this.densApparente_ = densApparente;
+ }
+
+ public double getTauc() {
+ return tauc_;
+ }
+
+ public void setTauc(double tauc) {
+ if (tauc_==tauc) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "Tauc");
+ this.tauc_ = tauc;
+ }
+
+ public EnumFormuleSediment getFormule() {
+ return formule_;
+ }
+
+ public void setFormule(EnumFormuleSediment _formule) {
+ if (formule_==_formule) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "Formule");
+ this.formule_ = _formule;
+ }
+
+ @Override
+ public String[] getInfos() {
+ String[] res= new String[2];
+ res[0]= getS("Parametres");
+ res[1]=
+ super.getInfos()[1]
+ + " TEau=" + tEau_
+ + " Dmoyen=" + dmoy_
+ + " D30=" + d30_
+ + " D50=" + d50_
+ + " D84=" + d84_
+ + " D90=" + d90_
+ + " Rugosite=" + rugo_
+ + " Densite apparente=" + densApparente_
+ + " Densite materiau=" + densMat_
+ + " Tauc=" + tauc_
+ + " Formule=" + formule_ ==null ? "None":formule_.toString();
+
+ return res;
+ }
+}
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -0,0 +1,75 @@
+/*
+ * @file MetierCasier.java
+ * @creation
+ * @modification $Date: 2007-11-20 11:43:26 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail de...@fu...
+ */
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d;
+import org.fudaa.dodico.hydraulique1d.metier.evenement.Notifieur;
+
+/**
+ * Objet racine de la s\xE9dimentologie.
+ *
+ * @version $Revision: 1.2 $ $Date: 2007-11-20 11:43:26 $ by $Author: bmarchan $
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public class MetierSediment extends MetierHydraulique1d {
+ private MetierParametresSediment params_;
+
+ // Constructeur.
+ public MetierSediment() {
+ super();
+ params_=new MetierParametresSediment();
+
+ notifieObjetCree();
+ }
+
+ @Override
+ public void initialise(MetierHydraulique1d _o) {
+ super.initialise(_o);
+ if (_o instanceof MetierSediment) {
+ MetierSediment q= (MetierSediment)_o;
+ parametres(q.parametres().creeClone());
+ }
+ }
+
+ @Override
+ final public MetierSediment creeClone() {
+ MetierSediment p=new MetierSediment();
+ p.initialise(this);
+ return p;
+ }
+
+ @Override
+ public String[] getInfos() {
+ String[] res= new String[2];
+ res[0]= getS("S\xE9diment");
+ res[1]=super.getInfos()[1];
+
+ return res;
+ }
+
+ @Override
+ public void dispose() {
+ if (params_!=null) params_.dispose();
+ super.dispose();
+ }
+
+ //--- Interface MetierCalageAuto { ----------------------------------------------
+
+ public MetierParametresSediment parametres() {
+ return params_;
+ }
+
+ public void parametres(MetierParametresSediment _params) {
+ if (params_==_params) return;
+ params_=_params;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "params");
+ }
+
+ //--- } Interface MetierCalageAuto ----------------------------------------------
+}
Added: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java (rev 0)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -0,0 +1,286 @@
+package org.fudaa.fudaa.hydraulique1d.editor;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.BorderFactory;
+import javax.swing.JOptionPane;
+import javax.swing.border.Border;
+import javax.swing.border.EtchedBorder;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.EnumFormuleSediment;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierParametresSediment;
+import org.fudaa.ebli.commun.EbliPreferences;
+import org.fudaa.ebli.dialog.BDialogContent;
+import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
+
+import com.memoire.bu.BuComboBox;
+import com.memoire.bu.BuGridLayout;
+import com.memoire.bu.BuLabel;
+import com.memoire.bu.BuPanel;
+import com.memoire.bu.BuTextField;
+
+/**
+ * Editeur des param\xE8tres de s\xE9diment.
+ *
+ * @version $Id$
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public class Hydraulique1dParametresSedimentEditor
+ extends Hydraulique1dCustomizerImprimable
+ implements ActionListener {
+
+ private MetierParametresSediment param_;
+
+ private BuGridLayout lyCenter_;
+ private BuLabel lbDmoy_;
+ private BuTextField tfDmoy_;
+ private BuLabel lbD30_;
+ private BuTextField tfD30_;
+ private BuLabel lbD50_;
+ private BuTextField tfD50_;
+ private BuLabel lbD84_;
+ private BuTextField tfD84_;
+ private BuLabel lbD90_;
+ private BuTextField tfD90_;
+ private BuLabel lbRugo_;
+ private BuTextField tfRugo_;
+ private BuLabel lbDensMat_;
+ private BuTextField tfDensMat_;
+ private BuLabel lbDensApparente_;
+ private BuTextField tfDensApparente_;
+ private BuLabel lbTauc_;
+ private BuTextField tfTauc_;
+ private BuLabel lbTEau_;
+ private BuTextField tfTEau_;
+ private BuLabel lbFormule_;
+ private BuComboBox coFormule_;
+ private BuPanel pnCenter_;
+ private BuPanel pnPrincipal_;
+ private BorderLayout lyPrincipal_;
+
+ public Hydraulique1dParametresSedimentEditor() {
+ this(null);
+ }
+
+ public Hydraulique1dParametresSedimentEditor(BDialogContent parent) {
+ super(parent, Hydraulique1dResource.getS("Edition des param\xE8tres de s\xE9dimentologie"));
+
+ lbDmoy_=new BuLabel(getS("Diam\xE8tre moyen"));
+ tfDmoy_=BuTextField.createDoubleField();
+ tfDmoy_.setColumns(7);
+ lbD30_=new BuLabel(getS("Diam\xE8tre fractile 30"));
+ tfD30_=BuTextField.createDoubleField();
+ lbD50_=new BuLabel(getS("Diam\xE8tre fractile 50"));
+ tfD50_=BuTextField.createDoubleField();
+ lbD84_=new BuLabel(getS("Diam\xE8tre fractile 84"));
+ tfD84_=BuTextField.createDoubleField();
+ lbD90_=new BuLabel(getS("Diam\xE8tre fractile 90"));
+ tfD90_=BuTextField.createDoubleField();
+ lbRugo_=new BuLabel(getS("Rugosit\xE9 de grain"));
+ tfRugo_=BuTextField.createDoubleField();
+ lbDensMat_=new BuLabel(getS("Densit\xE9 de mat\xE9riau"));
+ tfDensMat_=BuTextField.createDoubleField();
+ lbDensApparente_=new BuLabel(getS("Densit\xE9 apparente"));
+ tfDensApparente_=BuTextField.createDoubleField();
+ lbTauc_=new BuLabel(getS("Contrainte critique adimensionnelle"));
+ tfTauc_=BuTextField.createDoubleField();
+ lbTEau_=new BuLabel(getS("Temp\xE9rature de l'eau"));
+ tfTEau_=BuTextField.createDoubleField();
+ lbFormule_=new BuLabel(getS("Formule"));
+ coFormule_=new BuComboBox();
+ coFormule_.addItem("");
+ for (EnumFormuleSediment item : EnumFormuleSediment.values()) {
+ coFormule_.addItem(item);
+ }
+
+
+ lyCenter_=new BuGridLayout(2,5,2);
+ pnCenter_=new BuPanel();
+ pnCenter_.setBorder(BorderFactory.createEmptyBorder(0,0,5,0)); // Pour des pb d'affichage.
+ pnCenter_.setLayout(lyCenter_);
+ pnCenter_.add(lbDmoy_);
+ pnCenter_.add(tfDmoy_);
+ pnCenter_.add(lbD30_);
+ pnCenter_.add(tfD30_);
+ pnCenter_.add(lbD50_);
+ pnCenter_.add(tfD50_);
+ pnCenter_.add(lbD84_);
+ pnCenter_.add(tfD84_);
+ pnCenter_.add(lbD90_);
+ pnCenter_.add(tfD90_);
+ pnCenter_.add(lbRugo_);
+ pnCenter_.add(tfRugo_);
+ pnCenter_.add(lbDensMat_);
+ pnCenter_.add(tfDensMat_);
+ pnCenter_.add(lbDensApparente_);
+ pnCenter_.add(tfDensApparente_);
+ pnCenter_.add(lbTauc_);
+ pnCenter_.add(tfTauc_);
+ pnCenter_.add(lbTEau_);
+ pnCenter_.add(tfTEau_);
+ pnCenter_.add(lbFormule_);
+ pnCenter_.add(coFormule_);
+
+ Border bd=BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
+ pnPrincipal_=new BuPanel();
+ pnPrincipal_.setBorder(BorderFactory.createTitledBorder(bd,getS("Param\xE8tres")));
+ lyPrincipal_=new BorderLayout(5,0);
+ pnPrincipal_.setLayout(lyPrincipal_);
+ pnPrincipal_.add(pnCenter_,BorderLayout.CENTER);
+ getContentPane().add(pnPrincipal_,BorderLayout.CENTER);
+
+ param_= null;
+ setNavPanel(EbliPreferences.DIALOG.VALIDER|EbliPreferences.DIALOG.ANNULER);
+ pack();
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent _evt) {
+ String cmd= _evt.getActionCommand();
+ if ("VALIDER".equals(cmd)) {
+ String mes=isValide();
+ if (mes!=null) {
+ JOptionPane.showMessageDialog(this,
+ mes+".",
+ getS("Erreur de mise en donn\xE9es"),
+ JOptionPane.ERROR_MESSAGE);
+ }
+ else {
+ if (getValeurs()) firePropertyChange("parametres", null, param_);
+ fermer();
+ }
+ }
+ else {
+ super.actionPerformed(_evt);
+ }
+ }
+
+ /**
+ * Controle que le panneau est correctement rempli.
+ * @return Un message indiquant l'origine du pb. null si pas de pb.
+ */
+ public String isValide() {
+ if (tfDmoy_.getValue()==null || ((Double)tfDmoy_.getValue())<=0)
+ return getS("Diam\xE8tre moyen")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfD30_.getValue()==null || ((Double)tfD30_.getValue())<=0)
+ return getS("Diam\xE8tre fractile 30")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfD50_.getValue()==null || ((Double)tfD50_.getValue())<=0)
+ return getS("Diam\xE8tre fractile 30")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfD84_.getValue()==null || ((Double)tfD84_.getValue())<=0)
+ return getS("Diam\xE8tre fractile 30")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfD90_.getValue()==null || ((Double)tfD90_.getValue())<=0)
+ return getS("Diam\xE8tre fractile 30")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfRugo_.getValue()==null || ((Double)tfRugo_.getValue())<=0)
+ return getS("Rugosit\xE9")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfDensMat_.getValue()==null || ((Double)tfDensMat_.getValue())<=0)
+ return getS("Densit\xE9 mat\xE9riau")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfDensApparente_.getValue()==null || ((Double)tfDensApparente_.getValue())<=0)
+ return getS("Densit\xE9 apparente")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfTauc_.getValue()==null)
+ return getS("Contrainte critique adimensionnelle")+" : "+getS("La valeur doit \xEAtre donn\xE9e");
+ if (tfTEau_.getValue()==null)
+ return getS("Temp\xE9rature de l'eau")+" : "+getS("La valeur doit \xEAtre donn\xE9e");
+ if (coFormule_.getSelectedIndex()==0)
+ return getS("La formule n'est pas donn\xE9e");
+
+ return null;
+ }
+
+ @Override
+ protected boolean getValeurs() {
+ boolean changed= false;
+
+ double dmoy=((Double)tfDmoy_.getValue());
+ if (dmoy!=param_.getDmoyen()) {
+ param_.setDmoyen(dmoy);
+ changed=true;
+ }
+ double d30=((Double)tfD30_.getValue());
+ if (d30!=param_.getD30()) {
+ param_.setD30(d30);
+ changed=true;
+ }
+ double d50=((Double)tfD50_.getValue());
+ if (d50!=param_.getD50()) {
+ param_.setD50(d50);
+ changed=true;
+ }
+ double d84=((Double)tfD84_.getValue());
+ if (d84!=param_.getD84()) {
+ param_.setD84(d84);
+ changed=true;
+ }
+ double d90=((Double)tfD90_.getValue());
+ if (d90!=param_.getD90()) {
+ param_.setD90(d90);
+ changed=true;
+ }
+ double rugo=((Double)tfRugo_.getValue());
+ if (rugo!=param_.getRugosite()) {
+ param_.setRugosite(rugo);
+ changed=true;
+ }
+ double densMat=((Double)tfDensMat_.getValue());
+ if (densMat!=param_.getDensiteMateriau()) {
+ param_.setDensiteMateriau(densMat);
+ changed=true;
+ }
+ double densApparente=((Double)tfDensApparente_.getValue());
+ if (densApparente!=param_.getDensiteApparente()) {
+ param_.setDensiteApparente(densApparente);
+ changed=true;
+ }
+ double tauc=((Double)tfTauc_.getValue());
+ if (tauc!=param_.getTauc()) {
+ param_.setTauc(tauc);
+ changed=true;
+ }
+ double tEau=((Double)tfTEau_.getValue());
+ if (tEau!=param_.getTEau()) {
+ param_.setTEau(tEau);
+ changed=true;
+ }
+ EnumFormuleSediment formule;
+ formule=(EnumFormuleSediment)coFormule_.getSelectedItem();
+ if (!formule.equals(param_.getFormule())) {
+ param_.setFormule(formule);
+ changed=true;
+ }
+
+ return changed;
+ }
+
+ @Override
+ public void setObject(MetierHydraulique1d _param) {
+ if (!(_param instanceof MetierParametresSediment)) return;
+ if (_param==param_) return;
+
+ param_= (MetierParametresSediment)_param;
+ setValeurs();
+ }
+
+ @Override
+ protected void setValeurs() {
+ tfDmoy_.setValue(param_.getDmoyen());
+ tfD30_.setValue(param_.getD30());
+ tfD50_.setValue(param_.getD50());
+ tfD84_.setValue(param_.getD84());
+ tfD90_.setValue(param_.getD90());
+ tfD90_.setValue(param_.getD90());
+ tfRugo_.setValue(param_.getRugosite());
+ tfDensMat_.setValue(param_.getDensiteMateriau());
+ tfDensApparente_.setValue(param_.getDensiteApparente());
+ tfTauc_.setValue(param_.getTauc());
+ tfTEau_.setValue(param_.getTEau());
+
+ if (param_.getFormule()==null) {
+ coFormule_.setSelectedIndex(0);
+ }
+ else {
+ coFormule_.setSelectedItem(param_.getFormule());
+ }
+ }
+}
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java 2013-09-20 08:04:11 UTC (rev 8518)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -44,7 +44,7 @@
/**
* Map entre le nom de l'ihmHelper d\xE9j\xE0 utilis\xE9 (la cl\xE9) et l'instance de l'ihmHelper.
*/
- private Map ihmHelpers_;
+ private Map<String, Hydraulique1dIHM_Base> ihmHelpers_;
/**
* Constructeur par d\xE9faut qui initialise la Map ihmHelpers_.
@@ -83,9 +83,9 @@
*/
public void setEtude(MetierEtude1d e) {
etude_= e;
- Iterator ite = ihmHelpers_.values().iterator();
+ Iterator<Hydraulique1dIHM_Base> ite = ihmHelpers_.values().iterator();
while(ite.hasNext()) {
- ((Hydraulique1dIHM_Base)ite.next()).setEtude(etude_);
+ ite.next().setEtude(etude_);
}
}
@@ -93,9 +93,9 @@
* Ferme toutes les fenetres ihm
*/
public void fermer() {
- Iterator ite = ihmHelpers_.values().iterator();
+ Iterator<Hydraulique1dIHM_Base> ite = ihmHelpers_.values().iterator();
while(ite.hasNext()) {
- ((Hydraulique1dIHM_Base)ite.next()).fermer();
+ ite.next().fermer();
}
}
@@ -115,7 +115,7 @@
* Initialise la Map ihmHelpers_ a une taille de 50.
*/
public void init() {
- ihmHelpers_ = new HashMap(50);
+ ihmHelpers_ = new HashMap<String,Hydraulique1dIHM_Base>(50);
}
// Impl\xE9mentation de l'interface FudaaProjetListener
/**
@@ -159,16 +159,39 @@
* Permet de r\xE9cup\xE9rer une instance unique de l'IhmHelper dont le nom est pass\xE9 en argument.
* @param nomIhmHelper Le nom de l'IhmHelper (Nom de la Classe sans le pr\xE9fix Hydraulique1dIHM_.
* @return Hydraulique1dIHM_Base
+ *
+ * @deprecated Not safe. Use {@link #getIhmHelper(Class)} instead
*/
public Hydraulique1dIHM_Base getIhmHelper(String nomIhmHelper) {
try {
- if (!ihmHelpers_.containsKey(nomIhmHelper)) {
- Class clazz = Class.forName(
+ @SuppressWarnings("unchecked")
+ Class<Hydraulique1dIHM_Base> clazz = (Class<Hydraulique1dIHM_Base>)Class.forName(
"org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHM_" +
nomIhmHelper);
- Constructor[] constructeurs = clazz.getConstructors();
+ return getIhmHelper(clazz);
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ return null;
+ }
+
+
+ /**
+ * Permet de r\xE9cup\xE9rer une instance unique de la classe pass\xE9e en argument.
+ * @param _clazz La classe de l'instance.
+ * @return L'instance.
+ */
+ @SuppressWarnings("unchecked")
+ public <T extends Hydraulique1dIHM_Base> T getIhmHelper(Class<T> _clazz) {
+ String nomIhmHelper=_clazz.getName().substring("org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHM_".length());
+
+ try {
+ if (!ihmHelpers_.containsKey(nomIhmHelper)) {
+ Constructor<?>[] constructeurs = _clazz.getConstructors();
for (int i = 0; i < constructeurs.length; i++) {
- Class[] classesParamConstruc = constructeurs[i].getParameterTypes();
+ Class<?>[] classesParamConstruc = constructeurs[i].getParameterTypes();
if (classesParamConstruc.length == 1) {
if (classesParamConstruc[0].equals(MetierEtude1d.class)) {
Object[] tmp = new Object[1];
@@ -185,8 +208,9 @@
ex.printStackTrace();
}
- return (Hydraulique1dIHM_Base)ihmHelpers_.get(nomIhmHelper);
+ return (T)ihmHelpers_.get(nomIhmHelper);
}
+
public Hydraulique1dIHM_Apport2 APPORT2() {
return (Hydraulique1dIHM_Apport2) getIhmHelper("Apport2");
}
@@ -335,4 +359,7 @@
public Hydraulique1dIHM_ZonesSeches ZONES_SECHES() {
return (Hydraulique1dIHM_ZonesSeches) getIhmHelper("ZonesSeches");
}
+ public Hydraulique1dIHM_ParamsSediment PARAMS_SEDIMENT() {
+ return getIhmHelper(Hydraulique1dIHM_ParamsSediment.class);
+ }
}
Added: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java (rev 0)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -0,0 +1,55 @@
+/*
+ * @file Hydraulique1dIHM_ParamCalage.java
+ * @creation 2001-09-20
+ * @modification $Date: 2007-11-20 11:43:14 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 EDF/LNHE
+ * @mail de...@fu...
+ */
+package org.fudaa.fudaa.hydraulique1d.ihmhelper;
+
+import javax.swing.JComponent;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d;
+import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication;
+import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
+import org.fudaa.fudaa.hydraulique1d.editor.Hydraulique1dParametresSedimentEditor;
+
+import com.memoire.bu.BuAssistant;
+
+/**
+ * Classe faisant le lien entre l'\xE9diteur des param\xE8tres de sediment et l'aide.
+ *
+ * @version $Id$
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public class Hydraulique1dIHM_ParamsSediment extends Hydraulique1dIHM_Base {
+ Hydraulique1dParametresSedimentEditor edit_;
+
+ public Hydraulique1dIHM_ParamsSediment(MetierEtude1d e) {
+ super(e);
+ }
+
+ @Override
+ public void editer() {
+ if (edit_ == null) {
+ edit_= new Hydraulique1dParametresSedimentEditor();
+ edit_.setObject(etude_.sediment().parametres());
+ installContextHelp(edit_);
+ listenToEditor(edit_);
+ BuAssistant ass= Hydraulique1dResource.getAssistant();
+ if (ass != null)
+ ass.addEmitters(edit_);
+ }
+ edit_.show();
+ }
+
+ @Override
+ protected void installContextHelp(JComponent e) {
+ if (e == null)
+ return;
+ ((Hydraulique1dBaseApplication)Hydraulique1dBaseApplication.FRAME)
+ .getImplementation()
+ .installContextHelp(e.getRootPane(), "mascaret/sediment/parametres_sediment.html");
+ }
+}
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-09-20 08:04:11 UTC (rev 8518)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -147,7 +147,7 @@
static {
isApp_.name = "Fudaa-Mascaret";
- isApp_.version = "3.1.9";
+ isApp_.version = "3.1.10";
isApp_.date = "06-09-2013";
isApp_.rights = MascaretResource.MASCARET.getString("Tous droits r\xE9serv\xE9s") + ". EDF-CETMEF (c) 2001-2013";
// isApp_.contact = "http://www.openmascaret.org/index.php?option=com_kunena&view=category&Itemid=177&layout=list";
@@ -168,7 +168,7 @@
isApp_.libraries = null;
isApp_.thanks = new String[]{"Fudaa team"};
idApp_.name = "Fudaa-Mascaret";
- idApp_.version = "3.1.9";
+ idApp_.version = "3.1.10";
idApp_.organization = "EDF-CETMEF";
idApp_.author = author;
idApp_.contact = "http://www.openmascaret.org/";
@@ -218,7 +218,8 @@
if (CGlobal.AVEC_QUALITE_DEAU) {
mb.addMenu(buildQualiteDEauMenu());
}
- mb.addMenu(buildResultat());
+ mb.addMenu(buildSedimentMenu());
+ mb.addMenu(buildResultatMenu());
if (CGlobal.AVEC_CALAGE_AUTO) {
mb.addMenu(buildCalageMenu());
}
@@ -475,6 +476,8 @@
zonesFrottementCalees();
} else if (action.equals("CALCUL_CALAGE")) {
calculer(true);
+ } else if (action.equals("GRANULO_SEDIMENT")) {
+ paramsSediment();
} else if (action.equals("MODELEQUALITEDEAU")) {
modeleQualiteDEau();
} else if (action.equals("LOIS_POUR_QUALITEDEAU")) {
@@ -802,7 +805,7 @@
}
// Menu Resultat
- private BuMenu buildResultat() {
+ private BuMenu buildResultatMenu() {
BuMenu r = new BuMenu(_("R\xE9sultats"), "RESULTATS", true);
r.addSeparator(_("R\xE9sultats"));
r.addMenuItem(_("R\xE9sultats g\xE9n\xE9raux"), "RESULTATS_GENERAUX", false);
@@ -826,6 +829,17 @@
r.addMenuItem(_("Zones de frottement cal\xE9es"), "FROT_CALAGE", false);
return r;
}
+
+ /**
+ * @return Le menu sediments
+ */
+ private BuMenu buildSedimentMenu() {
+ BuMenu r=new BuMenu(_("S\xE9diment"), "SEDIMENT");
+ r.addMenuItem(_("Param\xE8tres de granulom\xE9trie"),"GRANULO_SEDIMENT");
+
+ return r;
+ }
+
// Menu Synthese
private BuMenu buildSyntheseMenu() {
@@ -2113,6 +2127,10 @@
Hydraulique1dIHMRepository.getInstance().MODELE_QUALITE_EAU().editer();
}
}
+
+ private void paramsSediment() {
+ Hydraulique1dIHMRepository.getInstance().PARAMS_SEDIMENT().editer();
+ }
private void loiPourQualiteDEau() {
ihmP_.LIBRARY_LOI().setQualiteDEau(true);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|