]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
pour telemac : bug boucle import grande valeur
authorpascale.noyret <pascale.noyret@edf.fr>
Tue, 13 Mar 2018 17:27:31 +0000 (18:27 +0100)
committerpascale.noyret <pascale.noyret@edf.fr>
Tue, 13 Mar 2018 17:27:31 +0000 (18:27 +0100)
InterfaceQT4/browser.py
InterfaceQT4/composimp.py
InterfaceQT4/gereIcones.py
InterfaceQT4/groupe.py
InterfaceQT4/monBoutonValide.py
InterfaceQT4/monGroupeOptionnel.py
InterfaceQT4/monWidgetFact.py
InterfaceQT4/monWidgetPlusieursTuple.py
Noyau/N_ENTITE.py
Noyau/N_SIMP.py
convert/convert_TELEMAC.py

index 6dd8c35fde9649a1f6a4edbed230bf120270efe9..67eda81b6e42df6c809cff00eea81606657ff5de 100644 (file)
@@ -271,7 +271,6 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         repIcon=self.appliEficas.repIcon
 
         couleur=self.item.getIconName()
-        if not self.editor.maConfiguration.differencieSiDefaut and couleur == 'ast-green-dark-ball' : couleur="ast-green-ball"
         monIcone = QIcon(repIcon+"/" + couleur + ".png")
 
         self.setIcon(0,monIcone)
@@ -713,7 +712,6 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         """
         repIcon=self.appliEficas.repIcon
         couleur=self.item.getIconName()
-        if not self.editor.maConfiguration.differencieSiDefaut and couleur == 'ast-green-dark-ball' : couleur="ast-green-ball"
         monIcone = QIcon(repIcon+"/" + couleur + ".png")
         self.setIcon(0,monIcone)
 
index a5227245421d349370206e9b5073e1a7c2203e63..e48a9e617d84f9164fdf61a4a7a8fb405188a8c9 100644 (file)
@@ -487,12 +487,10 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
 
 
   def getIconName(self):
-    if self.isValid():
-      if self.object.valeur == self.object.definition.defaut :
-         return "ast-green-dark-ball"
-      # cas des tuples et des listes
-      if self.object.definition.max > 1 :
-          if list(self.object.valeur) == list(self.object.definition.defaut) : return "ast-green-dark-ball"
+    if self.appli.maConfiguration.differencieSiDefaut and self.isValid():
+      if self.object.definition.defaut != None :
+         if self.object.valeur == self.object.definition.defaut : return "ast-green-dark-ball"
+         if self.object.definition.max > 1 and list(self.object.valeur) == list(self.object.definition.defaut) : return "ast-green-dark-ball"
       return "ast-green-ball"
     elif self.object.isOblig():
       return "ast-red-ball"
index 095a9f607cc64c83b96d1f0d24d1c7c0d6b5808f..0787448de1e794843493b8f17d9606100ca16e4b 100644 (file)
@@ -187,10 +187,8 @@ class FacultatifOuOptionnel(object):
       self.node.delete()
 
   def setValide(self):
-      #print " c est le moment de gerer le passage au suivant"
       if not(hasattr (self,'RBValide')) : return
       couleur=self.node.item.getIconName()
-      if not self.editor.maConfiguration.differencieSiDefaut and couleur == 'ast-green-dark-ball' : couleur="ast-green-ball"
       monIcone = QIcon(self.repIcon+"/" + couleur + ".png")
       self.RBValide.setIcon(monIcone)
 
index cd7a98b438e9eedeaeaabdf82d2c27981a049e72..7616c20fadb2185f2df68d33032b3f3cc28130fb 100644 (file)
@@ -21,7 +21,7 @@
 
 from __future__ import absolute_import
 from __future__ import print_function
-from PyQt5.QtWidgets import QWidget
+from PyQt5.QtWidgets import QWidget, QSpacerItem, QSizePolicy
 from PyQt5.QtCore import Qt
 
 from Extensions.i18n import tr
@@ -64,6 +64,9 @@ class Groupe(QWidget,FacultatifOuOptionnel):
       if hasattr(self,'RBDeplie')  : self.RBDeplie.clicked.connect(self.setDeplie)
       if hasattr(self,'RBPlie')    : self.RBPlie.clicked.connect( self.setPlie)
       self.setAcceptDrops(True)
+      if hasattr (self, 'commandesLayout'): 
+         spacerItem = QSpacerItem(20, 5, QSizePolicy.Minimum, QSizePolicy.Expanding)
+         self.commandesLayout.addItem(spacerItem)
      
   def donneFocus(self):
       for fenetre in self.listeFocus:
index 0d3b9f24ef1a2995137dfe6fe9c3ba6be60780be..335d164453743f3294e8b4fc936b87d62775db18 100644 (file)
@@ -39,15 +39,19 @@ class MonBoutonValide(QToolButton) :
 
      def mouseDoubleClickEvent(self, event):
         #print "dans mouseDoubleClickEvent"
+        strAide=self.parent.node.item.object.getFr()
+        if hasattr(self.parent.node.item.object.definition, 'defaut') :
+                strAide+='\ndefaut : \n'+str(self.parent.node.item.object.definition.defaut)
         strRapport=six.text_type(self.parent.node.item.object.report())
-        self.parent.editor._viewText(strRapport, "JDC_RAPPORT")
+        self.parent.editor._viewText(strAide+"\n"+strRapport, "JDC_RAPPORT")
 
      def mousePressEvent(self, event):
        #print "dans mousePressEvent"
        if self.parent.node.item.object.isValid() :
           myToolTip=tr("objet valide")
           if self.parent.editor.maConfiguration.differencieSiDefaut :
-            if self.parent.node.item.object.valeur != self.parent.node.item.object.definition.defaut :
+            if hasattr(self.parent.node.item.object.definition, 'defaut') :
+              if self.parent.node.item.object.valeur != self.parent.node.item.object.definition.defaut :
                 myToolTip+='\ndefaut : \n'+str(self.parent.node.item.object.definition.defaut)
 
           QToolTip.showText(event.globalPos(),myToolTip )
index 019610221f81b0e88b1df1d01751492e5b2e9439..641369f03c1e6cc3b6bbe912428e285970bb3294 100644 (file)
@@ -41,8 +41,10 @@ class MonRBButtonCustom(QCheckBox):
       if couleur != None :
          mapalette=self.palette()
          mapalette.setColor( QPalette.WindowText, couleur )
+         mapalette.setColor( QPalette.Base, Qt.green )
          self.setPalette( mapalette );
          self.setText(tr(texte))
+         print ('jjjjjjjjjjjj')
          try :
            monToolTip=monOptionnel.parentMC.dictToolTipMc[texte]
            self.setToolTip(monToolTip)
@@ -93,15 +95,20 @@ class MonPBButtonCustom(QWidget,Ui_customPB):
       QWidget.__init__(self)
       self.setupUi(self)
       if couleur != None :
+         print ( 'je change pour ', texte)
+         self.monPb.setText(texte)
+         self.monPb.setStyleSheet('QPushButton {background-color: #A3C1DA; color: red;}')
          mapalette=self.monPb.palette()
          mapalette.setColor( QPalette.ButtonText, Qt.red )
          self.monPb.setPalette( mapalette )
+         self.monPb.update()
+         self.update()
          try :
            monToolTip=monOptionnel.parentMC.dictToolTipMc[texte]
            self.monPb.setToolTip(monToolTip)
          except :
            pass
-      self.monPb.setText(texte)
+      #self.monPb.setText(texte)
       self.monPb.clicked.connect(self.ajoutMC)
 
       self.texte=texte
index 5e5191953190daa7d19a26ef323488d369cc31ec..38f5805b86f4fb244296e75acfae545656752984 100644 (file)
@@ -40,7 +40,6 @@ class MonWidgetFactCommun(Groupe):
       self.GroupBox.setText(tr(labeltext))
       self.GroupBox.setTextInteractionFlags(Qt.TextSelectableByMouse)
       self.parentQt.commandesLayout.insertWidget(insertIn,self)
-      #else :  self.parentQt.commandesLayout.insertWidget(0,self)
       self.doitAfficherOptionnel=False
 
   def enterEvent(self,event):
@@ -67,5 +66,5 @@ class MonWidgetFact(Ui_WidgetFact,MonWidgetFactCommun):
 class MonWidgetFactTableau(Ui_WidgetFact,MonWidgetFactCommun):
   def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=1):
       MonWidgetFactCommun.__init__(self,node,editor,parentQt, definition,obj,niveau,commande,insertIn)
-      print ('je passe dans FactTableau')
+      #print ('je passe dans FactTableau')
       MonWidgetFactTableau.__init__(self,node,editor,parentQt, definition,obj,niveau,commande)
index c289b9e8c045046a55cfb7f892d381ec6d5e3544..9b3e3583fe8b74de2ebf1a975744c8939ac13090 100644 (file)
@@ -344,14 +344,34 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
               t=tuple(liste[i:len(liste)])
             i=i+self.nbValeurs
             if indexDernierRempli < self.indexDernierLabel:
+               print ('if')
                nomLineEdit=self.nomLine+str(indexDernierRempli+1)
                LEARemplir=getattr(self,nomLineEdit) 
                LEARemplir.lineEditVal_1.setText(str(t[0]))
                LEARemplir.lineEditVal_2.setText(str(t[1]))
                if self.nbValeurs== 3 : LEARemplir.lineEditVal_3.setText(str(t[2]))
             else : 
-               self.ajoutLineEdit(t,False)
-            indexDernierRempli = indexDernierRempli + 1
+               print ('eslse')
+               # ne pas appeler ajoutLineEdit(t,False ) pb de boucle pb du a etablitOrdre et a listeWidgetAffichage qui bouge
+               self.indexDernierLabel=self.indexDernierLabel+1
+               nomLineEdit=self.nomLine+str(self.indexDernierLabel)
+
+               if self.nbValeurs == 2 : nouveauLE = TupleCustom2(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel)
+               else                   : nouveauLE = TupleCustom3(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel)
+                 
+               print (nomLineEdit)
+               self.verticalLayoutLE.insertWidget(self.indexDernierLabel-1,nouveauLE)
+               setattr(self,nomLineEdit,nouveauLE)
+               print (nouveauLE)
+               nouveauLE.setValeur(t)
+
+               self.listeAffichageWidget.append(nouveauLE.lineEditVal_1)
+               self.listeAffichageWidget.append(nouveauLE.lineEditVal_2)
+               if self.nbValeurs == 3 : self.listeAffichageWidget.append(nouveauLE.lineEditVal_3)
+            indexDernierRempli = indexDernierRempli+1
+
+        self.etablitOrdre()
+
         
 
   def RBListePush(self):
index 4e8798478ffa2ed31f4672594280851630da7b5b..ca70e0a5a4d6d4df99bc8a783a10526b3352cc3f 100644 (file)
@@ -90,6 +90,7 @@ class ENTITE(object):
         """
             Cette methode doit retourner un objet dérivé de la classe OBJECT
         """
+     
         raise NotImplementedError("La méthode __call__ de la classe %s doit être implémentée"
                                   % self.__class__.__name__)
 
@@ -260,3 +261,19 @@ class ENTITE(object):
         if self.position not in ('local', 'global', 'global_jdc'):
             self.cr.fatal(_(u"L'attribut 'position' doit valoir 'local', 'global' "
                             u"ou 'global_jdc' : %r"), self.position)
+
+    def dumpXSD(self):
+        args = self.entites.copy()
+        mcs = set()
+        for nom, val in list(args.items()):
+            if val.label == 'SIMP':
+                mcs.add(nom)
+                # XXX
+                # if val.max != 1 and val.type == 'TXM':
+                    # print "#CMD", parent, nom
+            elif val.label == 'FACT':
+                liste=val.dumpXSD()
+                mcs.update(liste)
+        print (self.nom, mcs) 
+        return mcs
+
index e9cb49863c9f5b694a85ad5ca9d7785e9fb3bcbe..84055eb19115075d18b5a6efe157e8ed271731d3 100644 (file)
@@ -25,8 +25,8 @@
 from __future__ import absolute_import
 import types
 
-from . import N_ENTITE
-from . import N_MCSIMP
+from Noyau import N_ENTITE
+from Noyau import N_MCSIMP
 
 
 class SIMP(N_ENTITE.ENTITE):
@@ -95,6 +95,7 @@ class SIMP(N_ENTITE.ENTITE):
         if self.min     == '**' : self.min     = float('-inf')
         if self.val_min == '**' : self.val_min = float('-inf')
         self.fenetreIhm=fenetreIhm
+        #self.creeT_SIMP()
 
     def verifCata(self):
         """
@@ -115,3 +116,40 @@ class SIMP(N_ENTITE.ENTITE):
             de sa valeur (val), de son nom (nom) et de son parent dans l arboresence (parent)
         """
         return self.class_instance(nom=nom, definition=self, val=val, parent=parent)
+
+    def creeT_SIMP(self):
+        from Efi2Xsd.readerEfficas import monSIMP
+        from Efi2Xsd.mapDesTypes import dictSIMPEficasXML
+        
+        self.objXML=monSIMP()
+        for nomEficasArg in dictSIMPEficasXML :
+           argu=getattr(self,nomEficasArg)
+           nomXMLarg=dictSIMPEficasXML[nomEficasArg]
+           if not isinstance(nomXMLarg, (list, tuple)) :
+              print(nomXMLarg, argu)
+              #if nomEficasArg  in listeParamDeTypeTypeAttendu:
+              #   typeAttendu = self.typ
+                 
+              setattr(self.objXML, nomXMLarg, argu)
+           
+
+
+# for nomXMLArg in dir(self) :
+#          if nomXMLArg in self.dictATraiter :
+#              nomEficasArg=self.dictATraiter[nomXMLArg]
+#              argu=getattr(self,nomXMLArg)
+#              if argu==None : continue
+#
+#              if type(nomEficasArg) == types.DictionaryType:
+#                 for nomXML in list(nomEficasArg.keys()):
+#                      arguDecoupe=getattr(argu,nomXML)
+#                      nomEficasDecoupe=nomEficasArg[nomXML]
+#                      if arguDecoupe == None : continue
+#                      self.dictArgsEficas[nomEficasDecoupe]=arguDecoupe
+#              else :
+#                self.dictArgsEficas[nomEficasArg] = argu
+#
+# 
+#        
+#       
+#
index 9204ffb88966a52286be2203af5be6a044db00af..87299eb596c62e7bd9809e4322c03b5a93ac25ea 100644 (file)
@@ -97,12 +97,24 @@ class TELEMACparser(Pythonparser):
 
 
       from Accas import A_BLOC, A_FACT, A_SIMP
-      self.dicoCasToCata            = appli.readercata.dicoCasToCata
+      try :
+        self.dicoCasToCata = appli.readercata.dicoCasToCata
+      except :
+        self.dicoCasToCata = {}
+        print ('pas de dicoCasToCata')
       self.dicoInverse              = appli.readercata.dicoInverse
       self.dicoMC                   = appli.readercata.dicoMC
       self.Ordre_Des_Commandes      = appli.readercata.Ordre_Des_Commandes
-      self.TelemacdicoEn            = appli.readercata.TelemacdicoEn
-      self.DicoEnumCasFrToEnumCasEn = appli.readercata.DicoEnumCasFrToEnumCasEn
+      try :
+        self.TelemacdicoEn            = appli.readercata.TelemacdicoEn
+      except :
+        self.TelemacdicoEn = {}
+        print ('pas de TelemacdicoEn')
+      try :
+        self.DicoEnumCasFrToEnumCasEn = appli.readercata.DicoEnumCasFrToEnumCasEn
+      except :
+        self.DicoEnumCasFrToEnumCasEn = {}
+        print ('pas de DicoEnumCasFrToEnumCasEn')
       
 
       if appli.langue=='fr' :