Salome HOME
ajout des regles
authorpascale.noyret <pascale.noyret@edf.fr>
Tue, 1 Sep 2015 14:06:38 +0000 (16:06 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Tue, 1 Sep 2015 14:06:38 +0000 (16:06 +0200)
18 files changed:
Extensions/CreeTraductions/eficas.pro
Ihm/I_JDC.py
InterfaceQT4/browser.py
InterfaceQT4/editor.py
InterfaceQT4/gereIcones.py
InterfaceQT4/gereRegles.py [new file with mode: 0644]
InterfaceQT4/monChoixCommande.py
InterfaceQT4/monViewRegles.py [new file with mode: 0644]
InterfaceQT4/monWidgetPlusieursIntoOrdonne.py
InterfaceQT4/qtEficas.py
InterfaceQT4/viewManager.py
UiQT4/CMakeLists.txt
UiQT4/Newdoc.tgz
UiQT4/desChoixCommandes.ui
UiQT4/desViewRegles.ui [new file with mode: 0644]
UiQT4/eficas_en.ts
UiQT4/makefile
UiQT4/myMain.ui

index 5ebc007b1e480df5d91b0a085323db5aa315ec5c..588edbbc18a509ff04372b001f1c2d16f3b8b88a 100644 (file)
@@ -218,6 +218,7 @@ FORMS=   \
        ../../UiQT4/desRecherche.ui \
        ../../UiQT4/desSelectVal.ui \
        ../../UiQT4/desViewTexte.ui \
+       ../../UiQT4/desViewRegles.ui \
        ../../UiQT4/desVisu.ui \
        ../../UiQT4/desWidgetCreeParam.ui \
        ../../UiQT4/desWidgetCommande.ui \
index d1398ff0eeb777a610011a6e2b4ad942fd485f2a..c2ee3459f62d511c1bffcb70e45c32e6f97bfdf2 100644 (file)
@@ -63,7 +63,6 @@ class JDC(I_OBJECT.OBJECT):
       """
           Retourne la liste des concepts avant etape d'un type acceptable
       """
-      print "je suis la",self,etape,types_permis
       d=self.get_contexte_avant(etape)
       
       
@@ -127,7 +126,6 @@ class JDC(I_OBJECT.OBJECT):
              Correlation=etapeTraitee.get_child('CorrelationMatrix')
              if Correlation !=None : 
                   Correlation.state='arecalculer'
-                  print Correlation.isvalid
                   Correlation.isvalid()
              etapeTraitee.isvalid()
 
index 7594e78a1725bdade8a88f8c5a5990a815324edc..f35530fbebd55015c6b25cd0b31539a1db0e6e94 100644 (file)
@@ -27,9 +27,10 @@ from PyQt4 import *
 from PyQt4.QtGui  import *
 from PyQt4.QtCore import *
 from Extensions.i18n import tr
+from gereRegles import GereRegles
 from monChoixCommande import MonChoixCommande
 
-class JDCTree( QTreeWidget ):
+class JDCTree( QTreeWidget,GereRegles ):
     def __init__( self, jdc_item, QWParent):        
         #if hasattr(QWParent,'widgetTree') : 
         self.editor       = QWParent
@@ -170,7 +171,7 @@ class JDCTree( QTreeWidget ):
 COMMENT     = "COMMENTAIRE"
 PARAMETERS  = "PARAMETRE"
  
-class JDCNode(QTreeWidgetItem):
+class JDCNode(QTreeWidgetItem,GereRegles):
     def __init__( self, treeParent, item):
         #print "creation d'un noeud : ", item, " ",item.nom,"", treeParent, self
         #print "creation d'un noeud : ", item.nom
index ff250857fedbae642fc7b13b1c076cc4f0f57f6c..c385b6bc53169e9b337e16ae0716dafc5fd2df45 100755 (executable)
@@ -457,6 +457,12 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
         
         self._viewText(strRapport, "JDC_RAPPORT")
 
+    #-----------------------#
+    def viewJdcRegles(self):
+    #-----------------------#
+        if self.tree :self.tree.AppelleBuildLBRegles()
+
+
     #----------------#
     def closeIt(self):
     #----------------#
index 2cad9b670089e395997bfd847dde1d3df485425e..8a5f69abbd8277afa217bd0c6847f48442686ccd 100644 (file)
@@ -31,15 +31,18 @@ listeSuffixe=('bmp','png','jpg' ,'txt','med')
 class FacultatifOuOptionnel:
 
   def setReglesEtAide(self):
-      from monWidgetCommande import MonWidgetCommande
       listeRegles=()
       try :
          listeRegles     = self.node.item.get_regles()
       except :
          pass
-      if listeRegles==() and hasattr(self,"RBRegle"): self.RBRegle.close() 
+      if hasattr(self,"RBRegle"):
+        if listeRegles==() : self.RBRegle.close() 
+        else : self.connect( self.RBRegle,SIGNAL("clicked()"),self.viewRegles)
+
       cle_doc=None
       if not hasattr(self,"RBInfo"):return
+      from monWidgetCommande import MonWidgetCommande
       if isinstance(self,MonWidgetCommande) and self.editor.code =="MAP":
          self.cle_doc = self.chercheDocMAP()
       else :
@@ -69,6 +72,9 @@ class FacultatifOuOptionnel:
       except:
           QMessageBox.warning( self,tr( "Aide Indisponible"),tr( "l'aide n est pas installee "))
 
+  def viewRegles(self):
+      self.node.AppelleBuildLBRegles()
+
 
   def setIconePoubelle(self):
       if not(hasattr(self,"RBPoubelle")):return
diff --git a/InterfaceQT4/gereRegles.py b/InterfaceQT4/gereRegles.py
new file mode 100644 (file)
index 0000000..c292353
--- /dev/null
@@ -0,0 +1,67 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013   EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+from PyQt4.QtCore import *
+from  monViewRegles  import ViewRegles
+
+class GereRegles :
+
+   def AppelleBuildLBRegles(self):
+       from browser import JDCTree
+       if isinstance(self,JDCTree):
+          self.AppelleBuildLBReglesForJdC()
+       else :
+          self.AppelleBuildLBReglesForCommand()
+       self.BuildLBRegles(self.listeRegles,self.listeNomsEtapes)
+       self.AfficheRegles()
+       
+   def AppelleBuildLBReglesForCommand(self):
+       self.listeRegles     = self.item.get_regles()
+       self.listeNomsEtapes = self.item.get_mc_presents()
+
+   def AppelleBuildLBReglesForJdC(self):
+       self.listeRegles=self.item.get_regles()
+       self.listeNomsEtapes = self.item.get_l_noms_etapes()
+
+
+   def BuildLBRegles(self,listeRegles,listeNomsEtapes):
+       self.liste=[]
+       if len(listeRegles) > 0:
+          for regle in listeRegles :
+             texteRegle=regle.gettext()
+             texteMauvais,test = regle.verif(listeNomsEtapes)
+             for ligne in texteRegle.split("\n") :
+                if ligne == "" : continue
+                if ligne[0]=="\t" :  ligne="     "+ligne[1:]
+                if test :
+                   self.liste.append((ligne,Qt.black))
+                else :
+                   self.liste.append((ligne,Qt.red))
+             self.liste.append(("",Qt.red))
+       if self.liste==[] : self.liste(tr("pas de regle de construction pour ce jeu de commandes",Qt.black))
+               
+
+   def AfficheRegles(self):
+      titre="Regles pour "+self.item.nom
+      w = ViewRegles( self.editor,self.liste,titre  )
+      w.exec_()
+       
+
+
index 08a280de60ef2d139535e3b2a58e634c594defec..3a2977626b6132678e8937ce4e065b704939e943 100644 (file)
@@ -50,10 +50,15 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget):
           nouveauTitre=debutTitre
       self.editor.appliEficas.setWindowTitle(nouveauTitre)
 
+      print self.node.tree
 
       self.connect(self.RBalpha,SIGNAL("clicked()"),self.afficheAlpha)
       self.connect(self.RBGroupe,SIGNAL("clicked()"),self.afficheGroupe)
       self.connect(self.RBOrdre,SIGNAL("clicked()"),self.afficheOrdre)
+      if self.node.tree.item.get_regles() == () :
+         self.RBRegle.close()
+         self.labelRegle.close()
+      else : self.connect(self.RBRegle,SIGNAL("clicked()"),self.afficheRegle)
 
       if self.editor.Ordre_Des_Commandes == None : self.RBOrdre.close()
 
@@ -80,6 +85,9 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget):
          self.afficheOrdre()
       if self.editor.code == "Adao" : self.frameAffichage.close()
 
+  def afficheRegle(self):
+      self.node.tree.AppelleBuildLBRegles()
+
   def afficheAlpha(self):
       self.affiche_alpha=1
       self.affiche_groupe=0
diff --git a/InterfaceQT4/monViewRegles.py b/InterfaceQT4/monViewRegles.py
new file mode 100644 (file)
index 0000000..d180e67
--- /dev/null
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013   EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+# Modules Python
+import string,types,os
+import traceback
+
+from Extensions.i18n import tr
+from PyQt4.QtGui import *
+from PyQt4.QtCore import *
+from desViewRegles import Ui_viewRegles
+
+# ------------------------------------ #
+class ViewRegles(Ui_viewRegles,QDialog):
+# ------------------------------------ #
+    """
+    Classe permettant la visualisation de texte
+    """
+    def __init__(self,parent,liste,entete=None):
+        QDialog.__init__(self,parent)
+        self.setupUi(self)
+        if entete != None : self.setWindowTitle (entete)
+        for ligne in liste :
+          texte=ligne[0]
+          couleur=ligne[1]
+          if couleur==Qt.black :
+             self.LBRegles.addItem(texte)
+          else :
+             monItem=QListWidgetItem(texte)
+             monItem.setForeground(Qt.red)
+             self.LBRegles.addItem(monItem)
+
+
+        
index 81b13a5312192925dbc6db6eb6b25857662c8101..c08781ecb2efe2317be6a65469c2a60e73783433 100644 (file)
@@ -227,7 +227,9 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere
         else :
            self.editor.affiche_infos("")
     
-        if validite :
+        if len(listeRetour) == 0 :
+           self.node.item.set_valeur(None)
+        elif validite :
            self.node.item.set_valeur(listeRetour)
         else :
            commentaire=comm+" "+comm2
index fdbb5043cc0053c711f7abc76543f7e32b7089de..f78ff28c9834087bdf43e1968e780a64043ce9ac 100644 (file)
@@ -351,6 +351,7 @@ class Appli(Ui_Eficas,QMainWindow):
         self.connect(self.actionDeplier_replier,SIGNAL("triggered()"),self.Deplier)
 
         self.connect(self.actionRapport_de_Validation,SIGNAL("triggered()"),self.jdcRapport)
+        self.connect(self.actionRegles_du_JdC,SIGNAL("triggered()"),self.jdcRegles)
         self.connect(self.actionFichier_Source,SIGNAL("triggered()"),self.jdcFichierSource)
         self.connect(self.actionFichier_Resultat,SIGNAL("triggered()"),self.visuJdcPy)
 
@@ -662,6 +663,9 @@ class Appli(Ui_Eficas,QMainWindow):
     def jdcRapport(self):
         self.viewmanager.handleViewJdcRapport()
 
+    def jdcRegles(self):
+        self.viewmanager.handleViewJdcRegles()
+
     def gestionParam(self):
         self.viewmanager.handlegestionParam()
 
index c393cf34cb49e420699003c37ddaf377500b6c97..6e5501a5273bf2d9a8e5401c6e6ef59878a20ef5 100644 (file)
@@ -176,6 +176,11 @@ class MyTabview:
        if index < 0 : return
        self.dict_editors[index].viewJdcSource()
 
+   def handleViewJdcRegles(self):
+       index=self.myQtab.currentIndex()
+       if index < 0 : return
+       self.dict_editors[index].viewJdcRegles()
+
    def handlegestionParam(self):
        index=self.myQtab.currentIndex()
        if index < 0 : 
index fcb4b2e7119e93f2d959c59dadb64cf1b4fc6d01..aec7f34cab4aeaa5b574bd6ba28f37b784fc773b 100644 (file)
@@ -39,6 +39,7 @@ eficas_compile_ui ( desChoixCommandes.ui )
 eficas_compile_ui ( desRecherche.ui )
 eficas_compile_ui ( desSelectVal.ui )
 eficas_compile_ui ( desViewTexte.ui )
+eficas_compile_ui ( desViewRegles.ui )
 eficas_compile_ui ( desVisu.ui )
 eficas_compile_ui ( desWidgetCreeParam.ui )
 eficas_compile_ui ( desWidgetCommande.ui )
index 45721bff93543690f851cb4642711826b6fb2631..1ec9456b499a08a137cc03b44e14bb8d713655af 100644 (file)
Binary files a/UiQT4/Newdoc.tgz and b/UiQT4/Newdoc.tgz differ
index 6b1f1df2c88787cb67787dd4c66f2d17efa569b1..1a2b13ee2b8b7cb7b441468b762681a2555bb510 100644 (file)
      <property name="frameShadow">
       <enum>QFrame::Raised</enum>
      </property>
-     <layout class="QHBoxLayout" name="horizontalLayout">
+     <layout class="QHBoxLayout" name="horizontalLayout_2">
       <item>
        <layout class="QVBoxLayout" name="verticalLayout_2">
+        <property name="spacing">
+         <number>0</number>
+        </property>
+        <property name="sizeConstraint">
+         <enum>QLayout::SetFixedSize</enum>
+        </property>
         <item>
          <widget class="QLabel" name="label">
           <property name="sizePolicy">
          </widget>
         </item>
         <item>
-         <layout class="QGridLayout" name="gridLayout">
-          <item row="0" column="0">
-           <widget class="QRadioButton" name="RBalpha">
-            <property name="toolTip">
-             <string>affiche les commandes par ordre alphabetique</string>
-            </property>
-            <property name="text">
-             <string>Alphabetique</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1">
-           <widget class="QRadioButton" name="RBOrdre">
-            <property name="toolTip">
-             <string>affiche les commandes selon les thèmes</string>
-            </property>
-            <property name="text">
-             <string>Ordre de la modélisation</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0">
-           <widget class="QRadioButton" name="RBGroupe">
-            <property name="toolTip">
-             <string>affiche les commandes selon les thèmes</string>
-            </property>
-            <property name="text">
-             <string>Par Groupe</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
+         <widget class="QRadioButton" name="RBalpha">
+          <property name="toolTip">
+           <string>affiche les commandes par ordre alphabetique</string>
+          </property>
+          <property name="text">
+           <string>Alphabetique</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QRadioButton" name="RBOrdre">
+          <property name="toolTip">
+           <string>affiche les commandes selon les thèmes</string>
+          </property>
+          <property name="text">
+           <string>Ordre de la modélisation</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QRadioButton" name="RBGroupe">
+          <property name="toolTip">
+           <string>affiche les commandes selon les thèmes</string>
+          </property>
+          <property name="text">
+           <string>Par Groupe</string>
+          </property>
+         </widget>
         </item>
        </layout>
       </item>
       </item>
       <item>
        <layout class="QVBoxLayout" name="verticalLayout_3">
+        <property name="spacing">
+         <number>0</number>
+        </property>
         <item>
          <widget class="QLabel" name="textLabel6">
           <property name="sizePolicy">
        </layout>
       </item>
       <item>
-       <spacer name="horizontalSpacer_2">
+       <spacer name="horizontalSpacer_3">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
+        <property name="sizeType">
+         <enum>QSizePolicy::Minimum</enum>
+        </property>
         <property name="sizeHint" stdset="0">
          <size>
-          <width>71</width>
+          <width>48</width>
           <height>18</height>
          </size>
         </property>
        </spacer>
       </item>
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_5">
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout">
+          <item>
+           <widget class="QToolButton" name="RBRegle">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>affiche les régles de validité</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/lettreRblanc30.png</normaloff>../Editeur/icons/lettreRblanc30.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QLabel" name="labelRegle">
+            <property name="text">
+             <string>Règles de construction</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="verticalSpacer">
+          <property name="orientation">
+           <enum>Qt::Vertical</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>20</width>
+            <height>40</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </item>
      </layout>
      <zorder>horizontalSpacer</zorder>
-     <zorder>horizontalSpacer_2</zorder>
+     <zorder>horizontalSpacer_3</zorder>
     </widget>
    </item>
    <item>
diff --git a/UiQT4/desViewRegles.ui b/UiQT4/desViewRegles.ui
new file mode 100644 (file)
index 0000000..03938cd
--- /dev/null
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>viewRegles</class>
+ <widget class="QDialog" name="viewRegles">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>411</width>
+    <height>322</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <widget class="QScrollArea" name="scrollArea">
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>393</width>
+        <height>304</height>
+       </rect>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="margin">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QListWidget" name="LBRegles"/>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
index c57e2912a432c29f169c25bee86c634836052712..dc993aaac9cffec3e6e4f45b3f51e1a32ebc55b3 100644 (file)
@@ -484,32 +484,32 @@ ask eficas team
         <translation>impossible to return a value of type : %s</translation>
     </message>
     <message>
-        <location filename="../../Ihm/I_JDC.py" line="310"/>
+        <location filename="../../Ihm/I_JDC.py" line="308"/>
         <source>Impossible d&apos;ajouter la commande</source>
         <translation>unable to add the keyword (commande)</translation>
     </message>
     <message>
-        <location filename="../../Ihm/I_JDC.py" line="316"/>
+        <location filename="../../Ihm/I_JDC.py" line="314"/>
         <source>Impossible d ajouter la commande</source>
         <translation>unable to add the keyword (commande)</translation>
     </message>
     <message>
-        <location filename="../../Ihm/I_JDC.py" line="631"/>
+        <location filename="../../Ihm/I_JDC.py" line="629"/>
         <source>Pas implemente</source>
         <translation>not implemented</translation>
     </message>
     <message>
-        <location filename="../../Ihm/I_JDC.py" line="726"/>
+        <location filename="../../Ihm/I_JDC.py" line="724"/>
         <source>Nom de concept deja defini </source>
         <translation>already defined concept</translation>
     </message>
     <message>
-        <location filename="../../Ihm/I_JDC.py" line="901"/>
+        <location filename="../../Ihm/I_JDC.py" line="899"/>
         <source> Nom de concept deja  defini : </source>
         <translation>already defined concept :</translation>
     </message>
     <message>
-        <location filename="../../Ihm/I_JDC.py" line="944"/>
+        <location filename="../../Ihm/I_JDC.py" line="942"/>
         <source>Impossible de trouver le fichier correspondant a l&apos;unite </source>
         <translation>unable to find file corresponding to unit</translation>
     </message>
@@ -780,62 +780,62 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>Eficas is not able to open this file&apos;s type</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="603"/>
+        <location filename="../../InterfaceQT4/editor.py" line="614"/>
         <source>Copie impossible</source>
         <translation>unable to copy</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="577"/>
+        <location filename="../../InterfaceQT4/editor.py" line="588"/>
         <source>Veuillez selectionner un objet a copier</source>
         <translation>you have to select an object to copy</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="582"/>
+        <location filename="../../InterfaceQT4/editor.py" line="593"/>
         <source>Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne</source>
         <translation>You have to select a single object : copy will be done after the selected node</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="603"/>
+        <location filename="../../InterfaceQT4/editor.py" line="614"/>
         <source>Aucun Objet n a ete copie ou coupe</source>
         <translation>No object was cut or copied</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="627"/>
+        <location filename="../../InterfaceQT4/editor.py" line="638"/>
         <source>Copie refusee</source>
         <translation>rejected copy</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="613"/>
+        <location filename="../../InterfaceQT4/editor.py" line="624"/>
         <source>Eficas n a pas reussi a copier l objet</source>
         <translation>Eficas cannot copy this object</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="627"/>
+        <location filename="../../InterfaceQT4/editor.py" line="638"/>
         <source>Copie refusee pour ce type d objet</source>
         <translation>Copy rejected : bad object type</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="639"/>
+        <location filename="../../InterfaceQT4/editor.py" line="650"/>
         <source>Deplacement refuse</source>
         <translation>move rejected</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="639"/>
+        <location filename="../../InterfaceQT4/editor.py" line="650"/>
         <source>Deplacement refuse entre 2 fichiers. Seule la copie est autorisee </source>
         <translation>move rejected. no move between two files : only copy is available</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="674"/>
+        <location filename="../../InterfaceQT4/editor.py" line="685"/>
         <source>Copie impossible a cet endroit</source>
         <translation>unable to copy here</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="674"/>
+        <location filename="../../InterfaceQT4/editor.py" line="685"/>
         <source>Veuillez selectionner une commande, un parametre, un commentaire ou une macro</source>
         <translation>select a command; a parameter, a comment or a macro</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="735"/>
+        <location filename="../../InterfaceQT4/editor.py" line="746"/>
         <source>Choix d&apos;un fichier XML</source>
         <translation>Choice of XML file</translation>
     </message>
@@ -845,67 +845,67 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>Open file</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1026"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1037"/>
         <source>Erreur a la generation</source>
         <translation>Error when generating</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1026"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1037"/>
         <source>EFICAS ne sait pas convertir ce JDC</source>
         <translation>Eficas is unable to convert JDC</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1030"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1041"/>
         <source>Format %s non reconnu</source>
         <translation> not supported format %s</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="885"/>
+        <location filename="../../InterfaceQT4/editor.py" line="896"/>
         <source>Execution impossible </source>
         <translation>Unable to execute</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="822"/>
+        <location filename="../../InterfaceQT4/editor.py" line="833"/>
         <source>le JDC doit etre valide pour une execution MAP</source>
         <translation>JDC has to be valid before run</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="825"/>
+        <location filename="../../InterfaceQT4/editor.py" line="836"/>
         <source>le JDC doit contenir un et un seul composant</source>
         <translation>JDC must contains a single componant</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="925"/>
+        <location filename="../../InterfaceQT4/editor.py" line="936"/>
         <source>sauvegarde</source>
         <translation>save</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="934"/>
+        <location filename="../../InterfaceQT4/editor.py" line="945"/>
         <source>Sauvegarde du Fichier</source>
         <translation>save file</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="934"/>
+        <location filename="../../InterfaceQT4/editor.py" line="945"/>
         <source>Le fichier &lt;b&gt;%s&lt;/b&gt; existe deja.</source>
         <translation>file  &lt;b&gt;%s&lt;/b&gt; already exists.</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="934"/>
+        <location filename="../../InterfaceQT4/editor.py" line="945"/>
         <source>&amp;Ecraser</source>
         <translation>&amp;Replace</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1168"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1179"/>
         <source>Donnez le nom du fichier correspondant a l unite logique </source>
         <translation>Choose file corresponding to unit </translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1171"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1182"/>
         <source>Choix d&apos;un fichier de poursuite</source>
         <translation>Choose poursuite file</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1172"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1183"/>
         <source>Le fichier %s contient une commande POURSUITE
 </source>
         <translation>file %s contains a POURSUITE command</translation>
@@ -963,7 +963,7 @@ Le fichier associe n&apos;est pas defini</source>
         <translation> and </translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/gereIcones.py" line="212"/>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="218"/>
         <source>Selection</source>
         <translation>selection</translation>
     </message>
@@ -1003,22 +1003,22 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>unkown type</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/gereIcones.py" line="176"/>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="182"/>
         <source>Visualisation Fichier </source>
         <translation>view file</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/gereIcones.py" line="176"/>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="182"/>
         <source>Impossibilite d&apos;afficher le Fichier</source>
         <translation>Unable to display file</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/gereIcones.py" line="189"/>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="195"/>
         <source>Sauvegarder Fichier</source>
         <translation>save File</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/gereIcones.py" line="203"/>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="209"/>
         <source>Fichier selectionne</source>
         <translation>file selected</translation>
     </message>
@@ -1304,52 +1304,52 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>Exit</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="332"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="337"/>
         <source>Fichier Duplique</source>
         <translation>file is duplicated</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="332"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="337"/>
         <source>Le fichier ne sera pas sauvegarde.</source>
         <translation>File will not be saved.</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="344"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
         <source>&amp;Annuler</source>
         <translation>&amp;Cancel</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="262"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
         <source>Fichier</source>
         <translation>File</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="262"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
         <source>Le fichier &lt;b&gt;%s&lt;/b&gt; est deja ouvert.</source>
         <translation>File  &lt;b&gt;%s&lt;/b&gt; is already open.</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="262"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
         <source>&amp;Duplication</source>
         <translation>&amp;Duplication</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="262"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
         <source>&amp;Abort</source>
         <translation>&amp;Abort</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="344"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
         <source>Fichier Modifie</source>
         <translation>File is modified</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="344"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
         <source>Le fichier %s n a pas ete sauvegarde.</source>
         <translation>file %s was not saved.</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="344"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
         <source>&amp;Sauvegarder</source>
         <translation>&amp;Save</translation>
     </message>
@@ -1387,7 +1387,7 @@ Le fichier associe n&apos;est pas defini</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/browser.py" line="429"/>
+        <location filename="../../InterfaceQT4/browser.py" line="430"/>
         <source>  n&apos;est pas un index valide pour append_brother</source>
         <translation>is not correct - no possible &quot;append_brother&quot;</translation>
     </message>
@@ -1402,23 +1402,23 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>unable to display law&apos;s PDF.</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="736"/>
+        <location filename="../../InterfaceQT4/editor.py" line="747"/>
         <source>Le fichier contient une commande MODEL
 </source>
         <translation>file contains MODEL command </translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="737"/>
+        <location filename="../../InterfaceQT4/editor.py" line="748"/>
         <source>Donnez le nom du fichier XML qui contient la description des variables</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1166"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1177"/>
         <source>Choix unite %d </source>
         <translation>Choice for unit %d</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1169"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1180"/>
         <source>Fichier pour unite </source>
         <translation>File for unit </translation>
     </message>
@@ -1469,7 +1469,7 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>internal problem : unable to delete keyword</translation>
     </message>
     <message>
-        <location filename="../../convert/parseur_python.py" line="491"/>
+        <location filename="../../convert/parseur_python.py" line="499"/>
         <source>Eficas ne peut pas traiter plusieurs instructions 
                                                  sur la meme ligne : %s</source>
         <translation>Eficas is not able to manage many instructions on a same line</translation>
@@ -1585,59 +1585,59 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>PARAMETER</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1031"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1042"/>
         <source>EFICAS ne sait pas convertir le JDC selon le format </source>
         <translation>Eficas does not know how to convert data according to the defined format</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="861"/>
+        <location filename="../../InterfaceQT4/editor.py" line="872"/>
         <source>le JDC doit etre valide pour une execution </source>
         <translation>Before a run action, JDC must be valid</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="885"/>
+        <location filename="../../InterfaceQT4/editor.py" line="896"/>
         <source>Sauvegarder SVP avant l&apos;execution </source>
         <translation>Save before run action</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1010"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1021"/>
         <source>Sauvegarde de l&apos;input impossible </source>
         <translation>unable to save input file</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1010"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1021"/>
         <source>Un JdC valide est necessaire pour creer un .input</source>
         <translation>file must be valid to create a .input file</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="954"/>
+        <location filename="../../InterfaceQT4/editor.py" line="965"/>
         <source>Choix du composant obligatoire</source>
         <translation>You have to choose a component</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1167"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1178"/>
         <source>Le fichier %s contient une commande INCLUDE 
 </source>
         <translation>file %s contains an &quot;INCLUDE&quot; command</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1173"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1184"/>
         <source>Donnez le nom du fichier dont vous 
  voulez faire une poursuite</source>
         <translation>Name the principal file</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1301"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1312"/>
         <source>Fichiers Med (*.med);;Tous les Fichiers (*)</source>
         <translation>Med Files (*.med);;All Files(*)</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1304"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1315"/>
         <source>Fichier Med</source>
         <translation>Med File</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="1304"/>
+        <location filename="../../InterfaceQT4/editor.py" line="1315"/>
         <source>Veuillez selectionner un fichier Med</source>
         <translation>Choose a Med file</translation>
     </message>
@@ -1687,12 +1687,12 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>Help is not available</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/gereIcones.py" line="258"/>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="264"/>
         <source>Export Med vers Fichier </source>
         <translation>export Med Mesh in a file</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/gereIcones.py" line="258"/>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="264"/>
         <source>Impossibilite d exporter le Fichier</source>
         <translation>Unable to export file</translation>
     </message>
@@ -1738,12 +1738,12 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>Value is not authorized</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/qtEficas.py" line="362"/>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="390"/>
         <source>Accquisition Groupe Maille</source>
         <translation>acquier mesh groups</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="294"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="299"/>
         <source>Fichier non encore nomme </source>
         <translation>unnamed file</translation>
     </message>
@@ -1888,17 +1888,17 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>maximum number of values</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/qtEficas.py" line="340"/>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="368"/>
         <source>TraduitV10V11</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/qtEficas.py" line="343"/>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="371"/>
         <source>TraduitV11V12</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/qtEficas.py" line="345"/>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="373"/>
         <source>Sauve Format Ligne</source>
         <translation>save file in line format</translation>
     </message>
@@ -2128,12 +2128,12 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>unknown keywords : %s</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="182"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="187"/>
         <source>Creation Parametre indisponible</source>
         <translation>No parameters creation</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="182"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="187"/>
         <source>les parametres sont lies a un jeu de donnees</source>
         <translation>parametres are defined for a specific JDC (context)</translation>
     </message>
@@ -2285,22 +2285,22 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>header does not match with matrix</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/browser.py" line="457"/>
+        <location filename="../../InterfaceQT4/browser.py" line="458"/>
         <source>le mot clef </source>
         <translation>keyword </translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/browser.py" line="449"/>
+        <location filename="../../InterfaceQT4/browser.py" line="450"/>
         <source> doit etre insere avant </source>
         <translation> has to be inserted before </translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/browser.py" line="458"/>
+        <location filename="../../InterfaceQT4/browser.py" line="459"/>
         <source>insertion impossible</source>
         <translation>unable to insert keyword</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/browser.py" line="457"/>
+        <location filename="../../InterfaceQT4/browser.py" line="458"/>
         <source> doit etre insere apres </source>
         <translation> has to be inserted after </translation>
     </message>
@@ -2319,6 +2319,11 @@ Le fichier associe n&apos;est pas defini</source>
         <source>Date sous la forme JJ/MM/AA</source>
         <translation>date expressed as DD/MM/YY</translation>
     </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereRegles.py" line="58"/>
+        <source>pas de regle de construction pour ce jeu de commandes</source>
+        <translation>No specific rules for building this dataset</translation>
+    </message>
 </context>
 <context>
     <name>ChoixCode</name>
@@ -2356,45 +2361,60 @@ Le fichier associe n&apos;est pas defini</source>
         <translation>DMacro</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desChoixCommandes.ui" line="91"/>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="95"/>
         <source>Alphabetique</source>
         <translation>alphabetic sort</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desChoixCommandes.ui" line="111"/>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="115"/>
         <source>Par Groupe</source>
         <translation>Sort by group</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desChoixCommandes.ui" line="79"/>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="85"/>
         <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;Affichage&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;Order&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desChoixCommandes.ui" line="88"/>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="92"/>
         <source>affiche les commandes par ordre alphabetique</source>
         <translation>display commands in alphabetic order</translation>
     </message>
     <message utf8="true">
-        <location filename="../../UiQT4/desChoixCommandes.ui" line="108"/>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="112"/>
         <source>affiche les commandes selon les thèmes</source>
         <translation>display commands by thema</translation>
     </message>
     <message utf8="true">
-        <location filename="../../UiQT4/desChoixCommandes.ui" line="101"/>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="105"/>
         <source>Ordre de la modélisation</source>
         <translation>ordered by modelisation</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desChoixCommandes.ui" line="158"/>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="163"/>
         <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Filtre Commande&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Filters Commands&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desChoixCommandes.ui" line="180"/>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="185"/>
         <source>filter commands</source>
         <translation>filters commands</translation>
     </message>
+    <message utf8="true">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="248"/>
+        <source>affiche les régles de validité</source>
+        <translation>display validity rules</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="254"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message utf8="true">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="271"/>
+        <source>Règles de construction</source>
+        <translation>Building Rules</translation>
+    </message>
 </context>
 <context>
     <name>DChoixCata</name>
@@ -2487,162 +2507,162 @@ p, li { white-space: pre-wrap; }
         <translation>&amp;File</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="171"/>
+        <location filename="../../UiQT4/myMain.ui" line="173"/>
         <source>&amp;Aide</source>
         <translation>&amp;Help</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="185"/>
+        <location filename="../../UiQT4/myMain.ui" line="187"/>
         <source>toolBar</source>
         <translation>toolBar</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="215"/>
+        <location filename="../../UiQT4/myMain.ui" line="219"/>
         <source>&amp;Nouveau</source>
         <translation>&amp;New</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="218"/>
+        <location filename="../../UiQT4/myMain.ui" line="222"/>
         <source>Ctrl+N</source>
         <translation>Ctrl+N</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="223"/>
+        <location filename="../../UiQT4/myMain.ui" line="227"/>
         <source>Nouvel Include</source>
         <translation>New Include</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="234"/>
+        <location filename="../../UiQT4/myMain.ui" line="245"/>
         <source>&amp;Ouvrir</source>
         <translation>&amp;Open</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="237"/>
+        <location filename="../../UiQT4/myMain.ui" line="248"/>
         <source>Ctrl+O</source>
         <translation>Ctrl+O</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="245"/>
+        <location filename="../../UiQT4/myMain.ui" line="258"/>
         <source>Enregistrer</source>
         <translation>Save</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="261"/>
+        <location filename="../../UiQT4/myMain.ui" line="276"/>
         <source>Enregistrer sous</source>
         <translation>Save as</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="269"/>
+        <location filename="../../UiQT4/myMain.ui" line="284"/>
         <source>Fermer </source>
         <translation>Close</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="272"/>
+        <location filename="../../UiQT4/myMain.ui" line="287"/>
         <source>Ctrl+W</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="277"/>
+        <location filename="../../UiQT4/myMain.ui" line="292"/>
         <source>Fermer tout</source>
         <translation>Close all</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="285"/>
+        <location filename="../../UiQT4/myMain.ui" line="302"/>
         <source>Couper</source>
         <translation>Cut</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="288"/>
+        <location filename="../../UiQT4/myMain.ui" line="305"/>
         <source>Ctrl+X</source>
         <translation>Ctrl+X</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="299"/>
+        <location filename="../../UiQT4/myMain.ui" line="318"/>
         <source>Copier</source>
         <translation>Copy</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="302"/>
+        <location filename="../../UiQT4/myMain.ui" line="321"/>
         <source>Ctrl+C</source>
         <translation>Ctrl+C</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="313"/>
+        <location filename="../../UiQT4/myMain.ui" line="334"/>
         <source>Coller</source>
         <translation>Paste</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="316"/>
+        <location filename="../../UiQT4/myMain.ui" line="337"/>
         <source>Ctrl+V</source>
         <translation>Ctrl+V</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="324"/>
+        <location filename="../../UiQT4/myMain.ui" line="345"/>
         <source>Quitter</source>
         <translation>Exit</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="327"/>
+        <location filename="../../UiQT4/myMain.ui" line="348"/>
         <source>Ctrl+Q</source>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="332"/>
+        <location filename="../../UiQT4/myMain.ui" line="353"/>
         <source>Rapport de Validation</source>
         <translation>Validation Report</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="343"/>
+        <location filename="../../UiQT4/myMain.ui" line="364"/>
         <source>Fichier Source</source>
         <translation>Source File</translation>
     </message>
     <message utf8="true">
-        <location filename="../../UiQT4/myMain.ui" line="348"/>
+        <location filename="../../UiQT4/myMain.ui" line="369"/>
         <source>Fichier Résultat</source>
         <translation>Result File</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="253"/>
+        <location filename="../../UiQT4/myMain.ui" line="266"/>
         <source>Parametres Eficas</source>
         <translation>Eficas Parameters</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="353"/>
+        <location filename="../../UiQT4/myMain.ui" line="374"/>
         <source>Lecteur documentation</source>
         <translation>documentation reader</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="358"/>
+        <location filename="../../UiQT4/myMain.ui" line="379"/>
         <source>Eficas</source>
         <translation>Eficas</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="363"/>
+        <location filename="../../UiQT4/myMain.ui" line="384"/>
         <source>Version</source>
         <translation>Version</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="371"/>
+        <location filename="../../UiQT4/myMain.ui" line="394"/>
         <source>Supprimer</source>
         <translation>Delete</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="393"/>
+        <location filename="../../UiQT4/myMain.ui" line="418"/>
         <source>Rechercher</source>
         <translation>Find</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="396"/>
+        <location filename="../../UiQT4/myMain.ui" line="421"/>
         <source> Rechercher dans l&apos;arbre d&apos;etude</source>
         <translation>Find in Data Tree</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="399"/>
+        <location filename="../../UiQT4/myMain.ui" line="424"/>
         <source>Ctrl+F</source>
         <translation>Ctrl+F</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="407"/>
+        <location filename="../../UiQT4/myMain.ui" line="432"/>
         <source>Replier/Deplier</source>
         <translation>Expand/Collapse</translation>
     </message>
@@ -2667,82 +2687,82 @@ p, li { white-space: pre-wrap; }
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="147"/>
+        <location filename="../../UiQT4/myMain.ui" line="148"/>
         <source>&amp;Edition</source>
         <translation>&amp;Edit</translation>
     </message>
     <message utf8="true">
-        <location filename="../../UiQT4/myMain.ui" line="160"/>
+        <location filename="../../UiQT4/myMain.ui" line="161"/>
         <source>&amp;JeuDeDonnées</source>
         <translation>&amp;Data</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="226"/>
+        <location filename="../../UiQT4/myMain.ui" line="230"/>
         <source>Shift+I</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="248"/>
+        <location filename="../../UiQT4/myMain.ui" line="261"/>
         <source>Ctrl+S</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="264"/>
+        <location filename="../../UiQT4/myMain.ui" line="279"/>
         <source>Ctrl+Shift+S</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="335"/>
+        <location filename="../../UiQT4/myMain.ui" line="356"/>
         <source>Shift+V</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="376"/>
+        <location filename="../../UiQT4/myMain.ui" line="399"/>
         <source>Chercher Mot-Clef</source>
         <translation> Find Keyword</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="379"/>
+        <location filename="../../UiQT4/myMain.ui" line="402"/>
         <source> Rechercher dans le catalogue</source>
         <translation>Find Keyword in Catalog</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="382"/>
+        <location filename="../../UiQT4/myMain.ui" line="405"/>
         <source>Shift+F</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="410"/>
+        <location filename="../../UiQT4/myMain.ui" line="435"/>
         <source>Shift+D</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="415"/>
+        <location filename="../../UiQT4/myMain.ui" line="440"/>
         <source>Commentaire</source>
         <translation>Comment</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="418"/>
+        <location filename="../../UiQT4/myMain.ui" line="443"/>
         <source>Shift+C</source>
         <translation></translation>
     </message>
     <message utf8="true">
-        <location filename="../../UiQT4/myMain.ui" line="427"/>
+        <location filename="../../UiQT4/myMain.ui" line="452"/>
         <source>Paramètres</source>
         <translation>Parameters</translation>
     </message>
     <message utf8="true">
-        <location filename="../../UiQT4/myMain.ui" line="430"/>
+        <location filename="../../UiQT4/myMain.ui" line="455"/>
         <source>Gestion des paramètres</source>
         <translation>Managing parameters</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="433"/>
+        <location filename="../../UiQT4/myMain.ui" line="458"/>
         <source>Shift+P</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/myMain.ui" line="438"/>
+        <location filename="../../UiQT4/myMain.ui" line="463"/>
         <source>Parametre Eficas</source>
         <translation>Eficas Settings</translation>
     </message>
@@ -2752,30 +2772,40 @@ p, li { white-space: pre-wrap; }
         <translation>Save run</translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/qtEficas.py" line="170"/>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="175"/>
         <source>Run</source>
         <translation>run</translation>
     </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="235"/>
+        <source>&amp;bad</source>
+        <translation></translation>
+    </message>
+    <message utf8="true">
+        <location filename="../../UiQT4/myMain.ui" line="468"/>
+        <source>Régles du JdC</source>
+        <translation>Rules for dataset</translation>
+    </message>
 </context>
 <context>
     <name>JDCEditor</name>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="775"/>
+        <location filename="../../InterfaceQT4/editor.py" line="786"/>
         <source>Save File</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="775"/>
+        <location filename="../../InterfaceQT4/editor.py" line="786"/>
         <source>The file &lt;b&gt;%1&lt;/b&gt; could not be saved.&lt;br&gt;Reason: %2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="920"/>
+        <location filename="../../InterfaceQT4/editor.py" line="931"/>
         <source>JDC (*.comm);;All Files (*)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="934"/>
+        <location filename="../../InterfaceQT4/editor.py" line="945"/>
         <source>&amp;Abandonner</source>
         <translation>&amp;Cancel</translation>
     </message>
@@ -2986,37 +3016,37 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>WidgetCommentaire</name>
     <message>
-        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="141"/>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="147"/>
         <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;Commentaire&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
         <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;Comment&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="221"/>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="227"/>
         <source>Affiche les commandes possibles</source>
         <translation>display allowed commands</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="327"/>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="333"/>
         <source>Shift+A, Alt+A, Alt+A, Alt+A</source>
         <translation>Shift+A, Alt+A, Alt+A, Alt+A</translation>
     </message>
     <message utf8="true">
-        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="176"/>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="182"/>
         <source>Détruit le commentaire</source>
         <translation>Delete the comment</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="230"/>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="236"/>
         <source>&amp;Commandes</source>
         <translation>&amp;Commands</translation>
     </message>
     <message utf8="true">
-        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="269"/>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="275"/>
         <source>Affiche le formulaire de la commande précédente</source>
         <translation>display previous command</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="315"/>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="321"/>
         <source>Affiche le formulaire de la commande suivante</source>
         <translation>display next command</translation>
     </message>
@@ -3026,17 +3056,17 @@ p, li { white-space: pre-wrap; }
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="182"/>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="188"/>
         <source>...</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="278"/>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="284"/>
         <source>&lt;&lt;</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="324"/>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="330"/>
         <source>&gt;&gt;</source>
         <translation></translation>
     </message>
@@ -3419,7 +3449,7 @@ p, li { white-space: pre-wrap; }
         <translation>Display validity report for the keyword</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="549"/>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="555"/>
         <source>...</source>
         <translation></translation>
     </message>
@@ -3429,37 +3459,37 @@ p, li { white-space: pre-wrap; }
         <translation></translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="265"/>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="271"/>
         <source>Remonte la ligne</source>
         <translation>Up</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="304"/>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="310"/>
         <source>Descend la ligne</source>
         <translation>Down</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="343"/>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="349"/>
         <source>supprime une ligne</source>
         <translation>delete a line</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="382"/>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="388"/>
         <source>Ajoute une ligne</source>
         <translation>add a line</translation>
     </message>
     <message>
-        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="438"/>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="444"/>
         <source>Montre l&apos;ensemble des valeurs</source>
         <translation>show all values</translation>
     </message>
     <message utf8="true">
-        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="488"/>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="494"/>
         <source>Ouvre un fichier de sélection des valeurs</source>
         <translation>import data from a file</translation>
     </message>
     <message utf8="true">
-        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="543"/>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="549"/>
         <source>Détruit le mot-clef</source>
         <translation>Delete the keyword</translation>
     </message>
@@ -3950,14 +3980,22 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>self.appliEficas</name>
     <message>
-        <location filename="../../InterfaceQT4/editor.py" line="740"/>
+        <location filename="../../InterfaceQT4/editor.py" line="751"/>
         <source>Wrapper Files (*.xml);;All Files (*)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../../InterfaceQT4/viewManager.py" line="343"/>
+        <location filename="../../InterfaceQT4/viewManager.py" line="348"/>
         <source>Noname</source>
         <translation></translation>
     </message>
 </context>
+<context>
+    <name>viewRegles</name>
+    <message>
+        <location filename="../../UiQT4/desViewRegles.ui" line="14"/>
+        <source>Dialog</source>
+        <translation>Dialog</translation>
+    </message>
+</context>
 </TS>
index 016b7e4961f6f5989de93f79bdf4fc7137d3206f..7dd76fa48364f6d875dd0b9bded2d403407ff780 100644 (file)
@@ -5,7 +5,7 @@ QTRELEASE = lrelease-qt4
 
 
 PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixCommandes.py desRecherche.py \
-       desSelectVal.py desViewTexte.py desVisu.py desWidgetCreeParam.py desWidgetCommande.py \
+       desSelectVal.py desViewTexte.py desViewRegles.py desVisu.py desWidgetCreeParam.py desWidgetCommande.py \
        desWidgetOptionnel.py Tuple2.py Tuple3.py  \
        desWidgetBloc.py desWidgetCB.py desWidgetCommentaire.py desWidgetDate.py \
        desWidgetFact.py desWidgetFactPlie.py desWidgetHeure.py desWidgetInformation.py \
index 975ef52cbb111cf1964193f1e8553ac5bd2c5279..47ba2cf4a83322e93267db569f5b8fd927f235a7 100644 (file)
@@ -161,6 +161,7 @@ QMenuBar {
      <string>&amp;JeuDeDonnées</string>
     </property>
     <addaction name="actionRapport_de_Validation"/>
+    <addaction name="actionRegles_du_JdC"/>
     <addaction name="actionFichier_Source"/>
     <addaction name="actionFichier_Resultat"/>
     <addaction name="separator"/>
@@ -210,7 +211,9 @@ QMenuBar {
   </widget>
   <action name="action_Nouveau">
    <property name="icon">
-    <iconset theme="document-new"/>
+    <iconset theme="document-new">
+     <normaloff/>
+    </iconset>
    </property>
    <property name="text">
     <string>&amp;Nouveau</string>
@@ -234,7 +237,9 @@ QMenuBar {
   </action>
   <action name="actionOuvrir">
    <property name="icon">
-    <iconset theme="document-open"/>
+    <iconset theme="document-open">
+     <normaloff/>
+    </iconset>
    </property>
    <property name="text">
     <string>&amp;Ouvrir</string>
@@ -245,7 +250,9 @@ QMenuBar {
   </action>
   <action name="actionEnregistrer">
    <property name="icon">
-    <iconset theme="document-save"/>
+    <iconset theme="document-save">
+     <normaloff/>
+    </iconset>
    </property>
    <property name="text">
     <string>Enregistrer</string>
@@ -261,7 +268,9 @@ QMenuBar {
   </action>
   <action name="actionEnregistrer_sous">
    <property name="icon">
-    <iconset theme="document-save-as"/>
+    <iconset theme="document-save-as">
+     <normaloff/>
+    </iconset>
    </property>
    <property name="text">
     <string>Enregistrer sous</string>
@@ -285,7 +294,9 @@ QMenuBar {
   </action>
   <action name="actionCouper">
    <property name="icon">
-    <iconset theme="edit-cut"/>
+    <iconset theme="edit-cut">
+     <normaloff/>
+    </iconset>
    </property>
    <property name="text">
     <string>Couper</string>
@@ -299,7 +310,9 @@ QMenuBar {
   </action>
   <action name="actionCopier">
    <property name="icon">
-    <iconset theme="edit-copy"/>
+    <iconset theme="edit-copy">
+     <normaloff/>
+    </iconset>
    </property>
    <property name="text">
     <string>Copier</string>
@@ -313,7 +326,9 @@ QMenuBar {
   </action>
   <action name="actionColler">
    <property name="icon">
-    <iconset theme="edit-paste"/>
+    <iconset theme="edit-paste">
+     <normaloff/>
+    </iconset>
    </property>
    <property name="text">
     <string>Coller</string>
@@ -371,7 +386,9 @@ QMenuBar {
   </action>
   <action name="actionSupprimer">
    <property name="icon">
-    <iconset theme="edit-delete"/>
+    <iconset theme="edit-delete">
+     <normaloff/>
+    </iconset>
    </property>
    <property name="text">
     <string>Supprimer</string>
@@ -393,7 +410,9 @@ QMenuBar {
   </action>
   <action name="actionRechercher">
    <property name="icon">
-    <iconset theme="edit-find"/>
+    <iconset theme="edit-find">
+     <normaloff/>
+    </iconset>
    </property>
    <property name="text">
     <string>Rechercher</string>
@@ -444,6 +463,11 @@ QMenuBar {
     <string>Parametre Eficas</string>
    </property>
   </action>
+  <action name="actionRegles_du_JdC">
+   <property name="text">
+    <string>Régles du JdC</string>
+   </property>
+  </action>
  </widget>
  <resources/>
  <connections/>