Salome HOME
sauvegarde
authorpascale.noyret <pascale.noyret@edf.fr>
Wed, 22 Apr 2015 08:49:42 +0000 (10:49 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Wed, 22 Apr 2015 08:49:42 +0000 (10:49 +0200)
33 files changed:
.gitignore
InterfaceQT4/feuille.py
InterfaceQT4/gereListe.py
InterfaceQT4/groupe.py
InterfaceQT4/monFonctionPanel.py [new file with mode: 0644]
InterfaceQT4/monLabelClic.py [new file with mode: 0644]
InterfaceQT4/monSelectVal.py [new file with mode: 0644]
InterfaceQT4/monWidgetCommentaire.py
InterfaceQT4/monWidgetPlusieursBase.py
InterfaceQT4/monWidgetPlusieursIntoOrdonne.py
Telemac/Telemac_Cata.py
UiQT4/desChoixCata.ui
UiQT4/desChoixCommandes.ui
UiQT4/desRecherche.ui
UiQT4/desSelectVal.ui
UiQT4/desWidget4a6RadioButton.ui
UiQT4/desWidgetCB.ui
UiQT4/desWidgetCommande.ui
UiQT4/desWidgetCommentaire.ui
UiQT4/desWidgetDate.ui
UiQT4/desWidgetHeure.ui
UiQT4/desWidgetPlusieursBase.ui
UiQT4/desWidgetPlusieursInto.ui
UiQT4/desWidgetPlusieursIntoOrdonne.ui
UiQT4/desWidgetRadioButton.ui
UiQT4/desWidgetSimpBase.ui
UiQT4/desWidgetSimpBool.ui
UiQT4/desWidgetSimpFichier.ui
UiQT4/desWidgetSimpTuple.ui [deleted file]
UiQT4/desWidgetSimpTxt.ui
UiQT4/desWidgetTuple2.ui
UiQT4/desWidgetTuple3.ui
UiQT4/makefile

index 60d10ab799dfa4a6b3972d55c51191dc8cf95097..9ba6f08b56e9a3ba119cc1e3428fb450fa4a5d53 100644 (file)
@@ -1,2 +1,6 @@
 *.pyc
+*.comm
+*.sh
 UiQT4/*.py
+Aster/Cata/*
+Aster/Tests/*
index f033eac41109d9dc16f85caffd6f4a3f124b827a..7d06bb6e70e6e52b39c1011170f9c2873a96ffcd 100644 (file)
@@ -170,7 +170,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel):
          self.AAfficher.setFocus(7)
 
 
-   def traiteClicSurLabel(self):
+   def traiteClicSurLabel(self,texte):
        #print self.aide 
        self.aide+="\n"+self.aideALaSaisie()
        self.editor.affiche_infos(self.aide)
index 3a846023d1ecc2fe9e45f09c4d82369384e02ec1..b88ee9e7f245a0d7d6b3e24b025617bd62189367 100644 (file)
@@ -27,6 +27,7 @@ from PyQt4.QtCore import *
 from Extensions.i18n import tr
 from monViewTexte   import ViewText
 
+
 # ---------------------- #
 class LECustom(QLineEdit):
 # ---------------------- #
@@ -77,11 +78,11 @@ class GereListe:
    def echange(self,num1,num2):
        # on donne le focus au a celui ou on a bouge
        # par convention le 2
-       nomLineEdit="lineEditVal"+str(num1)
+       nomLineEdit=self.nomLine+str(num1)
        #print nomLineEdit
        courant=getattr(self,nomLineEdit)
        valeurAGarder=courant.text()
-       nomLineEdit2="lineEditVal"+str(num2)
+       nomLineEdit2=self.nomLine+str(num2)
        #print nomLineEdit2
        courant2=getattr(self,nomLineEdit2)
        courant.setText(courant2.text())
@@ -91,25 +92,25 @@ class GereListe:
        self.LineEditEnCours=courant2
 
    def moinsPushed(self):
-       if self.indexDernierLabel < self.monSimpDef.min:
-          self.editor.affiche_infos('nb min de valeurs : '+str(self.monSimpDef.min)+' atteint')
-          return
        # on supprime le dernier
        if self.NumLineEditEnCours==self.indexDernierLabel : 
-          self.setText("")
+          nomLineEdit=self.nomLine+str(aRemonter)
+          courant=getattr(self,nomLineEdit)
+          courant.setText("")
        else :
          for i in range (self.NumLineEditEnCours, self.indexDernierLabel):
              aRemonter=i+1
-             nomLineEdit="lineEditVal"+str(aRemonter)
+             nomLineEdit=self.nomLine+str(aRemonter)
              courant=getattr(self,nomLineEdit)
              valeurARemonter=courant.text()
-             nomLineEdit="lineEditVal"+str(i)
+             nomLineEdit=self.nomLine+str(i)
              courant=getattr(self,nomLineEdit)
              courant.setText(valeurARemonter)
-         nomLineEdit="lineEditVal"+str(self.indexDernierLabel)
+         nomLineEdit=self.nomLine+str(self.indexDernierLabel)
          courant=getattr(self,nomLineEdit)
          courant.setText("")
-       self.changeValeur(changeDePlace=False)
+       self.changeValeur(changeDePlace=False,oblige=True)
+       self.setValide()
 
    def plusPushed(self):
        if self.indexDernierLabel == self.monSimpDef.max:
@@ -117,13 +118,13 @@ class GereListe:
           return
        self.ajoutLineEdit()
        if self.NumLineEditEnCours==self.indexDernierLabel : return
-       nomLineEdit="lineEditVal"+str(self.NumLineEditEnCours+1)
+       nomLineEdit=self.nomLine+str(self.NumLineEditEnCours+1)
        courant=getattr(self,nomLineEdit)
        valeurADescendre=courant.text()
        courant.setText("")
        for i in range (self.NumLineEditEnCours+1, self.indexDernierLabel):
              aDescendre=i+1
-             nomLineEdit="lineEditVal"+str(aDescendre)
+             nomLineEdit=self.nomLine+str(aDescendre)
              courant=getattr(self,nomLineEdit)
              valeurAGarder=courant.text()
              courant.setText(valeurADescendre)
@@ -143,3 +144,17 @@ class GereListe:
 
    def selectInFile(self):
        print "selectInFile"
+       init=QString( self.editor.CONFIGURATION.savedir)
+       fn = QFileDialog.getOpenFileName(self.node.appliEficas,
+                                         tr("Fichier de donnees"),
+                                         init,
+                                         tr('Tous les  Fichiers (*)',))
+       if fn == None : return
+       if fn == "" : return
+       ulfile = os.path.abspath(unicode(fn))
+       self.editor.CONFIGURATION.savedir=os.path.split(ulfile)[0]
+
+       from monSelectVal import MonSelectVal
+       MonSelectVal(file=fn,parent=self).show()
+
+  
index b92d03c5116d5a0b6003ea196a9456e0658ebd31..6a62890c9a25cca0a1d0886de96a5f3551a4d005 100644 (file)
@@ -178,7 +178,7 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
       self.node.setDeplie()
       self.reaffiche(self.node) 
 
-  def traiteClicSurLabel(self):
+  def traiteClicSurLabel(self,texte):
       self.afficheOptionnel()
 
 
diff --git a/InterfaceQT4/monFonctionPanel.py b/InterfaceQT4/monFonctionPanel.py
new file mode 100644 (file)
index 0000000..599b81d
--- /dev/null
@@ -0,0 +1,197 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013   EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+# Modules Python
+import string,types,os
+
+# Modules Eficas
+from qtSaisie      import SaisieValeur
+from monPlusieursBasePanel import MonPlusieursBasePanel
+
+from PyQt4.QtGui  import *
+from PyQt4.QtCore import *
+from Extensions.i18n import tr
+
+# Import des panels
+
+class MonFonctionPanel(MonPlusieursBasePanel):
+#  Classe definissant le panel associe© aux mots-cles qui demandent
+#  a l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+#  discretes
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        #print "MonFonctionPanel"
+        self.node=node
+        self.SetNbValeurs()
+        MonPlusieursBasePanel.__init__(self,node,parent,name,fl)
+
+  def SetNbValeurs(self):
+        self.nbValeurs = 1
+        if self.node.item.wait_tuple()== 1 :
+           for a in self.node.item.definition.type :
+               try :
+                   self.nbValeurs = a.ntuple
+                   break
+               except :
+                   pass
+        genea=self.node.item.get_genealogie()
+        self.nbValeursASaisir=self.nbValeurs
+        if "VALE" in genea: self.nbValeurs=2
+        if "VALE_C" in genea: self.nbValeurs=3
+
+
+  def DecoupeListeValeurs(self,liste):
+        #decoupe la liste des valeurs en n ( les x puis les y)
+        l_valeurs=[]
+        if ((len(liste)% self.nbValeursASaisir != 0 and (len(liste)% self.nbValeurs))):
+            message=tr("La cardinalite n'est pas correcte, la derniere valeur est ignoree")
+            #self.Commentaire.setText(QString(commentaire)) 
+            self.editor.affiche_infos(message,Qt.red)
+        i=0
+        while ( i < len(liste) ) :
+            try :
+              t=tuple(liste[i:i+self.nbValeurs])
+              i=i+self.nbValeurs
+            except:
+              t=tuple(liste[i:len(liste)])
+            l_valeurs.append(t)
+        return l_valeurs
+
+  def BuildLBValeurs(self,listeValeurs=None):
+        self.LBValeurs.clear()
+        if listeValeurs== None :
+           listeValeurs=self.node.item.GetListeValeurs()
+        if self.node.item.wait_tuple()== 1 :
+             listeATraiter=listeValeurs
+              for valeur in listeATraiter:
+                  str_valeur=str(valeur)
+                  self.LBValeurs.addItem(str_valeur)
+        else : 
+             for valeur in self.DecoupeListeValeurs(listeValeurs):
+                   if type(valeur) == types.TupleType:
+                       TupleEnTexte="("
+                       for val in valeur :
+                           TupleEnTexte = TupleEnTexte + str(self.politique.GetValeurTexte(val)) +", "
+                       TupleEnTexte = TupleEnTexte[0:-2] +")"
+                       self.LBValeurs.addItem(TupleEnTexte)
+                   else :
+                       self.LBValeurs.addItem(QString(str(valeur)))
+
+
+  def  Ajout1Valeur(self,liste=[]):
+        # Pour etre appele a partir du Panel Importer (donc plusieurs fois par AjouterNValeur)
+        validite=1
+        if liste == [] :
+           if self.node.item.wait_tuple()== 1 :
+              liste=SaisieValeur.TraiteLEValeurTuple(self)
+              if liste == [''] : return
+           else :
+              liste,validite=SaisieValeur.TraiteLEValeur(self)
+              if validite == 0 : return
+        if liste ==[]    : return
+
+        if (self.node.item.wait_tuple()== 1 and len(liste) != self.nbValeurs):
+            commentaire  = QString(str(liste)) 
+            commentaire += QString(tr(" n est pas un tuple de ")) 
+            commentaire += QString(str(self.nbValeursASaisir)) 
+            commentaire += QString(tr(" valeurs"))
+           self.LEValeur.setText(QString(str(liste)))
+            self.editor.affiche_infos(commentaire,Qt.red)
+            return
+
+        if self.node.item.wait_tuple()== 1 :
+              liste2=tuple(liste)
+              liste=liste2
+
+        index=self.LBValeurs.currentRow()
+        if ((self.LBValeurs.isItemSelected(self.LBValeurs.item(index )) == 0) and (index > 0 )):
+           index=0
+        else :
+           index=self.LBValeurs.currentRow() + 1
+        indexListe=index*self.nbValeurs
+        if index == 0 : indexListe=len(self.listeValeursCourantes)
+
+        listeVal=[]
+        for valeur in self.listeValeursCourantes :
+                listeVal.append(valeur)
+        if self.node.item.wait_tuple()== 1 :
+             indexListe = index
+             validite,comm,comm2,listeRetour=self.politique.AjoutTuple(liste,index,listeVal)
+        else :
+             validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,index,listeVal)
+        self.Commentaire.setText(QString.fromUtf8(QString(comm2)))
+        if not validite :
+                self.editor.affiche_infos(comm,Qt.red)
+        else:
+           self.LEValeur.setText(QString(""))
+           l1=self.listeValeursCourantes[:indexListe]
+           l3=self.listeValeursCourantes[indexListe:]
+           if self.node.item.wait_tuple()== 1 :
+             listeATraiter=listeRetour
+           else : 
+              listeATraiter=self.DecoupeListeValeurs(listeRetour)
+           for valeur in  listeATraiter :
+               if type(valeur) == types.TupleType:
+                  TupleEnTexte="("
+                  for val in valeur :
+                      TupleEnTexte = TupleEnTexte + str(self.politique.GetValeurTexte(val)) +", "
+                  str_valeur = TupleEnTexte[0:-2] +")"
+               else :
+                  str_valeur=str(valeur)
+               self.LBValeurs.insertItem(index,str_valeur)
+               item=self.LBValeurs.item(index)
+               item.setSelected(1)
+               self.LBValeurs.setCurrentItem(item)
+               index=index+1
+           self.listeValeursCourantes=l1+listeRetour+l3
+           self.BuildLBValeurs(self.listeValeursCourantes)
+
+
+  def AjoutNValeur(self,liste) :
+        if len(liste)%self.nbValeurs != 0 :
+           texte="Nombre de valeur incorrecte"
+           #self.Commentaire.setText(texte)
+           self.editor.affiche_infos(texte,Qt.red)
+           return
+        listeDecoupee=self.DecoupeListeValeurs(liste)
+        for vals in listeDecoupee :
+            self.Ajout1Valeur(vals)
+           
+  def Sup1Valeur(self):
+        index=self.LBValeurs.currentRow()
+        if index == None : return
+        removed_item = self.LBValeurs.takeItem(index)
+        text = removed_item.text()[1:-1] # Remove the parenthesis
+        self.LEValeur.setText(text)
+        listeVal=[]
+        indexInterdit=[]
+        for i in range(self.nbValeurs):
+            indexAOter=index*self.nbValeurs + i
+            indexInterdit.append(indexAOter)
+        if self.node.item.wait_tuple()== 1 :
+           indexInterdit=[index]
+
+        i=0
+        for valeur in self.listeValeursCourantes :
+            if not (i in indexInterdit) : 
+                listeVal.append(valeur)
+            i = i+1
+        self.listeValeursCourantes=listeVal
+        listeValeurs=self.listeValeursCourantes
+
+      
diff --git a/InterfaceQT4/monLabelClic.py b/InterfaceQT4/monLabelClic.py
new file mode 100644 (file)
index 0000000..a9d3604
--- /dev/null
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013   EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import re
+from PyQt4.QtGui import *
+from PyQt4.QtCore import *
+#from Extensions.i18n import tr
+
+class MonLabelClic(QLabel) :
+
+     def __init__(self,parent):
+        QLabel.__init__(self,parent)
+        # Pas propre mais impossible de faire fonctionner isinstance sur Groupe, MonWidgetCommande 
+        # PNPNPN ? a ameliorer
+        if isinstance (parent,QFrame):
+           parent=parent.parent()
+        self.parent=parent
+
+
+     def event(self,event) :
+         if event.type() == QEvent.MouseButtonRelease:
+            self.texte=self.text()
+            self.parent.traiteClicSurLabel(self.texte)
+         return QLabel.event(self,event)
+
diff --git a/InterfaceQT4/monSelectVal.py b/InterfaceQT4/monSelectVal.py
new file mode 100644 (file)
index 0000000..dcae0e0
--- /dev/null
@@ -0,0 +1,103 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013   EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+# Modules Python
+# Modules Eficas
+
+from desSelectVal import Ui_DSelVal
+from PyQt4.QtGui import *
+from PyQt4.QtCore import *
+
+class DSelVal(Ui_DSelVal,QDialog):
+   def __init__(self,parent ,modal ) :
+       QDialog.__init__(self,parent)
+       self.setupUi(self)
+
+class MonSelectVal(DSelVal):
+  """
+  Classe definissant le panel associe aux mots-cles qui demandent
+  a l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discretes
+  """
+  def __init__(self,file,parent,name = None,fl = 0):
+        #print "MonSelectVal"
+        self.FonctPanel=parent
+        DSelVal.__init__(self,parent,0)
+        self.separateur=" "
+        self.texte=" "
+        self.textTraite=""
+        self.file=str(file)
+        self.readVal()
+        self.initVal()
+        self.connecterSignaux()
+
+  def connecterSignaux(self) :
+        self.connect(self.Bespace,SIGNAL("clicked()"),self.SelectEsp)
+        self.connect(self.BpointVirgule,SIGNAL("clicked()"),self.SelectPoint)
+        self.connect(self.Bvirgule,SIGNAL("clicked()"),self.SelectVir)
+        self.connect(self.BImportSel,SIGNAL("clicked()"),self.BImportSelPressed)
+        self.connect(self.BImportTout,SIGNAL("clicked()"),self.BImportToutPressed)
+
+  def readVal(self):
+        if self.file == "" : return
+        f = open(self.file, "rb")
+        self.texte = f.read()
+        f.close()
+
+  def initVal(self):
+        self.TBtext.clear()
+        self.TBtext.setText(self.texte)
+
+  def SelectEsp(self):
+        self.separateur=" "
+        
+  def SelectVir(self):
+        self.separateur=","
+        
+  def SelectPoint(self):
+        self.separateur=";"
+        
+  def BImportSelPressed(self):
+
+        texte = self.TBtext.textCursor().selectedText()
+        textTraite=texte.replace(u'\u2029',"\n")
+        self.textTraite=str(textTraite)
+        self.Traitement()
+        
+  def BImportToutPressed(self):
+        self.textTraite=self.texte
+        self.Traitement()
+
+  def Traitement(self):
+        import string
+        if self.textTraite == "" : return
+        if self.textTraite[-1]=="\n" : self.textTraite=self.textTraite[0:-1]
+        self.textTraite=string.replace(self.textTraite,"\n",self.separateur)
+        liste1=self.textTraite.split(self.separateur)
+        liste=[]
+        for val in liste1 :
+          if val != '' and val != ' ' and val != self.separateur :
+            val=str(val)
+            try :
+               val2=eval(val,{})
+               liste.append(val2)
+            except :
+              pass
+        print self.FonctPanel.AjoutNValeur 
+        self.FonctPanel.AjoutNValeur(liste) 
index abdcf456c19c3728d71d1dd6e7183f6f7b243786..049b53f519c8633efd28a6631084bff6d19aeef0 100644 (file)
@@ -60,6 +60,9 @@ class MonWidgetCommentaire(QWidget,Ui_WidgetCommentaire,FacultatifOuOptionnel):
          self.commentaireLE.setStyleSheet(QString.fromUtf8("background:rgb(244,244,244);\n" "border:0px;\n"))
          self.commentaireLE.setToolTip(tr("Valeur non modifiable"))
 
+  def donnePremier(self):
+      self.commentaireLE.setFocus(7)
+
 
   def TexteCommentaireEntre(self):
       texte=str(self.commentaireLE.text())
index 8f8fddab6971b2a9e64e194ea831ebd0fa1618d8..8a1c766db59aee5f408081f49eba6a07e1ce0db6 100644 (file)
@@ -39,6 +39,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
         #print "MonWidgetPlusieursBase", nom
+        self.nomLine="lineEditVal"
         self.inInit=True
         self.indexDernierLabel=0
         self.listeAffichageWidget=[]
@@ -89,7 +90,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
        #self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
        
 
-  def ajoutLineEdit(self,valeur=None):
+  def ajoutLineEdit(self,valeur=None,):
       self.indexDernierLabel=self.indexDernierLabel+1
       nomLineEdit="lineEditVal"+str(self.indexDernierLabel)
       if hasattr(self,nomLineEdit) : 
@@ -109,6 +110,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
       # deux lignes pour que le ensureVisible fonctionne
       self.estVisible=nouveauLE
       if self.inInit==False :QTimer.singleShot(1, self.rendVisibleLigne)
+      #if donneLeFocus==True : nouveauLE.setFocus()
 
   def etablitOrdre(self):
       i=0
@@ -119,10 +121,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
       # si on boucle on perd l'ordre
 
 
-
   def rendVisibleLigne(self):
-      #PNPNP
-      return
       qApp.processEvents()
       self.estVisible.setFocus()
       self.scrollArea.ensureWidgetVisible(self.estVisible,0,0)
@@ -168,10 +167,34 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
         else :
            return(comm2+" "+comm)
         
-
-
-  def changeValeur(self,changeDePlace=True):
-      print 'ds chge valeur'
+  def reaffiche(self):
+      # A priori, on ne fait rien
+      pass
+
+  def AjoutNValeur(self,liste) :
+      for val in liste :
+         i=1
+         ajoute=False
+         while i <  self.indexDernierLabel+1:
+            nomLineEdit="lineEditVal"+str(i)
+            courant=getattr(self,nomLineEdit)
+            valeur=courant.text()
+            if valeur == None or valeur == QString("") :
+              ajoute=True
+              courant.setText(str(val))
+              commentaire=self.ajout1Valeur(val)
+              if (commentaire != None ):
+                 self.editor.affiche_infos(commentaire,Qt.red)
+                 courant.setText("")
+              break
+            else : 
+              i=i+1
+         if ajoute : continue
+         self.ajoutLineEdit(valeur=str(val))
+         self.changeValeur()
+                
+
+  def changeValeur(self,changeDePlace=True,oblige=False):
       donneFocus=None
       derniereValeur=None
       self.listeValeursCourantes = []
@@ -185,6 +208,10 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
                  self.editor.affiche_infos(commentaire,Qt.red)
                  courant.setText("")
                  donneFocus=courant
+                 self.reaffiche()
+                 return
+             else :
+                 self.editor.affiche_infos("")
           elif donneFocus==None : donneFocus=courant
       nomDernierLineEdit="lineEditVal"+str(self.indexDernierLabel)
       dernier=getattr(self,nomDernierLineEdit)
@@ -195,13 +222,15 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
            self.scrollArea.ensureWidgetVisible(donneFocus)
          elif self.indexDernierLabel < self.monSimpDef.max  : 
            self.ajoutLineEdit()
-      if  self.indexDernierLabel == self.monSimpDef.max  :
-        self.editor.affiche_infos('nb max de valeurs atteint')
       if self.listeValeursCourantes == [] : return
       min,max = self.node.item.GetMinMax()
+      if len(self.listeValeursCourantes) < self.monSimpDef.min  :
+        self.editor.affiche_infos(tr('nb min de valeurs : ')+str( self.monSimpDef.min))
+      if len(self.listeValeursCourantes) < min and oblige==True: return
       if len(self.listeValeursCourantes) > max : return
-      if len(self.listeValeursCourantes) < min : return
       self.node.item.set_valeur(self.listeValeursCourantes)
+      if len(self.listeValeursCourantes) == self.monSimpDef.max  :
+        self.editor.affiche_infos(tr('nb max de valeurs atteint'))
       self.setValide()
       self.reaffiche()
 
index 0f5a3747cc7158164baa550637c20daf0a4310a7..588710a34a52312c0fc85ca967b1eea5893af019 100644 (file)
@@ -26,40 +26,38 @@ from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from feuille                import Feuille
-from desWidgetPlusieursInto import Ui_WidgetPlusieursInto 
+from desWidgetPlusieursIntoOrdonne import Ui_WidgetPlusieursIntoOrdonne 
 from politiquesValidation   import PolitiquePlusieurs
 from qtSaisie               import SaisieValeur
 from gereListe              import GereListe
+from gereListe              import LECustom
+from monLabelClic           import MonLabelClic
 
-class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursInto,Feuille):
+
+class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,GereListe):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
         #print "MonWidgetPlusieursInto", nom, self
-        self.index=1
+        self.nomLine="LEResultat"
         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
-        self.listeValeursCourantes=self.node.item.GetListeValeurs()
+        GereListe.__init__(self)
         self.parentQt.commandesLayout.insertWidget(-1,self)
         self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
-
+        self.prepareListeResultat()
+        self.vScrollBarRE = self.scrollAreaRE.verticalScrollBar()
+       
 
   def setValeurs(self):
-       self.listeValeursCourantes=self.node.item.GetListeValeurs()
-       #print "dans setValeurs"
-       #print self.node.item.definition.validators
-       #print self.monSimpDef.into
-       #if len(self.monSimpDef.into)*20 > 400 : self.setMinimumHeight(400)
-       #else : self.setMinimumHeight(len(self.monSimpDef.into)*30)
-       #self.adjustSize()
+       listeValeursCourantes=self.node.item.GetListeValeurs()
        if hasattr(self.node.item.definition.validators,'set_MCSimp'):
             obj=self.node.item.getObject()
             self.node.item.definition.validators.set_MCSimp(obj)
             if self.node.item.isvalid() == 0 :
                liste=[]
-               for item in self.listeValeursCourantes:
+               for item in listeValeursCourantes:
                    if self.node.item.definition.validators.verif_item(item)==1:
                       liste.append(item)
                self.listeAAfficher=self.node.item.get_liste_possible(liste)
-               #print self.listeAAfficher
             else: 
                self.listeAAfficher=self.node.item.get_liste_possible([])
        else :
@@ -69,33 +67,64 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursInto,Feuille):
        self.adjustSize()
        self.vScrollBar = self.scrollArea.verticalScrollBar()
        self.politique=PolitiquePlusieurs(self.node,self.editor)
-       self.indexListe=1
        for i in range(1,len(self.listeAAfficher)+1):
-           self.ajoutCB(i)
+           self.ajoutLE(i)
        for i in range(len(self.listeAAfficher)):
-           nomCB="lineEditVal"+str(i+1)
-           courant=getattr(self,nomCB)
+           nomLE="lineEditVal"+str(i+1)
+           courant=getattr(self,nomLE)
            courant.setText(str(self.listeAAfficher[i]))
-           if self.monSimpDef.into[i] in self.listeValeursCourantes : 
-              courant.setChecked(True)
-           self.connect(courant,SIGNAL("toggled(bool)"),self.changeValeur)
        self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
        
+  def prepareListeResultat(self):
+       listeValeursCourantes=self.node.item.GetListeValeurs()
+       if self.monSimpDef.max == "**" : aConstruire=7
+       else                           : aConstruire=self.monSimpDef.max
+       if len(listeValeursCourantes) > aConstruire : aConstruire=len(listeValeursCourantes)
+       for i in range(1,aConstruire+1):
+           self.ajoutLEResultat(i)
+       self.indexDernierLabel=aConstruire
+       index=1
+       for val in listeValeursCourantes :
+          nomLE="LEResultat"+str(index)
+          courant=getattr(self,nomLE)
+          courant.setText(str(val))
+          courant.setReadOnly(True)
+          index=index+1
+
+
+  def ajoutLineEdit(self):
+      print "kljlkj"
 
-  def ajoutCB(self,index,valeur=None):
-      #print "ajoutCB ", index
-      nomCB="lineEditVal"+str(index)
-      if hasattr(self,nomCB) : 
-         return
-      nouveauCB = QCheckBox(self.scrollArea)
-      self.CBLayout.addWidget(nouveauCB)
+  def ajoutLEResultat (self,index,valeur=None):
+      nomLE="LEResultat"+str(index)
+      if hasattr(self,nomLE) : return
+      nouveauLE = LECustom(self.scrollAreaRE,self,index)
+      nouveauLE.setFrame(False)
+      self.CBChoisis.addWidget(nouveauLE)
+      nouveauLE.setText("")
+      nouveauLE.setReadOnly(True)
+      if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
+      else :             nouveauLE.setStyleSheet("background:rgb(240,240,240)")
+      self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum)
+      setattr(self,nomLE,nouveauLE)
+      self.estVisibleRE=nouveauLE
+      if valeur != None : 
+         nouveauLE.setText(valeur)
+      
+  def ajoutLE(self,index,valeur=None):
+      #print "ajoutLE ", index
+      nomLE="lineEditVal"+str(index)
+      if hasattr(self,nomLE) : return
+      nouveauLE = MonLabelClic(self)
+      self.CBLayout.addWidget(nouveauLE)
+      nouveauLE.setFrameShape(QFrame.NoFrame)
       qApp.processEvents()
-      nouveauCB.setText("")
-      if index % 2 == 1 : nouveauCB.setStyleSheet("background:rgb(210,210,210)")
-      else :                       nouveauCB.setStyleSheet("background:rgb(240,240,240)")
+      nouveauLE.setText("")
+      if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
+      else :             nouveauLE.setStyleSheet("background:rgb(240,240,240)")
       self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum)
-      nouveauCB.setFocus()
-      setattr(self,nomCB,nouveauCB)
+      nouveauLE.setFocus()
+      setattr(self,nomLE,nouveauLE)
       
 
   def finCommentaire(self):
@@ -117,55 +146,73 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursInto,Feuille):
            else :
                commentaire=tr("Entrez entre ")+str(mc.min)+(" et  ")+str(mc.max) +" " +tr(d_aides[type])
         aideval=self.node.item.aide()
-        commentaire=commentaire + "   " + QString.toUtf8(QString(aideval))
-        return str(commentaire)
-
-  def ajout1Valeur(self,valeur=None):
-        #print "________________"
-        #print self
-        #print self.node
-        #print self.node.item
+        com=commentaire + "   " + QString.toUtf8(QString(aideval))
+        return str(com)
+
+
+  def traiteClicSurLabel(self,valeur):
         if valeur == None : return
         liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
         if validite == 0 : return
         if liste ==[]    : return
         listeVal=[]
-        for valeur in self.listeValeursCourantes : listeVal.append(valeur)
-        validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,-1,listeVal)
-        if (comm2 != "" and comm != None) : return comm2
-        if validite : 
-           self.listeValeursCourantes=self.listeValeursCourantes+listeRetour
-           if len(self.listeValeursCourantes) > self.monSimpDef.min :
-              self.node.item.set_valeur(self.listeValeursCourantes)
-           return None
+
+        listeValeursCourantes=self.node.item.GetListeValeurs()
+        min,max = self.node.item.GetMinMax()
+        if len(listeValeursCourantes) +1 > max : 
+           self.editor.affiche_infos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
+           return
         else :
-           return(comm2+" "+comm)
-        
-
-
-  def changeValeur(self):
-      self.listeValeursCourantesAvant=self.listeValeursCourantes
-      self.listeValeursCourantes = []
-      print "changeValeur ____________" , self.monSimpDef.into, len(self.monSimpDef.into)
-      for i in range (1,len(self.listeAAfficher)+1):
-          nomLineEdit="lineEditVal"+str(i)
-          courant=getattr(self,nomLineEdit)
-          if not (courant.isChecked()):continue
-          valeur=courant.text()
-          if valeur != None and valeur != "" : 
-             commentaire=self.ajout1Valeur(valeur)
-             if (commentaire != None ):
-                 self.editor.affiche_infos(commentaire,Qt.red)
-                 courant.setText("")
-      min,max = self.node.item.GetMinMax()
-      if len(self.listeValeursCourantes) < min : 
-         self.editor.affiche_infos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
-      elif len(self.listeValeursCourantes) > max : 
-         self.editor.affiche_infos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
-      else :
-         self.editor.affiche_infos(tr(""))
-      self.node.item.set_valeur(self.listeValeursCourantes)
-      self.setValide()
-      self.reaffiche()
+           self.editor.affiche_infos(tr(""))
+
+        affiche=False
+        for i in range(1,self.indexDernierLabel+1):
+           nomLE="LEResultat"+str(i)
+           courant=getattr(self,nomLE)
+           if str(courant.text())==str("") : 
+              courant.setText(valeur)
+              courant.setReadOnly(True)
+              affiche=True
+              self.estVisibleRE=courant
+              QTimer.singleShot(1, self.rendVisibleLigneRE)
+              break
+          
+        if affiche == False:
+           self.indexDernierLabel = self.indexDernierLabel+1
+           self.ajoutLEResultat (self.indexDernierLabel,str(valeur))
+           self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum)
+           QTimer.singleShot(1, self.rendVisibleLigneRE)
+        self.changeValeur()
 
+  def changeValeur(self,changeDePlace=False,oblige=False):
+#PN les 2 arg sont pour que la signature de ma fonction soit identique a monWidgetPlusieursBase
+        listeVal=[]
+        for i in range(1,self.indexDernierLabel+1):
+           nomLE="LEResultat"+str(i)
+           courant=getattr(self,nomLE)
+           valeur=courant.text()
+           if str(valeur)=="" : continue
+           liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
+           listeVal.append(str(valeur))
 
+        validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(listeVal,-1,[])
+
+        listeValeursCourantes=self.node.item.GetListeValeurs()
+        min,max = self.node.item.GetMinMax()
+        if len(listeValeursCourantes) < min : 
+           self.editor.affiche_infos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
+        else :
+           self.editor.affiche_infos("")
+    
+        if validite :
+           self.node.item.set_valeur(listeRetour)
+        else :
+           commentaire=comm+" "+comm2
+           self.editor.affiche_infos(commentaire,Qt.red)
+        self.setValide()
+#
+  def rendVisibleLigneRE(self):
+      qApp.processEvents()
+      self.estVisibleRE.setFocus()
+      self.scrollArea.ensureWidgetVisible(self.estVisibleRE,0,0)
+#
index 5a3c01b70f8220f88303923380dbf59779a5779b..5d67088b7e79c69b8270c26324cffba94d1451bf 100644 (file)
@@ -40,359 +40,575 @@ JdC = JDC_CATA (code = 'MAP',
 # ======================================================================
 # Catalog entry for the MAP function : c_pre_interfaceBody_mesh
 # ======================================================================
-INITIALIZATION=PROC(nom="INITIALIZATION",op=None,
-     fr="Initialisation des fichiers d'entrée et de sortie",
-     ang="Input and Output files initialization",
+
+# -----------------------------------------------------------------------
+INITIALIZATION = PROC(nom = "INITIALIZATION",op = None,
+# -----------------------------------------------------------------------
+
+     fr = "Initialisation des fichiers d'entrée et de sortie",
+     ang = "Input and Output files initialization",
      #UIinfo = { "groupes" : ( "CACHE", )},
      UIinfo = { "groupes" : ( "iiii", )},
 
-     Title = SIMP( statut='o',typ='TXM',
-            fr='Titre du cas etudie. Ce titre figurera sur les dessins.',
-            ang='Title of the case being considered. This title shall be marked on the drawings.'
-                 ),
+#    ------------------------------------
+     Title = SIMP( statut = 'o',typ = 'TXM',
+#    ------------------------------------
+          fr = 'Titre du cas etudie. Ce titre figurera sur les dessins.',
+          ang = 'Title of the case being considered. This title shall be marked on the drawings.'),
      #Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'),
 
-     Input_Files= FACT(statut='o',
-     #     Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',), 
-     #                       defaut='telemac2d.dico', 
-     #                       fr='Dictionnaire des mots cles.', ang='Key word dictionary.',),
+#    ------------------------------------
+     Input_Files = FACT(statut='o',
+#    ------------------------------------
+
+       #  Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',), 
+       #                    defaut='telemac2d.dico', 
+       #                    fr='Dictionnaire des mots cles.', ang='Key word dictionary.',),
 # PN : le mot cle doit etre dans le dictionnaire et repris du catalogue mais n 
 # est pas modifiable
 
-          Geometry_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN',
-                                 fr='Format du fichier de geometrie. Les valeurs possibles sont : \n \
+#        ------------------------------------
+         Geometry_File_Format = SIMP( statut = 'o', typ = 'TXM',
+#        ------------------------------------
+             into = ['Serafin', 'MED', 'SerafinD'], 
+             defaut = 'Serafin',
+             fr = 'Format du fichier de geometrie. Les valeurs possibles sont : \n \
      - SERAFIN : format standard simple precision pour Telemac;   \n \
      - SERAFIND: format standard double precision pour Telemac;   \n \
      - MED     : format MED base sur HDF5',
-                                ang='Results file format. Possible values are: \n\
+             ang = 'Results file format. Possible values are: \n\
      - SERAFIN : classical single precision format in Telemac;\n\
      - SERAFIND: classical double precision format in Telemac;\n\
      - MED     : MED format based on HDF5',) ,
 
-          Geometry_File  = SIMP( statut='o', typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
-                           fr='Nom du fichier contenant le maillage du calcul a realiser.',
-                           ang='Name of the file containing the mesh. \n\
-       This file may also contain the topography and the friction coefficients.'),
-
-          #Steering_File     = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),),
-
-
-          Fortran_File = SIMP(statut='f',typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'),
-                              fr='Nom du fichier a soumettre',
-                              ang='Name of FORTRAN file to be submitted',),
-
-          Bottom_Topography_File  = SIMP( statut='f', typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
-                            fr = "Nom du fichier eventuel contenant la bathymetrie associee au maillage. \
+#        ------------------------------------
+         Geometry_File = SIMP( statut = 'o', 
+#        ------------------------------------
+             typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
+             fr = 'Nom du fichier contenant le maillage du calcul a realiser.',
+             ang = 'Name of the file containing the mesh. \n\
+This file may also contain the topography and the friction coefficients.'),
+
+          #Steering_File = SIMP( statut = 'o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),),
+
+
+#        ------------------------------------
+         Fortran_File = SIMP(statut = 'f',
+#        ------------------------------------
+             typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'),
+             fr = 'Nom du fichier a soumettre',
+             ang = 'Name of FORTRAN file to be submitted',),
+
+#        ------------------------------------
+         Bottom_Topography_File = SIMP( statut = 'f', 
+#        ------------------------------------
+              typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
+              fr = "Nom du fichier eventuel contenant la bathymetrie associee au maillage. \
 Si ce mot-cle est utilise; c'est cette bathymetrie qui sera utilisee pour le calcul.",
-                            ang = 'Name of the possible file containing the bathymetric data.\
+              ang = 'Name of the possible file containing the bathymetric data.\
 Where this keyword is used, these bathymetric data shall be used in the computation.',
          ),
-          Boundary_Conditions_File = SIMP( statut='o', typ = ('Fichier', 'Boundary Condition (*.cli);;All Files (*)',),
-          fr='Nom du fichier contenant les types de conditions aux limites. Ce fichier est rempli de facon automatique\n\
-              par le mailleur au moyen de couleurs affectees aux noeuds des frontieres du domaine de calcul.',
-          ang='Name of the file containing the types of boundary conditions. This file is filled automatically\n\
-              by the mesh generator through through colours that are assigned to the boundary nodes.',),
 
+#        ------------------------------------
+          Boundary_Conditions_File = SIMP( statut = 'o', 
+#        ------------------------------------
+              typ = ('Fichier', 'Boundary Condition (*.cli);;All Files (*)',),
+              fr = 'Nom du fichier contenant les types de conditions aux limites. Ce fichier est rempli de facon automatique\n\
+par le mailleur au moyen de couleurs affectees aux noeuds des frontieres du domaine de calcul.',
+              ang = 'Name of the file containing the types of boundary conditions. This file is filled automatically\n\
+by the mesh generator through through colours that are assigned to the boundary nodes.',),
 
-     Validation=FACT( statut='f',
 
+#        ------------------------------------
+         Validation = FACT( statut = 'f',
+#        ------------------------------------
 #PNPN--> creer le Mot_clef simple Validation si ce fact existe
-          Reference_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN',
-                                fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\
+
+#            ------------------------------------
+             Reference_File_Format = SIMP( statut = 'o',
+#            ------------------------------------
+                 typ = 'TXM', 
+                 into = ['Serafin','MED','SerafinD'], 
+                 defaut = 'Serafin',
+                 fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\
      - SERAFIN : format standard simple precision pour Telemac;  \n\
      - SERAFIND: format standard double precision pour Telemac; \n\
      - MED     : format MED base sur HDF5' ,
-                               ang = 'Results file format. Possible values are:\n \
+                 ang = 'Results file format. Possible values are:\n \
      - SERAFIN : classical single precision format in Telemac;\n\
      - SERAFIND: classical double precision format in Telemac; \n\
      - MED     : MED format based on HDF5' ,),
 
-             Reference_File     = SIMP( statut='o', typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',), 
-          fr= 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.',
-          ang= 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',),
-     ), # Fin de Validation
+#            ------------------------------------
+             Reference_File = SIMP( statut = 'o', 
+#            ------------------------------------
+                 typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',), 
+                 fr = 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.',
+                 ang = 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',),
 
+         ),  # Fin de Validation
 
-     Formatted_And_Binary_Files=FACT( statut='f',
-         Formatted_File1    = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),
-              fr = "Fichier de donnees formate mis a la disposition de l''utilisateur.  \n\
+#        ------------------------------------
+         Formatted_And_Binary_Files = FACT( statut = 'f',
+#        ------------------------------------
+
+#            ------------------------------------
+             Formatted_File1 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),
+#            ------------------------------------
+                  fr = "Fichier de donnees formate mis a la disposition de l''utilisateur.  \n\
 Les donnees de ce fichier seront a lire sur le canal 26.",
-              ang = 'Formatted data file made available to the user.\n\
-The data in this file shall be read on channel 26.',
-          ),
+                  ang = 'Formatted data file made available to the user.\n\
+The data in this file shall be read on channel 26.',),
 
-          Formatted_File2    = SIMP( statut='f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),
-            fr = "Fichier de donnees formate mis a la disposition de l'utilisateur. \n\
+#            ------------------------------------
+             Formatted_File2 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),
+#            ------------------------------------
+                  fr = "Fichier de donnees formate mis a la disposition de l'utilisateur. \n\
 Les donnees de ce fichier seront a lire sur le canal 27.",
-           ang = "Formatted data file made available to the user.\n\
-The data in this file shall be read on channel 27.",
-          ),
-          Binary_Data_File1  = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),
+                  ang = "Formatted data file made available to the user.\n\
+The data in this file shall be read on channel 27.",),
+
+#            ------------------------------------
+             Binary_Data_File1 = SIMP( statut = 'f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),
+#            ------------------------------------
                   fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur. \n\
 Les donnees de ce fichier seront a lire sur le canal 24.',
                   ang = 'Binary-coded data file made available to the user.\n\
-The data in this file shall be read on channel 24.',
-          ),
-          Binary_Data_File2  = SIMP( statut='f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),
+The data in this file shall be read on channel 24.',),
+
+#            ------------------------------------
+             Binary_Data_File2 = SIMP( statut = 'f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),
+#            ------------------------------------
                   fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur.\n\
 Les donnees de ce fichier seront a lire sur le canal 25.',
                    ang = 'Binary-coded data file made available to the user. \n\
-The data in this file shall be read on channel 25.',
-          ),
-     ), # fin Formatted_And_Binary_Files
+The data in this file shall be read on channel 25.',),
+
+         ),  # fin Formatted_And_Binary_Files
 
      ), # Fin de InputFile 
 
 
-     Computation_Continued=SIMP( statut='o',typ=bool,defaut=False),
-      b_comput_con  = BLOC(condition = 'Computation_Continued== True',
+#    ------------------------------------
+     Computation_Continued = SIMP( statut = 'o',typ = bool,defaut = False),
+#    ------------------------------------
 
-       Computattion_Continued_Settings=FACT(statut='o',
-          Previous_Computation_File_Format=SIMP( statut='o',typ='TXM',
-                into=['SERAFIN','MED','SERAFIND'],
-                defaut='SERAFIN',
-                fr='Format du fichier de resultats du calcul precedent. Les valeurs possibles sont : \n\
+#    ------------------------------------
+     b_comput_con = BLOC(condition = 'Computation_Continued == True',
+     Computation_Continued_Settings = FACT(statut = 'o',
+
+#        ------------------------------------
+         Previous_Computation_File_Format = SIMP( statut = 'o',typ = 'TXM',
+#        ------------------------------------
+              into = ['Serafin','MED','SerafinD'],
+              defaut = 'Serafin',
+              fr = 'Format du fichier de resultats du calcul precedent. Les valeurs possibles sont : \n\
          - SERAFIN : format standard simple precision pour Telemac;  \n\
          - SERAFIND: format standard double precision pour Telemac; \n\
          - MED     : format MED base sur HDF5',
-                ang='Previous computation results file format. Possible values are: \n\
+              ang = 'Previous computation results file format. Possible values are: \n\
          - SERAFIN : classical single precision format in Telemac;  \n\
          - SERAFIND: classical double precision format in Telemac; \n\
-         - MED     : MED format based on HDF5',
-                  ),
+         - MED     : MED format based on HDF5',),
 
-          Previous_Computation_File  = SIMP( statut='o', 
-              typ = ('Fichier', 'Computation File (*.res);;All Files (*)',),
-              fr = "Nom d'un fichier contenant les resultats d'un calcul precedent realise sur le meme maillage \n\
+#        ------------------------------------
+         Previous_Computation_File = SIMP( statut = 'o', 
+#        ------------------------------------
+             typ = ('Fichier', 'Computation File (*.res);;All Files (*)',),
+             fr = "Nom d'un fichier contenant les resultats d'un calcul precedent realise sur le meme maillage \n\
  et dont le dernier pas de temps enregistre va fournir les conditions initiales pour une suite de de calcul.",
-               ang = 'Name of a file containing the results of an earlier computation which was made on the same mesh.\n\
+             ang = 'Name of a file containing the results of an earlier computation which was made on the same mesh.\n\
  The last recorded time step will provid the initial conditions for the new computation.',
                     ),
-          Initial_Time_Set     = SIMP(typ=bool, statut='o',
+#        ------------------------------------
+          Initial_Time_Set = SIMP(typ = bool, statut = 'o',
+#        ------------------------------------
              fr = 'Remet le temps a zero en cas de suite de calcul',
              ang = 'Initial time set to zero in case of restart',
-             defaut="False"),
-          Record_Number_For_Restart = SIMP(typ='I', statut='o', defaut=0,
-              fr = "numero de l'enregistrement de depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement", 
-              ang ="record number to start from in the previous computation file, 0 for last record" ),
-     ),
-     ),# fin Fact conputation
-
-     Coupling=FACT( statut='o',
-           Sisyphe=SIMP(statut='o',typ=bool,defaut=False),
-           Tomawac=SIMP(statut='o',typ=bool,defaut=False),
-          Delwacq=SIMP(statut='o',typ=bool,defaut=False),
-        fr='Liste des codes avec lesquels on couple Telemac-2D\n\
-     SISYPHE : couplage interne avec Sisyphe\n\
-     TOMAWAC : couplage interne avec Tomawac\n\
-     DELWAQ : sortie de fichiers de resultats pour Delwaq',
-        ang='List of codes to be coupled with Telemac-2D\n\
-     SISYPHE : internal coupling with Sisyphe\n\
-     TOMAWAC : internal coupling with Tomawac\n\
-     DELWAQ: will yield results file for Delwaq',
-        ),
-      Parallel_Computation=SIMP(statut='o',typ='TXM',into=['Sequentiel','Parallel'],defaut='Sequentiel',),
-      b_para  = BLOC(condition = 'Parallel_Computation== "Parallel"',
-        Parallel_Processors=SIMP(statut='o',typ='I',val_min=0,defaut=1),
-      ),
-)
-
-TIDE_PARAMETERS=PROC(nom="TIDE_PARAMETERS",op=None,
-     fr="",
-     ang="",
-     Inputs_Outputs_For_Tide=FACT( statut='o',
-        Harmonic_Constants_File = SIMP( statut='o',
-          typ = ('Fichier', 'All Files (*)',),
-          fr = 'Constantes harmoniques extraites du fichier du modele de maree',
-          ang= 'Harmonic constants extracted from the tidalmodel file',
-         ),
+             defaut = "False"),
 
-        Tidal_Model_File = SIMP( statut='o',
-          typ = ('Fichier', 'All Files (*)',),
-          fr = 'Fichier de geometrie du modele dont sont extraites les constantes harmoniques',
-          ang= 'Geometry file of the model from which harmonic constituents are extracted',
-         ),
-
-      ),
-
-     Location=FACT( statut='o',
-        #Geographic_System=SIMP(statut='f',typ='I',into=[-1,0,1,2,3,4,5]),
-
-        Geographic_System=SIMP(statut='f',typ='TXM',
-              into=["DEFINI PAR L'UTILISATEUR", "WGS84 LONGITUDE/LATITUDE EN DEGRES REELS","WGS84 NORD UTM",'WGS84 SUD UTM','LAMBERT', 'MERCATOR'],
-              defaut="DEFINI PAR L'UTILISATEUR",
-              fr = 'Systeme de coordonnees geographiques dans lequel est construit le modele numerique.',
-              ang = 'Geographic coordinates system in which the numerical model is built.Indicate the corresponding zone with the keyword ',
-        ),
+#        ------------------------------------
+          Record_Number_For_Restart = SIMP(typ = 'I', statut = 'o', defaut = 0,
+#        ------------------------------------
+              fr = "numero de l'enregistrement de depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement", 
+              ang = "record number to start from in the previous computation file, 0 for last record" ),
 
-        Zone_number_in_Geographic_System=SIMP(statut='f',typ='TXM',
-            #into=[-1,0,1,2,3,4,22,30],
-            into=[ 'LAMBERT 1 NORD', 'LAMBERT 2 CENTRE', 'LAMBERT 3 SUD', 'LAMBERT 4 CORSE', 'LAMBERT 2 ETENDU', 'ZONE UTM, PAR EXEMPLE'],
-            fr="Numero de zone (fuseau ou type de projection) lors de l'utilisation d'une projection plane.\n Indiquer le systeme geographique dans lequel est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE",
-            ang='Number of zone when using a plane projection. \nIndicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM'),
         ),
-     Physical_Parameters=FACT(statut='o',
-          Tide_Generating_Force=SIMP(statut='o',typ=bool,defaut=False),
-          b_Tide  = BLOC(condition = "Tide_Generating_Force==True",
-            Longitude_Of_Origin_Point=SIMP(typ='R',statut='o',defaut=48.,
-              fr = 'Fixe la valeur de la longitude du point origine du modele, lors de l utilisation de la force generatrice de la maree.',
-              ang = 'Give the value of the longitude of the origin point of the model, when taking into account of the tide generator force.',
-             ),
-              Tidal_Data_Base=SIMP(statut='o',typ='TXM',
-                into=[ "JMJ", "TPXO", "LEGOS-NEA", "FES20XX", "PREVIMER",],
-fr = 'Pour JMJ, renseigner la localisation du fichier bdd_jmj et geofin dans les mots-cles BASE DE DONNEES DE MAREE \n\
+     ),# fin BLOC b_comput_con 
+
+#    ------------------------------------
+     Coupling = FACT( statut = 'o',
+#    ------------------------------------
+# PNPNPN Attention 1 seul choix possible
+        fr = 'Liste des codes avec lesquels on couple Telemac-2D',
+        ang = 'List of codes to be coupled with Telemac-2D',
+
+#        ------------------------------------
+         Sisyphe = SIMP(statut = 'o',typ = bool,defaut = False ,
+#        ------------------------------------
+             fr = 'couplage interne avec Sisyphe', 
+             ang = 'internal coupling with Sisyphe'),
+
+#        ------------------------------------
+         Tomawac = SIMP(statut = 'o',typ = bool,defaut = False,
+#        ------------------------------------
+             fr = 'couplage interne avec Tomawac', 
+             ang = 'internal coupling with Tomawac'),
+
+#        ------------------------------------
+         Delwacq = SIMP(statut = 'o',typ = bool,defaut = False,
+#        ------------------------------------
+             fr = 'couplage interne avec Delwacq', 
+             ang = 'internal coupling with Delwacq'),
+# PNPNPN Attention : il faut des mots cles si Delwacq. a voir avec Soizic 
+
+        ), # fin Coupling
+
+#    ------------------------------------
+      Parallel_Computation = SIMP(statut = 'o',typ = 'TXM',
+#    ------------------------------------
+#    Ce mot clef n existe pas dans le dico
+         into = ['Sequentiel','Parallel'],
+         defaut = 'Sequentiel',),
+
+#    ------------------------------------
+      b_para = BLOC(condition = 'Parallel_Computation == "Parallel"',
+#    ------------------------------------
+#        ------------------------------------
+         Parallel_Processors = SIMP(statut = 'o',typ = 'I',
+#        ------------------------------------
+             val_min = 0,defaut = 1,
+             fr = 'NOMBRE DE PROCESSEURS EN CALCUL PARALLELE \n\
+0 : 1 machine, compilation sans bibliotheque de parallelisme \n\
+1 : 1 machine, compilation avec bibliotheque de parallelisme \n\
+2 : 2 processeurs ou machines en parallele etc... ',
+             ang = 'NUMBER OF PROCESSORS FOR PARALLEL PROCESSING \n\
+0 : 1 machine, compiling without parallel library \n\
+1 : 1 machine, compiling with a parallel library \n\
+2 : 2 processors or machines in parallel'),
+         ), # fin b_para
+
+)# INITIALISATION
+
+# -----------------------------------------------------------------------
+TIDE_PARAMETERS = PROC(nom = "TIDE_PARAMETERS",op = None,
+# -----------------------------------------------------------------------
+#    ------------------------------------
+     Inputs_Outputs_For_Tide = FACT( statut = 'o',
+#    ------------------------------------
+
+#       ------------------------------------
+        Harmonic_Constants_File = SIMP( statut = 'o',
+#       ------------------------------------
+            typ = ('Fichier', 'All Files (*)',),
+            fr = 'Constantes harmoniques extraites du fichier du modele de maree',
+            ang = 'Harmonic constants extracted from the tidalmodel file',),
+
+#       ------------------------------------
+        Tidal_Model_File = SIMP( statut = 'o',
+#       ------------------------------------
+            typ = ('Fichier', 'All Files (*)',),
+            fr = 'Fichier de geometrie du modele dont sont extraites les constantes harmoniques',
+            ang = 'Geometry file of the model from which harmonic constituents are extracted',),
+
+      ), # Fin Inputs_Outputs_For_Tide
+
+#    ------------------------------------
+     Location = FACT( statut = 'o',
+#    ------------------------------------
+#       ------------------------------------
+        Geographic_System = SIMP(statut = 'o',typ = 'TXM',
+#       ------------------------------------
+            into = ["Defined by user", "WGS84 longitude/latitude in real degrees", "WGS84 nothern UTM",\
+                      "WGS84 southern UTM","Lambert", "Mercator",],
+            defaut = "Defined by user",
+            fr = 'Systeme de coordonnees geographiques dans lequel est construit le modele numerique.',
+            ang = 'Geographic coordinates system in which the numerical model is built.',),
+
+#       ------------------------------------
+        Zone_number_in_Geographic_System = SIMP(statut = 'f',typ = 'TXM',
+#       ------------------------------------
+            into = [ 'Lambert 1 north', 'Lambert 2 center', 'Lambert 3 xouth', \
+                     'Lambert 4 corsica', 'Lambert 2 extended', 'UTM zone,E.G.'],
+            fr = "Numero de zone (fuseau ou type de projection) lors de l'utilisation d'une projection plane.\n \
+Indiquer le systeme geographique dans lequel est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE",
+            ang = 'Number of zone when using a plane projection. \n\
+Indicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM'),
+# Soizic
+       ), # Fin Location
+
+#    ------------------------------------
+     Physical_Parameters = FACT(statut = 'o',
+#    ------------------------------------
+
+#       ------------------------------------
+        Tide_Generating_Force = SIMP(statut = 'o',
+#       ------------------------------------
+           typ = bool, defaut = False),
+
+#       ------------------------------------
+        b_Tide = BLOC(condition = "Tide_Generating_Force == True",
+#       ------------------------------------
+#           ------------------------------------
+            Longitude_Of_Origin_Point = SIMP(typ = 'R',
+#           ------------------------------------
+                statut = 'o', defaut = 48.,
+                fr = 'Fixe la valeur de la longitude du point origine du modele, lors de l utilisation de la force generatrice de la maree.',
+                ang = 'Give the value of the longitude of the origin point of the model, when taking into account of the tide generator force.',),
+
+#           ------------------------------------
+            Tidal_Data_Base = SIMP(statut = 'o',typ = 'TXM',
+#           ------------------------------------
+# Soizic . Il faudrait une consigne ? avec des blocs ?
+                 into = [ "JMJ", "TPXO", "Miscellaneous (LEGOS-NEA, FES20XX, PREVIMER...)",],
+                 fr = 'Pour JMJ, renseigner la localisation du fichier bdd_jmj et geofin dans les mots-cles BASE DE DONNEES DE MAREE \n\
 et FICHIER DU MODELE DE MAREE.  Pour TPXO, LEGOS-NEA, FES20XX et PREVIMER, l utilisateur doit telecharger les fichiers \n\
 de constantes harmoniques sur internet',
-ang = 'For JMJ, indicate the location of the files bdd_jmj and geofin with keywords TIDE DATA BASE and TIDAL MODEL FILE.\n\
-For TPXO, LEGOS-NEA, FES20XX and PREVIMER, the user has to download files of harmonic constituents on the internet',
-             ),
-
-       b_tpxo     =BLOC(condition = "Tidal_Data_Base=='TPXO'",
-              Minor_Constituents_Inference = SIMP( statut='o',typ='bool',
-              defaut=False ,
-              fr = 'Interpolation de composantes harmoniques mineures a partir de celles lues dans les fichiers dentree lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE et BASE BINAIRE 2 DE DONNEES DE MAREE',
-    ang= 'Inference of minor constituents from the one read in input files linked to keywords BINARY DATABASE 1 FOR TIDE and BINARY DATABASE 2 FOR TIDE',
-     ),
-     ),#fin du bloc b_tpxo
-
-#-1,1,2,3,4],
-              Coefficient_To_Calibrate_Tidal_Range=SIMP(statut='o',typ='R',sug=1.),
-              Coefficient_To_Calibrate_Tidal_Velocity=SIMP(statut='o',typ='R',sug=999999),
-              Coefficient_To_Calibrate_Sea_Level=SIMP(statut='o',typ='R',sug=0.),
-              Binary_Database_1_for_Tide  = SIMP( statut='o', typ = ('Fichier', '(All Files (*),)',),),
-              Binary_Database_2_for_Tide  = SIMP( statut='o', typ = ('Fichier', '(All Files (*),)',),),
-             ),
-          Wave_Driven_Currents=SIMP(statut='o',typ=bool,defaut=False),
-          b_Wave     =BLOC(condition = "Wave_Driver_Currents=='True'",
-              Record_Number_in_Wave_File=SIMP(statut='f',typ='I',sug=1),
-         ),
-
-       Option_For_Tidal_Boundary_Conditions   = SIMP( statut='o',typ='TXM',defaut='No tide',
-       into=['No tide', 'Real tide (recommended methodology)', 'Astronomical tide', 'Mean spring tide', 'Mean tide',\
-           'Mean neap tide', 'Astronomical neap tide', 'Real tide (methodology before 2010)'],
-       ),
-       b_Option_B = BLOC(condition ='Option_For_Tidal_Boundary_Conditions!="No tide"',
-         Coefficient_To_Calibrate_Tidal_Velocities = SIMP( statut='o',typ='R',
-               defaut=999999.0 ,
-    fr = 'Coefficient pour ajuster les composantes de vitesse de londe de maree aux frontieres maritimes.  La valeur par defaut 999999. signifie que cest la racine carree du COEFFICIENT DE CALAGE DU MARNAGE qui est prise',
-    ang= 'Coefficient to calibrate the tidal velocities of tidal wave at tidal open boundary conditions.  Default value 999999. means that the square root of COEFFICIENT TO CALIBRATE TIDAL RANGE is taken',
-                 ),
-         Coefficient_To_Calibrate_Sea_Level = SIMP( statut='o',typ='R',defaut=0,
-           fr = 'Coefficient pour ajuster le niveau de mer',
-           ang = 'Coefficient to calibrate the sea level',
-                ),
-         Coefficient_To_Calibrate_Tidal_Range = SIMP( statut='o',typ='R',
-            defaut=1.,
-            fr = 'Coefficient pour ajuster le marnage de l''onde de maree aux frontieres maritimes',
-            ang = 'Coefficient to calibrate the tidal range of tidal wave at tidal open boundary conditions',
-              ),
-         ),
-       ),
-#
+                 ang = 'For JMJ, indicate the location of the files bdd_jmj and geofin with keywords TIDE DATA BASE and TIDAL MODEL FILE.\n\
+For TPXO, LEGOS-NEA, FES20XX and PREVIMER, the user has to download files of harmonic constituents on the internet',),
+
+#           ------------------------------------
+            b_tpxo = BLOC(condition = "Tidal_Data_Base == 'TPXO'",
+#           ------------------------------------
+
+#              ------------------------------------
+               Minor_Constituents_Inference = SIMP( statut = 'o',typ = 'bool',
+#              ------------------------------------
+# Soizic . Il faudrait un blo avec les 2 mots clefs
+                  defaut = False ,
+                  fr = 'Interpolation de composantes harmoniques mineures a partir de celles lues dans les \n\
+fichiers d entrees lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE et BASE BINAIRE 2 DE DONNEES DE MAREE',
+                  ang = 'Inference of minor constituents from the one read in input files linked to \n\
+keywords BINARY DATABASE 1 FOR TIDE and BINARY DATABASE 2 FOR TIDE',),
+
+            ),#fin du bloc b_tpxo
+
+
+#           ------------------------------------
+              Binary_Database_1_for_Tide = SIMP( statut = 'o',
+#           ------------------------------------
+                typ = ('Fichier', '(All Files (*),)',),
+                fr = 'Base de donnees binaire 1 tiree du fichier du modele de maree.\n\
+Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de niveau d''eau, par exemple h_tpxo7.2',
+                ang = 'Binary database 1 extracted from the tidal model file.\n\
+In the case of the TPXO satellite altimetry model, this file should be for free surface level, for instance h_tpxo7.2',),
+
+#           ------------------------------------
+              Binary_Database_2_for_Tide = SIMP( statut = 'o',
+#           ------------------------------------
+                typ = ('Fichier', '(All Files (*),)',),
+                fr= 'Base de donnees binaire 2 tiree du fichier du modele de maree.\n\
+Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de vitesse de marrees, par exemple u_tpxo7.2',
+                ang = 'Binary database 2 extracted from the tidal model file.\n\
+In the case of the TPXO satellite altimetry model, this file should be for tidal velocities, for instance u_tpxo7.2' ),
+
+         ), # Fin du Bloc b_Tide
+
+#       ------------------------------------
+        Wave_Driven_Currents = SIMP(statut = 'o',
+#       ------------------------------------
+            typ = bool, defaut = False,
+            fr = 'Active la prise en compte des courants de houle',
+            ang = 'Wave driven currents are taken into account.'),
+
+#       ------------------------------------
+        b_Wave = BLOC(condition = "Wave_Driver_Currents == 'True'",
+#       ------------------------------------
+#           ------------------------------------
+            Record_Number_in_Wave_File = SIMP(statut = 'o',typ = 'I', defaut = 1,
+#           ------------------------------------
+                fr = 'Numero d enregistrement dans le fichier des courants de houle',
+                ang = 'Record number to read in the wave driven currents file'),
+        ), # fin b_Wave
+
+#       ------------------------------------
+        Option_For_Tidal_Boundary_Conditions = SIMP( statut = 'o',
+#       ------------------------------------
+           typ = 'TXM', defaut = 'No tide',
+           into = ['No tide', 'Real tide (recommended methodology)', 'Astronomical tide', \
+                   'Mean spring tide', 'Mean tide', 'Mean neap tide', \
+                   'Astronomical neap tide', 'Real tide (methodology before 2010)'],),
+
+#       ------------------------------------
+        b_Option_B = BLOC(condition = 'Option_For_Tidal_Boundary_Conditions!= "No tide"',
+#       ------------------------------------
+#           ------------------------------------
+            Coefficient_To_Calibrate_Tidal_Range = SIMP(statut = 'o',
+#           ------------------------------------
+                typ = 'R', defaut = 1.,
+                fr = 'Coefficient pour ajuster le marnage de l''onde de maree aux frontieres maritimes',
+                ang = 'Coefficient to calibrate the tidal range of tidal wave at tidal open boundary conditions'),
+
+#           ------------------------------------
+            Coefficient_To_Calibrate_Tidal_Velocity = SIMP(statut = 'o',
+#           ------------------------------------
+                typ = 'R', defaut = 999999,
+                fr = 'Coefficient pour ajuster les composantes de vitesse de l''onde de maree aux frontieres maritimes.\n\
+La valeur par defaut 999999. signifie que c''est la racine carree du Coefficient_De_Calage_Du_Marnage qui est prise',
+                ang = 'Coefficient to calibrate the tidal velocities of tidal wave at tidal open boundary conditions.\n\
+                Default value 999999. means that the square root of Coefficient_To_Calibrate_Tidal_Range is taken'),
+
+#           ------------------------------------
+              Coefficient_To_Calibrate_Sea_Level = SIMP(statut = 'o',typ = 'R',
+#           ------------------------------------
+                 defaut = 0.,
+                 fr = 'Coefficient pour ajuster le niveau de mer',
+                 ang = 'Coefficient to calibrate the sea level'),
+          ), # fin b_Option_B
+
+       ), #fin Physical_Parameters
 ) # Fin TIDE_PARAMETERS
 
-INITIAL_STATE=PROC(nom="INITIAL_STATE",op=None,
+# -----------------------------------------------------------------------
+INITIAL_STATE = PROC(nom = "INITIAL_STATE",op = None,
+# -----------------------------------------------------------------------
 
-       Initial_Conditions=SIMP(statut='o',typ='TXM',
-          into=['ZERO ELEVATION','CONSTANT ELEVATION','ZERO DEPTH','CONSTANT DEPTH','SPECIAL','TPXO SATELLITE ALTIMETRY'],
-          defaut='ZERO ELEVATION',
+#    ------------------------------------
+     Initial_Conditions = SIMP(statut = 'o',typ = 'TXM',
+#    ------------------------------------
+          into = ['Zero elevation','Constant elevation','Zero depth','Constant depth','Special','TPXO satellite altimetry'],
+          defaut = 'Zero elevation',
           fr = "Permet de definir les conditions initiales sur les hauteurs d'eau. Les valeurs possibles sont :\n\
-       - COTE NULLE. Initialise la cote de surface libre a 0. \nLes hauteurs d'eau initiales sont alors retrouvees en faisant la difference entre les cotes de surface libre et du fond. \n\
-      - COTE CONSTANTE . Initialise la cote de surface libre a la valeur donnee par le mot-cle COTE INITIALE. Les hauteurs d'eau initiales sont calculees comme precedemment.\n\
-      - HAUTEUR NULLE .Initialise les hauteurs d'eau a 0. \n\
-      - HAUTEUR CONSTANTE. Initialise les hauteurs d'eau a la valeur donnee par le mot-cle HAUTEUR INITIALE. \n\
-      - PARTICULIERES. Les conditions initiales sur la hauteur d'eau doivent etre precisees dans le sous-programme CONDIN. \n\
-      - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur  d'eau et les vitesses sont etablies sur \n\
-        la base des donnees satellite TPXO dont les 8 premiers constistuents ont ete extraits et sauves dans le fichier\n\
-         BASE DE DONNEES DE MAREE." ,
-        ang = 'Makes it possible to define the initial conditions with the water depth. The possible values are : \n\
-       - ZERO ELEVATION. Initializes the free surface elevation to 0. \n The initial water depths are then found by computing the difference between the free surface and the bottom.  \n\
-       - CONSTANT ELEVATION. Initializes the water elevation to the value given by the keyword \n\
-       - INITIAL ELEVATION. The initial water depths are computed as in the previous case. \n\
-       - ZERO DEPTH. Initializes the water depths to 0. \n\
-       - CONSTANT DEPTH. Initializes the water depths to the value givenby the key-word  INITIAL DEPTH. \n\
-       - SPECIAL. The initial conditions with the water depth should be stated in the CONDIN subroutine. \n\
-       - TPXO SATELITE ALTIMETRY. The initial conditions on the free surface and velocities are established from the TPXO satellite program data,\n the harmonic constituents of which are stored in the TIDE DATA BASE file.', ),
+    - COTE NULLE. Initialise la cote de surface libre a 0. \nLes hauteurs d'eau initiales sont alors retrouvees en faisant la difference entre les cotes de surface libre et du fond. \n\
+    - COTE CONSTANTE . Initialise la cote de surface libre a la valeur donnee par le mot-cle COTE INITIALE. Les hauteurs d'eau initiales sont calculees comme precedemment.\n\
+   - HAUTEUR NULLE .Initialise les hauteurs d'eau a 0. \n\
+   - HAUTEUR CONSTANTE. Initialise les hauteurs d'eau a la valeur donnee par le mot-cle HAUTEUR INITIALE. \n\
+   - PARTICULIERES. Les conditions initiales sur la hauteur d'eau doivent etre precisees dans le sous-programme CONDIN. \n\
+   - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur  d'eau et les vitesses sont etablies sur \n\
+      la base des donnees satellite TPXO dont les 8 premiers constistuents ont ete extraits et sauves dans le fichier\n\
+      BASE DE DONNEES DE MAREE." ,
+         ang = 'Makes it possible to define the initial conditions with the water depth. The possible values are : \n\
+   - ZERO ELEVATION. Initializes the free surface elevation to 0. \n The initial water depths are then found by computing the difference between the free surface and the bottom.  \n\
+   - CONSTANT ELEVATION. Initializes the water elevation to the value given by the keyword \n\
+   - INITIAL ELEVATION. The initial water depths are computed as in the previous case. \n\
+   - ZERO DEPTH. Initializes the water depths to 0. \n\
+   - CONSTANT DEPTH. Initializes the water depths to the value givenby the key-word  INITIAL DEPTH. \n\
+   - SPECIAL. The initial conditions with the water depth should be stated in the CONDIN subroutine. \n\
+   - TPXO SATELITE ALTIMETRY. The initial conditions on the free surface and velocities are established from the TPXO satellite program data,\n the harmonic constituents of which are stored in the TIDE DATA BASE file.', ),
  
-         b_initial_elevation = BLOC (condition = "Initial_Conditions == 'CONSTANT ELEVATION'",
-           Initial_Elevation  = SIMP(statut='o',typ='R',
-              fr='Valeur utilisee avec l''option :  CONDITIONS INITIALES - COTE CONSTANTE',
-              ang='Value to be used with the option : INITIAL CONDITIONS  -CONSTANT ELEVATION' 
-              ),
-         ) , # fin b_initial_elevation
-
-         b_initial_depth = BLOC (condition = "Initial_Conditions == 'CONSTANT DEPTH'",
-           Initial_Depth = SIMP(statut='o',typ='R',
-                fr='Valeur utilisee avec l''option : CONDITIONS INITIALES :-HAUTEUR CONSTANTE-',
-                ang='Value to be used along with the option: INITIAL CONDITIONS -CONSTANT DEPTH-' ),
+#    ------------------------------------
+     b_initial_elevation = BLOC (condition = "Initial_Conditions == 'Constant elevation'",
+#    ------------------------------------
+#        ------------------------------------
+         Initial_Elevation = SIMP(statut = 'o',typ = 'R',
+#        ------------------------------------
+             fr = 'Valeur utilisee avec l''option :  CONDITIONS INITIALES - COTE CONSTANTE',
+             ang = 'Value to be used with the option : INITIAL CONDITIONS  -CONSTANT ELEVATION' ),
+     ) , # fin b_initial_elevation
+
+#    ------------------------------------
+     b_initial_depth = BLOC (condition = "Initial_Conditions == 'Constant depth'",
+#    ------------------------------------
+#        ------------------------------------
+         Initial_Depth = SIMP(statut = 'o',typ = 'R',
+#        ------------------------------------
+             fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES :-HAUTEUR CONSTANTE-',
+             ang = 'Value to be used along with the option: INITIAL CONDITIONS -CONSTANT DEPTH-' ),
          ),# fin b_initial_depth
  
-         b_special= BLOC (condition = "Initial_Conditions == 'SPECIAL'",
-           # Ce mot clef est juste informatif
-           special    = SIMP(statut='o',typ='TXM',
-           defaut="The initial conditions with the water depth should be stated in the CONDIN subroutine"),
-         ), # fin b_special
-
-
-#PNPN il faut changer la condition pour que cela soit dans maree. il faut une position=global_jdc et remonter
-# cela
-         b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO SATELLITE ALTIMETRY'",
-           Ascii_Database_For_Tide = SIMP( statut='o', typ = ('Fichier', 'All Files (*)',), ),
-           fr  = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree',
-           ang = 'Tide data base of harmonic constituents extracted from the tidal model file',
+#    ------------------------------------
+     b_special = BLOC (condition = "Initial_Conditions == 'Special'",
+#    ------------------------------------
+#        ------------------------------------
+         Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
+#        ------------------------------------
+             defaut = "The initial conditions with the water depth should be stated in the CONDIN subroutine"),
+      ), # fin b_special
+
+#PNPN il faut changer la condition pour que cela soit dans maree. il faut une position = global_jdc et remonter # cela
+#    ------------------------------------
+     b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO satellite altimetry'",
+#    ------------------------------------
+#        ------------------------------------
+         Ascii_Database_For_Tide = SIMP( statut = 'o', 
+#        ------------------------------------
+             typ = ('Fichier', 'All Files (*)',), 
+             fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree',
+             ang = 'Tide data base of harmonic constituents extracted from the tidal model file',),
          ), # fin b_initial_TPXO
-) # fin INITIAL_STATE
 
-BOUNDARY_CONDITIONS=PROC(nom="BOUNDARY_CONDITIONS",op=None,
-            fr  = 'On donne un ensemble de conditions par frontiere liquide',
+) # fin INITIAL_STATE 
+
+# -----------------------------------------------------------------------
+BOUNDARY_CONDITIONS = PROC(nom = "BOUNDARY_CONDITIONS",op = None,
+# -----------------------------------------------------------------------
+            fr = 'On donne un ensemble de conditions par frontiere liquide',
             ang = 'One condition set per liquid boundary is given',
             #UIinfo = { "groupes" : ( "CACHE", )},
             UIinfo = { "groupes" : ( "iiii", )},
  # Dans l ideal il faut aller regarder selon les groupes dans le fichier med
  # en sortie il faut aller chercher le .cli qui va bien 
-            #Liquid_Boundaries=FACT(statut='f',max='**',
-            #    Options=SIMP(statut='f',typ='I',into=['classical boundary conditions','Thompson method based on characteristics'])
-            #    Prescribed_Flowrates=SIMP(statut='f',typ='R'),
-            #    Prescribed_Elevations=SIMP(statut='f',typ='R'),
-            #    Prescribed_Velocity=SIMP(statut='f',typ='R'),
+            #Liquid_Boundaries = FACT(statut = 'f',max = '**',
+            #    Options = SIMP(statut = 'f',typ = 'I',into = ['classical boundary conditions','Thompson method based on characteristics'])
+            #    Prescribed_Flowrates = SIMP(statut = 'f',typ = 'R'),
+            #    Prescribed_Elevations = SIMP(statut = 'f',typ = 'R'),
+            #    Prescribed_Velocity = SIMP(statut = 'f',typ = 'R'),
       # ),
 
 # Il va falloir une "traduction dans le langage du dico"
 # Il faut seulement l un des 3
 
-        Liquid_Boundaries=FACT(statut='f',max='**',
+#    ------------------------------------
+     Liquid_Boundaries = FACT(statut = 'f',max = '**',
+#    ------------------------------------
                 
-            Options=SIMP(statut='f',typ='I',
-            into=['classical boundary conditions','Thompson method based on characteristics'],
-            fr='On donne 1 entier par frontiere liquide',
-            ang='One integer per liquid boundary is given',
-            ),
-
-        Type_Condition=SIMP(statut='o',typ='TXM',into=['Prescribed Flowrates','Prescribed Elevations','Prescribed Velocity'],),
-#?????
-# PN On ajouter le type pour rendre l 'ihm plus lisible
+#        ------------------------------------
+         Options = SIMP(statut = 'f',typ = 'I',
+#        ------------------------------------
+            into = ['Classical boundary conditions','Thompson method based on characteristics'],
+            fr = 'On donne 1 entier par frontiere liquide',
+            ang = 'One integer per liquid boundary is given',),
+
+#        ------------------------------------
+         Type_Condition = SIMP(statut = 'o',typ = 'TXM',
+# On ajoute le type pour rendre l 'ihm plus lisible
 # mais ce mot-cle n existe pas dans le dico
-
-         b_Flowrates     = BLOC (condition = "Type_Condition == 'Prescribed Flowrates'",
-             Prescribed_Flowrates=SIMP(statut='o',typ='R',
-             fr=' Valeurs des debits imposes aux frontieres liquides entrantes.\n Lire la partie du mode d''emploi consacree aux conditions aux limites',
-            ang='Values of prescribed flowrates at the inflow boundaries.\n The section about boundary conditions is to be read in the manual'),
-             ),
-
-         b_Elevations   = BLOC (condition = "Type_Condition == 'Prescribed Elevations'",
-                Prescribed_Elevations=SIMP(statut='o',typ='R',
-                fr='Valeurs des cotes imposees aux frontieres liquides entrantes.\n Lire la partie du mode d''emploi consacree aux conditions aux limites',
-                ang='Values of prescribed elevations at the inflow boundaries.\n The section about boundary conditions is to be read in the manual'),
-             ),
-
-         b_Velocity   = BLOC (condition = "Type_Condition == 'Prescribed Velocity'",
-               Prescribed_Velocity=SIMP(statut='o',typ='R',
-               fr='Valeurs des vitesses imposees aux frontieres liquides entrantes.\n Lire la partie du mode d''emploi consacree aux conditions aux limites',
-               ang='Values of prescribed velocities at the liquid inflow boundaries.\n Refer to the section dealing with the boundary conditions'),
-         ),
+#        ------------------------------------
+            into = ['Prescribed flowrates', 'Prescribed elevations', 'Prescribed velocity'],),
+
+#        ------------------------------------
+         b_Flowrates = BLOC (condition = "Type_Condition == 'Prescribed Flowrates'",
+#        ------------------------------------
+#            ------------------------------------
+             Prescribed_Flowrates = SIMP(statut = 'o',
+#            ------------------------------------
+                  typ = 'R',
+                  fr = ' Valeurs des debits imposes aux frontieres liquides entrantes.\n\
+Lire la partie du mode d''emploi consacree aux conditions aux limites',
+                  ang = 'Values of prescribed flowrates at the inflow boundaries.\n\
+The section about boundary conditions is to be read in the manual'),
+             ), # fin b_Flowrates
+
+#        ------------------------------------
+         b_Elevations = BLOC (condition = "Type_Condition == 'Prescribed Elevations'",
+#        ------------------------------------
+#            ------------------------------------
+             Prescribed_Elevations = SIMP(statut = 'o',typ = 'R',
+#            ------------------------------------
+                 fr = 'Valeurs des cotes imposees aux frontieres liquides entrantes.\n\
+Lire la partie du mode d''emploi consacree aux conditions aux limites',
+                 ang = 'Values of prescribed elevations at the inflow boundaries.\n\
+The section about boundary conditions is to be read in the manual'),
+             ), # fin b_Elevations
+
+#        ------------------------------------
+         b_Velocity = BLOC (condition = "Type_Condition == 'Prescribed Velocity'",
+#        ------------------------------------
+#            ------------------------------------
+             Prescribed_Velocity = SIMP(statut = 'o',typ = 'R',
+#            ------------------------------------
+                 fr = 'Valeurs des vitesses imposees aux frontieres liquides entrantes.\n\
+Lire la partie du mode d''emploi consacree aux conditions aux limites',
+                 ang = 'Values of prescribed velocities at the liquid inflow boundaries.\n\
+Refer to the section dealing with the boundary conditions'),
+             ), # fin b_Velocity
 
        ), # fin des Liquid_Boundaries
-       Liquid_Boundaries_File = SIMP( statut='f', typ = ('Fichier', 'All Files (*)',),
+
+#      ------------------------------------
+       Liquid_Boundaries_File = SIMP( statut = 'f', 
+#      ------------------------------------
+         typ = ('Fichier', 'All Files (*)',),
          fr = 'Fichier de variations en temps des conditions aux limites.\n\
 Les donnees de ce fichier seront a lire sur le canal 12.',
          ang = 'Variations in time of boundary conditions. Data of this file are read on channel 12.',
@@ -401,276 +617,455 @@ Les donnees de ce fichier seront a lire sur le canal 12.',
 
 #PNPN Attention dans le Dico STAGE-DISCHARGE CURVES
 #PNPN regarder le document de reference pour changer non programme
-       Stage_Discharge_Curves = SIMP(statut='f',typ='TXM',
-        #into=[0,1,2],
-        into=["no","Z(Q)","not programmed"],
-        fr='Indique si une courbe de tarage doit etre utilisee pour une frontiere',
-        ang='Says if a discharge-elevation curve must be used for a given boundary',
-        ),
-        b_discharge_curve   = BLOC (condition = "Stage_Discharge_Curves != 'no'",
-
-#PNPN Attention dans le Dico STAGE-DISCHARGE CURVES FILES
-        Stage_Discharge_Curves_File   = SIMP( statut='f', typ = ('Fichier', 'All Files (*)',),
-          fr='Nom du fichier contenant les courbes de tarage',
-          ang='Name of the file containing stage-discharge curves',
-          ),
-        ),
-
-      Elements_Masked_By_User =SIMP(statut='o',typ=bool,
-       defaut=False,
-       fr = 'Si oui remplir le sous-programme maskob',
-       ang = 'if yes rewrite subroutine maskob',
-      ),
-      maskob = BLOC (condition = 'Elements_Masked_By_User==True',
-      Consigne = SIMP(statut="o",homo='information',typ="TXM", defaut="Remplir le sous-programme maskob"),
-      )
+#      ------------------------------------
+       Stage_Discharge_Curves = SIMP(statut = 'f',typ = 'TXM',
+#      ------------------------------------
+           into = ["No one","Z(Q)","Q(Z)"],
+           fr = 'Indique si une courbe de tarage doit etre utilisee pour une frontiere',
+           ang = 'Says if a discharge-elevation curve must be used for a given boundary',),
+
+#      ------------------------------------
+       b_discharge_curve = BLOC (condition = "Stage_Discharge_Curves != 'no'",
+#      ------------------------------------
+#            ------------------------------------
+             Stage_Discharge_Curves_Files = SIMP( statut = 'f', 
+#            ------------------------------------
+                typ = ('Fichier', 'All Files (*)',),
+                fr = 'Nom du fichier contenant les courbes de tarage',
+                ang = 'Name of the file containing stage-discharge curves',),
+        ), # fin b_discharge_curve
+
+#      ------------------------------------
+       Elements_Masked_By_User = SIMP(statut = 'o',typ = bool,
+#      ------------------------------------
+           defaut = False,
+           fr = 'Si oui remplir le sous-programme maskob',
+           ang = 'if yes rewrite subroutine maskob',),
+
+#      ------------------------------------
+      maskob = BLOC (condition = 'Elements_Masked_By_User == True',
+#      ------------------------------------
+#            ------------------------------------
+              Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", 
+#            ------------------------------------
+              defaut = "Remplir le sous-programme maskob"),
+      ) # fin maskob
 
 ) # fin Boundary_Conditions
 
-
-NUMERICAL_PARAMETERS=PROC(nom="NUMERICAL_PARAMETERS",op=None,
+# -----------------------------------------------------------------------
+NUMERICAL_PARAMETERS = PROC(nom = "NUMERICAL_PARAMETERS",op = None,
+# -----------------------------------------------------------------------
 
         #UIinfo = { "groupes" : ( "CACHE", )},
         UIinfo = { "groupes" : ( "iiii", )},
-        Solver_Definition=FACT(statut='o',
-
-          Equations=SIMP(statut='o',typ='TXM',
-             into=['SAINT-VENANT EF','SAINT-VENANT VF','BOUSSINESQ'],
-             defaut='SAINT-VENANT EF',
-             fr='Choix des equations a resoudre',
-             ang= 'Choice of equations to solve',
-             ),
-
-          Solver=SIMP(statut='o',typ='TXM',
-           into = ["conjugate gradient", "conjugate residual","conjugate gradient on a normal equation",\
-                   "minimum error", "cgstab", "gmres", "direct",],
-           fr = 'Permet de choisir le solveur utilise pour la resolution de l''etape de propagation. \n\
+#      ------------------------------------
+       Solver_Definition = FACT(statut = 'o',
+#      ------------------------------------
+#         ------------------------------------
+          Equations = SIMP(statut = 'o',typ = 'TXM',
+#         ------------------------------------
+             into = ['Saint-Venant EF','Saint-Venant VF','Boussinesq'],
+             defaut = 'Saint-Venant EF',
+             fr = 'Choix des equations a resoudre',
+             ang = 'Choice of equations to solve',),
+
+#         ------------------------------------
+          Solver = SIMP(statut = 'o',typ = 'TXM',
+#         ------------------------------------
+             into = ["Conjugate gradient", "Conjugate residual","Conjugate gradient on a normal equation",\
+                     "Minimum error", "CGSTAB", "GMRES", "Direct",],
+             fr = 'Permet de choisir le solveur utilise pour la resolution de l''etape de propagation. \n\
 Toutes les methodes proposees actuellement s''apparentent au Gradient Conjugue. Ce sont :\n\
   1 : gradient conjugue 2 : residu conjugue       3 : gradient conjugue sur equation normale \n\
   4 : erreur minimale   5 : gradient conjugue carre (non programme) 6 : gradient conjugue carre stabilise (cgstab)\n\
   7 : gmres (voir aussi option du solveur) 8 : direct',
-ang = 'Makes it possible to select the solver used for solving the propagation step.\n\
+             ang = 'Makes it possible to select the solver used for solving the propagation step.\n\
 All the currently available methods are variations of the Conjugate Gradient method. They are as follows: \n\
 1: conjugate gradient 2: conjugate residual 3: conjugate gradient on a normal equation\n\
 4: minimum error 5: conjugate gradient squared (not implemented) 6: conjugate gradient squared stabilised (cgstab) \n\
-7: gmres (see option for solver) 8: direct',
-            ),
-
-          b_gmres = BLOC (condition = "Solver == 'gmres'",
-          Solver_Option = SIMP(statut='o',typ='I', defaut=2, val_min=2,val_max=15,
-              fr = 'la dimension de l''espace de KRILOV',
-              ang = 'dimension of the KRYLOV space',
-               ),
-          ),
-
-          Solver_Accuracy = SIMP(statut='o',typ='R', defaut=1e-4,
-            fr = 'Precision demandee pour la resolution de l''etape de propagation (cf.  Note de principe).',
-            ang = 'Required accuracy for solving the propagation step (refer to Principle note).',
-           ),
-
-          Maximum_Number_Of_Iterations_For_Solver=SIMP(statut='o',typ='I', defaut=40,
-          fr = 'Les algorithmes utilises pour la resolution de l''etape de propagation etant iteratifs, \n\
+7: gmres (see option for solver) 8: direct',),
+
+#         ------------------------------------
+          b_gmres = BLOC (condition = "Solver == 'GMRES'",
+#         ------------------------------------
+#            ------------------------------------
+             Solver_Option = SIMP(statut = 'o',typ = 'I', defaut = 2, val_min = 2,val_max = 15,
+#            ------------------------------------
+                 fr = 'la dimension de l''espace de KRILOV',
+                 ang = 'dimension of the KRYLOV space',),
+          ), # fin b_gmres
+
+#         ------------------------------------
+          Solver_Accuracy = SIMP(statut = 'o',typ = 'R', defaut = 1e-4,
+#         ------------------------------------
+             fr = 'Precision demandee pour la resolution de l''etape de propagation (cf.  Note de principe).',
+             ang = 'Required accuracy for solving the propagation step (refer to Principle note).',),
+
+#         ------------------------------------
+          Maximum_Number_Of_Iterations_For_Solver = SIMP(statut = 'o',typ = 'I', defaut = 40,
+#         ------------------------------------
+             fr = 'Les algorithmes utilises pour la resolution de l''etape de propagation etant iteratifs, \n\
 il est necessaire de limiter le nombre d''iterations autorisees.\n\
 Remarque : un maximum de 40 iterations par pas de temps semble raisonnable.',
-          ang = 'Since the algorithms used for solving the propagation step are iterative, \
+             ang = 'Since the algorithms used for solving the propagation step are iterative, \
 the allowed number of iterations should be limited.\n\
-Note: a maximum number of 40 iterations per time step seems to be reasonable.',
-           ),
-        ), # fin Solver
+Note: a maximum number of 40 iterations per time step seems to be reasonable.',),
 
-        Time=FACT(statut='o',
-        regles=(AU_MOINS_UN('Number_Of_Time_Steps','Duration'),
-                EXCLUS('Number_Of_Time_Steps','Duration'),
+       ), # fin Solver
+
+#      ------------------------------------
+       Time = FACT(statut = 'o',
+#      ------------------------------------
+       regles = (AU_MOINS_UN('Number_Of_Time_Steps','Duration'),
+                 EXCLUS('Number_Of_Time_Steps','Duration'),
                ),
 
-           Time_Step=SIMP(statut='o',typ='R',defaut=1),
-           Number_Of_Time_Steps=SIMP(statut='f',typ='I',
-              fr='Definit le nombre de pas de temps effectues lors de l''execution du code.',
-              ang='Specifies the number of time steps performed when running the code.'),
-           Duration=SIMP(statut='f',typ='R'),
-           Variable_Time_Step=SIMP(statut='f',typ=bool),
-           b_var_time  = BLOC(condition = "Variable_Time_Step==True" ,
-             Desired_Courant_Number=SIMP(statut='o',typ='R'),
+#          ------------------------------------
+           Time_Step = SIMP(statut = 'o',
+#          ------------------------------------
+              typ = 'R', defaut = 1,
+              fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.',
+              ang = 'Specifies the number of time steps performed when running the code.'),
+
+#          ------------------------------------
+           Number_Of_Time_Steps = SIMP(statut = 'f',typ = 'I',
+#          ------------------------------------
+              fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.',
+              ang = 'Specifies the number of time steps performed when running the code.'),
+
+#          ------------------------------------
+           Duration = SIMP(statut = 'f',typ = 'R',
+#          ------------------------------------
+              fr = 'duree de la simulation. alternative au parametre nombre de pas de temps. \n\
+On en deduit le nombre de pas de temps en prenant l''entier le plus proche de (duree du calcul/pas de temps).\n\
+Si le nombre de pas de temps est aussi donne, on prend la plus grande valeur',
+              ang = 'duration of simulation. May be used instead of the parameter NUMBER OF TIME STEPS. \n\
+The nearest integer to (duration/time step) is taken.  If NUMBER OF TIME STEPS is also given, the greater value is taken',),
+
+# PNPN pour Soizic
+#          ------------------------------------
+           Variable_Time_Step = SIMP(statut = 'f',typ = bool,
+#          ------------------------------------
+              fr = 'Pas de temps variable pour avoir un nombre de courant souhaite',
+              ang = 'Variable time-step to get a given Courant number'),
+
+#          ------------------------------------
+           b_var_time = BLOC(condition = "Variable_Time_Step == True" ,
+#          ------------------------------------
+#            ------------------------------------
+             Desired_Courant_Number = SIMP(statut = 'o',typ = 'R',
+#            ------------------------------------
+             fr = 'Nombre de Courant souhaite ',
+             ang = 'Desired Courant number',),
            ),
-           Original_Date_Of_Time=FACT( statut='o',
+
+#          ------------------------------------
+           Original_Date_Of_Time = FACT( statut = 'o',
+#          ------------------------------------
               fr = "Permet de fixer la date d'origine des temps du modele lors de la prise en compte de la force generatrice de la maree.",
-              ang ='Give the date of the time origin of the model when taking into account the tide generating force.', 
-               Year=SIMP(statut='o',typ='I',val_min=1900,defaut=1900),
-               Month=SIMP(statut='o',typ='I',val_min=1,val_max=12,defaut=1),
-               Day=SIMP(statut='o',typ='I',val_min=1,val_max=31,defaut=1),),
-           Original_Hour_Of_Time=FACT( statut='f',
+              ang = 'Give the date of the time origin of the model when taking into account the tide generating force.', 
+               Year = SIMP(statut = 'o',typ = 'I',val_min = 1900, defaut = 1900),
+               Month = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 12,  defaut = 1),
+               Day = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 31,defaut = 1),),
+
+#          ------------------------------------
+           Original_Hour_Of_Time = FACT( statut = 'o',
+#          ------------------------------------
                fr = "Permet de fixer l'heure d'origine des temps du modele lors de la prise en compte de la force generatrice de la maree.",
-               ang ='Give the time of the time origin of the model when taking into account the tide generating force.', 
-               Hour=SIMP(statut='o',typ='I',val_min=0,val_max=24,defaut=0),
-               Minute=SIMP(statut='o',typ='I',val_min=0,val_max=60,defaut=0),
-               Second=SIMP(statut='o',typ='I',val_min=0,val_max=60,defaut=0),
+               ang = 'Give the time of the time origin of the model when taking into account the tide generating force.', 
+               Hour = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 24, defaut = 0),
+               Minute = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0),
+               Second = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0),
              ),
 
-           Stop_If_A_Steady_State_Is_Reached=SIMP(statut='f',typ=bool,defaut='False'),
-           b_stop  = BLOC(condition = "Stop_If_A_Steady_State_Is_Reached==True" ,
-
-           Stop_Criteria=SIMP(statut='o',typ=Tuple(3),validators=VerifTypeTuple(('R','R','R')),
-            fr = "Criteres d'arret pour un ecoulement permanent. ces coefficients sont respectivement appliques a\n\
-        1- U et V 2- H 3- T ",
-            ang = 'Stop criteria for a steady state These coefficients are applied respectively to\n\
+#          ------------------------------------
+           Stop_If_A_Steady_State_Is_Reached = SIMP(statut = 'o',
+#          ------------------------------------
+               typ = bool,defaut = 'False'),
+
+#          ------------------------------------
+           b_stop = BLOC(condition = "Stop_If_A_Steady_State_Is_Reached == True" ,
+#          ------------------------------------
+#              ------------------------------------
+               Stop_Criteria = SIMP(statut = 'o',typ = Tuple(3),validators = VerifTypeTuple(('R','R','R')),
+#              ------------------------------------
+                 fr = "Criteres d'arret pour un ecoulement permanent. ces coefficients sont respectivement appliques a\n\
+    1- U et V 2- H 3- T ",
+                 ang = 'Stop criteria for a steady state These coefficients are applied respectively to\n\
         1- U and V 2- H 3-  T ',),
-                    ),
-
-           Control_Of_Limit=SIMP(statut='f',typ=bool,defaut='False',
-fr = 'Le programme s''arrete si les limites sur u,v,h ou t sont depassees',
-ang = 'The program is stopped if the limits on u,v,h, or t are trespassed',
-           ),
-
-           b_limit  = BLOC(condition = "Control_Of_Limit==True" ,
-
-              Limit_Values=FACT(statut='o',
-                  fr = 'valeurs mini et maxi acceptables  min puis  max',
-                  ang= 'min and max acceptable values ',
-                  Limit_Values_H=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,9000)),
-                  Limit_Values_U=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,1000)),
-                  Limit_Values_V=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,1000)),
-                  Limit_Values_T=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(-1000,1000)),
-                               ),
-                  ),
-    ), # Fin de Time
-
-     Linearity=FACT(statut='f',
-           Continuity_Correction  =SIMP(typ=bool, statut='o',defaut=False,
-             fr = 'Corrige les vitesses sur les points avec hauteur imposee ou l''equation de continuite n''a pas ete resolue',
-            ang = 'Correction of the velocities on points with a prescribed elevation, where the continuity equation has not been solved',
-            ),
-           Number_Of_Sub_Iterations_For_Non_Linearity=SIMP(statut='o',typ='I',defaut=1,
-fr = 'Permet de reactualiser, pour un meme pas de temps, les champs convecteur et propagateur au cours de plusieurs sous-iterations.\n\
+           ), # fin b_stop
+
+#          ------------------------------------
+           Control_Of_Limit = SIMP(statut = 'o',
+#          ------------------------------------
+               typ = bool, defaut = 'False',
+               fr = 'Le programme s''arrete si les limites sur u,v,h ou t sont depassees',
+               ang = 'The program is stopped if the limits on u,v,h, or t are trespassed',),
+
+#          ------------------------------------
+           b_limit = BLOC(condition = "Control_Of_Limit == True" ,
+           Limit_Values = FACT(statut = 'o',
+#          ------------------------------------
+                fr = 'valeurs mini et maxi acceptables  min puis  max',
+                ang = 'min and max acceptable values ',
+
+#              ------------------------------------
+               Limit_Values_H = SIMP(statut = 'o',typ = Tuple(2),
+#              ------------------------------------
+                    validators = VerifTypeTuple(('R','R')), defaut = (-1000,9000)),
+#              ------------------------------------
+               Limit_Values_U = SIMP(statut = 'o',typ = Tuple(2),
+#              ------------------------------------
+                    validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)),
+#              ------------------------------------
+               Limit_Values_V = SIMP(statut = 'o',typ = Tuple(2),
+#              ------------------------------------
+                    validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)),
+#              ------------------------------------
+               Limit_Values_T = SIMP(statut = 'o',typ = Tuple(2),
+#              ------------------------------------
+                    validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)),
+            ),), # fin Fact et b_limit
+       ), # Fin de Time
+
+#      ------------------------------------
+       Linearity = FACT(statut = 'f',
+#      ------------------------------------
+#          ------------------------------------
+           Continuity_Correction = SIMP(typ = bool, statut = 'o',
+#          ------------------------------------
+             defaut = False,
+             fr = 'Corrige les vitesses sur les points avec hauteur imposee ou l equation de continuite n a pas ete resolue',
+             ang = 'Correction of the velocities on points with a prescribed elevation, where the continuity equation has not been solved',),
+
+#          ------------------------------------
+           Number_Of_Sub_Iterations_For_Non_Linearity = SIMP(statut = 'o',typ = 'I',
+#          ------------------------------------
+             defaut = 1,
+             fr = 'Permet de reactualiser, pour un meme pas de temps, les champs convecteur et propagateur \n\
+au cours de plusieurs sous-iterations.\n\
 A la premiere sous-iteration, ces champs sont donnes par C et le champ de vitesses au pas de temps precedent.\n\
 Aux iterations suivantes, ils sont pris egaux au champ de vitesse obtenu a la fin de la sous-iteration precedente. \n\
 Cette technique permet d''ameliorer la prise en compte des non linearites.',
-ang = 'Used for updating, within one time step, the advection and propagation field.  upon the first sub-iteration, \n\
+            ang = 'Used for updating, within one time step, the advection and propagation field.\n\
+upon the first sub-iteration, \n\
 these fields are given by C and the velocity field in the previous time step. At subsequent iterations, \n\
 the results of the previous sub-iteration is used to update the advection and propagation field.\n\
 The non-linearities can be taken into account through this technique.',),
-     ),
-     Precondionning_setting=FACT(statut='f',
 
-          Preconditionning=SIMP(statut='f',typ='I',
-              into=[ "diagonal", "no preconditioning", "diagonal condensee", "crout", \
-                     "gauss-seidel", "diagonal and crout", "diagonal condensed and crout"],
+     ), # Fin Linearity
+
+#      ------------------------------------
+       Precondionning_setting = FACT(statut = 'f',
+#      ------------------------------------
+
+#         ------------------------------------
+          Preconditionning = SIMP(statut = 'o',typ = 'TXM',
+#         ------------------------------------
+# PNPN Soizic ? Est ce que c'est une liste
+# Comment fait-on  le into est faux : voir l aide
+# PN Je propose qu 'on puisse faire +sieurs choix et qu on recalcule en sortie
+# ou on propose des choix croisés parce que toutes les combinaisons ne sont pas possibles ?
+# 
+              into = [ "Diagonal", "No preconditioning", "Diagonal condensee", "Crout", \
+                     "Gauss-Seidel", "Diagonal and Crout", "Diagonal condensed and Crout"],
+              defaut="Diagonal",
+              fr='Permet de preconditionner le systeme de l etape de propagation afin d accelerer la convergence \n\
+lors de sa resolution. Certains preconditionnements sont cumulables : (les diagonaux 2 ou 3 avec les autres)\n\
+Pour cette raison on ne retient que les nombres premiers pour designer les preconditionnements. Si l on souhaite en cumuler\n\
+plusieurs on formera le produit des options correspondantes.',
+             ang='Choice of the preconditioning in the propagation step linear system that the convergence is speeded up\n\
+when it is being solved.Some operations (either 2 or 3 diagonal preconditioning) can be performed concurrently with the others.\n\
+Only prime numbers are therefore kept to denote the preconditioning operations. When several of them are to be performed concurrently,\n\
+the product of relevant options shall be made.',
           ),
-          C_U_Preconditionning  =SIMP(typ=bool, statut='f',
+#         ------------------------------------
+          C_U_Preconditionning = SIMP(typ = bool, statut = 'o', defaut=False,
+#         ------------------------------------
              fr = 'Changement de variable de H en C dans le systeme lineaire final',
-            ang = 'Change of variable from H to C in the final linear system'
+             ang = 'Change of variable from H to C in the final linear system'
            ),
-        ),# fin Preconditionnement
-     
+
+   ),# fin Preconditionnement
      
-     Matrix_Informations=FACT(statut='f',
-          Matrix_Vector_Product =SIMP(statut='f',typ='TXM',
-             into=["classic", "frontal"],
-             fr='attention, si frontal, il faut une numerotation speciale des points',
-             ang='beware, with option 2, a special numbering of points is required',
+#    ------------------------------------
+     Matrix_Informations = FACT(statut = 'f',
+#    ------------------------------------
+#         ------------------------------------
+          Matrix_Vector_Product = SIMP(statut = 'f',typ = 'TXM',
+#         ------------------------------------
+             into = ["Classic", "Frontal"],
+             fr = 'attention, si frontal, il faut une numerotation speciale des points',
+             ang = 'beware, with option 2, a special numbering of points is required',
           ),
-          Matrix_Storage =SIMP(statut='f',typ='TXM',
-             into=["EBE classique","Stockage par segments",]
+#         ------------------------------------
+          Matrix_Storage = SIMP(statut = 'f',typ = 'TXM',
+#         ------------------------------------
+             into = ["Classical EBE","Edge-based storage",]
           ),
      ),# fin Matrix_Informations
 
-     Advection=FACT(statut='o',
-        Advection_Propagation=FACT(statut='o',
-          Advection_Of_U_And_V=SIMP(statut='o',typ=bool,defaut=False,
-            fr = 'Prise en compte ou non de la convection de U et V.',
-            ang= 'The advection of U and V is taken into account or ignored.'
-            ),
-
-          b_u_v = BLOC( condition = "Advection_Of_U_And_V==True",
-          Type_Of_Advection_U_And_V=SIMP(statut='o',typ='TXM',position="global",
-          into=["characteristics", "SUPG", "Conservative N-scheme",  'Conservative N-scheme',\
-                 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
-                 'Edge-based N-scheme'],
-          defaut="characteristics",
-
-                 ),
-           b_upwind     =BLOC(condition = "Type_Of_Advection_U_And_V== 'SUPG'",
-            Upwind_Coefficients_Of_U_And_V=SIMP(statut='o',typ='R',defaut=1.)
-               ),
-           ),
-
-          Advection_Of_H=SIMP(statut='o',typ=bool,defaut=False,
-            fr = 'Prise en compte ou non de la convection de H.',
-            ang= 'The advection of H is taken into account or ignored.'
-            ),
-
-          b_h = BLOC( condition = "Advection_Of_H==True",
-
-          Type_Of_Advection_H=SIMP(statut='o',typ='TXM',position="global",
-          into=["characteristics", "SUPG", "Conservative N-scheme",  'Conservative N-scheme',\
-                 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
-                 'Edge-based N-scheme'],
-          defaut="Conservative PSI-scheme",
-                 ),
-           b_upwind_H     = BLOC(condition = "Type_Of_Advection_H== 'SUPG'",
-            Upwind_Coefficients_Of_H=SIMP(statut='o',typ='R',defaut=1.)
-               ),
-           ),
-
-
-         Advection_Of_K_And_Epsilon=SIMP(statut='o',typ=bool,defaut=False,
-           fr = 'Prise en compte ou non de la convection de Tracer.',
-            ang= 'The advection of Tracer is taken into account or ignored.'
-            ),
-
-          b_k = BLOC( condition = "Advection_Of_K_And_Epsilon==True",
 
-          Type_Of_Advection_K_And_Epsilon=SIMP(statut='o',typ='TXM',position="global",
-          into=["characteristics", "SUPG", "Conservative N-scheme",  'Conservative N-scheme',\
-                 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
-                 'Edge-based N-scheme'],
-          defaut="characteristics",
-                 ),
-           b_upwind_k     =BLOC(condition = "Type_Of_Advection_K_And_Epsilon== 'SUPG'",
-            Upwind_Coefficients_Of_K_And_Epsilon=SIMP(statut='o',typ='R',defaut=1.)
-               ),
-           ),
-
-          Advection_Of_Tracers=SIMP(statut='o',typ=bool,defaut=False,
-            fr = 'Prise en compte ou non de la convection de Tracer.',
-            ang= 'The advection of Tracer is taken into account or ignored.'
-            ),
-
-          b_tracers = BLOC( condition = "Advection_Of_Tracers==True",
-
-          Type_Of_Advection_Tracers=SIMP(statut='o',typ='TXM',position="global",
-          into=["characteristics", "SUPG", "Conservative N-scheme",  'Conservative N-scheme',\
-                 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
-                 'Edge-based N-scheme'],
-                 ),
-           b_upwind_Tracers     =BLOC(condition = "Type_Of_Advection_Tracers== 'SUPG'",
-            Upwind_Coefficients_Of_Tracers=SIMP(statut='o',typ='R',defaut=1.)
-               ),
-           ),
+#    ------------------------------------
+     Advection = FACT(statut = 'o',
+#    ------------------------------------
+#         ------------------------------------
+          Advection_Propagation = FACT(statut = 'o',
+#         ------------------------------------
+
+# PNPNPN recalcul
+# Tres differents du dico  liste de 4
+# PNPN eclaircir les choix SVP
+# soizic. choix 3 et 4 et 13 et 14
+#             ------------------------------------
+              Advection_Of_U_And_V = SIMP(statut = 'o',typ = bool, defaut = False,
+#             ------------------------------------
+                  fr = 'Prise en compte ou non de la convection de U et V.',
+                  ang = 'The advection of U and V is taken into account or ignored.'), 
+
+#                 ------------------------------------
+                  b_u_v = BLOC( condition = "Advection_Of_U_And_V == True",
+#                  ------------------------------------
+#                      ------------------------------------
+                       Type_Of_Advection_U_And_V = SIMP(statut = 'o',typ = 'TXM',position = "global",
+#                      ------------------------------------
+                           into = ["Characteristics", "SUPG", "Conservative N-scheme",  'Conservative N-scheme',\
+                           'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
+                           'Edge-based N-scheme'],
+                             defaut = "Characteristics", ),
+
+#                      ------------------------------------
+                       b_upwind = BLOC(condition = "Type_Of_Advection_U_And_V == 'SUPG'",
+#                      ------------------------------------
+#                          ------------------------------------
+                           Upwind_Coefficients_Of_U_And_V = SIMP(statut = 'o',typ = 'R', defaut = 1.)
+#                          ------------------------------------
+                        ), # fin b_upwind
+                  ),# fin b_u_v
+
+#              ------------------------------------
+               Advection_Of_H = SIMP(statut = 'o',typ = bool, defaut = False,
+#              ------------------------------------
+                      fr = 'Prise en compte ou non de la convection de H.',
+                      ang = 'The advection of H is taken into account or ignored.'),
+
+#                  ------------------------------------
+                   b_h = BLOC( condition = "Advection_Of_H == True",
+#                  ------------------------------------
+#                      ------------------------------------
+                       Type_Of_Advection_H = SIMP(statut = 'o',typ = 'TXM',position = "global",
+#                      ------------------------------------
+                           into = ["characteristics", "SUPG", "conservative N-scheme",  'conservative N-scheme',\
+                              'conservative PSI-scheme', 'non conservative PSI scheme', 'implicit non conservative N scheme',\
+                              'edge-based N-scheme'],
+                           defaut = "conservative PSI-scheme",),
+#                      ------------------------------------
+                       b_upwind_H = BLOC(condition = "Type_Of_Advection_H == 'SUPG'",
+#                      ------------------------------------
+#                          ------------------------------------
+                           Upwind_Coefficients_Of_H = SIMP(statut = 'o',typ = 'R', defaut = 1.)
+#                          ------------------------------------
+                       ), # fin b_upwind_H
+                    ),# fin b_h
+
+#              ------------------------------------
+               Advection_Of_K_And_Epsilon = SIMP(statut = 'o',typ = bool, defaut = False,
+#              ------------------------------------
+                    fr = 'Prise en compte ou non de la convection de Tracer.',
+                    ang = 'The advection of Tracer is taken into account or ignored.'),
+
+#                  ------------------------------------
+                   b_k = BLOC( condition = "Advection_Of_K_And_Epsilon == True",
+#                  ------------------------------------
+#                      ------------------------------------
+                       Type_Of_Advection_K_And_Epsilon = SIMP(statut = 'o',typ = 'TXM',position = "global",
+#                      ------------------------------------
+                           into = ["Characteristics", "SUPG", "Conservative N-scheme",  'Conservative N-scheme',\
+                              'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
+                              'Edge-based N-scheme'],
+                           defaut = "Characteristics",),
+#                       ------------------------------------
+                        b_upwind_k = BLOC(condition = "Type_Of_Advection_K_And_Epsilon == 'SUPG'",
+#                       ------------------------------------
+#                          ------------------------------------
+                           Upwind_Coefficients_Of_K_And_Epsilon = SIMP(statut = 'o',typ = 'R', defaut = 1.)
+#                          ------------------------------------
+                         ),# fin b_upwind_k
+                   ),# fin b_k
+
+#              ------------------------------------
+               Advection_Of_Tracers = SIMP(statut = 'o',typ = bool, defaut = False,
+#              ------------------------------------
+                    fr = 'Prise en compte ou non de la convection de Tracer.',
+                    ang = 'The advection of Tracer is taken into account or ignored.'),
+
+#                  ------------------------------------
+                   b_tracers = BLOC( condition = "Advection_Of_Tracers == True",
+#                  ------------------------------------
+#                      ------------------------------------
+                       Type_Of_Advection_Tracers = SIMP(statut = 'o',typ = 'TXM',position = "global",
+#                      ------------------------------------
+                           into = ["Characteristics", "SUPG", "Conservative N-scheme",  'Conservative N-scheme',\
+                                'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
+                                'Edge-based N-scheme'],),
+#                       ------------------------------------
+                        b_upwind_Tracers = BLOC(condition = "Type_Of_Advection_Tracers == 'SUPG'",
+#                       ------------------------------------
+#                          ------------------------------------
+                           Upwind_Coefficients_Of_Tracers = SIMP(statut = 'o',typ = 'R', defaut = 1.)
+#                          ------------------------------------
+                        ), # fin b_upwind_Tracers
+                    ), # fin b_Tracers
+
+#              ------------------------------------
+               b_max = BLOC( condition = "(Advection_Of_Tracers == True and Type_Of_Advection_Tracers == 'Edge-based N-scheme') or (Advection_Of_K_And_Epsilon == True and Type_Of_Advection_K_And_Epsilon == 'Edge-based N-scheme') or (Advection_Of_U_And_V == True and Type_Of_Advection_U_And_V == 'Edge-based N-scheme') or ( Advection_Of_H == True and Type_Of_Advection_H == 'Edge-based N-scheme')",
+#              ------------------------------------
+#                  ------------------------------------
+                   Maximum_Number_Of_Iterations_For_Advection_Schemes = SIMP( statut = 'o',typ = 'I', defaut = 10 ,
+#                  ------------------------------------
+                       fr = 'Seulement pour schemes Edge-based N-scheme',
+                       ang = 'Only for Edge-based N-scheme',),
+                ), # fin b_max
+        ), # Fin Advection_Propagation
+#         ------------------------------------
+          Scheme_For_Advection_Of_K_Epsilon = SIMP(statut = 'o',typ = 'TXM',
+#         ------------------------------------
+               into = ["No advection", "Characteristics", "Explicit + SUPG", "Explicit leo postma", "Explicit + murd scheme N", "Explicit + murd scheme PSI", "Leo postma for tidal flats", "N-scheme for tidal flats"],
+               fr = 'Choix du schema de convection pour k et epsilon, remplace FORME DE LA CONVECTION',
+               ang = 'Choice of the advection scheme for k and epsilon, replaces TYPE OF ADVECTION',),
 
-          b_max=BLOC( condition = "(Advection_Of_Tracers==True and Type_Of_Advection_Tracers=='Edge-based N-scheme') or (Advection_Of_K_And_Epsilon==True and Type_Of_Advection_K_And_Epsilon=='Edge-based N-scheme') or (Advection_Of_U_And_V==True and Type_Of_Advection_U_And_V=='Edge-based N-scheme') or ( Advection_Of_H == True and Type_Of_Advection_H=='Edge-based N-scheme')",
-            Maximum_Number_Of_Iterations_For_Advection_Schemes = SIMP( statut='o',typ='I', defaut=10 ,
-               fr = 'Seulement pour schemes Edge-based N-scheme',
-               ang= 'Only for Edge-based N-scheme',
-                ),
-          ),
-        ),
-        Scheme_For_Advection_Of_K_Epsilon=SIMP(statut='o',typ='TXM',
-        into=["no advection", "characteristics", "explicit + supg"," postma", "explicit + murd scheme n", "explicit + murd scheme psi", "leo postma for tidal flats", "n-scheme for tidal flats"],
-      fr = 'Choix du schema de convection pour k et epsilon, remplace FORME DE LA CONVECTION',
-       ang = 'Choice of the advection scheme for k and epsilon, replaces TYPE OF ADVECTION',),
 
 #PNPNPN
 # recalculer la liste de 4
 # Attention bloc selon le type de convection
-     SUPG=FACT(statut='o',
-        Supg_Option_U_And_V=SIMP(statut='o',defaut='modified SUPG',typ='TXM',into=['no upwinding', 'classical SUPG','modified SUPG']),
-        Supg_Option_H=SIMP(statut='o',defaut='modified SUPG',typ='TXM',into=['no upwinding', 'classical SUPG','modified SUPG']),
-        Supg_Option_Tracers=SIMP(statut='o',defaut='modified SUPG',typ='TXM',into=['no upwinding', 'classical SUPG','modified SUPG']),
-        Supg_Option_K_and_Epsilon=SIMP(statut='o',defaut='modified SUPG',typ='TXM',into=['no upwinding', 'classical SUPG','modified SUPG']),
-         ),
-
-          Mass_Lumping_On_H =SIMP(statut='f',typ='R',defaut=0,
+#         ------------------------------------
+          SUPG = FACT(statut = 'o',
+#         ------------------------------------
+#             ------------------------------------
+              Supg_Option_U_And_V = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
+#             ------------------------------------
+                       into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
+#             ------------------------------------
+              Supg_Option_H = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
+#             ------------------------------------
+                       into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
+#             ------------------------------------
+              Supg_Option_Tracers = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
+#             ------------------------------------
+                       into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
+#             ------------------------------------
+              Supg_Option_K_and_Epsilon = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
+#             ------------------------------------
+                       into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
+            ), # Fin de SUPG
+
+#         ------------------------------------
+          Mass_Lumping_On_H = SIMP(statut = 'o',typ = 'R', defaut = 0,
+#         ------------------------------------
             fr = 'TELEMAC offre la possibilite d''effectuer du mass-lumping sur H ou U.\n\
 Ceci revient a ramener tout ou partie (suivant la valeur de ce coefficient) des matrices AM1 (h) ou AM2 (U) \n\
 et AM3 (V) sur leur diagonale.  Cette technique permet d''accelerer le code dans des proportions tres\n\
@@ -682,365 +1077,610 @@ Thanks to that technique, the code can be speeded up to a quite significant exte
 more stable. The resulting solutions, however, become artificially smoothed. \n\
 This parameter sets the extent of mass-lumping that is performed on h.'),
 
-          Mass_Lumping_On_Velocity =SIMP(statut='f',typ='R',defaut=0,
+#         ------------------------------------
+          Mass_Lumping_On_Velocity = SIMP(statut = 'o', typ = 'R', defaut = 0,
+#         ------------------------------------
             fr = 'Fixe le taux de mass-lumping effectue sur la vitesse.',
-            ang = 'Sets the amount of mass-lumping that is performed on the velocity.'
-),
-
-
-#PNPNPNPN
-#
-# Attention a recalculer
-# Il faut recalculer des listes de 4 en sortie
-#
-       Treatment_Of_The_Linear_System=SIMP(statut='f', typ='TXM',
-#CHOIX1 = '1="coupled"';'2="Wave equation"'
-           into=["coupled","Wave equation"],
-           defaut="coupled",
-       ),
-       Free_Surface_Gradient_Compatibility=SIMP(statut='f',typ='R',defaut=1.,
+            ang = 'Sets the amount of mass-lumping that is performed on the velocity.'),
+
+#         ------------------------------------
+          Treatment_Of_The_Linear_System = SIMP(statut = 'o', typ = 'TXM',
+#         ------------------------------------
+              into = ["Coupled", "Wave equation"],
+              defaut = "Coupled",),
+
+#         ------------------------------------
+          Free_Surface_Gradient_Compatibility = SIMP(statut = 'o',typ = 'R',defaut = 1.,
+#         ------------------------------------
             fr = 'Des valeurs inferieures a 1 suppriment les oscillations parasites',
-            ang = 'Values less than 1 suppress spurious oscillations'
-       ),
+            ang = 'Values less than 1 suppress spurious oscillations'),
 
- ), # fin Advection
 
-        Propagation=FACT(statut='f',
+     ), # fin Advection
+
 #PNPNPN Il faut recalculer le MCSIM Propagation
-          Linearized_Propagation=SIMP(statut='o',typ=bool,defaut=False),
-          b_linear     =BLOC(condition = "Linearized_Propagation==True ",
-            Mean_Depth_For_Linearity=SIMP(statut='o',typ='R',defaut=0.0,val_min=0),
-          ),
-          Initial_Guess_for_H=SIMP(statut='f',typ='TXM',into=['zero','previous','extrapolation'],defaut='previous',
-         fr = 'Tir initial du solveur de l etape de propagation.  Offre la possibilite de modifier la valeur initiale de DH,\n\
+#    ------------------------------------
+     Propagation = FACT(statut = 'o',
+#    ------------------------------------
+
+#         ------------------------------------
+          Linearized_Propagation = SIMP(statut = 'o',typ = bool,defaut = False,
+#         ------------------------------------
+             fr = 'Permet de lineariser l''etape de propagation; \n\
+par exemple lors de la realisation de cas tests pour lesquels on dispose d une solution analytique dans le cas linearise.',
+             ang = 'Provided for linearizing the propagation step; \n\
+e.g. when performing test-cases for which an analytical solution in the linearized case is available.' ),
+
+#         ------------------------------------
+          b_linear = BLOC(condition = "Linearized_Propagation == True ",
+#         ------------------------------------
+#             ------------------------------------
+              Mean_Depth_For_Linearity = SIMP(statut = 'o',typ = 'R', defaut = 0.0, val_min = 0,
+#             ------------------------------------
+               fr = 'Fixe la hauteur d eau autour de laquelle s effectue la linearisation lorsque l option PROPAGATION LINEARISEE est choisie.',
+               ang = 'Sets the water depth about which the linearization is made when the LINEARIZED PROPAGATION OPTION is selected.'),
+          ), # fin b_linear
+
+#         ------------------------------------
+          Initial_Guess_for_H = SIMP(statut = 'o',typ = 'TXM',
+#         ------------------------------------
+              into = ['Zero', 'Previous', 'Extrapolation'],
+              defaut = 'Previous',
+              fr = 'Tir initial du solveur de l etape de propagation.  Offre la possibilite de modifier la valeur initiale de DH,\n\
 accroissement de H, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\
 aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.',
-    ang= 'Initial guess for the solver in the propagation step.  Makes it possible to modify the initial value of H, \n\
+              ang = 'Initial guess for the solver in the propagation step.  Makes it possible to modify the initial value of H, \n\
 upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\
-Thus, the convergence can be speeded up when the system is being solved.',
-),
-          Initial_Guess_for_U=SIMP(statut='f',typ='TXM',into=['zero','previous','extrapolation'], defaut='previous',
-         fr = 'Tir initial du solveur de l etape de propagation.  Offre la possibilite de modifier la valeur initiale de DH,\n\
+Thus, the convergence can be speeded up when the system is being solved.',),
+
+#         ------------------------------------
+          Initial_Guess_for_U = SIMP(statut = 'o',typ = 'TXM',
+#         ------------------------------------
+              into = ['Zero', 'Previous', 'Extrapolation'],
+              defaut = 'Previous',
+              fr = 'Tir initial du solveur de l etape de propagation.  Offre la possibilite de modifier la valeur initiale de DH,\n\
 accroissement de U, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\
 aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.',
-    ang= 'Initial guess for the solver in the propagation step.  Makes it possible to modify the initial value of U, \n\
+               ang = 'Initial guess for the solver in the propagation step.  Makes it possible to modify the initial value of U, \n\
 upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\
-Thus, the convergence can be speeded up when the system is being solved.',
-),
-),
-        Discretisation_Implicitation=FACT(statut='f',
-          Discretisations_In_Space=SIMP(statut='f',typ='TXM', 
-            into =["linear for velocity and depth", "quasi-bubble-velocity and linear depth", "quadratic velocity and linear depth"],
-            defaut="linear for velocity and depth",),
-          Implicitation_For_Depth=SIMP(statut='f',typ='R',defaut=0.55,
-fr = 'Fixe la valeur du coefficient d''implicitation sur C dans l''etape de propagation (cf.  Note de principe).\n\
+Thus, the convergence can be speeded up when the system is being solved.',),
+
+      ), # fin Propagation
+
+#    ------------------------------------
+     Discretisation_Implicitation = FACT(statut = 'f',
+#    ------------------------------------
+
+#         ------------------------------------
+          Discretisations_In_Space = SIMP(statut = 'o',typ = 'TXM', 
+#         ------------------------------------
+              into = ["Linear", "Quasi-bubble", "Quadratic"],
+              defaut = "Linear",),
+
+#         ------------------------------------
+          Implicitation_For_Depth = SIMP(statut = 'o',typ = 'R',defaut = 0.55,
+#         ------------------------------------
+              fr = 'Fixe la valeur du coefficient d''implicitation sur C dans l''etape de propagation (cf.  Note de principe).\n\
 Les valeurs inferieures a 0.5 donnent un schema instable.',
-ang = 'Sets the value of the implicitation coefficient for C (the celerity of waves) in the propagation step (refer to principle note).\n\
+             ang = 'Sets the value of the implicitation coefficient for C (the celerity of waves) in the propagation step (refer to principle note).\n\
 Values below 0.5 result in an unstable scheme.'),
 
-          Implicitation_for_Velocity=SIMP(statut='f',typ='R',defaut=0.55,
-fr = 'Fixe la valeur du coefficient d''implicitation sur la vitesse dans l''etape de propagation (cf.  Note de principe).\n\
+#         ------------------------------------
+          Implicitation_for_Velocity = SIMP(statut = 'o',typ = 'R',defaut = 0.55,
+#         ------------------------------------
+             fr = 'Fixe la valeur du coefficient d''implicitation sur la vitesse dans l''etape de propagation (cf.  Note de principe).\n\
 Les valeurs inferieures a 0.5 donnent un schema instable.',
-ang= 'Sets the value of the implicitation coefficient for velocity in the propagation step (refer to principle note).\n\
+             ang = 'Sets the value of the implicitation coefficient for velocity in the propagation step (refer to principle note).\n\
 Values below 0.5 result in an unstable condition.'),
 
-          Implicitation_For_Diffusion_Of_Velocity=SIMP(statut='f',typ='R',defaut=0,
-          fr = 'Fixe la valeur du coefficient d''implicitation sur les termes de diffusion des vitesses',
-          ang = 'Sets the value of the implicitation coefficient for the diffusion of velocity',
-              ),
-        ),
-      
+#         ------------------------------------
+          Implicitation_For_Diffusion_Of_Velocity = SIMP(statut = 'o',typ = 'R',defaut = 0,
+#         ------------------------------------
+            fr = 'Fixe la valeur du coefficient d''implicitation sur les termes de diffusion des vitesses',
+            ang = 'Sets the value of the implicitation coefficient for the diffusion of velocity',),
 
-        Tidal_Flats=SIMP(statut='o',typ=bool,defaut=False,
-fr='permet de supprimer les tests sur les bancs decouvrants, dans les cas ou l''on est certain qu''il n''y en aura pas, En cas de doute : oui',
-ang='When no,the specific treatments for tidal flats are by-passed. This spares time, but of course you must be sure that you have no tidal flats'
-        ),
-        b_tidal_flats=BLOC(condition='Tidal_Flats==True',
+      ), # fin Discretisation_Implicitation
+      
 
-           Option_For_The_Treatment_Of_Tidal_Flats=SIMP(statut='o',typ='TXM',
-        into=["Equations resolues partout avec correction sur les bancs decouvrants",\
-        "gel des elements decouvrants","comme 1 mais avec porosite (methode defina)"],
-        defaut="equations resolues partout avec correction sur les bancs decouvrants",
-                                   ),
-                    b_option_tidal_flats=BLOC(condition='Option_For_The_Treatment_Of_Tidal_Flats=="Equations resolues partout avec correction sur les bancs decouvrants"',
-                      Treatment_Of_Negative_Depths = SIMP( statut='o',typ='TXM',
-                       into=[ 'no treatment', 'smoothing', 'flux control'],
-                       defaut='smoothing' ,),
-                     ),
-          Threshold_For_Negative_Depths = SIMP( statut='o',typ='R', defaut=0.0 ,
+#    ------------------------------------
+     Tidal_Flats = SIMP(statut = 'o',typ = bool,defaut = True,
+#    ------------------------------------
+         fr = 'permet de supprimer les tests sur les bancs decouvrants si on est certain qu''il n''y en aura pas, En cas de doute : oui',
+         ang = 'When no,the specific treatments for tidal flats are by-passed. This spares time, but of course you must be sure that you have no tidal flats'),
+
+#    ------------------------------------
+     b_tidal_flats = BLOC(condition = 'Tidal_Flats == True',
+#    ------------------------------------
+#         ------------------------------------
+          Option_For_The_Treatment_Of_Tidal_Flats = SIMP(statut = 'o',typ = 'TXM',
+#         ------------------------------------
+             into = ["Equations solved everywhere with correction on tidal flats", "Dry elements frozen", "1 but with porosity (defina method)",],
+             defaut="Equations solved everywhere with correction on tidal flats",),
+
+#             ------------------------------------
+              b_option_tidal_flats = BLOC(condition = 'Option_For_The_Treatment_Of_Tidal_Flats == "Equations solved everywhere with correction on tidal flats"',
+#             ------------------------------------
+#                 ------------------------------------
+                  Treatment_Of_Negative_Depths = SIMP( statut = 'o',typ = 'TXM',
+#                 ------------------------------------
+                     into = [ 'No treatment', 'Smoothing', 'Flux control'],
+                     defaut = 'Smoothing' ,),
+              ), # fin bloc b_option_tidal_flats
+
+#         ------------------------------------
+          Threshold_For_Negative_Depths = SIMP( statut = 'o',typ = 'R', defaut = 0.0 ,
+#         ------------------------------------
              fr = 'En dessous du seuil, les hauteurs negatives sont lissees',
-             ang= 'Below the threshold the negative depths are smoothed',
-             ),
+             ang = 'Below the threshold the negative depths are smoothed',),
           
-          H_Clipping=SIMP(statut='o',typ=bool,defaut=False,
-                fr = 'Determine si l''on desire ou non limiter par valeur inferieure la hauteur d''eau H (dans le cas des bancs decouvrants par exemple).',
-              ang = 'Determines whether limiting the water depth H by a lower value desirable or not. (for instance in the case of tidal flats)\n\
+#         ------------------------------------
+          H_Clipping = SIMP(statut = 'o',typ = bool,defaut = False,
+#         ------------------------------------
+             fr = 'Determine si on desire ou non limiter par valeur inferieure la hauteur d eau H (dans le cas des bancs decouvrants par exemple).',
+             ang = 'Determines whether limiting the water depth H by a lower value desirable or not. (for instance in the case of tidal flats)\n\
 This key-word may have an influence on mass conservation since the truncation of depth is equivalent to adding mass.',),
 
-        b_clipping=BLOC(condition='H_Clipping==True',
-          Minimum_Value_Of_Depth = SIMP( statut='o',typ='R', defaut=0.0 ,
-    fr = 'Fixe la valeur minimale de a lorsque loption CLIPPING DE H est activee.',
-    ang= 'Sets the minimum H value when option H CLIPPING is implemented. Not fully implemented.',),
-              ),
-     ),
-
-     Various=FACT(
-         Finite_Volume_Scheme = SIMP( statut='o',typ='TXM',
-              #CHoix de 0 a 6
-              into=[ "Roe scheme", "kinetic order 1", "kinetic order 2", "Zokagoa scheme order 1",\
+#             ------------------------------------
+              b_clipping = BLOC(condition = 'H_Clipping == True',
+#             ------------------------------------
+#                 ------------------------------------
+                  Minimum_Value_Of_Depth = SIMP( statut = 'o',typ = 'R', defaut = 0.0 ,
+#                 ------------------------------------
+                      fr = 'Fixe la valeur minimale de a lorsque loption CLIPPING DE H est activee.',
+                      ang = 'Sets the minimum H value when option H CLIPPING is implemented. Not fully implemented.',),
+              ), # fin b_clipping
+    ), # fin bloc b_tidal_flats
+
+#    ------------------------------------
+     Various = FACT(
+#    ------------------------------------
+#         ------------------------------------
+          Finite_Volume_Scheme = SIMP( statut = 'o',typ = 'TXM',
+#         ------------------------------------
+              into = [ "Roe scheme", "Kinetic order 1", "Kinetic order 2", "Zokagoa scheme order 1",\
                      "Tchamen scheme order 1", "HLLC scheme order 1", "WAF scheme order 2"],
-              defaut="kinetic order 1",
-         ),
-         Newmark_Time_Integration_Coefficient = SIMP( statut='o',typ='R',
-             defaut=1.0 ,
-             fr = '1. : Euler explicite 0.5 : ordre 2 en temps',
-              ang= '1. : Euler explicit 0.5 : order 2 in time',
-          ),
-        Option_For_Characteristics = SIMP( statut='o',typ='TXM',
-            defaut="strong form" ,
-            into=['strong form','weak form',],
-            ),
-     ),
-    Mass_Lumping_For_Weak_Characteristics=SIMP(statut='f',typ='R',defaut=0,
+              defaut = "Kinetic order 1",),
+
+#         ------------------------------------
+         Newmark_Time_Integration_Coefficient = SIMP( statut = 'o',typ = 'TXM',
+#         ------------------------------------
+             defaut = "Euler explicite",
+             into = ["Euler explicite","Order 2 in time"],),
+
+#         ------------------------------------
+          Option_For_Characteristics = SIMP( statut = 'o',typ = 'TXM',
+#         ------------------------------------
+            defaut = "Strong" ,
+            into = ['Strong','Weak',],),
+
+     ),# fin Various
+
+#    ------------------------------------
+     Mass_Lumping_For_Weak_Characteristics = SIMP(statut = 'f',typ = 'R',defaut = 0,
+#    ------------------------------------
         fr = 'Applique a la matrice de masse',
         ang = 'To be applied to the mass matrix',
      ),
    
 )# fin NUMERICAL_PARAMETERS
 
-PHYSICAL_PARAMETERS=PROC(nom="PHYSICAL_PARAMETERS",op=None,
-        Atmosphere=FACT(statut='f',
-          Wind=SIMP(statut='o',typ=bool,defaut=False),
-          b_Wind     =BLOC(condition = "Wind==True",
-            regles=( PRESENT_PRESENT('Wind_Velocity_along_X','Wind_Velocity_along_Y', ),),
-            Wind_Velocity_along_X=SIMP(statut='o',typ='R',defaut=0.,),
-            Wind_Velocity_along_Y=SIMP(statut='o',typ='R',defaut=0.,),
-            Threashold_Depth_for_Wind=SIMP(statut='o',typ='R',defaut=0.,),
-            Air_Pressure=SIMP(statut='o',typ=bool,defaut=False),
-            Coefficient_Of_Wind_Influence = SIMP( statut='o',typ='R', defaut=0.0 ,
-               fr = 'Fixe la valeur du coefficient d entrainement du vent (cf.  Note de principe).',
-               ang= 'Sets the value of the wind driving coefficient.  Refer to principle note.',
-     ),
-
+# -----------------------------------------------------------------------
+PHYSICAL_PARAMETERS = PROC(nom = "PHYSICAL_PARAMETERS",op = None,
+# -----------------------------------------------------------------------
+#    ------------------------------------
+     Atmosphere = FACT(statut = 'o',
+#    ------------------------------------
+
+#         ------------------------------------
+          Wind = SIMP(statut = 'o',typ = bool,defaut = False,
+#         ------------------------------------
+             fr = 'Prise en compte ou non des effets du vent.',
+             ang = 'Determines whether the wind effects are to be taken into account or not.'),
+
+#         ------------------------------------
+          b_Wind = BLOC(condition = "Wind == True",
+#         ------------------------------------
+#             ------------------------------------
+              Wind_Velocity_along_X = SIMP(statut = 'o',typ = 'R', defaut = 0.,
+#             ------------------------------------
+                 fr = 'Composante de la vitesse du vent suivant l''axe des x (m/s).',
+                 ang = 'Wind velocity, component along x axis (m/s).',),
+
+#             ------------------------------------
+              Wind_Velocity_along_Y = SIMP(statut = 'o',typ = 'R',defaut = 0.,
+#             ------------------------------------
+                 fr = 'Composante de la vitesse du vent suivant l''axe des y (m/s).',
+                 ang = 'Wind velocity, component along y axis (m/s).',),
+
+#             ------------------------------------
+              Threashold_Depth_for_Wind = SIMP(statut = 'o',typ = 'R',defaut = 0.,
+#             ------------------------------------
+                 fr = 'Retire la force due au vent dans les petites profondeurs',
+                 ang = 'Wind is not taken into account for small depths' ),
+
+#             ------------------------------------
+              Coefficient_Of_Wind_Influence = SIMP( statut = 'o',typ = 'R', defaut = 0.0 ,
+#             ------------------------------------
+                 fr = 'Fixe la valeur du coefficient d entrainement du vent (cf.  Note de principe).',
+                 ang = 'Sets the value of the wind driving coefficient.  Refer to principle note.',),
+
+#             ------------------------------------
+              Option_For_Wind = SIMP( statut = 'o',typ = 'TXM', defaut = 0 ,
+#             ------------------------------------
+                 into = ["No wind","Constant in time and space","Variable in time","Variable in time and space"],
+                 fr = 'donne les options pour introduire le vent',
+                 ang = 'gives option for managing the wind'),
+
+#             ------------------------------------
+              file_for_wind = BLOC (condition = 'Option_For_Wind == "Variable in time" or Option_For_Wind == "Variable in time and space"',
+#             ------------------------------------
+#                  ------------------------------------
+                   Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
+#                  ------------------------------------
+                          defaut = "give formated file 3"),
+              ), # fin bloc file_for_wind
+
+#             ------------------------------------
+              speed_for_wind = BLOC (condition = 'Option_For_Wind == "Constant in time and space"',
+#             ------------------------------------
+#                  ------------------------------------
+                   Speed_And_Direction_Of_Wind = SIMP( statut = 'o', defaut = (0.0, 0.0) , 
+#                  ------------------------------------
+                      typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
+                      fr = 'Donne la vitesse et la direction (en degres de 0 a 360, 0 etant y = 0 et x = +inf) du vent',
+                      ang = 'gives the speed and direction (degre (from 0 to 360), 0 given y = 0 anx x = +infinity)',),
+              ), # speed_for_wind
 
-           Option_For_Wind = SIMP( statut='o',typ='TXM', defaut=0 ,
-           into=["no wind","constant in time and space","variable in time","variable in time and space"],
-              fr = 'donne les options pour introduire le vent',
-               ang= 'gives option for managing the wind'
-           ),
-          file_for_wind = BLOC (condition = 'Option_For_Wind== "variable in time" or Option_For_Wind == "variable in time and space"',
-          Consigne = SIMP(statut="o",homo='information',typ="TXM", defaut=" give formated file 3"),
-          ),
-          speed_for_wind = BLOC (condition = 'Option_For_Wind== "constant in time and space"',
-            Speed_And_Direction_Of_Wind = SIMP( statut='o', defaut=(0.0, 0.0) , typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
-            fr = 'Donne la vitesse et la direction (en degres de 0 a 360, 0 etant y=0 et x=+inf) du vent',
-            ang= 'gives the speed and direction (degre (from 0 to 360), 0 given y=0 anx x=+infinity)',
-                 ),
-              ),
           ), # fin b_Wind
 
-          Value_Of_Atmospheric_Pressure = SIMP( statut='o',typ='R',
-          defaut=100000.0 ,
-          fr = 'donne la valeur de la pression atmospherique lorsquelle est constante en temps et en espace',
-          ang= 'gives the value of atmospheric pressure when it is contant in time and space',
-            ),
-
-          Rain_or_Evaporation=SIMP(statut='o',typ=bool,defaut=False),
-          b_Rain     =BLOC(condition = "Rain_or_Evaporation==True",
-            Rain_or_Evaporation_in_mm_perday=SIMP(statut='o',typ='I',defaut=0.),
-                         ),
-         ), # fin atmosphere
-
-          Friction_Data=SIMP(statut='o',typ=bool,defaut=False),
-          b_Friction  = BLOC(condition = "Friction_Data==True",
-          Friction_Setting=FACT(statut='o',
-             Friction_Data_File = SIMP( statut='o',
+#         ------------------------------------
+          Air_Pressure = SIMP(statut = 'o',typ = bool, defaut = False,
+#         ------------------------------------
+                fr = 'Permet de decider si l''on prend ou non en compte l''influence d''un champ de pression.',
+                ang = 'Provided to decide whether the influence of an atmosphere field is taken into account or not.'),
+
+#         ------------------------------------
+          b_air = BLOC(condition = "Air_Pressure == True",
+#         ------------------------------------
+#              ------------------------------------
+               Value_Of_Atmospheric_Pressure = SIMP( statut = 'o',typ = 'R',
+#              ------------------------------------
+                  defaut = 100000.0 ,
+                  fr = 'donne la valeur de la pression atmospherique lorsquelle est constante en temps et en espace',
+                  ang = 'gives the value of atmospheric pressure when it is contant in time and space',),
+           ), # fin b_air
+
+#         ------------------------------------
+          Rain_or_Evaporation = SIMP(statut = 'o',typ = bool,
+#         ------------------------------------
+              defaut = False,
+              fr  = 'Pour ajouter un apport ou une perte d''eau en surface.',
+              ang = 'to add or remove water at the free surface. ',),
+
+#         -----------------------------------
+          b_Rain = BLOC(condition = "Rain_or_Evaporation == True",
+#         ------------------------------------
+#              ------------------------------------
+               Rain_or_Evaporation_in_mm_perday = SIMP(statut = 'o',typ = 'I',defaut = 0.),
+#              ------------------------------------
+          ), # fin b_Rain
+
+    ), # fin atmosphere
+
+#    ------------------------------------
+     Friction_Data = SIMP(statut = 'o',typ = bool,defaut = False),
+#    ------------------------------------
+#    ------------------------------------
+     b_Friction = BLOC(condition = "Friction_Data == True",
+     Friction_Setting = FACT(statut = 'o',
+#    ------------------------------------
+#         ------------------------------------
+          Friction_Data_File = SIMP( statut = 'o',
+#         ------------------------------------
                typ = ('Fichier', ';;All Files (*)'),
                fr = 'fichier de donnees pour le frottement',
-               ang= 'friction data file',
-              ),
-              Depth_In_Friction_Terms = SIMP( statut='o',typ='TXM',
-               defaut= '1="nodal"' ,
-               into =('1="nodal"', '2="average"'),
-               fr = '1 : nodale 2 : moyenne',
-               ang= '1: nodal   2: average',
-             ),
-             Law_Of_Bottom_Friction = SIMP( statut='o',typ='TXM',
-             defaut='NO FRICTION' ,
-             into =('NO FRICTION', '1="HAALAND"', '2="CHEZY"', '3="STRICKLER"', '4="MANNING"', '5="NIKURADSE"','Log Law of Boundaries 6','Colebrooke_White Log 7'),
-             fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur le fond.',
-             ang= 'Selects the type of formulation used for the bottom friction.',
-             ),
-             b_Law_Friction  = BLOC(condition = "Law_Of_Bottom_Friction!=0",
-                     Friction_Coefficient = SIMP( statut='o',typ='R',
-                     defaut=50.0 ,
-                     fr = 'Fixe la valeur du coefficient de frottement pour la formulation choisie.  \
+               ang = 'friction data file',),
+
+#         ------------------------------------
+          Depth_In_Friction_Terms = SIMP( statut = 'o',typ = 'TXM',
+#         ------------------------------------
+               defaut = "Nodal" ,
+               into = ("Nodal", "Average"),),
+
+#         ------------------------------------
+          Law_Of_Bottom_Friction = SIMP( statut = 'o',typ = 'TXM',
+#         ------------------------------------
+               defaut = 'No friction' ,
+               into = ('No friction', 'Haaland', 'Chezy', 'Strickler', 'Manning', 'Nikuradse','Log law','Colebrooke_white'),
+               fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur le fond.',
+               ang = 'Selects the type of formulation used for the bottom friction.',),
+
+#              ------------------------------------
+               b_Law_Friction = BLOC(condition = "Law_Of_Bottom_Friction!= 'No friction'",
+#              ------------------------------------
+#                  ------------------------------------
+                   Friction_Coefficient = SIMP( statut = 'o',typ = 'R',
+#                  ------------------------------------
+                         defaut = 50.0 ,
+                         fr = 'Fixe la valeur du coefficient de frottement pour la formulation choisie.  \
 Attention, la signification de ce chiffre varie suivant la formule choisie : \
 1 : coefficient lineaire 2 : coefficient de Chezy 3 : coefficient de Strickler \
 4 : coefficient de Manning 5 : hauteur de rugosite de Nikuradse',
-    ang= 'Sets the value of the friction coefficient for the selected formulation. \
+                         ang = 'Sets the value of the friction coefficient for the selected formulation. \
 It is noteworthy that the meaning of this figure changes according to the selected formula (Chezy, Strickler, etc.) : \
-1 : linear coefficient 2 : Chezy coefficient 3 : Strickler coefficient 4 : Manning coefficient 5 : Nikuradse grain size',
-                   ),
-              ),
-             b_Colebrooke_White  = BLOC(condition ="Law_Of_Bottom_Friction =='Colebrooke_White Log 7'",
-                 Manning_Default_Value_For_Colebrook_white_Law = SIMP( statut='o',typ='R',
-                 defaut=0.02 ,
-                 fr = 'valeur par defaut du manning pour la loi de frottement de  Colebrook-White ',
-                 ang= 'Manning default value for the friction law of Colebrook-White ',
-                  ),
-            ),
-
-         Non_submerged_Vegetation_Friction = SIMP( statut='o',typ=bool,
-           defaut=False ,
-           fr = 'calcul du frottement du a la vegetation non submergee',
-           ang= 'friction calculation of the non-submerged vegetation',
-             ),
-          b_Non_Sub  = BLOC(condition =' Non_submerged_Vegetation_Friction == True',
-            Diameter_Of_Roughness_Elements = SIMP( statut='o',typ='R',
-              defaut=0.006 ,
-              fr = 'diametre des elements de frottements',
-              ang= 'diameter of roughness element',
-               ),
-
-          Spacing_Of_Roughness_Elements = SIMP( statut='o',typ='R',
-              defaut=0.14 ,
-              fr = 'espacement des elements de frottement',
-              ang= 'spacing of rouhness element',
-              ),
-            ),
-          Law_Of_Friction_On_Lateral_Boundaries = SIMP( statut='o',typ='TXM',
-             defaut=0 ,
-             into =('0="NO FRICTION"', '1="HAALAND"', '2="CHEZY"', '3="STRICKLER"', '4="MANNING"', '5="NIKURADSE"', '6="LOG LAW"', '7="COLEBROOK-WHITE"'),
-             fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur les parois laterales.',
-             ang= 'Selects the type of formulation used for the friction on lateral boundaries.',
-            ),
-          Roughness_Coefficient_Of_Boundaries = SIMP( statut='o',typ='R',
-            defaut=100.0 ,
-            fr = 'Fixe la valeur du coefficient de frottement sur les frontieres solides avec un regime turbulent rugueux\n\
+1 : linear coefficient 2 : Chezy coefficient 3 : Strickler coefficient 4 : Manning coefficient 5 : Nikuradse grain size',),
+              ), # Fin b_Law_Friction
+
+#              ------------------------------------
+               b_Colebrooke_White = BLOC(condition = "Law_Of_Bottom_Friction == 'Colebrooke_white'",
+#              ------------------------------------
+#                  ------------------------------------
+                   Manning_Default_Value_For_Colebrook_white_Law = SIMP( statut = 'o',typ = 'R',
+#                  ------------------------------------
+                       defaut = 0.02 ,
+                       fr = 'valeur par defaut du manning pour la loi de frottement de  Colebrook-White ',
+                       ang = 'Manning default value for the friction law of Colebrook-White ',),
+               ), # Fin b_Colebrooke_White
+
+#         ------------------------------------
+          Non_submerged_Vegetation_Friction = SIMP( statut = 'o',typ = bool,
+#         ------------------------------------
+              defaut = False ,
+              fr = 'calcul du frottement du a la vegetation non submergee',
+              ang = 'friction calculation of the non-submerged vegetation',),
+
+#              ------------------------------------
+               b_Non_Sub = BLOC(condition = ' Non_submerged_Vegetation_Friction == True',
+#              ------------------------------------
+#                  ------------------------------------
+                   Diameter_Of_Roughness_Elements = SIMP( statut = 'o',typ = 'R',
+#                  ------------------------------------
+                       defaut = 0.006 ,
+                       fr = 'diametre des elements de frottements',
+                       ang = 'diameter of roughness element',),
+
+#                  ------------------------------------
+                   Spacing_Of_Roughness_Elements = SIMP( statut = 'o',typ = 'R',
+#                  ------------------------------------
+                      defaut = 0.14 ,
+                      fr = 'espacement des elements de frottement',
+                      ang = 'spacing of rouhness element',),
+            ), # Fin b_Non_Sub
+
+#         ------------------------------------
+          Law_Of_Friction_On_Lateral_Boundaries = SIMP( statut = 'o',typ = 'TXM',
+#         ------------------------------------
+              defaut = "No friction" ,
+              into = ("No friction", "Haaland", "Chezy", "Strickler",  "Manning", "Nikuradse", "Log law", "Colebrook-white"),
+              fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur les parois laterales.',
+              ang = 'Selects the type of formulation used for the friction on lateral boundaries.',),
+
+# PNPNPN soizic ?Ne faut-il pas un bloc sur Law_Of_Friction_On_Lateral_Boundaries
+#         ------------------------------------
+          Roughness_Coefficient_Of_Boundaries = SIMP( statut = 'o',typ = 'R',
+#         ------------------------------------
+              defaut = 100.0 ,
+              fr = 'Fixe la valeur du coefficient de frottement sur les frontieres solides avec un regime turbulent rugueux\n\
  sur les bords du domaine.  meme convention que pour le coefficient de frottement',
-    ang= 'Sets the value of the friction coefficient of the solid boundary with the bed roughness option. Same meaning than friction coefficient',
-              ),
-          Maximum_Number_Of_Friction_Domains = SIMP( statut='o',typ='I',
-             defaut=10 ,
-             fr = 'nombre maximal de zones pouvant etre definies pour le frottement. Peut etre augmente si necessaire',
-             ang= 'maximal number of zones defined for the friction.  Could be increased if needed',
-              ),
-
-          Bottom_Smoothings = SIMP( statut='o',typ='I', defaut=0 ,
-    fr = 'Nombre de lissages effectues sur la topographie.  chaque lissage, effectue a l aide dune matrice de masse, est conservatif.\n\
+             ang = 'Sets the value of the friction coefficient of the solid boundary with the bed roughness option. Same meaning than friction coefficient',),
+
+#         ------------------------------------
+          Maximum_Number_Of_Friction_Domains = SIMP( statut = 'o',typ = 'I',
+#         ------------------------------------
+              defaut = 10 ,
+              fr = 'nombre maximal de zones pouvant etre definies pour le frottement. Peut etre augmente si necessaire',
+              ang = 'maximal number of zones defined for the friction.  Could be increased if needed',),
+
+#         ------------------------------------
+          Bottom_Smoothings = SIMP( statut = 'o',typ = 'I', defaut = 0 ,
+#         ------------------------------------
+              fr = 'Nombre de lissages effectues sur la topographie.  chaque lissage, effectue a l aide dune matrice de masse, est conservatif.\n\
 Utilise lorsque les donnees de bathymetrie donnent des resultats trop irreguliers apres interpolation.',
-     ang= 'Number of smoothings on bottom topography.  each smoothing is mass conservative.  \n\
-to be used when interpolation of bathymetry on the mesh gives very rough results.',
-     ),
-
-Threshold_Depth_For_Receding_Procedure=SIMP(statut='o',typ='R',defaut=0 ,
-fr ='Si > 0., declenche la procedure de ressuyage qui evite le franchissement parasite des digues mal discretisees',
-ang='If > 0., will trigger the receding procedure that avoids overwhelming of dykes which are too loosely discretised ',
-     ),
-
-     ),
-     ), # Fin de Friction
-     Parameter_Estimation=FACT(statut='f',
-           Parameter_Estimation = SIMP( statut='o',typ='TXM', into =["FRICTION","FROTTEMENT, STEADY"],
-           fr ='Liste des parametres a estimer', 
-          ang = 'List of parameter to be estimated',),
+              ang = 'Number of smoothings on bottom topography.  each smoothing is mass conservative.  \n\
+to be used when interpolation of bathymetry on the mesh gives very rough results.',),
+
+#         ------------------------------------
+          Threshold_Depth_For_Receding_Procedure = SIMP(statut = 'o',typ = 'R',defaut = 0 ,
+#         ------------------------------------
+              fr = 'Si > 0., declenche la procedure de ressuyage qui evite le franchissement parasite des digues mal discretisees',
+             ang = 'If > 0., will trigger the receding procedure that avoids overwhelming of dykes which are too loosely discretised ',),
+
+     ), # fin du fact Friction
+     ), # Fin du bloc Friction
+
+
+#    ------------------------------------
+     Parameter_Estimation = FACT(statut = 'f',
+#    ------------------------------------
+#         ------------------------------------
+          Parameter_Estimation = SIMP( statut = 'o',typ = 'TXM', into = ["Friction","Frottement","Steady"],
+#         ------------------------------------
+               fr = 'Liste des parametres a estimer', 
+               ang = 'List of parameter to be estimated',),
          
-      Definition_Of_Zones   = SIMP(typ=bool, statut='o', defaut=False,
-        fr = 'Declenche l''appel a def_zones, pour donner un numero de zone a chaque point',
-        ang = 'Triggers the call to def_zones to give a zone number to every point',
-       ),
-      b_def_zone = BLOC (condition = 'Definition_Of_Zones==True',
-      Consigne = SIMP(statut="o",homo='information',typ="TXM", defaut="complete DEF_ZONES subroutine"),
-       ),
-
-      Identification_Method = SIMP( statut='o',typ='TXM',
-        into=["list of tests", "gradient simple", "conj gradient", "Lagrange interp."],
-        defaut='gradient simple',
-      ),
-      Maximum_Number_Of_Iterations_For_Identification=SIMP(statut='o',typ='I',defaut=20,
-      fr = 'chaque iteration comprend au moins un calcul direct et un calcul adjoint',
-      ang = 'every iteration implies at least a direct and an adjoint computation',
-
-      ),
-      Cost_Function=SIMP(statut="o",typ='TXM', defaut = 'computed with h, u , v',
-      into=['computed with h, u , v', 'computed with c, u , v'],
-#     fr = '1 : calculee sur h, u , v  2 : calculee avec c, u , v'
-      ),
-      Tolerances_For_Identification=SIMP( statut='o',typ='R',
-       defaut = (1.E-3,1.E-3,1.E-3,1.E-4),
-       fr = '4 nombres : precision absolue sur H, U, V, et precision relative sur la fonction cout',
-       ang = '4 numbers: absolute precision on H, U V, and relative precision on the cost function',
-       min=4,max=4,)
-      ),
-
-
-
-        Number_Of_Sources = SIMP( statut='o',typ='I', defaut=0 ,),
-#PNPNPNPN saisir autant de source du le nombre
+#         ------------------------------------
+          Definition_Of_Zones = SIMP(typ = bool, statut = 'o', defaut = False,
+#         ------------------------------------
+               fr = 'Declenche l''appel a def_zones, pour donner un numero de zone a chaque point',
+               ang = 'Triggers the call to def_zones to give a zone number to every point',),
+
+#              ------------------------------------
+               b_def_zone = BLOC (condition = 'Definition_Of_Zones == True',
+#              ------------------------------------
+#                  ------------------------------------
+                   Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", defaut = "complete DEF_ZONES subroutine"),
+#                  ------------------------------------
+               ), # fin b_def_zone
+
+#         ------------------------------------
+          Identification_Method = SIMP( statut = 'o',typ = 'TXM',
+#         ------------------------------------
+               into = ["List of tests", "Gradient simple", "Conj gradient", "Lagrange interp."],
+               defaut = 'GRadient simple',),
+
+#         ------------------------------------
+          Maximum_Number_Of_Iterations_For_Identification = SIMP(statut = 'o',typ = 'I',defaut = 20,
+#         ------------------------------------
+              fr = 'chaque iteration comprend au moins un calcul direct et un calcul adjoint',
+              ang = 'every iteration implies at least a direct and an adjoint computation', ),
+
+#         ------------------------------------
+          Cost_Function = SIMP(statut = "f",typ = 'TXM', 
+#         ------------------------------------
+              defaut = 'Computed with h, u , v',
+              into = ['Computed with h, u , v', 'Computed with c, u , v'],),
+
+#         ------------------------------------
+         Tolerances_For_Identification = FACT( statut = 'o',
+#         ------------------------------------
+# PNPNPN recalculer en liste de 4 reels 
+#             ------------------------------------
+              Tolerance_sur_H = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, 
+#             ------------------------------------
+                   fr  = "precision absolue sur H",
+                   ang = "absolute precision on H",),
+#             ------------------------------------
+              Tolerance_sur_U = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, 
+#             ------------------------------------
+                   fr  = "precision absolue sur U",
+                   ang = "absolute precision on U",),
+#             ------------------------------------
+              Tolerance_sur_V = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, 
+#             ------------------------------------
+                   fr  = "precision absolue sur V",
+                   ang = "absolute precision on V",),
+#             ------------------------------------
+              Tolerance_sur_cout = SIMP( statut = 'o',typ = 'R', defaut=1.E-4, 
+#             ------------------------------------
+                   fr  = "precision relative sur la fonction cout",
+                   ang = "relative precision on the cost function",),
+                ),# fin Tolerances_For_Identification
+
+      ), #  fin fact Parameter_Estimation
+
+#    ------------------------------------
+     Number_Of_Sources = SIMP( statut = 'o',typ = 'I', defaut = 0 ,),
+#    ------------------------------------
 # Attention a la sortie a reformatter. voir page 68 du user manuel V7
-        sources_exist=BLOC(condition="Number_Of_Sources!=0",
-        Sources_File = SIMP( statut='o',typ = ('Fichier', 'All Files (*)',),
-          fr = 'Nom du fichier contenant les informations variables en temps des sources',
-           ang= 'Name of the file containing time-dependent information on sources',
-         ),
-        Source=FACT(statut='o',
-         max="**",
-         Abscissae_Of_Sources = SIMP( statut='o',
-          typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
-          fr = 'Valeurs des abscisses des sources de debit et de traceur.',
-          ang= 'abscissae of sources of flowrate and/or tracer',
-         ),
 
-          Ordinates_Of_Sources = SIMP( statut='o',
-          typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
-          fr = 'Valeurs des ordonnees des sources de debit et de traceur.',
-          ang= 'ordinates of sources of flowrate and/or tracer',
-          ),
-          Water_Discharge_Of_Sources = SIMP( statut='o',
-          typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
-          fr = 'Valeurs des debits des sources.',
-          ang= 'values of water discharge of sources',
-          ),
-          Velocities_Of_The_Sources_Along_X = SIMP( statut='f',
-          typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
-          fr = 'Vitesses du courant a chacune des sources. Si elles ne sont pas donnees, on considere que la vitesse est celle du courant',
-          ang= 'Velocities at the sources. If they are not given, the velocity of the flow at this location is taken',
-          ),
-          Velocities_Of_The_Sources_Along_Y = SIMP( statut='f',
-          typ=Tuple(2),validators=VerifTypeTuple(('R','R')),
-          fr = 'Vitesses du courant a chacune des sources',
-          ang= 'Velocities at the sources',
-        ),
-        ),
-       Type_Of_Sources=SIMP(statut='o',typ='TXM',into=["Normal","Dirac"],
-        fr = 'Source portee par une base elements finis  Source portee  par une fonction de Dirac',
-        ang= 'Source term multiplied by a finite element basis,  Source term multiplied by a Dirac function',
-        ),
-    ),#fin bloc source
-    Water_Density=SIMP(statut='o',typ='R',defaut=1000.,
+#       ------------------------------------
+        sources_exists = BLOC(condition = "Number_Of_Sources!= 0",
+#       ------------------------------------
+
+#           ------------------------------------
+            Sources_File = SIMP( statut = 'o',
+#           ------------------------------------
+                typ = ('Fichier', 'All Files (*)',),
+                fr = 'Nom du fichier contenant les informations variables en temps des sources',
+                ang = 'Name of the file containing time-dependent information on sources',),
+
+#PNPNPNPN saisir autant de source que le nombre
+#           ------------------------------------
+            Source = FACT(statut = 'o',
+#           ------------------------------------
+                 max = "**",
+#               ------------------------------------
+                Abscissae_Of_Sources = SIMP( statut = 'o',
+#               ------------------------------------
+                    typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
+                    fr = 'Valeurs des abscisses des sources de debit et de traceur.',
+                    ang = 'abscissae of sources of flowrate and/or tracer',),
+
+#               ------------------------------------
+                Ordinates_Of_Sources = SIMP( statut = 'o',
+#               ------------------------------------
+                   typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
+                   fr = 'Valeurs des ordonnees des sources de debit et de traceur.',
+                   ang = 'ordinates of sources of flowrate and/or tracer',),
+
+#               ------------------------------------
+                Water_Discharge_Of_Sources = SIMP( statut = 'o',
+#               ------------------------------------
+                   typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
+                   fr = 'Valeurs des debits des sources.',
+                   ang = 'values of water discharge of sources',),
+
+#               ------------------------------------
+                Velocities_Of_The_Sources_Along_X = SIMP( statut = 'f',
+#               ------------------------------------
+                   typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
+                   fr = 'Vitesses du courant a chacune des sources. Si elles ne sont pas donnees, on considere que la vitesse est celle du courant',
+                   ang = 'Velocities at the sources. If they are not given, the velocity of the flow at this location is taken',),
+
+#               ------------------------------------
+                Velocities_Of_The_Sources_Along_Y = SIMP( statut = 'f',
+#               ------------------------------------
+                   typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
+                   fr = 'Vitesses du courant a chacune des sources',
+                   ang = 'Velocities at the sources',),
+
+        ), # Fin du Fact Source
+
+#           ------------------------------------
+            Type_Of_Sources = SIMP(statut = 'o',typ = 'TXM',into = ["Normal","Dirac"],
+#           ------------------------------------
+                   fr = 'Source portee par une base elements finis  Source portee  par une fonction de Dirac',
+                   ang = 'Source term multiplied by a finite element basis,  Source term multiplied by a Dirac function',),
+
+    ),#fin bloc source - exits
+
+#  ------------------------------------
+    Water_Density = SIMP(statut = 'o',typ = 'R',defaut = 1000.,
+#  ------------------------------------
          fr = 'Fixe la valeur de la masse volumique de l eau.',
          ang = 'set the value of water density',
     ),
-    Gravity_Acceleration=SIMP(statut='o',typ='R',defaut=9.81,
+
+#  ------------------------------------
+    Gravity_Acceleration = SIMP(statut = 'o',typ = 'R',defaut = 9.81,
+#  ------------------------------------
         fr = 'Fixe la valeur de l acceleration de la pesanteur.',
         ang = 'Set the value of the acceleration due to gravity.',
       ),
 
+)# fin PHYSICAL_PARAMETERS
+
+# -----------------------------------------------------------------------
+POST_PROCESSING = PROC(nom = "POST_PROCESSING",op = None,
+# -----------------------------------------------------------------------
+
+#  ------------------------------------
+   Graphic_Printouts = FACT(statut = 'f',
+#  ------------------------------------
+#       ------------------------------------
+        Variables_For_Graphic_Printouts = SIMP(statut = 'o',max = "**", typ = 'TXM',
+#       ------------------------------------
+                into=[ "Velocity along X axis  (m/s)", "Velocity along Y axis  (m/s)", "Wave celerity  (m/s)", "Water depth  (m)",
+                      "Free surface elevation  (m)", "Bottom elevation  (m)", "Froude number  ", "Scalar flowrate of fluid  (m2/s)", 
+                      "Tracer 1 etc. ", "Turbulent kinetic energy in K-Epsilon model  (J/kg)", "Dissipation of turbulent energy  (W/kg)", 
+                      "Turbulent viscosity of K-Epsilon model  (m2/s)", "Flowrate along X axis  (m2/s)", "Flowrate along Y axis  (m2/s)",
+                      "Scalar velocity  (m/s)", "Wind along X axis  (m/s)", "Wind along Y axis  (m/s)", "Air pressure  (Pa)", 
+                      "Friction coefficient", "Drift along X  (m)", "Drift along Y  (m)", "Courant number ", "Supplementary variable N ", 
+                      "Supplementary variable O ", "Supplementary variable R ", "Supplementary variable Z  ", "Maximum elevation", 
+                      "Time of maximum elevation ", "Maximum velocity", "Time of maximum velocity", "Friction velocity  "],),
+
+#       ------------------------------------
+        Graphic_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1,
+#       ------------------------------------
+                    fr = 'Determine la periode en nombre de pas de temps d''impression des VARIABLES POUR LES SORTIES GRAPHIQUES \n\
+                         dans le FICHIER DES RESULTATS.',
+                    ang = 'Determines, in number of time steps, the printout period for the VARIABLES FOR GRAPHIC PRINTOUTS in the RESULTS FILE.' ,),
+
+#       ------------------------------------
+        Number_Of_First_TimeStep_For_Graphic_Printouts = SIMP(statut = 'o', typ = 'I',defaut = 1,
+#       ------------------------------------
+                   fr = 'Determine le nombre de pas de temps a partir duquel debute l''ecriture des resultats dans le listing.',
+                   ang = 'Determines the number of time steps after which the results are first written into the listing.'),
+                  ), # fin Graphic_Printouts
 
-)# fin PHYSICAL
-
-POST_PROCESSING=PROC(nom="POST_PROCESSING",op=None,
-   Graphic_Printouts=FACT(statut='f',
-        Graphic_Printout_Period=SIMP(statut='o', typ='I',defaut=1),
-        Number_Of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1),
-        Variables_For_Graphic_Printouts=SIMP(statut='o',max="**", typ='TXM',into=['a','b','c'],),
-        # ajouter le into
-   ),
 #PNPN Attention - il existe un mot clef Listing_Printouts
-  Listing_Printouts=FACT(statut='f',
+#  ------------------------------------
+  Listing_Printouts = FACT(statut = 'f',
+#  ------------------------------------
 
-          Results_File_Format = SIMP( statut='o',typ='TXM',into=['SERAFIN','MED','SERAFIND'], defaut='SERAFIN',
+#       ------------------------------------
+          Results_File_Format = SIMP( statut = 'o',typ = 'TXM',into = ['Serafin','MED','SerafinD'], defaut = 'Serafin',
+#       ------------------------------------
                                 fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\
      - SERAFIN : format standard simple precision pour Telemac;  \n\
      - SERAFIND: format standard double precision pour Telemac; \n\
@@ -1051,349 +1691,481 @@ POST_PROCESSING=PROC(nom="POST_PROCESSING",op=None,
      - MED     : MED format based on HDF5' ,
                                    ),
  
-          Results_File     = SIMP( statut='o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),
-                           fr='Nom du fichier dans lequel seront ecrits les resultats du calcul avec la periodicite donnee par le mot cle : PERIODE POUR LES SORTIES GRAPHIQUES.', 
-                          ang='Name of the file into which the computation results shall be written, the periodicity being given by the key-word: GRAPHIC PRINTOUT PERIOD.',
-                                ),
-        Listing_Printout_Period = SIMP(statut='o', typ='I',defaut=1,
-          fr  = 'Determine la periode en nombre de pas de temps d''impression des variables',
-          ang = 'Determines, in number of time steps, the printout period for the variables',
-        ),
-
-        Number_Of_First_TimeStep_For_Graphic_Printouts=SIMP(statut='o', typ='I',defaut=1),
-        Variables_To_Be_Printed=SIMP(statut='o',max="**", typ='TXM',into=['a','b','c']),
-   ),#Listing_Printouts
-
-   Formatted_Results_File = SIMP( statut='o',typ= ('Fichier','All Files (*)',),
+#PNPNPN Soizic ? il faudrait mettre les mots clefs dans le meme paragraphe
+#       ------------------------------------
+        Results_File = SIMP( statut = 'o', 
+#       ------------------------------------
+               typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),
+               fr = 'Nom du fichier dans lequel sont ecrits les resultats du calcul avec la periodicite donnee  PERIODE POUR LES SORTIES GRAPHIQUES.', 
+               ang = 'Name of the file into which the computation results shall be written, the periodicity being given by  GRAPHIC PRINTOUT PERIOD.',),
+#       ------------------------------------
+        Listing_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1,
+#       ------------------------------------
+          fr = 'Determine la periode en nombre de pas de temps d''impression des variables',
+          ang = 'Determines, in number of time steps, the printout period for the variables',),
+
+#       ------------------------------------
+        Variables_To_Be_Printed = SIMP(statut = 'o',max = "**", typ = 'TXM',
+#       ------------------------------------
+            into = [ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)",
+                   "Free surface elevation (m)", "Bottom elevation (m)", "Froude number", "Scalar flowrate of fluid (m2/s)",
+                   "Tracer", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)",
+                   "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along x axis (m2/s)", "Flowrate along y axis (m2/s)",
+                   "Scalar velocity (m/s)", "Wind along x axis (m/s)", "Wind along y axis (m/s)", "Air pressure (Pa)",
+                   "Friction coefficient", "Drift along x  (m)", "Drift along y  (m)", "Courant number",
+                   "Supplementary variable N", "Supplementary variable O", "Supplementary variable R", "Supplementary variable Z"]),
+
+   ),# fin Listing_Printouts
+
+#  ------------------------------------
+   Formatted_Results_File = SIMP( statut = 'f',
+#  ------------------------------------
+        typ = ('Fichier','All Files (*)',),
         fr = 'Fichier de resultats formate mis a la disposition de l utilisateur. \
 Les resultats a placer dans ce fichier seront a ecrire sur le canal 29.',
-       ang= 'Formatted file of results made available to the user.  \
-The results to be entered into this file shall be written on channel 29.',
-     ),
-
-
-   Debugger     = SIMP(typ=bool, statut='o', defaut=False),
-   Output_Of_Initial_Conditions = SIMP(typ=bool, statut='o', defaut=True,
+       ang = 'Formatted file of results made available to the user.  \
+The results to be entered into this file shall be written on channel 29.',),
+
+# PNPNPN --> a harmoniser . demander aux devpeurs
+#  ------------------------------------
+   Debugger = SIMP(typ = 'I' , statut = 'o', 
+#  ------------------------------------
+        defaut = 0,
+        into = [0,1],
+        fr= 'Pour imprimer la sequence des appels, mettre 1',
+        ang = 'If 1, calls of subroutines will be printed in the listing',),
+
+#  ------------------------------------
+   Output_Of_Initial_Conditions = SIMP(typ = bool, statut = 'o', 
+#  ------------------------------------
+        defaut = True,
         fr = 'Si Vrai, impression des conditions initiales dans les resultats',
-        ang = 'If True, output of initial conditions in the results'
-   ),
+        ang = 'If True, output of initial conditions in the results'),
 
-   Binary_Results_File = SIMP( statut='f', typ = ('Fichier', ';;All Files (*)',), 
-       fr = "Fichier de resultats code en binaire mis a la disposition de l'utilisateur.\n\
-Les resultats a placer dans ce fichier seront a ecrire sur le canal 28.",
-       ang = "Additional binary-coded result file made available to the user. \n\
-The results to be entered into this file shall be written on channel 28.",
-    ),
-
-     Information_About_Solver = SIMP(typ=bool, statut='f',defaut=False,
+#  ------------------------------------
+   Information_About_Solver = SIMP(typ = bool, statut = 'f',
+#  ------------------------------------
+       defaut = False,
        fr = "Si vrai, Donne a chaque pas de temps le nombre d'iterations necessaires a la convergence du solveur de l'etape de propagation.",
-     ang = "if True, prints the number of iterations that have been necessary to get the solution of the linear system.",
-      ),
-
-  Controls=FACT(
-    Controls_Section=SIMP(statut='o',typ=Tuple(2),validators=VerifTypeTuple(('I','I')),
-       fr = 'Couples de points (numeros globaux dans le maillage) entre lesquels les debits instantanes et cumules seront donnes.',
-       ang ='Couples of points (global numbers in the mesh) defining sections where the instantaneous and cumulated discharges will be given',
-          ),
-
-    Printing_Cumulated_Flowrates = SIMP( statut='o',typ=bool, defaut=False ,
-    fr = 'IMPRESSION DU FLUX CUMULE A TRAVERS LES SECTIONS DE CONTROLE',
-    ang= 'PRINTING THE CUMULATED FLOWRATES THROUGH CONTROL SECTIONS',
-     ),
-
-    Compatible_Computation_Of_Fluxes = SIMP( statut='o',typ=bool, defaut=False ,
-    fr = 'FLUX A TRAVERS LES SECTIONS DE CONTROLE, CALCUL COMPATIBLE AVEC LIMPERMEABILITE SOUS FORME FAIBLE',
-    ang= 'FLOWRATES THROUGH CONTROL SECTIONS, COMPUTATION COMPATIBLE WITH THE WEAK FORMULATION OF NO-FLUX BOUNDARY CONDITION',
-     ),
-   Sections_Input_File = SIMP( statut='f', typ = ('Fichier', 'All Files (*)'),
-    fr = 'sections input file, partitioned',
-    ang= 'sections input file, partitioned',
-     ),
-
-    Sections_Output_File = SIMP( statut='f', typ = ('Fichier', 'All Files (*)'),
-    fr = 'sections output file, written by the master',
-    ang= 'sections output file, written by the master',
-     ),
+       ang = "if True, prints the number of iterations that have been necessary to get the solution of the linear system.",),
 
+#  ------------------------------------
+   Binary_Results_File = SIMP( statut = 'f', 
+#  ------------------------------------
+         typ = ('Fichier', ';;All Files (*)',), 
+         fr = "Fichier de resultats code en binaire mis a la disposition de l'utilisateur.\n\
+Les resultats a placer dans ce fichier seront a ecrire sur le canal 28.",
+         ang = "Additional binary-coded result file made available to the user. \n\
+The results to be entered into this file shall be written on channel 28.",),
+
+#  ------------------------------------
+  Controls = FACT( statut='f',
+#  ------------------------------------
+#      ------------------------------------
+       Controls_Section = SIMP(statut = 'f',typ = Tuple(2),validators = VerifTypeTuple(('I','I')),
+#      ------------------------------------
+            fr = 'Couples de points (numeros globaux dans le maillage) entre lesquels les debits instantanes et cumules seront donnes.',
+            ang = 'Couples of points (global numbers in the mesh) defining sections where the instantaneous and cumulated discharges will be given',),
+
+#      ------------------------------------
+       Printing_Cumulated_Flowrates = SIMP( statut = 'o',typ = bool, defaut = False ,
+#      ------------------------------------
+            fr = 'impression du flux cumule a travers les sections de controle',
+            ang = 'printing the cumulated flowrates through control sections',),
+
+#      ------------------------------------
+       Compatible_Computation_Of_Fluxes = SIMP( statut = 'o',typ = bool, defaut = False ,
+#      ------------------------------------
+           fr = 'flux a travers les sections de controle, calcul compatible avec l impermeabilite sous forme faible',
+           ang = 'flowrates through control sections, computation compatible with the weak formulation of no-flux boundary condition',),
+
+#      ------------------------------------
+       Sections_Input_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'),
+#      ------------------------------------
+          fr = 'sections input file, partitioned',
+          ang = 'sections input file, partitioned',),
+
+#      ------------------------------------
+       Sections_Output_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'),
+#      ------------------------------------
+          fr = 'sections output file, written by the master',
+          ang = 'sections output file, written by the master',),
 
   ),# fin controls
-
-PRECONDITIONING = SIMP( statut='o',typ='I',
-    defaut=2 ,
-    fr = 'Permet de preconditionner le systeme de letape de propagation afin daccelerer la convergence lors de sa resolution.  - 0 : pas de preconditionnement;  - 2 : preconditionnement diagonal.  - 3 : preconditionnement diagonal-bloc  - 7 : preconditionnement de Crout par element ou segment  -11 : preconditionnement de Gauss-Seidel par element ou segment Certains preconditionnements sont cumulables (les diagonaux 2 ou 3 avec les autres) Pour cette raison on ne retient que les nombres premiers pour designer les preconditionnements. Si lon souhaite en cumuler plusieurs on formera le produit des options correspondantes.',
-    ang= 'Choice of the preconditioning in the propagation step linear system that the convergence is speeded up when it is being solved.  0: no preconditioning  2: diagonal preconditioning  3: diagonal preconditioning with the condensed matrix  7: Crouts preconditioning per element or segment 11: Gauss-Seidels preconditioning per element or segment Some operations (either 2 or 3 diagonal preconditioning) can be performed concurrently with the others. Only prime numbers are therefore kept to denote the preconditioning operations. When several of them are to be performed concurrently, the product of relevant options shall be made.',
-     ),
-
 ) # FIN POST-PRO
 
 
-# Attention calculer le logique BREACH 
-CONSTRUCTION_WORKS_MODELLING=PROC(nom="CONSTRUCTION_WORKS_MODELLING",op=None,
+# -----------------------------------------------------------------------
+CONSTRUCTION_WORKS_MODELLING = PROC(nom = "CONSTRUCTION_WORKS_MODELLING",op = None,
+# -----------------------------------------------------------------------
 
+# PNPNPN : Il faudrait harmoniser . soizic ?
 # Attention calculer le logique BREACH 
 
-        Number_Of_Culverts = SIMP( statut='o',typ='I',
-               defaut=0 ,
-          fr = 'Nombre de siphons traites comme des termes sources ou puits. Ces siphons doivent etre decrits comme des sources \
+#      ------------------------------------
+       Number_Of_Culverts = SIMP( statut = 'o',typ = 'I',
+#      ------------------------------------
+            defaut = 0 ,
+            fr = 'Nombre de siphons traites comme des termes sources ou puits. Ces siphons doivent etre decrits comme des sources \
 dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des siphons (voir la documentation ecrite)',
-          ang= 'Number of culverts treated as source terms.  They must be described as sources in the domain\
- and their features are given in the culvert data file (see written documentation)',
-           ),
-        culvert_exist=BLOC(condition="Number_Of_Culverts!=0",
-        Culvert_Data_File = SIMP( statut='o',typ = ('Fichier', 'All Files (*)',),
-            fr = 'Fichier de description des siphons presents dans le modele',
-            ang= 'Description of culvert existing in the model',
-        ),
-        ),
-
-          Number_Of_Tubes = SIMP( statut='o',typ='I',
-          defaut=0 ,
-          fr = 'Nombre de buses ou ponts traites comme des termes sources ou puits. Ces buses doivent etre decrits comme des sources\n\
+            ang = 'Number of culverts treated as source terms.  They must be described as sources in the domain\
+ and their features are given in the culvert data file (see written documentation)',),
+#           ------------------------------------
+            culvert_exists = BLOC(condition = "Number_Of_Culverts!= 0",
+#           ------------------------------------
+#               ------------------------------------
+                Culvert_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
+#               ------------------------------------
+                    fr = 'Fichier de description des siphons presents dans le modele',
+                    ang = 'Description of culvert existing in the model',),
+            ), # fin bloc culvert_exists
+
+#      ------------------------------------
+       Number_Of_Tubes = SIMP( statut = 'o',typ = 'I',
+#      ------------------------------------
+             defaut = 0 ,
+             fr = 'Nombre de buses ou ponts traites comme des termes sources ou puits. Ces buses doivent etre decrits comme des sources\n\
 dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des buses (voir la documentation ecrite)',
-          ang= 'Number of tubes or bridges treated as source terms.  They must be described as sources in the domain \n\
-and their features are given in the tubes data file (see written documentation)',
-        ),
-
-        b_Tubes= BLOC(condition="Number_Of_Tubes!=0",
-        Tubes_Data_File = SIMP( statut='o',
-           typ = ('Fichier', 'All Files (*)',),
-           fr = 'Fichier de description des buses/ponts presents dans le modele',
-           ang= 'Description of tubes/bridges existing in the model',
-          ),
-          ),
-
-      Number_Of_Weirs=SIMP(statut='o',typ='I',defaut=0,
-           fr = 'Nombre de seuils qui seront traites par des conditions aux limites. \n\
+             ang = 'Number of tubes or bridges treated as source terms.  They must be described as sources in the domain \n\
+and their features are given in the tubes data file (see written documentation)',), 
+#          ------------------------------------
+            b_Tubes = BLOC(condition = "Number_Of_Tubes!= 0",
+#          ------------------------------------
+#               ------------------------------------
+                Tubes_Data_File = SIMP( statut = 'o',
+#               ------------------------------------
+                    typ = ('Fichier', 'All Files (*)',),
+                    fr = 'Fichier de description des buses/ponts presents dans le modele',
+                    ang = 'Description of tubes/bridges existing in the model',),
+            ), # in bloc b_Tubes
+
+#      ------------------------------------
+       Number_Of_Weirs = SIMP(statut = 'o',typ = 'I',defaut = 0,
+#      ------------------------------------
+             fr = 'Nombre de seuils qui seront traites par des conditions aux limites. \n\
 Ces seuils doivent etre decrits comme des frontieres du domaine de calcul',
-           ang = 'Number of weirs that will be treated by boundary conditions.',
-     ),
-
-     b_Weirs= BLOC(condition="Number_Of_Weirs!=0",
-        Weirs_Data_File = SIMP( statut='o',
-        typ = ('Fichier', 'All Files (*)',),
-        fr = 'Fichier de description des seuils presents dans le modele',
-        ang= 'Description of weirs existing in the model',),
-
-#PNPN a passer an anglais avec une solution lisible
-     Type_Of_Weirs = SIMP( statut='o',typ='TXM',
-       into=["HORIZONTAL AVEC MEME NOMBRE DE NOEUDS AMONT/AVAL (Solution historique avec bord)",
-             "GENERALE (Nouvelle solution avec pts sources)"],
-       defaut= "HORIZONTAL AVEC MEME NOMBRE DE NOEUDS AMONT/AVAL (Solution historique avec bord)",
-       fr = 'Méthode de traitement des seuils ',
-       ang= 'Method for treatment of weirs',
-     ),
-
+             ang = 'Number of weirs that will be treated by boundary conditions.',
      ),
-
-     Breach=SIMP(statut='f',typ=bool,defaut=False,
+#          ------------------------------------
+           b_Weirs = BLOC(condition = "Number_Of_Weirs!= 0",
+#          ------------------------------------
+#               ------------------------------------
+                Weirs_Data_File = SIMP( statut = 'o',
+#               ------------------------------------
+                    typ = ('Fichier', 'All Files (*)',),
+                    fr = 'Fichier de description des seuils presents dans le modele',
+                    ang = 'Description of weirs existing in the model',),
+
+#              ------------------------------------
+               Type_Of_Weirs = SIMP( statut = 'o',typ = 'TXM',
+#              ------------------------------------
+                   into = ["Horizontal with same number of nodes upstream/downstream (Historical solution with bord)",
+                       "General (New solution with sources points)"],
+                   defaut = "Horizontal with same number of nodes upstream/downstream (Historical solution with bord)",
+                   fr = 'Méthode de traitement des seuils ',
+                   ang = 'Method for treatment of weirs',),
+          ),# fin b_Weirs
+
+#      ------------------------------------
+      Breach = SIMP(statut = 'f',typ = bool,defaut = False,
+#      ------------------------------------
          fr = 'Prise en compte de breches dans le calcul par modification altimetrique dans le maillage.',
-         ang = 'Take in account some breaches during the computation by modifying the bottom level of the mesh.',
-     ),
-     b_Breaches= BLOC (condition = 'Breach==True',
-         Breaches_Data_File = SIMP( statut='o',typ = ('Fichier', 'All Files (*)',),
-                fr = 'Fichier de description des breches',
-                ang= 'Description of breaches',
-         ),
-      ),
-      Vertical_Structures=SIMP(statut='o',typ=bool,defaut=False,
-      fr = 'Prise en compte de la force de trainee de structures verticales',
-      ang = 'drag forces from vertical structures are taken into account',
-      ),
-      maskob = BLOC (condition = 'Vertical_Structures==True',
-      Consigne = SIMP(statut="o",homo='information',typ="TXM", defaut="subroutine DRAGFO must then be implemented"),
-      ),
-) # FIn STRUCTURE
-TRACERS=PROC(nom="TRACERS",op=None,
-        Boundary_conditions=FACT(statut='o',
-       Treatment_Of_Fluxes_At_The_Boundaries   = SIMP( statut='f',typ='TXM',
-         into=["Priority to prescribed values","Priority to fluxes"],
-         fr='Utilise pour les schemas SUPG, PSI et N, \n\
+         ang = 'Take in account some breaches during the computation by modifying the bottom level of the mesh.',),
+
+#          ------------------------------------
+           b_Breaches = BLOC (condition = 'Breach == True',
+#          ------------------------------------
+#              ------------------------------------
+               Breaches_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
+#              ------------------------------------
+                   fr = 'Fichier de description des breches',
+                   ang = 'Description of breaches',),
+         ), # fin b_Breaches
+
+#     ------------------------------------
+      Vertical_Structures = SIMP(statut = 'o',typ = bool,defaut = False,
+#     ------------------------------------
+         fr = 'Prise en compte de la force de trainee de structures verticales',
+         ang = 'drag forces from vertical structures are taken into account',),
+
+#          ------------------------------------
+           maskob = BLOC (condition = 'Vertical_Structures == True',
+#          ------------------------------------
+#              ------------------------------------
+               Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
+#              ------------------------------------
+               defaut = "subroutine DRAGFO must then be implemented"),
+           ), # fin maskob
+
+) # Fin CONSTRUCTION_WORKS_MODELLING
+
+# -----------------------------------------------------------------------
+TRACERS = PROC(nom = "TRACERS",op = None,
+# -----------------------------------------------------------------------
+#      ------------------------------------
+       Boundary_conditions = FACT(statut = 'o',
+#      ------------------------------------
+#          ------------------------------------
+           Treatment_Of_Fluxes_At_The_Boundaries = SIMP( statut = 'f',typ = 'TXM',
+#          ------------------------------------
+               into = ["Priority to prescribed values","Priority to fluxes"],
+               fr = 'Utilise pour les schemas SUPG, PSI et N, \n\
 si Priorité aux flux, on ne retrouve pas exactement les valeurs imposees des traceurs,mais le flux est correct',
-         ang='Used so far only with the SUPG, PSI and N schemes.\n\
-if Priority to fluxes, Dirichlet prescribed values are not obeyed,but the fluxes are correct',
-        ),
+             ang = 'Used so far only with the SUPG, PSI and N schemes.\n\
+if Priority to fluxes, Dirichlet prescribed values are not obeyed,but the fluxes are correct',),
         ), # fin Boundary_conditions
-)          # FIN TRACERS
-
-GENERAL_PARAMETERS=PROC(nom="GENERAL_PARAMETERS",op=None,
-
-        Spherical_Coordinates=SIMP(typ=bool,statut='o',defaut=False,
-        fr = 'Choix des coordonnees spheriques pour la realisation du calcul ( pour les grands domaines de calcul).',
-        ang = 'Selection of spherical coordinates to perform the computation (for large computation domains).'
-        ),
-
-        b_Spher  = BLOC(condition = 'Spherical_Coordinates== True',
-            Latitude_Of_Origin_Point=SIMP(typ='R',statut='o',defaut=48.,
-              fr = 'Determine l origine utilisee pour le calcul de latitudes lorsque l on effectue un calcul en coordonnees spheriques.',
-              ang = 'Determines the origin used for computing latitudes when a computation is made in spherical coordinates.this latitude\n\
-is in particular used to compute the Coriolis force. In cartesian coordinates, Coriolis coefficient is considered constant.'
-              ),
-            Spatial_Projection_Type=SIMP(statut='o',typ='TXM',into=["MERCATOR","LATITUDE LONGITUDE"]),
-        ),
-        b_Spher_faux  = BLOC(condition = 'Spherical_Coordinates== False',
-           Spatial_Projection_Type=SIMP(statut='o',typ='TXM',into=["CARTESIAN, NOT GEOREFERENCED","MERCATOR","LATITUDE LONGITUDE"],
-           defaut="CARTESIAN, NOT GEOREFERENCED",),
-        ),
-)
-
-
-TURBULENCE=PROC(nom="TURBULENCE",op=None,
-
-    Turbulence_Model = SIMP( statut='o',typ='TXM', defaut="CONSTANT VISCOSITY", 
-   #into =('1="CONSTANT VISCOSITY"', '2="ELDER"', '3="K-EPSILON MODEL"', '4="SMAGORINSKI"'),
-   into =("Constant Viscosity", "Elder", "K-Epsilon Model", "Smagorinski"),
-    
-    fr = 'si on choisit loption 2 il ne faut pas oublier dajuster les deux valeurs du mot-cle : COEFFICIENTS ADIMENSIONNELS DE DISPERSION Si on choisit loption 3, ce meme parametre doit retrouver sa vraie valeur physique car elle est utilisee comme telle dans le modele de turbulence',
-    ang= 'When option 2 is chosen, the two values of key-word : NON-DIMENSIONAL DISPERSION COEFFICIENTS are used When option 3 is chosen, this parameter should recover its true physical value, since it is used as such in the turbulence model.',
-     ),
-
-    b_turbu_const=BLOC(condition='Turbulence_Model=="Constant Viscosity"',
-      Velocity_Diffusivity=SIMP( statut='o',typ='R',defaut=1.E-6,
-      fr='Fixe de facon uniforme pour l ensemble du domaine la valeur du coefficient de diffusion de viscosite globale (dynamique + turbulente).\n\
+)# FIN TRACERS
+
+# -----------------------------------------------------------------------
+GENERAL_PARAMETERS = PROC(nom = "GENERAL_PARAMETERS",op = None,
+# -----------------------------------------------------------------------
+
+#      ------------------------------------
+       Spherical_Coordinates = SIMP(typ = bool,statut = 'o',defaut = False,
+#      ------------------------------------
+           fr = 'Choix des coordonnees spheriques pour la realisation du calcul ( pour les grands domaines de calcul).',
+           ang = 'Selection of spherical coordinates to perform the computation (for large computation domains).'),
+
+#      ------------------------------------
+       b_Spher = BLOC(condition = 'Spherical_Coordinates == True',
+#      ------------------------------------
+#          ------------------------------------
+           Latitude_Of_Origin_Point = SIMP(typ = 'R',statut = 'o',defaut = 48.,
+#          ------------------------------------
+               fr = 'Determine l origine utilisee pour le calcul de latitudes lorsque l on effectue un calcul en coordonnees spheriques.',
+               ang = 'Determines the origin used for computing latitudes when a computation is made in spherical coordinates.this latitude\n\
+is in particular used to compute the Coriolis force. In cartesian coordinates, Coriolis coefficient is considered constant.'),
+
+#          ------------------------------------
+            Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM',
+#          ------------------------------------
+               into = ["Mercator","Latitude longitude"]),
+       ), # fin b_Spher
+
+#      ------------------------------------
+       b_Spher_faux = BLOC(condition = 'Spherical_Coordinates == False',
+#      ------------------------------------
+#          ------------------------------------
+           Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM',
+#          ------------------------------------
+               into = ["Cartesian, not georeferenced","Mercator","Latitude longitude"],
+               defaut = "Cartesian, not georeferenced",),
+       ), # fin b_Spher_faux
+
+) # Fin GENERAL_PARAMETERS
+
+
+# -----------------------------------------------------------------------
+TURBULENCE = PROC(nom = "TURBULENCE",op = None,
+# -----------------------------------------------------------------------
+# A Reclasser
+
+#    -----------------------------------------------------------------------
+     Turbulence_Model = SIMP( statut = 'o',typ = 'TXM', defaut = "Constant Viscosity", 
+#    -----------------------------------------------------------------------
+          into = ("Constant Viscosity", "Elder", "K-Epsilon Model", "Smagorinski"),
+          fr = 'Pour  Elder, il faut pas oublier d ajuster les deux valeurs du mot-cle : COEFFICIENTS ADIMENSIONNELS DE DISPERSION\n\
+Pour K-Epsilon Model, ce meme parametre doit retrouver sa vraie valeur physique car elle est utilisee comme telle dans le modele de turbulence',
+    ang = 'When Elder, the two values of key-word : NON-DIMENSIONAL DISPERSION COEFFICIENTS are used \n\
+When K-Epsilon Model, this parameter should recover its true physical value, since it is used as such in the turbulence model.',),
+
+#          ------------------------------------
+           b_turbu_const = BLOC(condition = 'Turbulence_Model == "Constant Viscosity"',
+#          ------------------------------------
+#              ------------------------------------
+               Velocity_Diffusivity = SIMP( statut = 'o',typ = 'R',
+#              ------------------------------------
+                   defaut = 1.E-6,
+                   fr = 'Fixe de facon uniforme pour l ensemble du domaine la valeur du coefficient de diffusion de viscosite globale (dynamique + turbulente).\n\
 Cette valeur peut avoir une influence non negligeable sur la forme et la taille des recirculations.',
-      ang = 'Sets, in an even way for the whole domain, the value of the coefficient of global (dynamic+turbulent) viscosity. \n\
+                   ang = 'Sets, in an even way for the whole domain, the value of the coefficient of global (dynamic+turbulent) viscosity. \n\
 this value may have a significant effect both on the shapes and sizes of recirculation zones.',),
-
-    ),
-    b_turbu_elder=BLOC(condition='Turbulence_Model=="Elder"',
- Non_Dimensional_Dispersion_Coefficients = SIMP (statut='o',
-          typ=Tuple(2),validators=VerifTypeTuple(('R','R')),defaut=(6.,0.6),
-          fr = 'coefficients longitudinal et transversal dans la formule de Elder.',
-           ang = 'Longitudinal and transversal coefficients in elder s formula.  Used only with turbulence model number 2',),
-    ),
-
-     Accuracy_Of_K = SIMP( statut='o',typ='R', defaut=1e-09 ,
-            fr = 'Fixe la precision demandee sur k pour le test darret dans letape de diffusion et termes sources du modele k-epsilon.',
-            ang= 'Sets the required accuracy for computing k in the diffusion and source terms step of the k-epsilon model.',
-     ),
-
-     Accuracy_Of_Epsilon = SIMP( statut='o',typ='R', defaut=1e-09 ,
-           fr = 'Fixe la precision demandee sur epsilon pour le test darret dans letape de diffusion et termes sources de k et epsilon.',
-           ang= 'Sets the required accuracy for computing epsilon in the diffusion and source-terms step of the k-epsilon model.',
-     ),
-     Time_Step_Reduction_For_K_epsilon_Model = SIMP( statut='f',typ='R', defaut=1.0 ,
-    fr = 'Coefficient reducteur du pas de temps pour le modele k-epsilon (qui est normalement identique a celui du systeme hydrodynamique).\n\
+            ), # fin b_turbu_const
+
+#          ------------------------------------
+           b_turbu_elder = BLOC(condition = 'Turbulence_Model == "Elder"',
+#          ------------------------------------
+#              ------------------------------------
+               Non_Dimensional_Dispersion_Coefficients = SIMP (statut = 'o',
+#              ------------------------------------
+                   typ = Tuple(2),validators = VerifTypeTuple(('R','R')),defaut = (6.,0.6),
+                   fr = 'coefficients longitudinal et transversal dans la formule de Elder.',
+                   ang = 'Longitudinal and transversal coefficients in elder s formula.  Used only with turbulence model number 2',),
+           ), # fin bloc b_turbu_elder
+
+# PNPN soizic ? ne faut-il pas un bloc
+#    -----------------------------------------------------------------------
+     Accuracy_Of_K = SIMP( statut = 'o',typ = 'R', defaut = 1e-09 ,
+#    -----------------------------------------------------------------------
+            fr = 'Fixe la precision demandee sur k pour le test d arret dans letape de diffusion et termes sources du modele k-epsilon.',
+            ang = 'Sets the required accuracy for computing k in the diffusion and source terms step of the k-epsilon model.',),
+
+# PNPN soizic ? ne faut-il pas un bloc
+#    -----------------------------------------------------------------------
+     Accuracy_Of_Epsilon = SIMP( statut = 'o',typ = 'R', defaut = 1e-09 ,
+#    -----------------------------------------------------------------------
+            fr = 'Fixe la precision demandee sur epsilon pour le test darret dans letape de diffusion et termes sources de k et epsilon.',
+            ang = 'Sets the required accuracy for computing epsilon in the diffusion and source-terms step of the k-epsilon model.',),
+
+#    -----------------------------------------------------------------------
+     Time_Step_Reduction_For_K_epsilon_Model = SIMP( statut = 'f',typ = 'R', defaut = 1.0 ,
+#    -----------------------------------------------------------------------
+           fr = 'Coefficient reducteur du pas de temps pour le modele k-epsilon (qui est normalement identique a celui du systeme hydrodynamique).\n\
 Utilisation deconseillee',
-    ang= 'Time step reduction coefficient for k-epsilon model (which is normally same the same as that of the hydrodynamic system).\n\
-Not recommended for use.',
-     ),
-     Maximum_Number_Of_Iterations_For_K_And_Epsilon = SIMP( statut='o',typ='I',
-               defaut=50 ,
-           fr = 'Fixe le nombre maximum diterations accepte lors de la resolution du systeme diffusion-termes sources du modele k-epsilon.',
-           ang= 'Sets the maximum number of iterations that are acceptable when solving the diffusion source-terms step of the k-epsilon model.',
-     ),
-     Turbulence_Model_For_Solid_Boundaries = SIMP( statut='o',typ='TXM',
-         defaut='rough' ,
-         #into =('1=smooth', '2=rough'),
-         into =('smooth', 'rough'),
-         fr = 'Permet de choisir le regime de turbulence aux parois ',
-         ang= 'Provided for selecting the type of friction on the walls',
-     ),
-      Solver_For_K_epsilon_Model = SIMP( statut='o',typ='TXM',
-            defaut="conjugate gradient" ,
-   into =("conjugate gradient", "conjugate residuals", "conjugate gradient on normal equation", "minimum error", "conjugate gradient squared",\
-        "conjugate gradient squared stabilised (cgstab)", "gmres", "direct"),
-   #into =('1="conjugate gradient"', '2="conjugate residuals"', '3="conjugate gradient on normal equation"', '4="minimum error"', '5="conjugate gradient squared"', '6="conjugate gradient squared stabilised (cgstab)"', '7="gmres (see option for the solver for k-epsilon model)"', '8="direct"'),
-    fr = 'Permet de choisir le solveur utilise pour la resolution du systeme du modele k-epsilon',
-    ang= 'Makes it possible to select the solver used for solving the system of the k-epsilon model.',
-     ),
+           ang = 'Time step reduction coefficient for k-epsilon model (which is normally same the same as that of the hydrodynamic system).\n\
+Not recommended for use.',),
 
-       b_gmres=BLOC(condition='Solver_For_K_epsilon_Model=="gmres"',
-         Option_For_The_Solver_For_K_epsilon_Model = SIMP( statut='o',typ='I',
-              defaut=2 ,val_min=2,val_max=15,
-              fr = 'le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 7)',
-              ang= 'dimension of the krylov space try values between 2 and 7',),
-            ),
-
-      Preconditioning_For_K_epsilon_Model = SIMP( statut='o',typ='TXM',
-         defaut='diagonal' ,
-         into =("diagonal", "no preconditioning", "diagonal condensed", "crout", "diagonal and crout", "diagonal condensed and crout"),
-   #into =('2="diagonal"', '0="no preconditioning"', '3="diagonal condensed"', '7="crout"', '14="diagonal and crout"', '21="diagonal condensed and crout"'),
+#    -----------------------------------------------------------------------
+     Maximum_Number_Of_Iterations_For_K_And_Epsilon = SIMP( statut = 'o',typ = 'I',
+#    -----------------------------------------------------------------------
+           defaut = 50 ,
+           fr = 'Fixe le nombre maximum diterations accepte lors de la resolution du systeme diffusion-termes sources du modele k-epsilon.',
+           ang = 'Sets the maximum number of iterations that are acceptable when solving the diffusion source-terms step of the k-epsilon model.',),
+
+#    -----------------------------------------------------------------------
+     Turbulence_Model_For_Solid_Boundaries = SIMP( statut = 'o',typ = 'TXM',
+#    -----------------------------------------------------------------------
+           defaut = 'Rough' ,
+           into = ('Smooth', 'Rough'),
+           fr = 'Permet de choisir le regime de turbulence aux parois ',
+           ang = 'Provided for selecting the type of friction on the walls',),
+
+#    -----------------------------------------------------------------------
+      Solver_For_K_epsilon_Model = SIMP( statut = 'o',typ = 'TXM',
+#    -----------------------------------------------------------------------
+           defaut = "Conjugate gradient" ,
+           into = ("Conjugate gradient", "Conjugate residuals", "Conjugate gradient on normal equation", 
+                   "Minimum error", "Conjugate gradient squared", "Conjugate gradient squared stabilised (CGSTAB)",
+                   "GMRES", "Direct"),
+           fr = 'Permet de choisir le solveur utilise pour la resolution du systeme du modele k-epsilon',
+           ang = 'Makes it possible to select the solver used for solving the system of the k-epsilon model.',),
+
+#        -----------------------------------------------------------------------
+         b_gmres = BLOC(condition = 'Solver_For_K_epsilon_Model == "GMRES"',
+#        -----------------------------------------------------------------------
+#            -----------------------------------------------------------------------
+             Option_For_The_Solver_For_K_epsilon_Model = SIMP( statut = 'o',typ = 'I',
+#            -----------------------------------------------------------------------
+                  defaut = 2 ,val_min = 2,val_max = 15,
+                  fr = 'le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 7)',
+                  ang = 'dimension of the krylov space try values between 2 and 7',),
+         ), # fin bloc b_gmres
+
+#    -----------------------------------------------------------------------
+     Preconditioning_For_K_epsilon_Model = SIMP( statut = 'o',typ = 'TXM',
+#    -----------------------------------------------------------------------
+         defaut = 'Diagonal' ,
+         into = ("Diagonal", "No preconditioning", "Diagonal condensed", "Crout", "Diagonal and crout", "Diagonal condensed and crout"),
          fr = 'Permet de preconditionner le systeme relatif au modele k-epsilon',
-         ang= 'Preconditioning of the linear system in the diffusion step of the k-epsilon model.',
+         ang = 'Preconditioning of the linear system in the diffusion step of the k-epsilon model.',
      ),
-    Information_About_K_Epsilon_Model=SIMP(statut='o',typ=bool,defaut=True,
+#    -----------------------------------------------------------------------
+     Information_About_K_Epsilon_Model = SIMP(statut = 'o',typ = bool,defaut = True,
+#    -----------------------------------------------------------------------
         fr = 'Donne le nombre d iterations du solveur de l etape de diffusion et termes sources du modele k-epsilon.',
         ang = 'Gives the number of iterations of the solver in the diffusion and source terms step of the k-epsilon model.',
      ),
-)# fin Turbulence
-
-PARTICULE=PROC(nom="PARTICULE",op=None,
-      Number_Of_Drogues=SIMP(statut='o',typ='I',defaut=0,
+)# fin TURBULENCE
+
+# -----------------------------------------------------------------------
+PARTICULE = PROC(nom = "PARTICULE",op = None,
+# -----------------------------------------------------------------------
+#    -----------------------------------------------------------------------
+      Number_Of_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 0,
+#    -----------------------------------------------------------------------
       fr = 'Permet d''effectuer un suivi de flotteurs',
-      ang = 'Number of drogues in the computation.',
-      ),
+      ang = 'Number of drogues in the computation.',),
 
-
-     Algae_Transport_Model = SIMP( statut='o',typ=bool, defaut=False ,
+#    -----------------------------------------------------------------------
+     Algae_Transport_Model = SIMP( statut = 'o',typ = bool, defaut = False ,
+#    -----------------------------------------------------------------------
           fr = 'Si oui, les flotteurs seront des algues',
-          ang= 'If yes, the floats or particles will be algae',
-     ),
-
-    algae_exist=BLOC(condition="Algae_Transport_Model==True", 
-
-       Algae_Type = SIMP( statut='o',typ='TXM',
-        into=["SPHERE", "IRIDAEA FLACCIDA (CLOSE TO ULVA)", "PELVETIOPSIS LIMITATA", "GIGARTINA LEPTORHYNCHOS"],
-        defaut="Sphere",
-        fr = 'Type des algues. Pour le choix 1 les algues seront modelisees comme des spheres, pour les autres choix voir Gaylord et al. (1994).',
-         ang= 'Algae type. For choice 1 the algae particles will be modeled as spheres, and for the other choices see Gaylord et al. (1994)',
-       ),
-      Diametre_Of_Algae = SIMP( statut='o',typ='R', defaut=0.1 ,
-            fr = 'Diametre des algues en m',
-            ang= 'Diametre of algae in m',
-       ),
-
-      Density_Of_Algae = SIMP( statut='o',typ='R', defaut=1050.0 ,
-         fr = 'Masse volumique des algues en kg/m3',
-         ang= 'Density of algae in kg/m3',
-        ),
-
-      Thickness_Of_Algae = SIMP( statut='o',typ='R', defaut=0.01 ,
-         fr = 'Epaisseur des algues en m',
-         ang= 'Thickness of algae in m',
-       ),
+          ang = 'If yes, the floats or particles will be algae',),
+
+#        -----------------------------------------------------------------------
+         algae_exists = BLOC(condition = "Algae_Transport_Model == True", 
+#        -----------------------------------------------------------------------
+#            -----------------------------------------------------------------------
+             Algae_Type = SIMP( statut = 'o',typ = 'TXM',
+#            -----------------------------------------------------------------------
+                 into = ["Sphere", "Iridaea flaccida (close to ulva)", "Pelvetiopsis limitata", "Gigartina leptorhynchos"],
+                 defaut = "Sphere",
+                 fr = 'Type des algues. Pour sphere les algues seront modelisees comme des spheres, pour les autres choix voir Gaylord et al.(1994)',
+                 ang = 'Algae type. For sphere, the algae particles will be modeled as spheres, for the other choices see Gaylord et al.(1994)',),
+
+#            -----------------------------------------------------------------------
+             Diametre_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 0.1 ,
+#            -----------------------------------------------------------------------
+                 fr = 'Diametre des algues en m',
+                 ang = 'Diametre of algae in m',),
+
+#            -----------------------------------------------------------------------
+             Density_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 1050.0 ,
+#            -----------------------------------------------------------------------
+                 fr = 'Masse volumique des algues en kg/m3',
+                 ang = 'Density of algae in kg/m3',),
+
+#            -----------------------------------------------------------------------
+             Thickness_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 0.01 ,
+#            -----------------------------------------------------------------------
+                 fr = 'Epaisseur des algues en m',
+                 ang = 'Thickness of algae in m',),
       ), # fin algae
 
 
-    Oil_Spill_Model = SIMP( statut='o',typ=bool, defaut=False ,
-    fr = 'pour declencher le modele de derive de nappes, dans ce cas le fichier de commandes migrhycar est necessaire',
-    ang= 'will trigger the oil spill model, in this case the migrhycar steering file is needed',
-     ),
-
-    oil_exist=BLOC(condition="Oil_Spill_Model==True", 
-        Oil_Spill_Steering_File = SIMP( statut='o',typ=('Fichier', 'All Files (*)',),
-         fr = 'Contient les donnees pour le modele de derive de nappes',
-         ang= 'Contains data for the oil spill model',
-     ),
-     ),
-
-     drogues_exist=BLOC(condition="Number_Of_Drogues!=0 or Algae_Transport_Model==True or Oil_Spill_Model==True",
-        Drogues_File = SIMP( statut='o',typ = ('Fichier', 'All Files (*)',),
-           fr = 'Fichier de resultat avec les positions des flotteurs',
-           ang = 'Results file with positions of drogues',
-         ),
-
-     Printout_Period_For_Drogues=SIMP(statut='o',typ='I',defaut=1,
-       fr = 'Nombre de pas de temps entre 2 sorties de positions de flotteurs dans le fichier des resultats binaire supplementaire\n\
+#    -----------------------------------------------------------------------
+     Oil_Spill_Model = SIMP( statut = 'o',typ = bool, defaut = False ,
+#    -----------------------------------------------------------------------
+         fr = 'pour declencher le modele de derive de nappes, dans ce cas le fichier de commandes migrhycar est necessaire',
+         ang = 'will trigger the oil spill model, in this case the migrhycar steering file is needed',),
+
+#    -----------------------------------------------------------------------
+     oil_exists = BLOC(condition = "Oil_Spill_Model == True", 
+#    -----------------------------------------------------------------------
+#        -----------------------------------------------------------------------
+         Oil_Spill_Steering_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
+#        -----------------------------------------------------------------------
+             fr = 'Contient les donnees pour le modele de derive de nappes',
+             ang = 'Contains data for the oil spill model',),
+     ), # fin oil_exists
+
+#    -----------------------------------------------------------------------
+     drogues_exists = BLOC(condition = "Number_Of_Drogues!= 0 or Algae_Transport_Model == True or Oil_Spill_Model == True",
+#    -----------------------------------------------------------------------
+#        -----------------------------------------------------------------------
+         Drogues_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
+#        -----------------------------------------------------------------------
+             fr = 'Fichier de resultat avec les positions des flotteurs',
+             ang = 'Results file with positions of drogues',),
+
+#        -----------------------------------------------------------------------
+         Printout_Period_For_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 1,
+#        -----------------------------------------------------------------------
+              fr = 'Nombre de pas de temps entre 2 sorties de positions de flotteurs dans le fichier des resultats binaire supplementaire\n\
 N affecte pas la qualite du calcul de la trajectoire',
-       ang = 'Number of time steps between 2 outputs of drogues positions in the binary file',
-     ),
-    ),#fin drogues ou algae
-
-
-    Stochastic_Diffusion_Model = SIMP( statut='o',typ='I', defaut=0 ,
-    fr = 'Pour les particules : flotteurs, algues, hydrocarbures',
-    ang= 'Meant for particles: drogues, algae, oil spills',
-     ),
-
-    Number_Of_Lagrangian_Drifts = SIMP( statut='o',typ='I', defaut=0 ,
-      fr = 'Permet deffectuer simultanement plusieurs calculs de derives lagrangiennes initiees a des pas differents',
-      ang= 'Provided for performing several computations of lagrangian drifts starting at different times.',
-      ),
-
-    b_cons=BLOC(condition="Number_Of_Lagrangian_Drifts !=0",
-     Consigne = SIMP(statut="o",homo='information',typ="TXM", 
-     defaut="Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word in POST_PROCESSING SECTION"),
-    ),
+              ang = 'Number of time steps between 2 outputs of drogues positions in the binary file',),
+     ),#fin drogues ou algae
+
+
+#    -----------------------------------------------------------------------
+     Stochastic_Diffusion_Model = SIMP( statut = 'o',typ = 'I', defaut = 0 ,
+#    -----------------------------------------------------------------------
+         fr = 'Pour les particules : flotteurs, algues, hydrocarbures',
+         ang = 'Meant for particles: drogues, algae, oil spills',),
+
+#    -----------------------------------------------------------------------
+     Number_Of_Lagrangian_Drifts = SIMP( statut = 'o',typ = 'I', defaut = 0 ,
+#    -----------------------------------------------------------------------
+         fr = 'Permet deffectuer simultanement plusieurs calculs de derives lagrangiennes initiees a des pas differents',
+         ang = 'Provided for performing several computations of lagrangian drifts starting at different times.',),
+
+#    -----------------------------------------------------------------------
+     b_cons = BLOC(condition = "Number_Of_Lagrangian_Drifts != 0",
+#    -----------------------------------------------------------------------
+#        -----------------------------------------------------------------------
+         Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", 
+#        -----------------------------------------------------------------------
+             defaut = "Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word in POST_PROCESSING SECTION"),
+    ), # fin b_cons
 
 )# fin PARTICULE
index da0461f28738b497589ebe703a85e99fcce7cd09..39a16c5a15198716ac5ef368550e0d47b935675a 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>465</width>
-    <height>271</height>
+    <width>466</width>
+    <height>206</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -16,8 +16,8 @@
   <property name="sizeGripEnabled">
    <bool>true</bool>
   </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0" colspan="2">
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
     <layout class="QHBoxLayout" name="horizontalLayout_3">
      <item>
       <widget class="QLabel" name="TLNb">
@@ -54,7 +54,7 @@ p, li { white-space: pre-wrap; }
      </item>
     </layout>
    </item>
-   <item row="1" column="1">
+   <item>
     <spacer name="verticalSpacer_2">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
@@ -67,154 +67,131 @@ p, li { white-space: pre-wrap; }
      </property>
     </spacer>
    </item>
-   <item row="2" column="0" colspan="2">
-    <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <item>
+    <widget class="QComboBox" name="CBChoixCata">
+     <property name="enabled">
+      <bool>true</bool>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>400</width>
+       <height>41</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>150</width>
+       <height>16777215</height>
+      </size>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>45</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
-      <widget class="QLabel" name="textLabel1_2">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
+      <spacer name="horizontalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
        </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="buttonCancel">
        <property name="minimumSize">
         <size>
-         <width>0</width>
-         <height>0</height>
+         <width>140</width>
+         <height>40</height>
         </size>
        </property>
+       <property name="toolTip">
+        <string/>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+       </property>
        <property name="text">
-        <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;table style=&quot;-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;&quot;&gt;
-&lt;tr&gt;
-&lt;td style=&quot;border: none;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:large;&quot;&gt;Veuillez choisir celle avec laquelle&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:large;&quot;&gt; vous souhaitez travailler&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</string>
+        <string>&amp;Cancel</string>
        </property>
-       <property name="scaledContents">
-        <bool>false</bool>
+       <property name="shortcut">
+        <string/>
        </property>
-       <property name="wordWrap">
-        <bool>false</bool>
+       <property name="autoDefault">
+        <bool>true</bool>
        </property>
       </widget>
      </item>
      <item>
-      <spacer name="horizontalSpacer_2">
+      <spacer name="horizontalSpacer">
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
        <property name="sizeHint" stdset="0">
         <size>
-         <width>38</width>
+         <width>40</width>
          <height>20</height>
         </size>
        </property>
       </spacer>
      </item>
      <item>
-      <widget class="QComboBox" name="CBChoixCata">
-       <property name="enabled">
-        <bool>true</bool>
-       </property>
+      <widget class="QPushButton" name="buttonOk">
        <property name="minimumSize">
         <size>
-         <width>125</width>
-         <height>41</height>
+         <width>140</width>
+         <height>40</height>
         </size>
        </property>
-       <property name="maximumSize">
-        <size>
-         <width>150</width>
-         <height>16777215</height>
-        </size>
+       <property name="toolTip">
+        <string>Validate choice</string>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+
+</string>
+       </property>
+       <property name="text">
+        <string>&amp;OK</string>
+       </property>
+       <property name="shortcut">
+        <string/>
+       </property>
+       <property name="autoDefault">
+        <bool>true</bool>
+       </property>
+       <property name="default">
+        <bool>true</bool>
        </property>
       </widget>
      </item>
     </layout>
    </item>
-   <item row="3" column="0">
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>45</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item row="4" column="0" colspan="2">
-    <widget class="QFrame" name="frame3">
-     <property name="frameShape">
-      <enum>QFrame::StyledPanel</enum>
-     </property>
-     <property name="frameShadow">
-      <enum>QFrame::Raised</enum>
-     </property>
-     <layout class="QHBoxLayout" name="horizontalLayout">
-      <item>
-       <widget class="QPushButton" name="buttonOk">
-        <property name="minimumSize">
-         <size>
-          <width>81</width>
-          <height>41</height>
-         </size>
-        </property>
-        <property name="text">
-         <string>&amp;OK</string>
-        </property>
-        <property name="shortcut">
-         <string/>
-        </property>
-        <property name="autoDefault">
-         <bool>true</bool>
-        </property>
-        <property name="default">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <spacer name="horizontalSpacer">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item>
-       <widget class="QPushButton" name="buttonCancel">
-        <property name="minimumSize">
-         <size>
-          <width>81</width>
-          <height>41</height>
-         </size>
-        </property>
-        <property name="text">
-         <string>&amp;Cancel</string>
-        </property>
-        <property name="shortcut">
-         <string/>
-        </property>
-        <property name="autoDefault">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
   </layout>
  </widget>
  <layoutdefault spacing="6" margin="11"/>
index b6b5ef62ba099b7767a7280a714677248c3af41c..3640c806c2cae5e9ff2139763fd06a618a57dc3c 100644 (file)
              <height>32</height>
             </size>
            </property>
+           <property name="toolTip">
+            <string>filter commands</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">background-color : rgb(248,247,246)</string>
            </property>
         </property>
         <item>
          <widget class="QRadioButton" name="RBalpha">
+          <property name="toolTip">
+           <string>affiche les commandes par ordre alphabetique</string>
+          </property>
           <property name="text">
            <string>Alphabetique</string>
           </property>
         </item>
         <item>
          <widget class="QRadioButton" name="RBGroupe">
+          <property name="toolTip">
+           <string>affiche les commandes selon les thèmes</string>
+          </property>
           <property name="text">
            <string>Par Groupe</string>
           </property>
index bebea7923ae2bf43b71acacd4e58971440902999..a0a44f98d25902ceac2e48eede081fd18efd6151 100644 (file)
@@ -13,6 +13,9 @@
   <property name="windowTitle">
    <string>Rechercher dans le JDC</string>
   </property>
+  <property name="toolTip">
+   <string>Next</string>
+  </property>
   <widget class="QLineEdit" name="LERecherche">
    <property name="geometry">
     <rect>
index d63b663594a9ab771c38b42126818c33cb2e3e1b..d8841e108fcf68960cdc44ffa11de91a8bec15a6 100644 (file)
@@ -6,20 +6,14 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>695</width>
-    <height>610</height>
+    <width>458</width>
+    <height>561</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Sélection de valeurs</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <property name="spacing">
-    <number>0</number>
-   </property>
-   <property name="margin">
-    <number>0</number>
-   </property>
+  <layout class="QVBoxLayout" name="verticalLayout_3">
    <item>
     <widget class="QTextEdit" name="TBtext">
      <property name="minimumSize">
     </widget>
    </item>
    <item>
-    <layout class="QGridLayout" name="gridLayout">
-     <item row="0" column="0" rowspan="2">
+    <spacer name="verticalSpacer_2">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>10</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
       <widget class="QGroupBox" name="BGSeparateur">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
        <property name="title">
         <string>Separateur</string>
        </property>
        </layout>
       </widget>
      </item>
-     <item row="0" column="2">
-      <widget class="QPushButton" name="BImportSel">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="minimumSize">
-        <size>
-         <width>130</width>
-         <height>31</height>
-        </size>
-       </property>
-       <property name="toolTip">
-        <string>validation de la saisie</string>
-       </property>
-       <property name="styleSheet">
-        <string notr="true">background-color:rgb(104,110,149);
-color :white;
-border-radius : 12px
-</string>
-       </property>
-       <property name="text">
-        <string>&amp;Ajouter Selection</string>
-       </property>
-       <property name="shortcut">
-        <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
-       </property>
-       <property name="autoDefault">
-        <bool>true</bool>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item row="1" column="1">
+     <item>
       <spacer name="horizontalSpacer">
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
        <property name="sizeHint" stdset="0">
         <size>
-         <width>148</width>
+         <width>40</width>
          <height>20</height>
         </size>
        </property>
       </spacer>
      </item>
-     <item row="1" column="2">
-      <widget class="QPushButton" name="BImportTout">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="minimumSize">
-        <size>
-         <width>130</width>
-         <height>31</height>
-        </size>
-       </property>
-       <property name="toolTip">
-        <string>validation de la saisie</string>
-       </property>
-       <property name="styleSheet">
-        <string notr="true">background-color:rgb(104,110,149);
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <widget class="QPushButton" name="BImportSel">
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>40</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background-color:rgb(104,110,149);
 color :white;
 border-radius : 12px
 </string>
-       </property>
-       <property name="text">
-        <string>&amp;Importer Tout</string>
-       </property>
-       <property name="shortcut">
-        <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
-       </property>
-       <property name="autoDefault">
-        <bool>true</bool>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
+         </property>
+         <property name="text">
+          <string>Ajouter Selection</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="BImportTout">
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>40</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+         </property>
+         <property name="text">
+          <string>Importer Tout</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
      </item>
     </layout>
    </item>
index 583ec5f2735562213a7bb2fc6fb7a741298ffae2..3c44ae63125899619d5361edbb9c052c08c6b23d 100644 (file)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>951</width>
-    <height>65</height>
+    <height>73</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -86,6 +86,9 @@
            <property name="focusPolicy">
             <enum>Qt::StrongFocus</enum>
            </property>
+           <property name="toolTip">
+            <string>Affiche le rapport de validité du mot-clef</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
        <property name="focusPolicy">
         <enum>Qt::StrongFocus</enum>
        </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
     </layout>
    </item>
   </layout>
-  <zorder>RBPoubelle</zorder>
  </widget>
  <customwidgets>
   <customwidget>
index e0fdbf330d20216d9b2f20eb2ed405622ee7bcc6..56ccd6b9a65d746d063e79d606d8afbb25cf8304 100644 (file)
@@ -85,6 +85,9 @@
          <height>25</height>
         </size>
        </property>
+       <property name="toolTip">
+        <string>Affiche le rapport de validité du mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
@@ -209,6 +212,9 @@ QComboBox:on {
        <height>25</height>
       </size>
      </property>
+     <property name="toolTip">
+      <string>Détruit le mot-clef</string>
+     </property>
      <property name="styleSheet">
       <string notr="true">border : 0px</string>
      </property>
index dcd7903bed836e5d00dd47c29463b7ab1ba61845..7e0d68776f2afbbda56e5129a5853b15107295a1 100644 (file)
@@ -467,7 +467,7 @@ border-radius : 12px
             <enum>Qt::ClickFocus</enum>
            </property>
            <property name="toolTip">
-            <string>Affiche les commandes possibles</string>
+            <string>Affiche le formulaire de la commande précédente</string>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color:rgb(104,110,149);
@@ -513,7 +513,7 @@ border-radius : 12px
             <enum>Qt::ClickFocus</enum>
            </property>
            <property name="toolTip">
-            <string>Affiche les commandes possibles</string>
+            <string>Affiche le formulaire de la commande suivante</string>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color:rgb(104,110,149);
index 038db797f08c7239d4a0b72300de5063c0bc80ae..1446037bb4a7ba14856d4edc114d130368910dc6 100644 (file)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>1031</width>
-    <height>203</height>
+    <height>198</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -32,9 +32,9 @@
    <string notr="true">background-color : rgb(224,223,222);
 font : 'times' 9px</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
+  <layout class="QVBoxLayout" name="verticalLayout_3">
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout_3">
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
      <item>
       <widget class="QFrame" name="frame_2">
        <property name="sizePolicy">
@@ -81,7 +81,7 @@ font : 'times' 9px</string>
            </size>
           </property>
           <property name="toolTip">
-           <string>Affiche le rapport de validité de la commande</string>
+           <string/>
           </property>
           <property name="styleSheet">
            <string notr="true">border : 0px</string>
@@ -202,29 +202,7 @@ font : 'times' 9px</string>
       </widget>
      </item>
      <item>
-      <layout class="QVBoxLayout" name="verticalLayout_4">
-       <property name="spacing">
-        <number>0</number>
-       </property>
-       <property name="sizeConstraint">
-        <enum>QLayout::SetFixedSize</enum>
-       </property>
-       <item>
-        <spacer name="verticalSpacer_2">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeType">
-          <enum>QSizePolicy::Fixed</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>5</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
         <widget class="QPushButton" name="bCatalogue">
          <property name="sizePolicy">
@@ -249,7 +227,7 @@ border-radius : 12px
 </string>
          </property>
          <property name="text">
-          <string>&amp;Catalogue</string>
+          <string>&amp;Commandes</string>
          </property>
          <property name="shortcut">
           <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
@@ -263,20 +241,100 @@ border-radius : 12px
         </widget>
        </item>
        <item>
-        <spacer name="verticalSpacer_3">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeType">
-          <enum>QSizePolicy::Fixed</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>5</height>
-          </size>
-         </property>
-        </spacer>
+        <layout class="QHBoxLayout" name="horizontalLayout_3">
+         <item>
+          <widget class="QPushButton" name="bAvant">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le formulaire de la commande précédente</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>&lt;&lt;</string>
+           </property>
+           <property name="shortcut">
+            <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+           </property>
+           <property name="autoDefault">
+            <bool>true</bool>
+           </property>
+           <property name="default">
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="bApres">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le formulaire de la commande suivante</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>&gt;&gt;</string>
+           </property>
+           <property name="shortcut">
+            <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+           </property>
+           <property name="autoDefault">
+            <bool>true</bool>
+           </property>
+           <property name="default">
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
+        </layout>
        </item>
       </layout>
      </item>
@@ -311,7 +369,7 @@ border-radius : 12px
         <x>0</x>
         <y>0</y>
         <width>1013</width>
-        <height>117</height>
+        <height>107</height>
        </rect>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout">
index a00da8c5114b87b5dcba7fa1c1cd3b8452d15c59..f27b700a82e43ab3b6072211bc7391614e31d7b9 100644 (file)
@@ -79,6 +79,9 @@
        <property name="focusPolicy">
         <enum>Qt::ClickFocus</enum>
        </property>
+       <property name="toolTip">
+        <string>Affiche le rapport de validité du mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
      <property name="focusPolicy">
       <enum>Qt::ClickFocus</enum>
      </property>
+     <property name="toolTip">
+      <string>Détruit le mot-clef</string>
+     </property>
      <property name="styleSheet">
       <string notr="true">border : 0px</string>
      </property>
index cdb04163d80665d4baa0ccd20f0088319810c4f0..1a0f1e5920ad90e07149e6ed9e8fe5eea0322ba3 100644 (file)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>936</width>
-    <height>29</height>
+    <height>52</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -79,6 +79,9 @@
        <property name="focusPolicy">
         <enum>Qt::ClickFocus</enum>
        </property>
+       <property name="toolTip">
+        <string>Affiche le repport de validité du mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
      <property name="focusPolicy">
       <enum>Qt::ClickFocus</enum>
      </property>
+     <property name="toolTip">
+      <string>Détruit le mot-clef</string>
+     </property>
      <property name="styleSheet">
       <string notr="true">border : 0px</string>
      </property>
index 54e07bc8c4e72c276b20b573e7918b17c1df1e3c..af22f6b8152fe8db149acab105d6fa1b6c3ae8d8 100644 (file)
@@ -92,6 +92,9 @@ border: 1px solid gray;
            <property name="focusPolicy">
             <enum>Qt::ClickFocus</enum>
            </property>
+           <property name="toolTip">
+            <string>Affiche le rapport de validation du mot-clef</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
@@ -288,6 +291,9 @@ border: 1px solid gray;
            <property name="focusPolicy">
             <enum>Qt::ClickFocus</enum>
            </property>
+           <property name="toolTip">
+            <string>Remonte la ligne</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
@@ -323,6 +329,9 @@ border: 1px solid gray;
            <property name="focusPolicy">
             <enum>Qt::ClickFocus</enum>
            </property>
+           <property name="toolTip">
+            <string>Descend la ligne</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
@@ -358,6 +367,9 @@ border: 1px solid gray;
            <property name="focusPolicy">
             <enum>Qt::ClickFocus</enum>
            </property>
+           <property name="toolTip">
+            <string>supprime une ligne</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
@@ -393,6 +405,9 @@ border: 1px solid gray;
            <property name="focusPolicy">
             <enum>Qt::ClickFocus</enum>
            </property>
+           <property name="toolTip">
+            <string>Ajoute une ligne</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
@@ -446,6 +461,9 @@ border: 1px solid gray;
          <property name="focusPolicy">
           <enum>Qt::ClickFocus</enum>
          </property>
+         <property name="toolTip">
+          <string>Montre l'ensemble des valeurs</string>
+         </property>
          <property name="styleSheet">
           <string notr="true">border : 0px</string>
          </property>
@@ -505,6 +523,9 @@ border: 1px solid gray;
            <property name="focusPolicy">
             <enum>Qt::ClickFocus</enum>
            </property>
+           <property name="toolTip">
+            <string>Sélectionne depuis Salome</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
@@ -540,6 +561,9 @@ border: 1px solid gray;
            <property name="focusPolicy">
             <enum>Qt::ClickFocus</enum>
            </property>
+           <property name="toolTip">
+            <string>Visualise dans Salome</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
@@ -594,6 +618,9 @@ border: 1px solid gray;
          <property name="focusPolicy">
           <enum>Qt::ClickFocus</enum>
          </property>
+         <property name="toolTip">
+          <string>Ouvre un fichier de sélection des valeurs</string>
+         </property>
          <property name="styleSheet">
           <string notr="true">border:0px</string>
          </property>
@@ -645,6 +672,9 @@ border: 1px solid gray;
          <property name="focusPolicy">
           <enum>Qt::ClickFocus</enum>
          </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
          <property name="styleSheet">
           <string notr="true">border : 0px</string>
          </property>
index 807828df7a0e0bf04c596f53cdc01bfe3274e66a..56a5a1c06ad4b912c1b2e90e97159737e31e3cff 100644 (file)
@@ -86,6 +86,9 @@
              <height>35</height>
             </size>
            </property>
+           <property name="toolTip">
+            <string>affiche le rapport de validation du mot-clef</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
          <height>31</height>
         </size>
        </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
index 9f626e6645a75404a2d9cfec1588e646c3aae046..92df18af6c702c88186b8fc1a12d51af9107a8c1 100644 (file)
@@ -86,6 +86,9 @@
              <height>35</height>
             </size>
            </property>
+           <property name="toolTip">
+            <string>Affiche le rapport de validation du mot-clef</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
       <number>0</number>
      </property>
      <item>
-      <widget class="QScrollArea" name="scrollArea_2">
+      <widget class="QScrollArea" name="scrollAreaRE">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
          <horstretch>0</horstretch>
        <property name="alignment">
         <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
        </property>
-       <widget class="QWidget" name="verticalWidgetLEChoisi">
+       <widget class="QWidget" name="verticalWidgetLEChoisis">
         <property name="geometry">
          <rect>
           <x>0</x>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
-        <layout class="QVBoxLayout" name="CBLayout_2">
+        <layout class="QVBoxLayout" name="CBChoisis">
          <property name="spacing">
           <number>0</number>
          </property>
              <height>31</height>
             </size>
            </property>
+           <property name="toolTip">
+            <string>Remonte d'une ligne</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
              <height>31</height>
             </size>
            </property>
+           <property name="toolTip">
+            <string>Descend d'une ligne</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
              <height>31</height>
             </size>
            </property>
+           <property name="toolTip">
+            <string>Détruit une ligne</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
              <height>31</height>
             </size>
            </property>
+           <property name="toolTip">
+            <string>ajoute une ligne</string>
+           </property>
            <property name="styleSheet">
             <string notr="true">border : 0px</string>
            </property>
            <height>31</height>
           </size>
          </property>
+         <property name="toolTip">
+          <string>visualise l'ensemble des valeurs</string>
+         </property>
          <property name="styleSheet">
           <string notr="true">border : 0px</string>
          </property>
          <height>31</height>
         </size>
        </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
index 7b621ae75e6d6e96063272de450047476f13d02b..0b3f18c406914527f023536d63af423e7bd0890e 100644 (file)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>951</width>
-    <height>25</height>
+    <height>29</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -73,6 +73,9 @@
          <height>25</height>
         </size>
        </property>
+       <property name="toolTip">
+        <string>affiche le rapport de validation du mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
        <height>25</height>
       </size>
      </property>
+     <property name="toolTip">
+      <string>Détruit le mot-clef</string>
+     </property>
      <property name="styleSheet">
       <string notr="true">border : 0px</string>
      </property>
index ac6a258e03dd8f0c59962a7c3a6d62f090154f26..76d3d38837133282c688b02850e05d3f19e22c6d 100644 (file)
@@ -79,6 +79,9 @@
        <property name="focusPolicy">
         <enum>Qt::ClickFocus</enum>
        </property>
+       <property name="toolTip">
+        <string>Affiche le rapport de validation du mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
@@ -202,6 +205,9 @@ border:0px;</string>
      <property name="focusPolicy">
       <enum>Qt::ClickFocus</enum>
      </property>
+     <property name="toolTip">
+      <string>Détruit le mot-clef</string>
+     </property>
      <property name="styleSheet">
       <string notr="true">border : 0px</string>
      </property>
index 7d8ef344b4dffc02a1e154f6796fff4a4f366ff9..12d233c1bf213ead1a31c1277c108340645abdf7 100644 (file)
@@ -82,6 +82,9 @@
          <height>25</height>
         </size>
        </property>
+       <property name="toolTip">
+        <string>Affiche le rapport de validité du mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
        <height>25</height>
       </size>
      </property>
+     <property name="toolTip">
+      <string>Détruit le mot-clef</string>
+     </property>
      <property name="styleSheet">
       <string notr="true">border : 0px</string>
      </property>
index 3ab50b98de69192088530a600082092784319372..2755801b0635062e16c2bae57851e1fd56ead107 100644 (file)
@@ -76,6 +76,9 @@
          <height>25</height>
         </size>
        </property>
+       <property name="toolTip">
+        <string>Affiche le rapport de validité du mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
@@ -188,6 +191,9 @@ border:0px;</string>
          <height>25</height>
         </size>
        </property>
+       <property name="toolTip">
+        <string>affiche l'explorateur de fichier</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
@@ -214,6 +220,9 @@ border:0px;</string>
          <height>25</height>
         </size>
        </property>
+       <property name="toolTip">
+        <string>ouvre le fichier choisi</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border:0px</string>
        </property>
@@ -268,6 +277,9 @@ border:0px;</string>
          <height>25</height>
         </size>
        </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
diff --git a/UiQT4/desWidgetSimpTuple.ui b/UiQT4/desWidgetSimpTuple.ui
deleted file mode 100644 (file)
index 46471d0..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>WidgetPlusieursBase</class>
- <widget class="QWidget" name="WidgetPlusieursBase">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>1062</width>
-    <height>84</height>
-   </rect>
-  </property>
-  <property name="sizePolicy">
-   <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="minimumSize">
-   <size>
-    <width>1062</width>
-    <height>30</height>
-   </size>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QHBoxLayout" name="horizontalLayout_2">
-   <property name="spacing">
-    <number>0</number>
-   </property>
-   <property name="margin">
-    <number>0</number>
-   </property>
-   <item>
-    <layout class="QVBoxLayout" name="verticalLayout_2">
-     <item>
-      <layout class="QHBoxLayout" name="horizontalLayout">
-       <item>
-        <widget class="QToolButton" name="RBValide">
-         <property name="minimumSize">
-          <size>
-           <width>21</width>
-           <height>31</height>
-          </size>
-         </property>
-         <property name="styleSheet">
-          <string notr="true">border : 0px</string>
-         </property>
-         <property name="text">
-          <string>...</string>
-         </property>
-         <property name="icon">
-          <iconset>
-           <normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/ast-green-ball.png</normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/ast-green-ball.png</iconset>
-         </property>
-         <property name="iconSize">
-          <size>
-           <width>32</width>
-           <height>32</height>
-          </size>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QLabel" name="label">
-         <property name="minimumSize">
-          <size>
-           <width>300</width>
-           <height>24</height>
-          </size>
-         </property>
-         <property name="frameShape">
-          <enum>QFrame::NoFrame</enum>
-         </property>
-         <property name="text">
-          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0055ff;&quot;&gt;Label&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
-     <item>
-      <spacer name="verticalSpacer">
-       <property name="orientation">
-        <enum>Qt::Vertical</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>40</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <widget class="QScrollArea" name="scrollArea">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>0</width>
-       <height>52</height>
-      </size>
-     </property>
-     <property name="maximumSize">
-      <size>
-       <width>16777215</width>
-       <height>678</height>
-      </size>
-     </property>
-     <property name="frameShape">
-      <enum>QFrame::NoFrame</enum>
-     </property>
-     <property name="widgetResizable">
-      <bool>true</bool>
-     </property>
-     <property name="alignment">
-      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
-     </property>
-     <widget class="QWidget" name="scrollAreaWidgetContents">
-      <property name="geometry">
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>571</width>
-        <height>65</height>
-       </rect>
-      </property>
-      <property name="minimumSize">
-       <size>
-        <width>571</width>
-        <height>0</height>
-       </size>
-      </property>
-      <layout class="QVBoxLayout" name="verticalLayoutLabel">
-       <property name="spacing">
-        <number>0</number>
-       </property>
-       <property name="leftMargin">
-        <number>0</number>
-       </property>
-       <property name="topMargin">
-        <number>6</number>
-       </property>
-       <property name="rightMargin">
-        <number>0</number>
-       </property>
-       <property name="bottomMargin">
-        <number>6</number>
-       </property>
-       <item>
-        <widget class="QLineEdit" name="labelVal1">
-         <property name="styleSheet">
-          <string notr="true">background:rgb(210,210,210)</string>
-         </property>
-         <property name="frame">
-          <bool>false</bool>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QLineEdit" name="labelVal2">
-         <property name="enabled">
-          <bool>true</bool>
-         </property>
-         <property name="styleSheet">
-          <string notr="true">background:rgb(240,240,240)</string>
-         </property>
-         <property name="frame">
-          <bool>false</bool>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <layout class="QVBoxLayout" name="verticalLayout">
-     <item>
-      <layout class="QHBoxLayout" name="horizontalLayout_3">
-       <property name="sizeConstraint">
-        <enum>QLayout::SetFixedSize</enum>
-       </property>
-       <item>
-        <widget class="QToolButton" name="RBPoubelle">
-         <property name="minimumSize">
-          <size>
-           <width>21</width>
-           <height>31</height>
-          </size>
-         </property>
-         <property name="maximumSize">
-          <size>
-           <width>21</width>
-           <height>31</height>
-          </size>
-         </property>
-         <property name="styleSheet">
-          <string notr="true">border : 0px</string>
-         </property>
-         <property name="text">
-          <string>...</string>
-         </property>
-         <property name="icon">
-          <iconset>
-           <normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png</normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png</iconset>
-         </property>
-         <property name="iconSize">
-          <size>
-           <width>32</width>
-           <height>32</height>
-          </size>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QToolButton" name="RBButton1">
-         <property name="styleSheet">
-          <string notr="true">border : 0px</string>
-         </property>
-         <property name="text">
-          <string>...</string>
-         </property>
-         <property name="icon">
-          <iconset>
-           <normaloff>../../../../../../home/A96028/parametres-outils-icone-9314-64.png</normaloff>../../../../../../home/A96028/parametres-outils-icone-9314-64.png</iconset>
-         </property>
-         <property name="iconSize">
-          <size>
-           <width>32</width>
-           <height>32</height>
-          </size>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QToolButton" name="RBButton2">
-         <property name="styleSheet">
-          <string notr="true">border : 0px</string>
-         </property>
-         <property name="text">
-          <string>...</string>
-         </property>
-         <property name="icon">
-          <iconset>
-           <normaloff>../../../../../../home/A96028/gestionnaire-fichiers-icone-6566-64.png</normaloff>../../../../../../home/A96028/gestionnaire-fichiers-icone-6566-64.png</iconset>
-         </property>
-         <property name="iconSize">
-          <size>
-           <width>32</width>
-           <height>32</height>
-          </size>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QToolButton" name="RBButton3">
-         <property name="styleSheet">
-          <string notr="true">border:0px</string>
-         </property>
-         <property name="text">
-          <string>...</string>
-         </property>
-         <property name="icon">
-          <iconset>
-           <normaloff>../../../../../../home/A96028/verre-loupe-icone-6087-64.png</normaloff>../../../../../../home/A96028/verre-loupe-icone-6087-64.png</iconset>
-         </property>
-         <property name="iconSize">
-          <size>
-           <width>32</width>
-           <height>32</height>
-          </size>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
-     <item>
-      <spacer name="verticalSpacer_2">
-       <property name="orientation">
-        <enum>Qt::Vertical</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>20</width>
-         <height>40</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
index dfbb2df9661cddfa11c45c61b516b4710fb98893..3ad23a9c564aa40fc27ae97b68d7255bcfb2a674 100644 (file)
@@ -82,6 +82,9 @@
        <property name="focusPolicy">
         <enum>Qt::ClickFocus</enum>
        </property>
+       <property name="toolTip">
+        <string>Affiche le rapport de validité du mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
@@ -194,6 +197,9 @@ border:0px;</string>
        <property name="focusPolicy">
         <enum>Qt::ClickFocus</enum>
        </property>
+       <property name="toolTip">
+        <string>Séléctionne dans Salomé</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
@@ -235,6 +241,9 @@ border:0px;</string>
        <property name="focusPolicy">
         <enum>Qt::ClickFocus</enum>
        </property>
+       <property name="toolTip">
+        <string>Visualise dans Salomé</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border:0px</string>
        </property>
@@ -286,6 +295,9 @@ border:0px;</string>
        <property name="focusPolicy">
         <enum>Qt::ClickFocus</enum>
        </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
index 56833fa7c771d9d905d922d2dd1007dfbdb5cdc3..b6fa563b706df9ec008ebf139b8e9d6dd287b610 100644 (file)
@@ -82,6 +82,9 @@
        <property name="focusPolicy">
         <enum>Qt::ClickFocus</enum>
        </property>
+       <property name="toolTip">
+        <string>Affiche le rapport de validité du mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
@@ -248,6 +251,9 @@ border:0px;</string>
      <property name="focusPolicy">
       <enum>Qt::ClickFocus</enum>
      </property>
+     <property name="toolTip">
+      <string>Détruit le mot-clef</string>
+     </property>
      <property name="styleSheet">
       <string notr="true">border : 0px</string>
      </property>
index 6988dfea1a7661d58846ed6cbc5b3198fc29a7e7..632362e4fc8f1fbc53449ba23ab362617239413f 100644 (file)
@@ -79,6 +79,9 @@
        <property name="focusPolicy">
         <enum>Qt::ClickFocus</enum>
        </property>
+       <property name="toolTip">
+        <string>Affiche le rapport de validité du mot-clef</string>
+       </property>
        <property name="styleSheet">
         <string notr="true">border : 0px</string>
        </property>
@@ -269,6 +272,9 @@ border:0px;</string>
      <property name="focusPolicy">
       <enum>Qt::ClickFocus</enum>
      </property>
+     <property name="toolTip">
+      <string>Détruit le mot-clef</string>
+     </property>
      <property name="styleSheet">
       <string notr="true">border : 0px</string>
      </property>
index d98c57ccb3e3466c5799b71655ef7aa11c47a4af..2fb1b8bd81ccb568bb02e43cedfc7468b9e60386 100644 (file)
@@ -11,7 +11,7 @@ PY_FILES = desSelectVal.py desViewTexte.py  desChoixCommandes.py desWidgetComman
         desChoixCata.py desWidgetPlusieursInto.py desWidgetPlusieursIntoOrdonne.py desBaseWidget.py desWidgetOptionnel.py \
         desWidgetSimpFichier.py desWidgetSimpTxt.py desRecherche.py desWidgetCommentaire.py\
        desWidgetTuple2.py desWidgetTuple3.py desWidgetParam.py desWidgetHeure.py desWidgetDate.py\
-        desWidgetVide.py desWidgetInformation.py desVisu.py
+        desWidgetVide.py desWidgetInformation.py desVisu.py desSelectVal.py
 
 QM_FILES=eficas_en.qm