]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
modif PSEN
authorpascale.noyret <pascale.noyret@edf.fr>
Tue, 21 Jul 2015 08:30:38 +0000 (10:30 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Tue, 21 Jul 2015 08:30:38 +0000 (10:30 +0200)
18 files changed:
InterfaceQT4/composimp.py
InterfaceQT4/feuille.py
InterfaceQT4/monWidgetHeure.py
InterfaceQT4/monWidgetPlusieursInto.py
InterfaceQT4/monWidgetSimpBase.py
Noyau/N_VALIDATOR.py
PSEN_Eficas/ExtractGeneratorandLoadList.py [new file with mode: 0755]
PSEN_Eficas/PSEN_Cata.py
PSEN_Eficas/opsPSEN.py [new file with mode: 0755]
PSEN_Eficas/prefs_PSEN.py
UiQT4/desBaseWidget.ui
UiQT4/desChoixCommandes.ui
UiQT4/desWidgetDate.ui
UiQT4/desWidgetHeure.ui
UiQT4/eficas_en.qm
UiQT4/eficas_fr.ts
generator/generator_PSEN.py [changed mode: 0644->0755]
generator/generator_dicoImbrique.py

index decf706257391945cbd2c9981a83b117f0c75322..802a188d129d34565ef0f5a0cfaf9b24e79787c5 100644 (file)
@@ -142,6 +142,7 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
         # Gestion d'une seule valeur (eventuellement un tuple ou un complexe)
         if maDefinition.max == 1 :
 
+        # A verifier
           if maDefinition.into != [] and maDefinition.into != None:
             if len(maDefinition.into) < 4 :
               from monWidgetRadioButton import MonWidgetRadioButton
@@ -218,7 +219,12 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
 
         # Gestion des listes
         else :
-          if maDefinition.into != [] and maDefinition.into != None:
+          #if maDefinition.into != [] and maDefinition.into != None:
+          # Attention pas fini --> on attend une liste de ASSD avec ordre
+          if self.item.wait_assd() and self.item.is_list_SansOrdreNiDoublon():
+               from monWidgetPlusieursInto import MonWidgetPlusieursInto
+               widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+          elif self.item.has_into():
             if self.item.is_list_SansOrdreNiDoublon():
                from monWidgetPlusieursInto import MonWidgetPlusieursInto
                widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
index 1b11cbf0621a1b0557c515c223d7d31c130d21a0..8eef0582d88dd587380924139c5193ae3c057b91 100644 (file)
@@ -79,30 +79,16 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel):
        #  self.debutToolTip=nomTraduit+"\n"
        longueur=QFontMetrics(self.label.font()).width(nomTraduit)
        if longueur >= nomMax :
-         print "je formate"
          nouveauNom=self.formate(nomTraduit)
-         print"________"
-         print nouveauNom
-         print"________"
-         print self
-         #self.label.setTextFormat(Qt.AutoText)
          self.label.setText(nouveauNom)
-         #self.agrandit()
        else :   
          self.label.setText(nomTraduit)
 
    def agrandit(self):
        # inutile pour certains widgets
        if self.height() < 40 :
-          print "j agrandis"
           self.setMinimumHeight(50)
-          #self.setMaximumHeight(50)
           self.resize(self.width(),200)
-          #self.principalLayout.setAlignment(Qt.AlignTop)
-          #self.label.resize(self.label.width(),200)
-          print self.label.height()
-       print self.height()
-       print "__________"
 
                                  
    def setValeurs(self):
@@ -120,7 +106,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel):
 
    def setCommentaire(self):
       c  = self.debutToolTip
-      if self.node.item.definition.validators : c+=self.node.item.definition.validators.aide()
+      #if self.node.item.definition.validators : c+=self.node.item.definition.validators.aide()
       self.aide=c
       if self.objSimp.get_fr() != None and self.objSimp.get_fr() != "":
           c2 = '<html><head/><body><p>'+c+str(self.objSimp.get_fr())+"</p></body></html>"
index 35514035805880c5845b4cb24a6f38a83f72b598..b576b589e7f7ebeabbaa0e315f776b2e3e52e108 100644 (file)
@@ -26,27 +26,11 @@ from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from feuille               import Feuille
-from monWidgetSimpTuple    import MonWidgetSimpTuple 
+from monWidgetSimpBase     import MonWidgetSimpBase
 from desWidgetHeure       import Ui_WidgetHeure 
 
 
-class MonWidgetHeure (Ui_WidgetHeure,MonWidgetSimpTuple):
+class MonWidgetHeure (Ui_WidgetHeure,MonWidgetSimpBase):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
-        self.nbValeurs=3
-        MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
-        if self.objSimp.isImmuable() :
-           self.lineEditVal1.setDisabled(True)
-           self.lineEditVal2.setDisabled(True)
-           self.lineEditVal3.setDisabled(True)
-           self.lineEditVal1.setStyleSheet(QString.fromUtf8("background:rgb(244,244,244);\n" "border:0px;\n"))
-           self.lineEditVal2.setStyleSheet(QString.fromUtf8("background:rgb(244,244,244);\n" "border:0px;\n"))
-           self.lineEditVal3.setStyleSheet(QString.fromUtf8("background:rgb(244,244,244);\n" "border:0px;\n"))
-           self.lineEditVal1.setToolTip(tr("Valeur non modifiable"))
-           self.lineEditVal2.setToolTip(tr("Valeur non modifiable"))
-           self.lineEditVal3.setToolTip(tr("Valeur non modifiable"))
-        else :
-           self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
-        #self.maCommande.listeAffichageWidget.append(self.lineEditVal2)
-        #self.maCommande.listeAffichageWidget.append(self.lineEditVal3)
-
+        MonWidgetSimpBase.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
index 5f3a50973527b0d081938bd4d1f21bc1d78c8635..d5bdabf7e50334dd89828171e40a3f03f6905975 100644 (file)
@@ -34,18 +34,21 @@ from gereListe              import GereListe
 class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
-        #print "MonWidgetPlusieursInto", nom, self
+        print "MonWidgetPlusieursInto", nom, self
         self.index=1
         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
         self.listeValeursCourantes=self.node.item.GetListeValeurs()
         self.parentQt.commandesLayout.insertWidget(-1,self)
-        self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
+        # try except si la liste des possibles est vide
+        # prevoir qqchose
+        try :
+          self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
+        except :
+          pass
 
 
   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)
@@ -63,7 +66,14 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
             else: 
                self.listeAAfficher=self.node.item.get_liste_possible([])
        else :
-               self.listeAAfficher=self.monSimpDef.into
+               self.listeAAfficher=self.node.item.get_liste_possible([])
+
+       self.PourEtreCoche=self.listeValeursCourantes
+       if self.objSimp.wait_assd() : 
+          self.listeAAfficher=self.node.item.get_sd_avant_du_bon_type()
+          self.PourEtreCoche=[]
+          for concept in self.listeValeursCourantes:
+              self.PourEtreCoche.append(concept.nom)
        if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
        else : self.setMinimumHeight(len(self.listeAAfficher)*30)
        self.adjustSize()
@@ -75,7 +85,8 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
            nomCB="lineEditVal"+str(i+1)
            courant=getattr(self,nomCB)
            courant.setText(str(self.listeAAfficher[i]))
-           if self.monSimpDef.into[i] in self.listeValeursCourantes : 
+           #if self.monSimpDef.into[i] in self.listeValeursCourantes : 
+           if self.listeAAfficher[i] in self.PourEtreCoche : 
               courant.setChecked(True)
            self.connect(courant,SIGNAL("toggled(bool)"),self.changeValeur)
        self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
@@ -144,7 +155,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
   def changeValeur(self):
       self.listeValeursCourantesAvant=self.listeValeursCourantes
       self.listeValeursCourantes = []
-      print "changeValeur ____________" , self.monSimpDef.into, len(self.monSimpDef.into)
+      #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)
index 9788f9dc6245a42d649fd3177f70b924ee06cf1f..caf27e0183a4e8f9b4ce80c5b2ec44134c8f81c5 100644 (file)
@@ -79,7 +79,9 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille):
                   'Matrice' : tr(u'Une Matrice est attendue.  '),
                   'Fichier' : tr(u'Un fichier est attendu.  '),
                   'FichierNoAbs' : tr(u'Un fichier est attendu.  '),
-                  'Repertoire' : tr(u'Un repertoire est attendu.  ')}
+                  'Repertoire' : tr(u'Un repertoire est attendu.  '),
+                  'Heure' : tr(u'Heure sous la forme HH:MM'),
+                  'Date' :  tr(u'Date sous la forme JJ/MM/AA')}
       if mc.type[0] != types.ClassType:
          commentaire = d_aides.get(mc.type[0], tr("Type de base inconnu"))
       else : commentaire=""
index 13b4ae3f5db6930f4932365e81d578c140c780d2..10b8506dcac4770633fab65adda40a0ec661d031 100644 (file)
@@ -273,8 +273,7 @@ class IntoProtocol(PProtocol):
             if obj not in into:
                 raise ValError(
                     ufmt(
-                        _(tr(u"La valeur : %s  ne fait pas partie des choix possibles %s")),
-                        repr(obj), into))
+                        _(tr(u"La valeur : %s  ne fait pas partie des choix possibles %s")), repr(obj), into))
         else:
             # on est dans le cas d'un ensemble continu de valeurs possibles
             # (intervalle)
diff --git a/PSEN_Eficas/ExtractGeneratorandLoadList.py b/PSEN_Eficas/ExtractGeneratorandLoadList.py
new file mode 100755 (executable)
index 0000000..e30826d
--- /dev/null
@@ -0,0 +1,69 @@
+NetworkFile = r"C:\Users\J15773\Documents\GTDosier\PSENdocs\Victoria\JAMAIQUE\2030Conv_HFP2.sav"\r
+\r
+PSSE_PATH = "C:/Program Files/PTI/PSSE33/PSSBIN" #emplacement de PSSE\r
+\r
+def ExtractGeneratorandLoadList(NetworkFile,PSSE_PATH):\r
+\r
+    import os\r
+    import sys\r
+\r
+    sys.path.append(PSSE_PATH)\r
+    os.environ['PATH'] +=  ';' + PSSE_PATH + ';'\r
+\r
+    import psspy\r
+    import redirect\r
+\r
+    ###initialization PSSE\r
+    psspy.psseinit(10000)\r
+    _i=psspy.getdefaultint()\r
+    _f=psspy.getdefaultreal()\r
+    _s=psspy.getdefaultchar()\r
+    redirect.psse2py()\r
+\r
+    # Silent execution of PSSe\r
+    islct=6 # 6=no output; 1=standard\r
+    psspy.progress_output(islct)\r
+\r
+    #open Network File\r
+    psspy.case(NetworkFile)\r
+\r
+    #Extract Loads\r
+    sid = -1 #all buses\r
+    flag = 1 #all in service loads/generators (4 all loads/generators)\r
+\r
+\r
+    string = ['NUMBER']\r
+    ierr,iarray = psspy.aloadint(sid,flag,string)\r
+\r
+    string = ['NAME','ID','EXNAME']\r
+    ierr,carray = psspy.aloadchar(sid,flag,string)\r
+\r
+    LoadList = []  # [Bus name, load ID, extended bus name, bus number]\r
+    for i in range(len(iarray[0])):\r
+        LoadList.append([carray[0][i].strip(),carray[1][i],carray[2][i],iarray[0][i]])\r
+\r
+    #Extract Generators\r
+    sid = -1 #all buses\r
+    flag = 1 #all in service loads/generators (4 all loads/generators)\r
+        \r
+    string = ['NUMBER']\r
+    ierr,iarray = psspy.amachint(sid,flag,string)\r
+\r
+    string = ['NAME','ID','EXNAME']\r
+    ierr,carray = psspy.amachchar(sid,flag,string)\r
+\r
+    MachineList = [] # [Bus name, machine ID, extended bus name, bus number]\r
+    for i in range(len(iarray[0])):\r
+        MachineList.append([carray[0][i].strip(),carray[1][i],carray[2][i],iarray[0][i]])\r
+\r
+    return MachineList, LoadList\r
+                                \r
+def ExtractGeneratorandLoadList2(NetworkFile,PSSE_PATH):\r
+    MachineList = [['GT 6', '1 ', 'GT 6        11.500', 10], ['GT 7', '1 ', 'GT 7        11.500', 11], ['GT10', '1 ', 'GT10        11.500', 12], ['GT 5', '1 ', 'GT 5        11.500', 13], ['NEWHUNT', '1 ', 'NEWHUNT     11.500', 15], ['BSTMB', '1 ', 'BSTMB       11.500', 23], ['HYD_MAG', '1 ', 'HYD_MAG     6.9000', 25], ['RF1', '1 ', 'RF1         13.800', 37], ['OH2', '1 ', 'OH2         13.800', 41], ['RF2', '1 ', 'RF2         13.800', 42], ['GT3', '1 ', 'GT3         11.500', 43], ['OH3', '1 ', 'OH3         13.800', 47], ['OH4', '1 ', 'OH4         13.800', 50], ['OH6', '1 ', 'OH6         13.800', 52], ['GT 11', '1 ', 'GT 11       11.500', 56], ['B6_BUS13', '1 ', 'B6_BUS13    13.800', 57], ['GT8', '1 ', 'GT8         11.500', 58], ['HYDRR', '1 ', 'HYDRR       6.9000', 59], ['GT9', '1 ', 'GT9         11.500', 63], ['HYD_UWR', '1 ', 'HYD_UWR     6.9000', 64], ['HYD_RIOB', '1 ', 'HYD_RIOB    6.9000', 65], ['HRYD_LW', '1 ', 'HRYD_LW     6.9000', 68], ['GT13B', '1 ', 'GT13B       11.500', 76], ['GT12B', '1 ', 'GT12B       11.500', 77], ['CSPRING', '1 ', 'CSPRING     69.000', 91], ['OLDHARB1', '1 ', 'OLDHARB1    138.00', 114], ['WIGTON', '1 ', 'WIGTON      0.6900', 202], ['JEPWK1', '1 ', 'JEPWK1      11.500', 300], ['JEPWK1', '2 ', 'JEPWK1      11.500', 300], ['JEPWK1', '3 ', 'JEPWK1      11.500', 300], ['JEPWK2', '1 ', 'JEPWK2      11.500', 301], ['JEPWK2', '2 ', 'JEPWK2      11.500', 301], ['JEPWK2', '3 ', 'JEPWK2      11.500', 301], ['W_MUN1', '1 ', 'W_MUN1      69.000', 503], ['HYD_RHORN', '1 ', 'HYD_RHORN   69.000', 711]]\r
+\r
+    LoadList= [['TREDEGAR', '1 ', 'TREDEGAR    69.000', 5], ['HOPE', '1 ', 'HOPE        69.000', 16], ['MILCHELT', '1 ', 'MILCHELT    69.000', 17], ['PARADISE', '1 ', 'PARADISE    69.000', 24], ['BLEDGE', '1 ', 'BLEDGE      69.000', 26], ['CANE RIV', '1 ', 'CANE RIV    69.000', 27], ['HIGHGATE', '1 ', 'HIGHGATE    69.000', 29], ['QUEENS D', '1 ', 'QUEENS D    69.000', 30], ['OCHO', '1 ', 'OCHO        69.000', 32], ['BOGUE_69', '1 ', 'BOGUE_69    69.000', 33], ['ROSE HAL', '1 ', 'ROSE HAL    69.000', 35], ['OH1', '1 ', 'OH1         13.800', 36], ['RF1', '1 ', 'RF1         13.800', 37], ['CEMENT C', '1 ', 'CEMENT C    69.000', 38], ['OBAY69', '1 ', 'OBAY69      69.000', 39], ['DUNCANS6', '1 ', 'DUNCANS6    69.000', 40], ['OH2', '1 ', 'OH2         13.800', 41], ['RF2', '1 ', 'RF2         13.800', 42], ['3MLS69', '1 ', '3MLS69      69.000', 45], ['WBLVD69', '1 ', 'WBLVD69     69.000', 46], ['OH3', '1 ', 'OH3         13.800', 47], ['PORT ANT', '1 ', 'PORT ANT    69.000', 48], ['OH4', '1 ', 'OH4         13.800', 50], ['B6_BUS13', '1 ', 'B6_BUS13    13.800', 57], ['GREENWOO', '1 ', 'GREENWOO    69.000', 60], ['LYSSONS', '1 ', 'LYSSONS     69.000', 61], ['PORUS', '1 ', 'PORUS       69.000', 62], ['R RIVER', '1 ', 'R RIVER     69.000', 66], ['MARTHA B', '1 ', 'MARTHA B    69.000', 67], ['WKH69', '1 ', 'WKH69       69.000', 69], ['PNASUS69', '1 ', 'PNASUS69    69.000', 70], ['ANNOTTO', '1 ', 'ANNOTTO     69.000', 71], ['UW RIVER', '1 ', 'UW RIVER    69.000', 74], ['KNDAL 69', '1 ', 'KNDAL 69    69.000', 75], ['MONYMUSK', '1 ', 'MONYMUSK    69.000', 78], ['OROCABES', '1 ', 'OROCABES    69.000', 79], ['MAGGOTTY', '1 ', 'MAGGOTTY    69.000', 80], ['UP PARK', '1 ', 'UP PARK     69.000', 82], ['TWICKENH', '1 ', 'TWICKENH    69.000', 85], ['MAY PEN', '1 ', 'MAY PEN     69.000', 88], ['PAJ', '1 ', 'PAJ         69.000', 89], ['GROAD_69', '1 ', 'GROAD_69    69.000', 90], ['CSPRING', '1 ', 'CSPRING     69.000', 91], ['S_ TREE6', '1 ', 'S_ TREE6    69.000', 92], ['NAGGOS H', '1 ', 'NAGGOS H    69.000', 94], ['GOODYEAR', '1 ', 'GOODYEAR    69.000', 99], ['HBAY_69', '1 ', 'HBAY_69     69.000', 101], ['RFORT69', '1 ', 'RFORT69     69.000', 102], ['RHODEN P', '1 ', 'RHODEN P    69.000', 105], ['DUHANEY6', '1 ', 'DUHANEY6    69.000', 107], ['CARDIFF', '1 ', 'CARDIFF     69.000', 109], ['JAB13.8', '1 ', 'JAB13.8     13.800', 112], ['JAM13.8', '1 ', 'JAM13.8     13.800', 113]]\r
+    return MachineList, LoadList\r
+\r
+if __name__ == "__main__":\r
+   MachineList,LoadList= ExtractGeneratorandLoadList2(NetworkFile,PSSE_PATH)\r
+   print MachineList, LoadList\r
index 1d8328d828f198b75fd620900f0b7642b658a006..cfa08502ff3bee5b033447012477c2cf26fe91ec 100755 (executable)
 
 #from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR
 from Accas import *
+import opsPSEN
 
 class loi      ( ASSD ) : pass
 class variable ( ASSD ) : pass
+class sd_charge     ( ASSD ) : pass
+class sd_generateur ( ASSD ) : pass
+class sd_busbar ( sd_generateur,sd_charge ) : pass
 
 import types
 class Tuple:
@@ -70,15 +74,17 @@ class Matrice:
 
 
 #CONTEXT.debug = 1
-JdC = JDC_CATA ( code = 'OPENTURNS_STUDY',
+JdC = JDC_CATA ( code = 'PSEN',
                  execmodul = None,
-##                 regles = ( AU_MOINS_UN ( 'CRITERIA' ),
-##                            AU_MOINS_UN ( 'MODEL' ),
-##                            AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ),
-#                            A_CLASSER ( 'VARIABLE',                'CORRELATION' ),
-#                            A_CLASSER ( 'VARIABLE',                'CRITERIA' ),
-#                            A_CLASSER ( 'CORRELATION',             'CRITERIA' ),
-                            #),
+                 regles = ( AU_MOINS_UN ( 'PARAMETRES_PSSE' ),
+                            AU_MOINS_UN ( 'DIRECTORY' ),
+                            AU_MOINS_UN ( 'DISTRIBUTION' ),
+                            AU_MOINS_UN ( 'SIMULATION' ),
+                            AU_PLUS_UN ( 'PARAMETRES_PSSE' ),
+                            AU_PLUS_UN ( 'DIRECTORY' ),
+                            AU_PLUS_UN ( 'SIMULATION' ),
+                            AU_PLUS_UN ( 'CORRELATION' ),
+                            ),
                  ) # Fin JDC_CATA
 
 
@@ -86,16 +92,77 @@ JdC = JDC_CATA ( code = 'OPENTURNS_STUDY',
 # fin entete
 # --------------------------------------------------
 
+MONGENER =  OPER ( nom = "MONGENER",
+            sd_prod = sd_generateur,
+            UIinfo = {"groupes": ("CACHE")},
+            op = None,
+            fr = "Generateur",
+            ang = "Generator",
+
+  ID = SIMP ( statut = 'o', typ = "TXM", fr = "num bus", ang = "num bus",),
+)
+MACHARGE =  OPER ( nom = "MACHARGE",
+            sd_prod = sd_charge,
+            UIinfo = {"groupes": ("CACHE")},
+            op = None,
+            fr = "Charge",
+            ang = "Load",
+
+  ID = SIMP ( statut = 'o', typ = "TXM", fr = "num bus", ang = "num bus",),
+)
+MONBUSBAR =  OPER ( nom = "MONBUSBAR",
+            sd_prod = sd_busbar,
+            UIinfo = {"groupes": ("CACHE")},
+            op = None,
+            fr = "Generateur",
+            ang = "Generator",
+
+  ID = SIMP ( statut = 'o', typ = "TXM", fr = "num bus", ang = "num bus",),
+)
+
+
+
+PARAMETRES_PSSE = PROC ( nom = "PARAMETRES_PSSE",
+             op=None,
+             docu = "",
+  COUT_COMBUSTIBLE = SIMP ( statut = "o",
+                     typ=bool,
+                     defaut=True,
+                     ),
+  COUT_DELESTAGE = SIMP ( statut = "o",
+                     typ=bool,
+                     defaut=False,
+                     ),
+  COUT_MVAR = SIMP ( statut = "o",
+                     typ=bool,
+                     defaut=False,
+                    ),
+  IMAP = SIMP ( statut = "o",
+                     typ='TXM',
+                     into=['RateA','RateB','RateC'],
+                     defaut=False,
+                    ),
+
+) 
 SIMULATION = PROC ( nom = "SIMULATION",
              op = None,
              docu = "",
+  regles             =(EXCLUS('NUMBER_PACKAGE','CONVERGENCE'),),
                
-  SAMPLE = SIMP ( statut = "o",
-                 typ = "R",
-                 val_min=0,
-                  
+  SIZE_PACKAGE = SIMP ( statut = "o",
+                 typ = "I",
+                 val_min=10,
+                 defaut=100,
                  ),
-               
+  NUMBER_PACKAGE = SIMP ( statut = "f",
+                 typ = "I",
+                 val_min=1,
+                 ),
+  CONVERGENCE = SIMP ( statut = "f",
+                 typ="I",
+                 into=[1],
+                ),
+
   STUDY = SIMP ( statut = "o",
                  typ = "TXM",
                  into = ( 'N-1', 'Load', 'Wind-1', 'Wind-2', 'PV' ),
@@ -106,55 +173,6 @@ SIMULATION = PROC ( nom = "SIMULATION",
 ) 
 
 
-OPF_Parameters = PROC ( nom = "OPF_Parameters",
-             op = None,
-             docu = "",
-               
-  Minimize_fuel_cost = SIMP ( statut = "o",
-                 typ = "TXM",
-                 into=('True','False'),
-                 defaut='False',
-                 fr="Choix cout fuel"
-                 ),
-  Minimize_adj_bus_shunt = SIMP ( statut = "o",
-                 typ = "TXM",
-                 into=('True','False'),
-                 defaut='False',
-                 fr="Choix minimize bus shunts"
-                 ),
-  Minimize_adj_bus_loads = SIMP ( statut = "o",
-                 typ = "TXM",
-                 into=('True','False'),
-                 defaut='False',
-                 fr="Choix minimize bus loads"
-                 ),
-
-)
-
-PSSe_Irate = PROC ( nom = "PSSe_Irate",
-             op = None,
-             docu = "",
-               
-  Rate_A = SIMP ( statut = "o",
-                 typ = "TXM",
-                 into=('True','False'),
-                 defaut='False',
-                 fr="Choix rate A"
-                 ),
-  Rate_B = SIMP ( statut = "o",
-                 typ = "TXM",
-                 into=('True','False'),
-                 defaut='False',
-                 fr="Choix rate B"
-                 ),
-  Rate_C = SIMP ( statut = "o",
-                 typ = "TXM",
-                 into=('True','False'),
-                 defaut='False',
-                 fr="Choix rate C"
-                 ),
-
-) 
 
 
 #================================
@@ -167,33 +185,46 @@ DISTRIBUTION = OPER ( nom = "DISTRIBUTION",
                       sd_prod = loi,
                       op = 68,
                       fr = "Definitions des lois marginales utilisees par les variables d'entree", 
-                      
+
+#====
+# Choisir generateur ou charge
+#====
+
+  TypeMachine = SIMP ( statut='o', typ='TXM',
+                      into = ('charge','vent1','vent2','pv','N-1',),
+                      ),
+  TypeComposant = SIMP (statut='o', typ='TXM',
+                      into = ('Generateur','Charge'),),
+  b_gener = BLOC (condition = "TypeComposant == 'Generateur'",
+        #Generateur   = SIMP(statut='o',typ=sd_generateur),),
+        Generateur   = SIMP(statut='o',typ=sd_generateur,max="**", homo="SansOrdreNiDoublon"),),
+  b_charge = BLOC (condition = "TypeComposant == 'Charge'",
+        #charge       = SIMP(statut='o',typ=sd_charge,max="**", homo="SansOrdreNiDoublon"),),                      
+        charge       = SIMP(statut='o',typ=sd_charge),),                      
                       
 #====
 # Type de distribution
 #====
-  Type_Model = SIMP ( statut='o', typ='TXM',
-                      into = ('type_1','type_2','type_3','type_4',
-                              ),
-                      ),
 
   Kind = SIMP ( statut = "o", typ = "TXM",
-                into = ( "Beta",
+                into = ( "NonParametrique", 
+                         #"Beta",
                          "Exponential",
-                         "Gamma",
-                         "Geometric",
-                         "Gumbel",
+                         #"Gamma",
+                         #"Geometric",
+                         #"Gumbel",
                          "Histogram",
-                         "Laplace",
-                         "Logistic",
-                         "LogNormal",
-                         "MultiNomial",
-                         "NonCentralStudent",
+                         #"Laplace",
+                         #"Logistic",
+                         #"LogNormal",
+                         #"MultiNomial",
+                         #"NonCentralStudent",
                          "Normal",
-                         "Poisson",
-                         "Rayleigh",
-                         "Student",
-                         "Triangular",
+                         #"Poisson",
+                         #"Rayleigh",
+                         #"Student",
+                         "PDF_from_file",
+                         #"Triangular",
                          "TruncatedNormal",
                          "Uniform",
                          "UserDefined",
@@ -203,79 +234,89 @@ DISTRIBUTION = OPER ( nom = "DISTRIBUTION",
                 ang = "1D marginal distribution",
                 ),
 
+                      
 #====
 # Definition des parametres selon le type de la loi
 #====
 
-  BETA = BLOC ( condition = " Kind in ( 'Beta', ) ",
-
-                  Settings = SIMP ( statut = "o",
-                                       typ = "TXM",
-                                       max = 1,
-                                       into = ( "RT", "MuSigma" ),
-                                       defaut = "RT",
-                                       fr = "Parametrage de la loi beta",
-                                       ang = "Beta distribution parameter set",
-                                       ),
-
-                  RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ",
-
-                                      R = SIMP ( statut = "o",
-                                                 typ = "R",
-                                                 max = 1,
-                                                 val_min = 0.,
-                                                 fr = "Parametre R de la loi | R > 0",
-                                                 ang = "R parameter | R > 0",
-                                                 ),
-
-                                      # T > R
-                                      T = SIMP ( statut = "o",
-                                                 typ = "R",
-                                                 max = 1,
-                                                 val_min = 0.,
-                                                 fr = "Parametre T de la loi | T > R",
-                                                 ang = "T parameter | T > R",
-                                                 ),
-
-                                      ), # Fin BLOC RT_Parameters
-
-
-                  MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
-
-                                      Mu = SIMP ( statut = "o",
-                                                  typ = "R",
-                                                  max = 1,
-                                                  fr = "Moyenne de la loi",
-                                                  ang = "Mean value",
-                                                  ),
-
-                                      Sigma = SIMP ( statut = "o",
-                                                     typ = "R",
-                                                     max = 1,
-                                                     val_min = 0.,
-                                                     fr = "Ecart type de la loi",
-                                                     ang = "Standard deviation",
-                                                     ),
-
-                                      ), # Fin BLOC MuSigma_Parameters
-
-
-                  A = SIMP ( statut = "o",
-                             typ = "R",
-                             max = 1,
-                             fr = "Borne inferieure du support de la loi",
-                             ang = "Support lower bound",
-                             ),
-
-                  # B > A
-                  B = SIMP ( statut = "o",
-                             typ = "R",
-                             max = 1,
-                             fr = "Borne superieure du support de la loi",
-                             ang = "Support upper bound",
-                             ),
+  NONPARAM = BLOC ( condition = " Kind in ( 'NonParametrique', ) ",
+             
+  FileName = SIMP ( statut = "o",
+                    typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
+                    fr = "Nom du modele physique",
+                    ang = "Physical model identifier",
+                    ),
+              ),
 
-  ), # Fin BLOC BETA
+#  BETA = BLOC ( condition = " Kind in ( 'Beta', ) ",
+#
+#                  Settings = SIMP ( statut = "o",
+#                                       typ = "TXM",
+#                                       max = 1,
+#                                       into = ( "RT", "MuSigma" ),
+#                                       defaut = "RT",
+#                                       fr = "Parametrage de la loi beta",
+#                                       ang = "Beta distribution parameter set",
+#                                       ),
+#
+#                  RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ",
+#
+#                                      R = SIMP ( statut = "o",
+#                                                 typ = "R",
+#                                                 max = 1,
+#                                                 val_min = 0.,
+#                                                 fr = "Parametre R de la loi | R > 0",
+#                                                 ang = "R parameter | R > 0",
+#                                                 ),
+#
+#                                      # T > R
+#                                      T = SIMP ( statut = "o",
+#                                                 typ = "R",
+#                                                 max = 1,
+#                                                 val_min = 0.,
+#                                                 fr = "Parametre T de la loi | T > R",
+#                                                 ang = "T parameter | T > R",
+#                                                 ),
+#
+#                                      ), # Fin BLOC RT_Parameters
+#
+#
+#                  MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
+#
+#                                      Mu = SIMP ( statut = "o",
+#                                                  typ = "R",
+#                                                  max = 1,
+#                                                  fr = "Moyenne de la loi",
+#                                                  ang = "Mean value",
+#                                                  ),
+#
+#                                      Sigma = SIMP ( statut = "o",
+#                                                     typ = "R",
+#                                                     max = 1,
+#                                                     val_min = 0.,
+#                                                     fr = "Ecart type de la loi",
+#                                                     ang = "Standard deviation",
+#                                                     ),
+#
+#                                      ), # Fin BLOC MuSigma_Parameters
+#
+#
+#                  A = SIMP ( statut = "o",
+#                             typ = "R",
+#                             max = 1,
+#                             fr = "Borne inferieure du support de la loi",
+#                             ang = "Support lower bound",
+#                             ),
+#
+#                  # B > A
+#                  B = SIMP ( statut = "o",
+#                             typ = "R",
+#                             max = 1,
+#                             fr = "Borne superieure du support de la loi",
+#                             ang = "Support upper bound",
+#                             ),
+#
+#  ), # Fin BLOC BETA
 
 
 
@@ -300,135 +341,135 @@ DISTRIBUTION = OPER ( nom = "DISTRIBUTION",
 
 
 
-  GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ",
-
-                   Settings = SIMP ( statut = "o",
-                                        typ = "TXM",
-                                        max = 1,
-                                        into = ( "KLambda", "MuSigma" ),
-                                        defaut = "KLambda",
-                                        fr = "Parametrage de la loi gamma",
-                                        ang = "Gamma distribution parameter set",
-                                        ),
-
-                   KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ",
-
-                                       K = SIMP ( statut = "o",
-                                                  typ = "R",
-                                                  max = 1,
-                                                  val_min = 0.,
-                                                  fr = "Parametre K de la loi | K > 0",
-                                                  ang = "K parameter | K > 0",
-                                                  ),
-
-                                       Lambda = SIMP ( statut = "o",
-                                                       typ = "R",
-                                                       max = 1,
-                                                       val_min = 0.,
-                                                       fr = "Parametre Lambda de la loi | Lambda > 0",
-                                                       ang = "Lambda parameter | Lambda > 0",
-                                                       ),
-
-                                       ), # Fin BLOC KLambda_Parameters
-
-
-                   MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
-
-                                       Mu = SIMP ( statut = "o",
-                                                   typ = "R",
-                                                   max = 1,
-                                                   fr = "Moyenne de la loi",
-                                                   ang = "Mean value",
-                                                   ),
-
-                                       Sigma = SIMP ( statut = "o",
-                                                      typ = "R",
-                                                      max = 1,
-                                                      val_min = 0.,
-                                                      fr = "Ecart type de la loi",
-                                                      ang = "Standard deviation",
-                                                      ),
-
-                                       ), # Fin BLOC MuSigma_Parameters
-
-                   Gamma = SIMP ( statut = "o",
-                                  typ = "R",
-                                  max = 1,
-                                  fr = "Borne inferieure du supoport de la loi",
-                                  ang = "Support lower bound",
-                                  ),
-
-
-  ), # Fin BLOC GAMMA
-
-
-
-  GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ",
-
-                       P = SIMP ( statut = "o",
-                                  typ = "R",
-                                  max = 1,
-                                  val_min = 0.,
-                                  val_max = 1.,
-                                  fr = "Parametre P | 0 < P < 1",
-                                  ang = "P parameter | 0 < P < 1",
-                                  ),
-
-  ), # Fin BLOC GEOMETRIC
-
-
-
-  GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ",
-
-                    Settings = SIMP ( statut = "o",
-                                         typ = "TXM",
-                                         max = 1,
-                                         into = ( "AlphaBeta", "MuSigma" ),
-                                         defaut = "AlphaBeta",
-                                         fr = "Parametrage de la loi gumbel",
-                                         ang = "Gumbel distribution parameter set",
-                                         ),
-
-                    AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
-
-                                        Alpha = SIMP ( statut = "o",
-                                                       typ = "R",
-                                                       max = 1,
-                                                       val_min = 0.,
-                                                       fr = "Parametre Alpha de la loi | Alpha > 0",
-                                                       ang = "Alpha parameter | Alpha > 0",
-                                                       ),
-
-                                        Beta = SIMP ( statut = "o",
-                                                      typ = "R",
-                                                      max = 1,
-                                                      fr = "Parametre Beta de la loi",
-                                                      ang = "Beta parameter",
-                                                      ),
-
-                                        ), # Fin BLOC AlphaBeta_Parameters
-
-
-                    MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
-
-                                        Mu = SIMP ( statut = "o",
-                                                    typ = "R",
-                                                    max = 1,
-                                                    fr = "Moyenne de la loi",
-                                                    ang = "Mean value",
-                                                    ),
-
-                                        Sigma = SIMP ( statut = "o",
-                                                       typ = "R",
-                                                       max = 1,
-                                                       val_min = 0.,
-                                                       fr = "Ecart type de la loi",
-                                                       ang = "Standard deviation",
-                                                       ),
+#  GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ",
+#
+#                   Settings = SIMP ( statut = "o",
+#                                        typ = "TXM",
+#                                        max = 1,
+#                                        into = ( "KLambda", "MuSigma" ),
+#                                        defaut = "KLambda",
+#                                        fr = "Parametrage de la loi gamma",
+#                                        ang = "Gamma distribution parameter set",
+#                                        ),
+#
+#                   KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ",
+#
+#                                       K = SIMP ( statut = "o",
+#                                                  typ = "R",
+#                                                  max = 1,
+#                                                  val_min = 0.,
+#                                                  fr = "Parametre K de la loi | K > 0",
+#                                                  ang = "K parameter | K > 0",
+#                                                  ),
+#
+#                                       Lambda = SIMP ( statut = "o",
+#                                                       typ = "R",
+#                                                       max = 1,
+#                                                       val_min = 0.,
+#                                                       fr = "Parametre Lambda de la loi | Lambda > 0",
+#                                                       ang = "Lambda parameter | Lambda > 0",
+#                                                       ),
+#
+#                                       ), # Fin BLOC KLambda_Parameters
+#
+#
+#                   MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
+#
+#                                       Mu = SIMP ( statut = "o",
+#                                                   typ = "R",
+#                                                   max = 1,
+#                                                   fr = "Moyenne de la loi",
+#                                                   ang = "Mean value",
+#                                                   ),
+#
+#                                       Sigma = SIMP ( statut = "o",
+#                                                      typ = "R",
+#                                                      max = 1,
+#                                                      val_min = 0.,
+#                                                      fr = "Ecart type de la loi",
+#                                                      ang = "Standard deviation",
+#                                                      ),
+#
+#                                       ), # Fin BLOC MuSigma_Parameters
+#
+#                   Gamma = SIMP ( statut = "o",
+#                                  typ = "R",
+#                                  max = 1,
+#                                  fr = "Borne inferieure du supoport de la loi",
+#                                  ang = "Support lower bound",
+#                                  ),
+#
+#
+#  ), # Fin BLOC GAMMA
 
-                                        ), # Fin BLOC MuSigma_Parameters
 
-  ), # Fin BLOC GUMBEL
+#
+#  GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ",
+#
+#                       P = SIMP ( statut = "o",
+#                                  typ = "R",
+#                                  max = 1,
+#                                  val_min = 0.,
+#                                  val_max = 1.,
+#                                  fr = "Parametre P | 0 < P < 1",
+#                                  ang = "P parameter | 0 < P < 1",
+#                                  ),
+#
+#  ), # Fin BLOC GEOMETRIC
+#
+#
+#
+#  GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ",
+#
+#                    Settings = SIMP ( statut = "o",
+#                                         typ = "TXM",
+#                                         max = 1,
+#                                         into = ( "AlphaBeta", "MuSigma" ),
+#                                         defaut = "AlphaBeta",
+#                                         fr = "Parametrage de la loi gumbel",
+#                                         ang = "Gumbel distribution parameter set",
+#                                         ),
+#
+#                    AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ",
+#
+#                                        Alpha = SIMP ( statut = "o",
+#                                                       typ = "R",
+#                                                       max = 1,
+#                                                       val_min = 0.,
+#                                                       fr = "Parametre Alpha de la loi | Alpha > 0",
+#                                                       ang = "Alpha parameter | Alpha > 0",
+#                                                       ),
+#
+#                                        Beta = SIMP ( statut = "o",
+#                                                      typ = "R",
+#                                                      max = 1,
+#                                                      fr = "Parametre Beta de la loi",
+#                                                      ang = "Beta parameter",
+#                                                      ),
+#
+#                                        ), # Fin BLOC AlphaBeta_Parameters
+#
+#
+#                    MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
+#
+#                                        Mu = SIMP ( statut = "o",
+#                                                    typ = "R",
+#                                                    max = 1,
+#                                                    fr = "Moyenne de la loi",
+#                                                    ang = "Mean value",
+#                                                    ),
+#
+#                                        Sigma = SIMP ( statut = "o",
+#                                                       typ = "R",
+#                                                       max = 1,
+#                                                       val_min = 0.,
+#                                                       fr = "Ecart type de la loi",
+#                                                       ang = "Standard deviation",
+#                                                       ),
+#
+#                                        ), # Fin BLOC MuSigma_Parameters
+#
+#  ), # Fin BLOC GUMBEL
 
 
 
@@ -454,170 +495,170 @@ DISTRIBUTION = OPER ( nom = "DISTRIBUTION",
 
 
 
-  LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ",
-
-                   Lambda = SIMP ( statut = "o",
-                                   typ = "R",
-                                   max = 1,
-                                   val_min = 0.,
-                                   fr = "Parametre Lambda | Lambda > 0",
-                                   ang = "Lambda parameter | Lambda > 0",
-                                   ),
-                   
-                   Mu = SIMP ( statut = "o",
-                               typ = "R",
-                               max = 1,
-                               fr = "Moyenne de la loi",
-                               ang = "Mean value",
-                              ),
-
-  ), # Fin BLOC LAPLACE
-
-  LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ",
-
-                     Settings = SIMP ( statut = "o",
-                                       typ = "TXM",
-                                       max = 1,
-                                       into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ),
-                                       defaut = "MuSigmaLog",
-                                       fr = "Parametrage de la loi lognormale",
-                                       ang = "Lognormal distribution parameter set",
-                                       ),
-
-                     MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
-
-                                                 Mu = SIMP ( statut = "o",
-                                                             typ = "R",
-                                                             max = 1,
-                                                             fr = "Moyenne de la loi",
-                                                             ang = "Mean value",
-                                                             ),
-
-                                                 Sigma = SIMP ( statut = "o",
-                                                                typ = "R",
-                                                                max = 1,
-                                                                val_min = 0.,
-                                                                fr = "Ecart type de la loi",
-                                                                ang = "Standard deviation",
-                                                                ),
-
-                                                 ), # Fin BLOC MuSigma_Parameters
-
-                     MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ",
-
-                                                 Mu = SIMP ( statut = "o",
-                                                             typ = "R",
-                                                             max = 1,
-                                                             fr = "Moyenne de la loi",
-                                                             ang = "Mean value",
-                                                             ),
-
-                                                 SigmaOverMu = SIMP ( statut = "o",
-                                                                typ = "R",
-                                                                max = 1,
-                                                                val_min = 0.,
-                                                                fr = "Rapport ecart type / moyenne de la loi",
-                                                                ang = "Standard deviation / mean value ratio",
-                                                                ),
-
-                                                 ), # Fin BLOC MuSigmaOverMu_Parameters
-
-                     MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ",
-
-                                                    MuLog = SIMP ( statut = "o",
-                                                                   typ = "R",
-                                                                   max = 1,
-                                                                   fr = "Moyenne du log",
-                                                                   ang = "Log mean value",
-                                                                   ),
-
-                                                    SigmaLog = SIMP ( statut = "o",
-                                                                      typ = "R",
-                                                                      max = 1,
-                                                                      val_min = 0.,
-                                                                      fr = "Ecart type du log",
-                                                                      ang = "Log standard deviation",
-                                                                      ),
-                                            
-                                                    ), # Fin BLOC MuSigmaLog_Parameters
-
-                     Gamma = SIMP ( statut = "o",
-                                    typ = "R",
-                                    max = 1,
-                                    fr = "Borne inferieure du support de la loi",
-                                    ang = "Support lower bound",
-                                    ),
-
-   ), # Fin BLOC LOGNORMAL
-
-
-
-   LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ",
-
-                       Alpha = SIMP ( statut = "o",
-                                      typ = "R",
-                                      max = 1,
-                                      fr = "Borne inferieure du supoport de la loi",
-                                      ang = "Support lower bound",
-                                      ),
-
-                       Beta = SIMP ( statut = "o",
-                                     typ = "R",
-                                     max = 1,
-                                     val_min = 0.,
-                                     fr = "Parametre Beta de la loi | Beta > 0",
-                                     ang = "Beta parameter | Beta > 0",
-                                     ),
-
-   ), # Fin BLOC LOGISTIC
-
-
-
-   MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ",
-                         
-                         N = SIMP ( statut = "o",
-                                    typ = "I",
-                                    max = 1,
-                                    fr = "Parametre N de la loi | N > 0",
-                                    ang = "N parameter | N > 0",
-                                    ),
-
-                       # Il faut definir une collection de couples ( x,p ) 
-                       Values = SIMP ( statut = 'o',
-                                       typ = "R",
-                                       max = '**',
-                                       fr = "Liste de probabilités",
-                                       ang = "Probability list",
-                                       validators=VerifTypeTuple(('R','R')),
-                                       ),
-
-   ), # Fin BLOC MULTINOMIAL
-
-
-  NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ",
-
-                   Nu = SIMP ( statut = "o",
-                               typ = "R",
-                               max = 1,
-                               fr = "Parametre Nu de la loi | Nu > 0",
-                               ang = "Nu parameter | Nu > 0",
-                              ),
-
-                   Delta = SIMP ( statut = "o",
-                                  typ = "R",
-                                  max = 1,
-                                  fr = "Parametre Delta de la loi | Delta > 0",
-                                  ang = "Delta parameter | Delta > 0",
-                                  ),
-                   
-                   Gamma = SIMP ( statut = "o",
-                                  typ = "R",
-                                  max = 1,
-                                  fr = "Parametre Gamma de centrage de la loi",
-                                  ang = "Gamma parameter",
-                                  ),
-
-  ), # Fin BLOC NONCENTRALSTUDENT
+#  LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ",
+#
+#                   Lambda = SIMP ( statut = "o",
+#                                   typ = "R",
+#                                   max = 1,
+#                                   val_min = 0.,
+#                                   fr = "Parametre Lambda | Lambda > 0",
+#                                   ang = "Lambda parameter | Lambda > 0",
+#                                   ),
+#                   
+#                   Mu = SIMP ( statut = "o",
+#                               typ = "R",
+#                               max = 1,
+#                               fr = "Moyenne de la loi",
+#                               ang = "Mean value",
+#                              ),
+#
+#  ), # Fin BLOC LAPLACE
+#
+#  LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ",
+#
+#                     Settings = SIMP ( statut = "o",
+#                                       typ = "TXM",
+#                                       max = 1,
+#                                       into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ),
+#                                       defaut = "MuSigmaLog",
+#                                       fr = "Parametrage de la loi lognormale",
+#                                       ang = "Lognormal distribution parameter set",
+#                                       ),
+#
+#                     MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ",
+#
+#                                                 Mu = SIMP ( statut = "o",
+#                                                             typ = "R",
+#                                                             max = 1,
+#                                                             fr = "Moyenne de la loi",
+#                                                             ang = "Mean value",
+#                                                             ),
+#
+#                                                 Sigma = SIMP ( statut = "o",
+#                                                                typ = "R",
+#                                                                max = 1,
+#                                                                val_min = 0.,
+#                                                                fr = "Ecart type de la loi",
+#                                                                ang = "Standard deviation",
+#                                                                ),
+#
+#                                                 ), # Fin BLOC MuSigma_Parameters
+#
+#                     MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ",
+#
+#                                                 Mu = SIMP ( statut = "o",
+#                                                             typ = "R",
+#                                                             max = 1,
+#                                                             fr = "Moyenne de la loi",
+#                                                             ang = "Mean value",
+#                                                             ),
+#
+#                                                 SigmaOverMu = SIMP ( statut = "o",
+#                                                                typ = "R",
+#                                                                max = 1,
+#                                                                val_min = 0.,
+#                                                                fr = "Rapport ecart type / moyenne de la loi",
+#                                                                ang = "Standard deviation / mean value ratio",
+#                                                                ),
+#
+#                                                 ), # Fin BLOC MuSigmaOverMu_Parameters
+#
+#                     MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ",
+#
+#                                                    MuLog = SIMP ( statut = "o",
+#                                                                   typ = "R",
+#                                                                   max = 1,
+#                                                                   fr = "Moyenne du log",
+#                                                                   ang = "Log mean value",
+#                                                                   ),
+#
+#                                                    SigmaLog = SIMP ( statut = "o",
+#                                                                      typ = "R",
+#                                                                      max = 1,
+#                                                                      val_min = 0.,
+#                                                                      fr = "Ecart type du log",
+#                                                                      ang = "Log standard deviation",
+#                                                                      ),
+#                                            
+#                                                    ), # Fin BLOC MuSigmaLog_Parameters
+#
+#                     Gamma = SIMP ( statut = "o",
+#                                    typ = "R",
+#                                    max = 1,
+#                                    fr = "Borne inferieure du support de la loi",
+#                                    ang = "Support lower bound",
+#                                    ),
+#
+#   ), # Fin BLOC LOGNORMAL
+#
+#
+#
+#   LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ",
+#
+#                       Alpha = SIMP ( statut = "o",
+#                                      typ = "R",
+#                                      max = 1,
+#                                      fr = "Borne inferieure du supoport de la loi",
+#                                      ang = "Support lower bound",
+#                                      ),
+#
+#                       Beta = SIMP ( statut = "o",
+#                                     typ = "R",
+#                                     max = 1,
+#                                     val_min = 0.,
+#                                     fr = "Parametre Beta de la loi | Beta > 0",
+#                                     ang = "Beta parameter | Beta > 0",
+#                                     ),
+#
+#   ), # Fin BLOC LOGISTIC
+#
+#
+#
+#   MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ",
+#                         
+#                         N = SIMP ( statut = "o",
+#                                    typ = "I",
+#                                    max = 1,
+#                                    fr = "Parametre N de la loi | N > 0",
+#                                    ang = "N parameter | N > 0",
+#                                    ),
+#
+#                       # Il faut definir une collection de couples ( x,p ) 
+#                       Values = SIMP ( statut = 'o',
+#                                       typ = "R",
+#                                       max = '**',
+#                                       fr = "Liste de probabilités",
+#                                       ang = "Probability list",
+#                                       validators=VerifTypeTuple(('R','R')),
+#                                       ),
+#
+#   ), # Fin BLOC MULTINOMIAL
+#
+#
+#  NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ",
+#
+#                   Nu = SIMP ( statut = "o",
+#                               typ = "R",
+#                               max = 1,
+#                               fr = "Parametre Nu de la loi | Nu > 0",
+#                               ang = "Nu parameter | Nu > 0",
+#                              ),
+#
+#                   Delta = SIMP ( statut = "o",
+#                                  typ = "R",
+#                                  max = 1,
+#                                  fr = "Parametre Delta de la loi | Delta > 0",
+#                                  ang = "Delta parameter | Delta > 0",
+#                                  ),
+#                   
+#                   Gamma = SIMP ( statut = "o",
+#                                  typ = "R",
+#                                  max = 1,
+#                                  fr = "Parametre Gamma de centrage de la loi",
+#                                  ang = "Gamma parameter",
+#                                  ),
+#
+#  ), # Fin BLOC NONCENTRALSTUDENT
 
 
    NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ",
@@ -640,93 +681,101 @@ DISTRIBUTION = OPER ( nom = "DISTRIBUTION",
    ), # Fin BLOC NORMAL
 
 
-
-   POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ",
-
-                     Lambda = SIMP ( statut = "o",
-                                     typ = "R",
-                                     max = 1,
-                                     val_min = 0.,
-                                     fr = "Parametre Lambda de la loi | Lambda > 0",
-                                     ang = "Lambda parameter | Lambda > 0",
-                                     ),
-
-   ), # Fin BLOC POISSON
-
-
-
-  RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ",
-
-                   Sigma = SIMP ( statut = "o",
-                                  typ = "R",
-                                  max = 1,
-                                  fr = "Parametre Sigma de la loi | Sigma > 0",
-                                  ang = "Sigma parameter | Sigma > 0",
-                                  ),
-
-                   Gamma = SIMP ( statut = "o",
-                                  typ = "R",
-                                  max = 1,
-                                  fr = "Borne inferieure du support de la loi",
-                                  ang = "Support lower bound",
-                                  ),
- ), # Fin BLOC RAYLEIGH
-
-
-   STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ",
-
-                     Mu = SIMP ( statut = "o",
-                                 typ = "R",
-                                 max = 1,
-                                 fr = "Parametre Mu de la loi",
-                                 ang = "Mu parameter",
-                                 ),
-
-                     Nu = SIMP ( statut = "o",
-                                 typ = "R",
-                                 max = 1,
-                                 val_min = 2.,
-                                 fr = "Parametre Nu de la loi | Nu > 2",
-                                 ang = "Nu parameter | Nu > 2",
-                                 ),
-
-                   Sigma = SIMP ( statut = "o",
-                                  typ = "R",
-                                  max = 1,
-                                  fr = "Parametre Sigma de la loi",
-                                  ang = "Sigma parameter",
-                                  ),
-
-   ), # Fin BLOC STUDENT
-
-
-
-   TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ",
-
-                         A = SIMP ( statut = "o",
-                                    typ = "R",
-                                    max = 1,
-                                    fr = "Borne inferieure du support de la loi | A < M < B",
-                                    ang = "Support lower bound | A < M < B",
-                                    ),
-
-                         M = SIMP ( statut = "o",
-                                    typ = "R",
-                                    max = 1,
-                                    fr = "Mode de la loi | A < M < B",
-                                    ang = "Mode | A < M < B",
-                                    ),
-
-                         B = SIMP ( statut = "o",
-                                    typ = "R",
-                                    max = 1,
-                                    fr = "Borne superieure du support de la loi | A < M < B",
-                                    ang = "Support upper bound | A < M < B",
-                                    ),
-
-   ), # Fin BLOC TRIANGULAR
-
-
+#
+#   POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ",
+#
+#                     Lambda = SIMP ( statut = "o",
+#                                     typ = "R",
+#                                     max = 1,
+#                                     val_min = 0.,
+#                                     fr = "Parametre Lambda de la loi | Lambda > 0",
+#                                     ang = "Lambda parameter | Lambda > 0",
+#                                     ),
+#
+#   ), # Fin BLOC POISSON
+#
+#
+#
+#  RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ",
+#
+#                   Sigma = SIMP ( statut = "o",
+#                                  typ = "R",
+#                                  max = 1,
+#                                  fr = "Parametre Sigma de la loi | Sigma > 0",
+#                                  ang = "Sigma parameter | Sigma > 0",
+#                                  ),
+#
+#                   Gamma = SIMP ( statut = "o",
+#                                  typ = "R",
+#                                  max = 1,
+#                                  fr = "Borne inferieure du support de la loi",
+#                                  ang = "Support lower bound",
+#                                  ),
+# ), # Fin BLOC RAYLEIGH
+
+  PDF = BLOC ( condition = " Kind in ( 'PDF_from_file', ) ",
+             
+  FileName = SIMP ( statut = "o",
+                    typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),
+                    fr = "Nom du modele physique",
+                    ang = "Physical model identifier",
+                    ),
+              ),
+              
+#   STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ",
+#
+#                     Mu = SIMP ( statut = "o",
+#                                 typ = "R",
+#                                 max = 1,
+#                                 fr = "Parametre Mu de la loi",
+#                                 ang = "Mu parameter",
+#                                 ),
+#
+#                     Nu = SIMP ( statut = "o",
+#                                 typ = "R",
+#                                 max = 1,
+#                                 val_min = 2.,
+#                                 fr = "Parametre Nu de la loi | Nu > 2",
+#                                 ang = "Nu parameter | Nu > 2",
+#                                 ),
+#
+#                   Sigma = SIMP ( statut = "o",
+#                                  typ = "R",
+#                                  max = 1,
+#                                  fr = "Parametre Sigma de la loi",
+#                                  ang = "Sigma parameter",
+#                                  ),
+#
+#   ), # Fin BLOC STUDENT
+#
+#
+#
+#   TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ",
+#
+#                         A = SIMP ( statut = "o",
+#                                    typ = "R",
+#                                    max = 1,
+#                                    fr = "Borne inferieure du support de la loi | A < M < B",
+#                                    ang = "Support lower bound | A < M < B",
+#                                    ),
+#
+#                         M = SIMP ( statut = "o",
+#                                    typ = "R",
+#                                    max = 1,
+#                                    fr = "Mode de la loi | A < M < B",
+#                                    ang = "Mode | A < M < B",
+#                                    ),
+#
+#                         B = SIMP ( statut = "o",
+#                                    typ = "R",
+#                                    max = 1,
+#                                    fr = "Borne superieure du support de la loi | A < M < B",
+#                                    ang = "Support upper bound | A < M < B",
+#                                    ),
+#
+#   ), # Fin BLOC TRIANGULAR
+#
+#
 
    TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ",
 
@@ -894,7 +943,22 @@ CORRELATION = PROC ( nom = 'CORRELATION',
 ##
 ) 
 
-
+DIRECTORY = MACRO ( nom = 'DIRECTORY',
+        op=None,
+        fr = "Chargement des generateurs et des charges",
+        ang = "Physical model wrapper load",
+                sd_prod = opsPSEN.INCLUDE,
+                op_init = opsPSEN.INCLUDE_context,
+                #sd_prod=None,
+                fichier_ini = 1,
+        
+        fichier_sav=SIMP(statut="o", typ = ('Fichier', 'Wrapper Files (*.sav);;All Files (*)',),),
+        dossier_resultat=SIMP(statut="o",typ='Repertoire'),
+        fichier_lignes=SIMP(statut="o" ,typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),),
+        fichier_groupes=SIMP(statut="o", typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),),
+        fichier_parc=SIMP(statut="o" ,typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',),),        
+        chemin_psse=SIMP(statut="o",typ='Repertoire'),
+) 
 
 
 
diff --git a/PSEN_Eficas/opsPSEN.py b/PSEN_Eficas/opsPSEN.py
new file mode 100755 (executable)
index 0000000..894cb71
--- /dev/null
@@ -0,0 +1,111 @@
+# -*- coding: iso-8859-1 -*-
+# 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 ExtractGeneratorandLoadList import ExtractGeneratorandLoadList
+from ExtractGeneratorandLoadList import ExtractGeneratorandLoadList2
+
+def INCLUDE(self,chemin_psse,fichier_sav,**args):
+   """ 
+       Fonction sd_prod pour la macro INCLUDE
+   """
+   
+   print "INCLUDE", self
+   reevalue=0
+   if hasattr(self,'fichier_ini'):
+       reevalue=1
+       if self.fichier_ini == fichier_sav : return
+       if hasattr(self,'old_context_fichier_init' ):
+         for concept in self.old_context_fichier_init.values():
+             self.jdc.delete_concept(concept)
+         self.jdc_aux=None
+         self.contexte_fichier_init={}
+         self.reevalue_sd_jdc()
+         self.jdc.reset_context()
+
+   self.fichier_ini=fichier_sav
+   self.contexte_fichier_init = {}
+   self.fichier_unite = 999
+   self.fichier_err = None
+   self.fichier_text=""
+    
+   unite = 999
+
+   pattern_debut_ligne = re.compile(r'^[0-9].*')
+   try:
+     MachineListOrigin,LoadListOrigin= ExtractGeneratorandLoadList2(fichier_sav,chemin_psse)
+   except :
+     if self.jdc.appli is not None:
+        self.jdc.appli.affiche_alerte("Error", 'An error happened in ExtractGeneratorandLoadList execution ')
+        self.g_context = {}
+        self.etapes = []
+        self.jdc_aux = None
+        self.fichier_err = str(exc)
+        self.contexte_fichier_init = {}
+
+   MachineList=[]
+   LoadList=[]
+   BusBarList=[]
+   for m in MachineListOrigin:
+       if m in LoadListOrigin : BusBarList.append(m)
+       else : MachineList.append(m)
+
+   for m in LoadListOrigin:
+       if m not in MachineListOrigin : LoadList.append(m)
+
+   for m in MachineList:
+         nouv=m[0].replace(' ','_')
+         nouveau=nouv.replace('.','_')
+         nom = nouveau+"__"+str(m[1])
+         if pattern_debut_ligne.match(nom): nom='_'+nom
+         id  = str(m[3])
+         self.fichier_text += "%s=MONGENER(ID='%s',);\n" % (nom, id)
+
+   for m in BusBarList:
+         nouv=m[0].replace(' ','_')
+         nouveau=nouv.replace('.','_')
+         nom = nouveau+"__"+str(m[1])
+         if pattern_debut_ligne.match(nom): nom='_'+nom
+         id  = str(m[3])
+         self.fichier_text += "%s=MONBUSBAR(ID='%s',);\n" % (nom, id)
+
+   for m in LoadList:
+         nouv=m[0].replace(' ','_')
+         nouveau=nouv.replace('.','_')
+         nom = nouveau+"__"+str(m[1])
+         if pattern_debut_ligne.match(nom): nom='_'+nom
+         if pattern_debut_ligne.match(nom): print 'match'
+         id  = str(m[3])
+         self.fichier_text += "%s=MACHARGE(ID='%s',);\n" % (nom, id)
+
+   import Extensions.jdc_include
+   self.JdC_aux = Extensions.jdc_include.JDC_CATA_INCLUDE(code='PSEN', execmodul=None)
+   self.make_contexte_include(None, self.fichier_text)
+   self.old_context_fichier_init = self.contexte_fichier_init
+   self.parent.record_unit(unite, self)
+
+
+def INCLUDE_context(self,d):
+   """ 
+       Fonction op_init pour macro INCLUDE
+   """
+   for k,v in self.g_context.items():
+      d[k]=v
+
index 7f553ed8a45900f27e8c5af80db20758f19e0902..e4d944405b75ba88d6ee5ba47acd7c67b7863cc4 100755 (executable)
@@ -37,5 +37,5 @@ docPath=repIni
 
 #
 catalogues=(
-   ('PSEN','default',os.path.join(repIni,'PSEN_Cata.py'),'dico','python'),
+   ('PSEN','default',os.path.join(repIni,'PSEN_Cata.py'),'PSEN','python'),
 )
index b91de3c1b8fb7e17806984e49f2fdf576063a37a..a44c7fa39290c3c3fbcb27ebcc9170cf37ed5f0c 100644 (file)
@@ -29,6 +29,9 @@
    <string notr="true"/>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="spacing">
+    <number>3</number>
+   </property>
    <property name="margin">
     <number>0</number>
    </property>
index 1b733d103a691b2aa2b6504472a8f2aaa6201fd6..85802d5eb34d0221602fabb8b68cc34228692a3f 100644 (file)
    <string notr="true">background-color : rgb(248,247,246)</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_4">
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
    <item>
     <widget class="QFrame" name="frame_2">
      <property name="sizePolicy">
         </item>
        </layout>
       </item>
+      <item>
+       <spacer name="horizontalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>71</width>
+          <height>18</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
      </layout>
      <zorder>horizontalSpacer</zorder>
+     <zorder>horizontalSpacer_2</zorder>
     </widget>
    </item>
    <item>
         <x>0</x>
         <y>0</y>
         <width>1170</width>
-        <height>512</height>
+        <height>530</height>
        </rect>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout">
          </property>
         </layout>
        </item>
-       <item>
-        <spacer name="verticalSpacer">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeType">
-          <enum>QSizePolicy::Fixed</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>10</width>
-           <height>5</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
       </layout>
      </widget>
     </widget>
index 8d4184d976a2a5f1d7f73b552e532cbeda3f728c..873ab4f7b20204be43194a880802bd17c462e942 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>936</width>
-    <height>60</height>
+    <width>736</width>
+    <height>62</height>
    </rect>
   </property>
   <property name="sizePolicy">
index 7204b0b927b51d588db22ee40005aaf1f5aa3c8c..03d5dfbab1e58ef8dea52020aef48a916d857c46 100644 (file)
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>936</width>
-    <height>60</height>
+    <width>658</width>
+    <height>61</height>
    </rect>
   </property>
   <property name="sizePolicy">
index 0664a22003ff018a9d24d8d3af0d22228de836f7..0cf59ce8585b8e8eb256934954d74d1c7336a9cd 100644 (file)
Binary files a/UiQT4/eficas_en.qm and b/UiQT4/eficas_en.qm differ
index f6200bf1004c7681ed8fbcabbec69c9e71ccaf6f..140c6012d448d90d292cdbeee40f3299943b5bdd 100644 (file)
@@ -1824,67 +1824,67 @@ Le fichier associe n&apos;est pas defini</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="173"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="170"/>
         <source>%s n&apos;est pas un fichier valide</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="255"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="252"/>
         <source>Nombre d&apos;arguments de %s incorrect (min = %s, max = %s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="277"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="274"/>
         <source>La valeur : %s  ne fait pas partie des choix possibles %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="766"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="763"/>
         <source>%s n&apos;est pas de la bonne longueur</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1189"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1186"/>
         <source>valeur dans l&apos;intervalle %s , %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1201"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1198"/>
         <source>La valeur doit etre comprise entre %s et %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1222"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1219"/>
         <source>%s doit etre inferieur a %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1225"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1222"/>
         <source>longueur de liste comprise entre  %s et %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1228"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1225"/>
         <source>Le cardinal de la liste doit etre compris entre %s et %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1255"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1252"/>
         <source>%s devrait etre de longueur inferieure a %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1258"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1255"/>
         <source>%s devrait etre de longueur superieure a %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1315"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1312"/>
         <source>%s contient des valeurs non paires</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1359"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1356"/>
         <source>%s contient des valeurs hors des choix possibles: %s </source>
         <translation type="unfinished"></translation>
     </message>
@@ -1929,208 +1929,350 @@ Le fichier associe n&apos;est pas defini</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="309"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="306"/>
         <source>%s n&apos;est pas une chaine de longueur comprise entre %s et %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="315"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="312"/>
         <source>TXM de longueur entre %s et %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="533"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="530"/>
         <source>valeur %s obligatoire</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="548"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="545"/>
         <source>%s ne contient pas les elements obligatoires : %s </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="637"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="634"/>
         <source>%s absent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="686"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="683"/>
         <source>%s est un doublon</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="742"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="739"/>
         <source>longueur de la chaine entre %s et %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="745"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="742"/>
         <source>Longueur de la chaine incorrecte</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="802"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="799"/>
         <source>%s n&apos;est pas une chaine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="819"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="816"/>
         <source>liste %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="822"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="819"/>
         <source>La liste doit etre en ordre %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="834"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="831"/>
         <source>%s n&apos;est pas par valeurs croissantes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="838"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="835"/>
         <source>%s n&apos;est pas par valeurs decroissantes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="897"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="894"/>
         <source>%s n&apos;est pas du bon type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1418"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1415"/>
         <source>valeur %s pour la somme des cles A et B </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1493"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1490"/>
         <source>valeur de %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1541"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1538"/>
         <source>valeur d&apos;instance de %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1577"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1574"/>
         <source>%s devrait etre de type  %s </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1670"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1667"/>
         <source>%s n&apos;est pas dans %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1557"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1554"/>
         <source>: verifie les types dans un tuple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="600"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="597"/>
         <source>%s ne contient pas les elements devant etre presents ensemble: %s </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="650"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="647"/>
         <source>%s n&apos;est pas autorise : %s </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1194"/>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1191"/>
         <source>%s devrait etre comprise entre %s et %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Extensions/commande_comm.py" line="61"/>
-        <source>Objet commande commentaris&#xe9; invalide</source>
+        <location filename="../../Extensions/parametre_eval.py" line="170"/>
+        <source>Un concept de nom %s existe d&#xe9;j&#xe0; !</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Extensions/interpreteur_formule.py" line="97"/>
-        <source>La formule passee &#xe0; l&apos;interpreteur doit etre sous forme de tuple</source>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="177"/>
+        <source>%s n&apos;est pas un repertoire valide</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Extensions/nuplet.py" line="104"/>
-        <source>D&#xe9;but </source>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="192"/>
+        <source>Type non encore gere %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Ihm/I_FORM_ETAPE.py" line="159"/>
-        <source>Un concept de nom %s existe d&#xe9;j&#xe0; !</source>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="193"/>
+        <source>%s (de type %s) n&apos;est pas d&apos;un type autorise: %s %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Extensions/parametre.py" line="188"/>
-        <source>Pas de nom donn&#xe9; au param&#xe8;tre </source>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="287"/>
+        <source>La valeur : %s est en dehors du domaine de validite [ %s , %s ]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Extensions/parametre.py" line="193"/>
-        <source>Le param&#xe8;tre %s ne peut valoir None</source>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="582"/>
+        <source>%s present ensemble</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../generator/generator_aplat.py" line="147"/>
-        <source>Format pas impl&#xe9;ment&#xe9; : %s</source>
+        <location filename="../../Validation/V_PROC_ETAPE.py" line="68"/>
+        <source>unknown keywords : %s</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Ihm/I_FORM_ETAPE.py" line="138"/>
-        <source>Impossible de r&#xe9;aliser la v&#xe9;rification de la formule</source>
+        <location filename="../../InterfaceQT4/viewManager.py" line="182"/>
+        <source>Creation Parametre indisponible</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="182"/>
-        <source>Creation Param&#xc3;&#xa8;tre indisponible</source>
+        <location filename="../../InterfaceQT4/monFonctionPanel.py" line="62"/>
+        <source>La cardinalite n&apos;est pas correcte, la derniere valeur est ignoree</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="182"/>
-        <source>les param&#xc3;&#xa8;tres sont li&#xc3;&#xa9;s &#xc3;&#xa0; un jeu de donn&#xc3;&#xa9;es</source>
+        <location filename="../../InterfaceQT4/monFonctionPanel.py" line="110"/>
+        <source> n est pas un tuple de </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="294"/>
-        <source>Fichier non encore nomm&#xc3;&#xa9; </source>
+        <location filename="../../InterfaceQT4/monFonctionPanel.py" line="112"/>
+        <source> valeurs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="1560"/>
-        <source>Les types entr&#xc3;&#xa9;s ne sont pas permis</source>
+        <location filename="../../InterfaceQT4/monWidgetCreeParam.py" line="74"/>
+        <source>La Creation de parametre n est possible que dans un jeu de donn&#xc3;&#xa9;es</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="180"/>
-        <source>%s n&apos;est pas un repertoire valide</source>
+        <location filename="../../InterfaceQT4/monWidgetCreeParam.py" line="87"/>
+        <source>Valeur incorrecte</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="195"/>
-        <source>Type non encore gere %s</source>
+        <location filename="../../InterfaceQT4/monWidgetCreeParam.py" line="96"/>
+        <source> n est pas un identifiant correct
+ </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="196"/>
-        <source>%s (de type %s) n&apos;est pas d&apos;un type autorise: %s %s</source>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="61"/>
+        <source>Entrer un float SVP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="290"/>
-        <source>La valeur : %s est en dehors du domaine de validite [ %s , %s ]</source>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="66"/>
+        <source>Entrer un float inferieur a </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Noyau/N_VALIDATOR.py" line="585"/>
-        <source>%s present ensemble</source>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="71"/>
+        <source>Entrer un float superieur a </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../Validation/V_PROC_ETAPE.py" line="68"/>
-        <source>unknown keywords : %s</source>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="94"/>
+        <source>Mauvaise execution </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="94"/>
+        <source>impossible d executer la methode </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="118"/>
+        <source>Mauvaise Commande </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="118"/>
+        <source>Aucune variable connue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="164"/>
+        <source>Mauvaise dimension de matrice</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="162"/>
+        <source>le nombre de ligne n est pas egal a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="164"/>
+        <source>le nombre de colonne n est pas egal a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="172"/>
+        <source>Mauvaise Valeur</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="172"/>
+        <source>l element </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="172"/>
+        <source>n est pas correct</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="87"/>
+        <source>Modification Impossible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="87"/>
+        <source>le parametre n&apos;est pas valide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="101"/>
+        <source> n est pas un identifiant correct</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="120"/>
+        <source>Valeur incorrecte: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="123"/>
+        <source>Valeur incorrecte </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="126"/>
+        <source>Valeur correcte </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSDCOInto.py" line="77"/>
+        <source>impossible d&apos;evaluer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/commande_comm.py" line="61"/>
+        <source>Objet commande commentarisee invalide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/interpreteur_formule.py" line="97"/>
+        <source>La formule passee a l&apos;interpreteur doit etre sous forme de tuple</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="104"/>
+        <source>Debut </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre.py" line="188"/>
+        <source>Pas de nom donne au parametre </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre.py" line="193"/>
+        <source>Le parametre %s ne peut valoir None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_aplat.py" line="147"/>
+        <source>Format non implemente : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="138"/>
+        <source>Impossible de realiser la verification de la formule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="159"/>
+        <source>Un concept de nom %s existe deja !</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetCreeParam.py" line="100"/>
+        <source> existe deja
+ </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="182"/>
+        <source>les parametres sont lies a un jeu de donnees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="294"/>
+        <source>Fichier non encore nomme </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1557"/>
+        <source>Les types entres ne sont pas permis</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2776,6 +2918,34 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>WidgetDate</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="91"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="236"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="152"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetDate.ui" line="230"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>WidgetFact</name>
     <message>
@@ -2812,6 +2982,47 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>WidgetHeure</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="86"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="209"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="132"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="145"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="203"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetInformative</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetInformation.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>WidgetOptionnel</name>
     <message>
@@ -2840,6 +3051,84 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>WidgetParam</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="26"/>
+        <source>DCommandeUnique</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="182"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetParam.ui" line="141"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#000000;&quot;&gt;Paramètre&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetParam.ui" line="176"/>
+        <source>Détruit le commentaire</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="460"/>
+        <source>Affiche les commandes possibles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="230"/>
+        <source>&amp;Commandes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="472"/>
+        <source>Shift+A, Alt+A, Alt+A, Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetParam.ui" line="269"/>
+        <source>Affiche le formulaire de la commande précédente</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="278"/>
+        <source>&lt;&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="315"/>
+        <source>Affiche le formulaire de la commande suivante</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="324"/>
+        <source>&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="385"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Valeur: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="425"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nom: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="469"/>
+        <source>Verifie la valeur</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="487"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>WidgetPlusieursBase</name>
     <message>
@@ -2936,6 +3225,64 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>WidgetPlusieursIntoOrdonne</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="91"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="606"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="157"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="176"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="372"/>
+        <source>Remonte d&apos;une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="408"/>
+        <source>Descend d&apos;une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="444"/>
+        <source>Détruit une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="479"/>
+        <source>ajoute une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="529"/>
+        <source>visualise l&apos;ensemble des valeurs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="600"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>WidgetRadioButton</name>
     <message>
@@ -2969,6 +3316,44 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>WidgetSDCOInto</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="91"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="315"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="152"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="186"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Structures de données du type requis &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="243"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ou Nom du concept&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="309"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>WidgetSimpBase</name>
     <message>
@@ -3230,6 +3615,62 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>WidgetUniqueSDCO</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="82"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="229"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="143"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="181"/>
+        <source>Attend un objet de type CO </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="223"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetVide</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetVide.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetVide.ui" line="296"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetVide.ui" line="129"/>
+        <source>&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;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetVide.ui" line="158"/>
+        <source>Attend un objet de type XXXX. Il faut le créer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>baseWidget</name>
     <message>
@@ -3274,6 +3715,52 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context encoding="UTF-8">
+    <name>desWidgetCreeParam</name>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="14"/>
+        <source>Gestion des Paramètres</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="153"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nom: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="180"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Valeur: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="208"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;Créer un paramètre&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>desWidgetMatrice</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="64"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="70"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="125"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>self.appliEficas</name>
     <message>
old mode 100644 (file)
new mode 100755 (executable)
index c9df95a..154a863
@@ -25,7 +25,9 @@ texte_debut+='   format="med";\n'
 import traceback
 import types,string,re,os
 from Extensions.i18n import tr
-from generator_python import PythonGenerator
+from generator_dicoImbrique import DicoImbriqueGenerator
+import pdb
+from numpy import zeros
 
 def entryPoint():
    """
@@ -40,7 +42,7 @@ def entryPoint():
           }
 
 
-class PSENGenerator(PythonGenerator):
+class PSENGenerator(DicoImbriqueGenerator):
    """
       Ce generateur parcourt un objet de type JDC et produit
       un texte au format eficas et 
@@ -53,10 +55,15 @@ class PSENGenerator(PythonGenerator):
 #----------------------------------------------------------------------------------------
    def gener(self,obj,format='brut',config=None):
 
+      print "je passe dans gener"
+      #self.MachineDico = obj.MachineDico
+      #self.LoadDico = obj.LoadDico
+      #self.LineDico = obj.LineDico
+      #self.TransfoDico = obj.TransfoDico
+      
       self.initDico()
-
       # Cette instruction genere le contenu du fichier de commandes (persistance)
-      self.text=PythonGenerator.gener(self,obj,format)
+      self.text=DicoImbriqueGenerator.gener(self,obj,format)
       return self.text
 
 
@@ -65,7 +72,12 @@ class PSENGenerator(PythonGenerator):
 #----------------------------------------------------------------------------------------
    
    def initDico(self) :
-      self.textePourRun = texte_debut
+      DicoImbriqueGenerator.initDico(self)
+      #self.Entete = 'MachineDico = ' + str(self.MachineDico) +'\n'
+      #self.Entete += 'LoadDico = ' + str(self.LoadDico) +'\n'
+      #self.Entete += 'LineDico = ' + str(self.LineDico) +'\n'
+      #self.Entete += 'TransfoDico = ' + str(self.TransfoDico) +'\n'
+      #self.Entete +='\n'
 
 
 #----------------------------------------------------------------------------------------
@@ -73,40 +85,29 @@ class PSENGenerator(PythonGenerator):
 #----------------------------------------------------------------------------------------
 
    def writeDefault(self,fn) :
-        print self.textePourRun
-
-   def ajoutRun(self) :
-        self.textePourRun+="   write_mesh_crack();\n"
-        self.textePourRun+="   do_mesh_crack(0);\n"
-        self.textePourRun+="   nice_cut(20.);\n"
-        self.textePourRun+='   export_mesh("'+self.cracked_name+'","med");\n'
-        self.textePourRun+="}"
+        DicoImbriqueGenerator.writeDefault(self,fn)
+        return
 
+   
 
 #----------------------------------------------------------------------------------------
 #  analyse de chaque noeud de l'arbre 
 #----------------------------------------------------------------------------------------
 
-   def generMCSIMP(self,obj) :
-        """recuperation de l objet MCSIMP"""
-        #print dir(obj)
-        s=PythonGenerator.generMCSIMP(self,obj)
-        if obj.nom in ListeConcatene : 
-           stringListe=""
-           for val in obj.val:
-               stringListe+=str(val)+" "
-           self.textePourRun+="   "+obj.nom+ "='"+ stringListe[0:-1]+ "';\n"
-           return s
-        if obj.nom=="elset_radius" :
-           self.textePourRun+="   if_must_define_elset=1;\n"
-        if obj.nom=="sane_name" :
-           self.textePourRun+="   import_mesh('"+obj.val+"');\n"
-        if obj.nom=="cracked_name" : self.cracked_name=obj.val
-        if obj.nom=="repertoire" : 
-           print "PNPNPN a traiter"
-           return s
-        self.textePourRun+="   "+obj.nom+ "=" + s[0:-1]+ ";\n"
-        return s
+##   def generMCSIMP(self,obj) :
+##        """recuperation de l objet MCSIMP"""
+##        #print dir(obj)
+##        self.dicoMCSIMP[obj.nom]=obj.val
+##        self.dicoTemp[obj.nom]=obj.val
+##        s=DicoImbriqueGenerator.generMCSIMP(self,obj)
+##        return s
+##
+##   def generETAPE(self,obj):
+##        self.dicoTemp={}
+##        s=DicoImbriqueGenerator.generETAPE(self,obj)
+##        if obj.nom=="DISTRIBUTION" : self.dicoLois[obj.sd.nom]=self.dicoTemp
+##        self.dicoTemp={}
+##        return s
 
   
 # si repertoire on change tous les noms de fichier
index 010eb18de0445e4950f2dcceaa4a24dd8c974dfe..fda9c0a6d8112d7a0ff62f384a5dfd6bf24a6640 100644 (file)
@@ -65,6 +65,7 @@ class DicoImbriqueGenerator(PythonGenerator):
    def initDico(self) :
  
       self.Dico={}
+      self.Entete = ''
 
 
 #----------------------------------------------------------------------------------------
@@ -75,7 +76,7 @@ class DicoImbriqueGenerator(PythonGenerator):
        print "je passe par writeDefault"
        fileDico = fn[:fn.rfind(".")] + '.py'
        f = open( str(fileDico), 'wb')
-       f.write( str(self.Dico) )
+       f.write( self.Entete + "Dico =" + str(self.Dico) )
        f.close()
 
 #----------------------------------------------------------------------------------------
@@ -84,13 +85,18 @@ class DicoImbriqueGenerator(PythonGenerator):
 
    def generMCSIMP(self,obj) :
         """recuperation de l objet MCSIMP"""
+
         s=PythonGenerator.generMCSIMP(self,obj)
         liste=obj.get_genealogie() 
-        dicoCourant=self.Dico
-        for i in liste [0:-1]:
-            if not(dicoCourant.has_key(i)) : dicoCourant[i]={}
-            dicoCourant=dicoCourant[i] 
-        dicoCourant[liste[-1]]=obj.valeur
+        nom=obj.etape.nom
+        if hasattr(obj.etape,'sdnom') and obj.etape.sdnom != None and obj.etape.sdnom != "" : 
+           nom = nom+ obj.etape.sdnom
+        if not(self.Dico.has_key(nom)) : dicoCourant={}
+        else : dicoCourant=self.Dico [nom]
+        if hasattr(obj.valeur,'nom'):dicoCourant[liste[-1]]=obj.valeur.nom
+        else : dicoCourant[liste[-1]]=obj.valeurFormatee
+        self.Dico[nom]=dicoCourant
+
         return s