]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
pour bug du bloc avec in
authorpascale.noyret <pascale.noyret@edf.fr>
Tue, 9 Mar 2021 14:58:52 +0000 (15:58 +0100)
committerpascale.noyret <pascale.noyret@edf.fr>
Tue, 9 Mar 2021 14:58:52 +0000 (15:58 +0100)
InterfaceQT4/browser.py
InterfaceQT4/eficas_go.py
InterfaceQT4/monWidgetPlusieursInto.py
InterfaceQT4/monWidgetPlusieursIntoOrdonne.py

index 24d4cf14af1674ea94b927a3344970eacf01f2b2..a7b7faade18af02da69eb782f16b9fe984667499 100644 (file)
@@ -51,10 +51,10 @@ class JDCTree( QTreeWidget,GereRegles ):
            QTreeWidget.__init__(self, self.editor.widgetTree ) 
            self.editor.verticalLayout_2.addWidget(self)
            if self.editor.enteteQTree=='complet':
-                 self.headerItem().setText(0, "Commande   ")
-                 self.headerItem().setText(1, "Concept/Valeur")
+              self.headerItem().setText(0, "Commande   ")
+              self.headerItem().setText(1, "Concept/Valeur")
            else :
-                 self.headerItem().setText(0, "Commande   ")
+              self.headerItem().setText(0, "Commande   ")
            self.setColumnWidth(0,200)
            self.setExpandsOnDoubleClick(False)
            self.setSelectionMode(3)
@@ -81,7 +81,7 @@ class JDCTree( QTreeWidget,GereRegles ):
            else                                                  : self.racine.children[0].deplieToutEtReaffiche()
            self.racine.children[0].fenetre.donnePremier()
         else : 
-          self.racine.affichePanneau()
+           self.racine.affichePanneau()
 
     def contextMenuEvent(self,event) :
     #---------------------------------
@@ -122,8 +122,8 @@ class JDCTree( QTreeWidget,GereRegles ):
         itemParent = item
         while not (hasattr (itemParent,'getPanel')) : itemParent=itemParent.treeParent 
         if self.tree.node_selected != itemParent : 
-             item.setExpanded(False)
-             return
+           item.setExpanded(False)
+           return
 
         item.setPlie()
         item.plieToutEtReaffiche()
@@ -143,9 +143,9 @@ class JDCTree( QTreeWidget,GereRegles ):
            if itemParent.plie==True : itemParent.setDeplie()
            itemParent=itemParent.treeParent 
         if self.tree.node_selected != itemParent : 
-             item.setExpanded(True)
-             self.inhibeExpand = False 
-             return
+           item.setExpanded(True)
+           self.inhibeExpand = False 
+           return
         item.deplieToutEtReaffiche()
         self.inhibeExpand = False 
 
@@ -165,16 +165,16 @@ class JDCTree( QTreeWidget,GereRegles ):
            itemParent=itemParent.treeParent 
 
         if itemParent.fenetre != self.editor.fenetreCentraleAffichee : 
-            estUneFeuille=(isinstance(item,composimp.Node))
-            # il faut afficher le parent
-            # Attention - Specification particuliere pour MT qui permet de nn afficher qu 1 niveau
-            # le catalogue contient cette indication dans fenetreIhm
-            if estUneFeuille and itemParent.fenetreIhm=='deplie1Niveau' : 
-               itemAvant.afficheCeNiveau()
-               return
-            if estUneFeuille                        : itemParent.affichePanneau()
-            elif self.editor.maConfiguration.afficheCommandesPliees : itemParent.plieToutEtReafficheSaufItem(item)
-            else                                    : itemParent.affichePanneau()
+           estUneFeuille=(isinstance(item,composimp.Node))
+           # il faut afficher le parent
+           # Attention - Specification particuliere pour MT qui permet de nn afficher qu 1 niveau
+           # le catalogue contient cette indication dans fenetreIhm
+           if estUneFeuille and itemParent.fenetreIhm=='deplie1Niveau' : 
+              itemAvant.afficheCeNiveau()
+              return
+           if estUneFeuille                        : itemParent.affichePanneau()
+           elif self.editor.maConfiguration.afficheCommandesPliees : itemParent.plieToutEtReafficheSaufItem(item)
+           else                                    : itemParent.affichePanneau()
 
 
         elif (isinstance(item,composimp.Node)) and item.fenetre : item.fenetre.rendVisible()
@@ -243,12 +243,12 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         else : mesColonnes=(name,)
 
         if self.treeParent.plie==True :
-            self.plie                   = True
-            self.appartientAUnNoeudPlie = True
-            if self.treeParent.item.isMCList() : self.appartientAUnNoeudPlie =  self.treeParent.appartientAUnNoeudPlie
+           self.plie                   = True
+           self.appartientAUnNoeudPlie = True
+           if self.treeParent.item.isMCList() : self.appartientAUnNoeudPlie =  self.treeParent.appartientAUnNoeudPlie
         else :
-            self.plie                   = False
-            self.appartientAUnNoeudPlie = False
+           self.plie                   = False
+           self.appartientAUnNoeudPlie = False
 
         #if item.nom == "POUTRE" :print "creation d'un noeud : ", item, " ",item.nom,"", self.treeParent, self.appartientAUnNoeudPlie , self.plie
 
@@ -262,8 +262,8 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         ajoutAuParentduNoeud=0
         self.treeParent=treeParent
         while (isinstance(self.treeParent,compobloc.Node) or ( isinstance(self.treeParent,compomclist.Node) and self.treeParent.item.isMCList())) : 
-              self.treeParent.childrenComplete.append(self)
-              self.treeParent=self.treeParent.vraiParent
+           self.treeParent.childrenComplete.append(self)
+           self.treeParent=self.treeParent.vraiParent
         self.treeParent.childrenComplete.append(self)
 
 
@@ -295,11 +295,11 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         self.state=""
         self.fenetre=None
         try :
-          if self.item.getObject().isBLOC() : 
-                self.setExpanded(True) 
-                self.plie=False
+           if self.item.getObject().isBLOC() : 
+              self.setExpanded(True) 
+              self.plie=False
         except :
-          pass
+           pass
 
 
     def buildChildren(self,posInsertion=10000):
@@ -313,13 +313,13 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         self.listeItemPlie=[]
 
         for enfant in self.childrenComplete :
-            if enfant.plie : self.listeItemPlie.append(enfant.item)
-            else : self.listeItemExpanded.append(enfant.item)
+           if enfant.plie : self.listeItemPlie.append(enfant.item)
+           else : self.listeItemExpanded.append(enfant.item)
 
         for enfant in self.childrenComplete :
-            parent = enfant.treeParent
-            parent.removeChild(enfant)
-            enfant.JESUISOFF=1
+           parent = enfant.treeParent
+           parent.removeChild(enfant)
+           enfant.JESUISOFF=1
          
         
         self.children = []
@@ -328,12 +328,12 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         ind=0
         
         for item in sublist :
-            itemExpand=False
-            ancien=False
-            if item in self.listeItemExpanded : itemExpand=True;  ancien=True
-            if item in self.listeItemPlie     : itemExpand=False; ancien=True
-            nouvelItem=item.itemNode(self,item,itemExpand,ancien)
-            self.children.append(nouvelItem)
+           itemExpand=False
+           ancien=False
+           if item in self.listeItemExpanded : itemExpand=True;  ancien=True
+           if item in self.listeItemPlie     : itemExpand=False; ancien=True
+           nouvelItem=item.itemNode(self,item,itemExpand,ancien)
+           self.children.append(nouvelItem)
 
         #print ("fin *********** buildChildren ",self,self.item, self.item.nom, self.children)
 
@@ -342,7 +342,7 @@ class JDCNode(QTreeWidgetItem,GereRegles):
     #-------------------------------------------
         sublist = self.item._getSubList()
         for node in self.childrenComplete:
-            if node.item.object==objSimp : return node
+           if node.item.object==objSimp : return node
         return None
 
 
@@ -350,13 +350,13 @@ class JDCNode(QTreeWidgetItem,GereRegles):
     #-------------------------
         #print ('afficheCeNiveau pour ', self.item.nom, self.item.getLabelText())
         for indiceWidget in range(self.editor.widgetCentraleLayout.count()):
-            widget=self.editor.widgetCentraleLayout.itemAt(indiceWidget)
-            self.editor.widgetCentraleLayout.removeItem(widget)
+           widget=self.editor.widgetCentraleLayout.itemAt(indiceWidget)
+           self.editor.widgetCentraleLayout.removeItem(widget)
         if self.editor.fenetreCentraleAffichee != None :
-            self.editor.widgetCentraleLayout.removeWidget(self.editor.fenetreCentraleAffichee)
-            self.editor.fenetreCentraleAffichee.setParent(None)
-            self.editor.fenetreCentraleAffichee.close()
-            self.editor.fenetreCentraleAffichee.deleteLater()
+           self.editor.widgetCentraleLayout.removeWidget(self.editor.fenetreCentraleAffichee)
+           self.editor.fenetreCentraleAffichee.setParent(None)
+           self.editor.fenetreCentraleAffichee.close()
+           self.editor.fenetreCentraleAffichee.deleteLater()
 
         from monWidgetNiveauFact import MonWidgetNiveauFact, MonWidgetNiveauFactTableau
         maDefinition = self.item.get_definition()
@@ -385,9 +385,9 @@ class JDCNode(QTreeWidgetItem,GereRegles):
     #-------------------------
         #print ('_________________ds affichePanneau pour', self.item.nom)
         # pour l instant pas d inactif
-        if  not(self.item.isActif()) : 
-            from .monWidgetInactif import MonWidgetInactif
-            self.fenetre = MonWidgetInactif(self,self.editor)
+        if not(self.item.isActif()) : 
+           from .monWidgetInactif import MonWidgetInactif
+           self.fenetre = MonWidgetInactif(self,self.editor)
         else:
            itemParent=self
            while not (hasattr (itemParent,'getPanel')) : itemParent=itemParent.treeParent 
@@ -402,18 +402,18 @@ class JDCNode(QTreeWidgetItem,GereRegles):
            self.editor.restoreSplitterSizes()
          
         for indiceWidget in range(self.editor.widgetCentraleLayout.count()):
-            widget = self.editor.widgetCentraleLayout.itemAt(indiceWidget)
-            self.editor.widgetCentraleLayout.removeItem(widget)
+           widget = self.editor.widgetCentraleLayout.itemAt(indiceWidget)
+           self.editor.widgetCentraleLayout.removeItem(widget)
 
         # ceinture et bretelle
         #print 'old fenetre = ',self.editor.fenetreCentraleAffichee
         if self.editor.fenetreCentraleAffichee != None : 
-            try :
+           try :
               self.editor.widgetCentraleLayout.removeWidget(self.editor.fenetreCentraleAffichee)
               self.editor.fenetreCentraleAffichee.setParent(None)
               self.editor.fenetreCentraleAffichee.close()
               self.editor.fenetreCentraleAffichee.deleteLater()
-            except :
+           except :
               pass
 
         self.editor.widgetCentraleLayout.addWidget(self.fenetre)
@@ -442,16 +442,16 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         # On traite par une exception le cas ou l'utilisateur final cherche a desactiver
         # (commentariser) un commentaire.
         try :
-            pos=self.treeParent.children.index(self)
-            commande_comment = self.item.getObjetCommentarise()
-            # On signale a l editeur du panel (le JDCDisplay) une modification
-            self.editor.initModif()
-            self.treeParent.buildChildren()
-            self.treeParent.children[pos].select()
-            self.treeParent.children[pos].affichePanneau()
+           pos=self.treeParent.children.index(self)
+           commande_comment = self.item.getObjetCommentarise()
+           # On signale a l editeur du panel (le JDCDisplay) une modification
+           self.editor.initModif()
+           self.treeParent.buildChildren()
+           self.treeParent.children[pos].select()
+           self.treeParent.children[pos].affichePanneau()
         except Exception as e:
-            traceback.print_exc()
-            QMessageBox.critical( self.editor, "TOO BAD",str(e))
+           traceback.print_exc()
+           QMessageBox.critical( self.editor, "TOO BAD",str(e))
         
     def unCommentIt(self):
     #-------------------------
@@ -459,14 +459,14 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         Realise la decommentarisation de self
         """
         try :
-            pos=self.treeParent.children.index(self)
-            commande,nom = self.item.unComment()
-            self.editor.initModif()
-            self.treeParent.buildChildren()
-            self.treeParent.children[pos].select()
-            self.treeParent.children[pos].affichePanneau()
+           pos=self.treeParent.children.index(self)
+           commande,nom = self.item.unComment()
+           self.editor.initModif()
+           self.treeParent.buildChildren()
+           self.treeParent.children[pos].select()
+           self.treeParent.children[pos].affichePanneau()
         except Exception as e:
-            QMessageBox.critical( self.editor, "Erreur !",str(e))
+           QMessageBox.critical( self.editor, "Erreur !",str(e))
         
     def addComment( self, after=True ):
     #-----------------------------------
@@ -475,9 +475,9 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         """
         self.editor.initModif()
         if after:
-            pos = 'after'
+           pos = 'after'
         else:
-            pos = 'before'
+           pos = 'before'
         return self.appendBrother( COMMENT, pos )
                 
     def addParameters( self, after=True ):
@@ -500,7 +500,7 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         """        
         #print "select pour", self.item.nom
         for item in self.tree.selectedItems() :
-            item.setSelected(0)
+           item.setSelected(0)
         self.tree.setCurrentItem( self )    
                                
     #------------------------------------------------------------------
@@ -520,18 +520,18 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         if (isinstance(self.treeParent, compojdc.Node)) and not self.verifiePosition(name,pos)  : return 0
         
         if self.treeParent != self.vraiParent :
-          index = self.vraiParent.children.index(self)
-          if   pos == 'before' : index = index
-          elif pos == 'after'  : index = index +1
-          return self.vraiParent.appendChild(name,pos=index,plier=plier)
+           index = self.vraiParent.children.index(self)
+           if   pos == 'before' : index = index
+           elif pos == 'after'  : index = index +1
+           return self.vraiParent.appendChild(name,pos=index,plier=plier)
         else :
-          index = self.treeParent.children.index(self)
-          if   pos == 'before': index = index
-          elif pos == 'after' : index = index +1
-          else:
+           index = self.treeParent.children.index(self)
+           if   pos == 'before': index = index
+           elif pos == 'after' : index = index +1
+           else:
               print(pos, tr("  n'est pas un index valide pour appendBrother"))
               return 0
-          return self.treeParent.appendChild(name,pos=index,plier=plier)
+           return self.treeParent.appendChild(name,pos=index,plier=plier)
 
     def verifiePosition(self,name,pos,aLaRacine=False):
     #----------------------------------------------------
@@ -546,21 +546,21 @@ class JDCNode(QTreeWidgetItem,GereRegles):
 
         if pos=="after" : indexOu = indexOu+1
         for e in etapes[:indexOu] :
-            nom=e.nom
-            if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue
-            indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom)
-            if indexEtape > indexName :
-               comment=tr('le mot clef ')+name+tr(' doit etre insere avant ')+nom
-               QMessageBox.information( None,tr('insertion impossible'),comment, )
-               return False
+           nom=e.nom
+           if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue
+           indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom)
+           if indexEtape > indexName :
+              comment=tr('le mot clef ')+name+tr(' doit etre insere avant ')+nom
+              QMessageBox.information( None,tr('insertion impossible'),comment, )
+              return False
         for e in etapes[indexOu:] :
-            nom=e.nom
-            if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue
-            indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom)
-            if indexEtape < indexName :
-               comment=tr('le mot clef ')+name+tr(' doit etre insere apres ')+nom
-               QMessageBox.information( None,tr('insertion impossible'),comment, )
-               return False
+           nom=e.nom
+           if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue
+           indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom)
+           if indexEtape < indexName :
+              comment=tr('le mot clef ')+name+tr(' doit etre insere apres ')+nom
+              QMessageBox.information( None,tr('insertion impossible'),comment, )
+              return False
         return True
 
     def appendChild(self,name,pos=None,plier=False):
@@ -640,11 +640,11 @@ class JDCNode(QTreeWidgetItem,GereRegles):
 
         if recalcule : jdc.recalculeEtatCorrelation()
         if ret==0 :
-            if self.treeParent.childrenComplete :
-                notdeleted=self.treeParent.childrenComplete[index+1]
-                notdeleted.select()
+           if self.treeParent.childrenComplete :
+              notdeleted=self.treeParent.childrenComplete[index+1]
+              notdeleted.select()
         else :
-            toselect.select()
+           toselect.select()
 
         from InterfaceQT4 import compojdc
         # cas ou on detruit dans l arbre sans affichage
@@ -667,22 +667,22 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         jdc=self.treeParent
         parentPosition=jdc
         while not(isinstance(jdc,compojdc.Node)):
-              jdc=jdc.treeParent
+           jdc=jdc.treeParent
         for noeud in liste :
-            if not( isinstance(noeud.treeParent, compojdc.Node)): continue
-            if noeud.item.nom == "VARIABLE" : recalcule=1
-            if noeud.treeParent.children.index(noeud) < index : index=noeud.treeParent.children.index(noeud)
+           if not( isinstance(noeud.treeParent, compojdc.Node)): continue
+           if noeud.item.nom == "VARIABLE" : recalcule=1
+           if noeud.treeParent.children.index(noeud) < index : index=noeud.treeParent.children.index(noeud)
         if index < 0 : index =0
 
         # Cas ou on detruit dans une ETape
         if index == 9999 : 
-              parentPosition=self.treeParent
-              while not(isinstance(parentPosition, compojdc.Node)):
-                 index=parentPosition.treeParent.children.index(parentPosition)
-                 parentPosition=parentPosition.treeParent
+           parentPosition=self.treeParent
+           while not(isinstance(parentPosition, compojdc.Node)):
+              index=parentPosition.treeParent.children.index(parentPosition)
+              parentPosition=parentPosition.treeParent
 
         for noeud in liste:
-            noeud.treeParent.item.suppItem(noeud.item)
+           noeud.treeParent.item.suppItem(noeud.item)
 
         jdc.buildChildren()
         if recalcule : jdc.recalculeEtatCorrelation()
@@ -761,8 +761,8 @@ class JDCNode(QTreeWidgetItem,GereRegles):
     def updateNodeLabelInBlack(self):
     #-------------------------------
         if hasattr(self.appliEficas,'noeudColore'): 
-            self.appliEficas.noeudColore.setForeground(0,Qt.black)
-            self.appliEficas.noeudColore.updateNodeLabel
+           self.appliEficas.noeudColore.setForeground(0,Qt.black)
+           self.appliEficas.noeudColore.updateNodeLabel
     
     def updateNodeLabelInBlue(self):
     #-------------------------------
@@ -777,14 +777,14 @@ class JDCNode(QTreeWidgetItem,GereRegles):
     #----------------------------------------------
         if hasattr(self.appliEficas,'listeNoeudsColores'):
            for noeud in self.appliEficas.listeNoeudsColores:
-               noeud.setTextColor( 0,Qt.black)
-               noeud.updateNodeLabel()
+              noeud.setTextColor( 0,Qt.black)
+              noeud.updateNodeLabel()
         self.appliEficas.listeNoeudsColores=[]
         for noeud in liste :
-            noeud.setTextColor( 0,Qt.blue )
-            labeltext,fonte,couleur = noeud.item.getLabelText()
-            noeud.setText(0, labeltext)        
-            self.appliEficas.listeNoeudsColores.append(noeud)
+           noeud.setTextColor( 0,Qt.blue )
+           labeltext,fonte,couleur = noeud.item.getLabelText()
+           noeud.setText(0, labeltext)        
+           self.appliEficas.listeNoeudsColores.append(noeud)
 
     def updateNodeTexteInBlack(self):
     #--------------------------------
@@ -827,8 +827,8 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         #print "NODE updateTexte", self.item.getLabelText()
         self.updateNodeTexte()
         if self.isExpanded() :
-            for child in self.children:
-                if child.isHidden() == false : child.updateTexte()
+           for child in self.children:
+              if child.isHidden() == false : child.updateTexte()
 
 
     def forceRecalculChildren(self,niveau):
@@ -865,7 +865,7 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         child=None
         try :
         #if 1 :
-          child = self.appendBrother(objet_a_copier,pos)
+           child = self.appendBrother(objet_a_copier,pos)
         except :
            pass
         return child
@@ -884,17 +884,17 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         self.inhibeExpand=True
         from InterfaceQT4 import compojdc
         if (isinstance(self, compojdc.Node)) :
-            self.affichePanneau()
-            self.inhibeExpand=False
-            return 
+           self.affichePanneau()
+           self.inhibeExpand=False
+           return 
         self.editor.deplier = False
         for item in self.children :
-            # il ne faut pas plier les blocs 
-            from InterfaceQT4 import compobloc
-            if (isinstance(item,compobloc.Node)) : continue
-            item.setPlie()
-            if item==itemADeplier : 
-                  itemADeplier.setDeplie()
+           # il ne faut pas plier les blocs 
+           from InterfaceQT4 import compobloc
+           if (isinstance(item,compobloc.Node)) : continue
+           item.setPlie()
+           if item==itemADeplier : 
+              itemADeplier.setDeplie()
         self.affichePanneau()
         self.inhibeExpand=False
 
@@ -906,10 +906,10 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         self.inhibeExpand=True
         self.editor.deplier = False
         for item in self.children :
-            # il ne faut pas plier les blocs 
-            from InterfaceQT4 import compobloc
-            if (isinstance(item,compobloc.Node)) : continue
-            item.setPlie()
+           # il ne faut pas plier les blocs 
+           from InterfaceQT4 import compobloc
+           if (isinstance(item,compobloc.Node)) : continue
+           item.setPlie()
         self.affichePanneau()
         #print ("fin plieToutEtReaffiche", self.item.getNom())
 
@@ -917,7 +917,7 @@ class JDCNode(QTreeWidgetItem,GereRegles):
     #-----------------------------
         self.editor.deplier = True
         for item in self.children :
-            item.setDeplie()
+           item.setDeplie()
         self.affichePanneau()
 
     def setPlie(self):
@@ -945,26 +945,26 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         from InterfaceQT4 import composimp
         if isinstance(self,composimp.Node) : return
         for c in self.children :
-            c.setPlieChildren()
-            #print "dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0]
-            c.appartientAUnNoeudPlie=True
-            c.plie=True
-            #print "dans setPlieChildren plie", c.item.nom
-            #  01/2018 PNPN : boucle sur MT __ La ligne suivante ne me semble pas necessaire
-            #if not (isinstance(c,composimp.Node)) :c.setExpanded(False)
+           c.setPlieChildren()
+           #print "dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0]
+           c.appartientAUnNoeudPlie=True
+           c.plie=True
+           #print "dans setPlieChildren plie", c.item.nom
+           #  01/2018 PNPN : boucle sur MT __ La ligne suivante ne me semble pas necessaire
+           #if not (isinstance(c,composimp.Node)) :c.setExpanded(False)
 
         # Pour les blocs et les motcles list
         # on affiche un niveau de plus
         from InterfaceQT4 import compobloc
         from InterfaceQT4 import compomclist
         if (isinstance(self,compobloc.Node) or ( isinstance(self,compomclist.Node) and self.item.isMCList())) : 
-            niveauPere=self.treeParent
-            while (isinstance(niveauPere,compobloc.Node) or (isinstance(niveauPere,compomclist.Node) and niveauPere.item.isMCList())) : 
-               niveauPere=niveauPere.treeParent
-            for c in self.children :
-                c.appartientAUnNoeudPlie=niveauPere.appartientAUnNoeudPlie
-                #print ("dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0], "mis a la valeur ", niveauPere.appartientAUnNoeudPlie)
-                c.setExpanded(False)
+           niveauPere=self.treeParent
+           while (isinstance(niveauPere,compobloc.Node) or (isinstance(niveauPere,compomclist.Node) and niveauPere.item.isMCList())) : 
+              niveauPere=niveauPere.treeParent
+           for c in self.children :
+              c.appartientAUnNoeudPlie=niveauPere.appartientAUnNoeudPlie
+              #print ("dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0], "mis a la valeur ", niveauPere.appartientAUnNoeudPlie)
+              c.setExpanded(False)
 
 
     def setDeplie(self):
@@ -982,11 +982,11 @@ class JDCNode(QTreeWidgetItem,GereRegles):
     #-----------------------------
         #print "dans setDeplieChildren appartientAUnNoeudPlie=False ", self.item.getLabelText()
         for c in self.children :
-            c.setDeplieChildren()
-            #print "dans setDeplieChildren ", c.item.nom
-            c.appartientAUnNoeudPlie=False
-            c.setExpanded(True)
-            c.plie=False
+           c.setDeplieChildren()
+           #print "dans setDeplieChildren ", c.item.nom
+           c.appartientAUnNoeudPlie=False
+           c.setExpanded(True)
+           c.plie=False
        
     def selectAvant(self):
     #-----------------------------
@@ -995,12 +995,12 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         except : cherche=self.item.jdc.etapes[-1]
         node=None
         for i in self.tree.racine.children :
-            if i.item.object== cherche  : 
+           if i.item.object== cherche  : 
                node=i
                break
         if node : 
-          node.affichePanneau()
-          node.select()
+           node.affichePanneau()
+           node.select()
 
     def selectApres(self):
     #---------------------
@@ -1009,9 +1009,9 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         except : cherche=self.item.jdc.etapes[0]
         node=None
         for i in self.tree.racine.children :
-            if i.item.object== cherche  : 
-               node=i
-               break
+           if i.item.object== cherche  : 
+              node=i
+              break
         if node : 
            node.affichePanneau()
            node.select()
index bf705900b2310ad7d9d98455ee518a7854cd951f..3ab04782cfda77411505828bacb2421074a0ce01 100755 (executable)
@@ -23,7 +23,7 @@
 from __future__ import absolute_import
 from __future__ import print_function
 try :
-   from builtins import str
+    from builtins import str
 except : pass
 
 
@@ -37,16 +37,20 @@ if ihmDir     not in sys.path : sys.path.append(ihmDir)
 if ihmQTDir   not in sys.path : sys.path.append(ihmQTDir)
 if editeurDir not in sys.path : sys.path.append(editeurDir)
 
+if sys.version_info[0] < 3:
+    print("Must be using Python 3")
+    sys.exit()
+
 def lanceEficas(code=None, multi=False, langue='en', labelCode=None):
 #-------------------------------------------------------------------
     """
         Lance l'appli EFICAS avec Ihm
     """
     try :
-      from PyQt5.QtWidgets import QApplication
+        from PyQt5.QtWidgets import QApplication
     except :
-      print('Please, set qt environment')
-      return
+        print('Please, set qt environment')
+        return
 
     from Editeur  import session
     options = session.parse(sys.argv)
@@ -82,9 +86,9 @@ def genereXSD(code=None):
     from Editeur  import session
     options = session.parse(sys.argv)
     if code != None : options.code = code
-    if options.fichierCata == None : 
-       print ('Use -c cata_name.py')
-       return
+    if options.fichierCata == None :
+        print ('Use -c cata_name.py')
+        return
 
     monEficasSsIhm = getEficasSsIhm(code=options.code,genereXSD=True)
     monEditor=monEficasSsIhm.getEditor()
@@ -104,26 +108,26 @@ def genereXML(code=None):
     from Editeur  import session
     options=session.parse(sys.argv)
     if code != None : options.code = code
-    if options.fichierCata == None : 
-       print ('Use -c cata_name.py')
-       return
+    if options.fichierCata == None :
+        print ('Use -c cata_name.py')
+        return
     try    : fichier=options.comm[0]
     except : fichier=None
-    if fichier==None : 
-       print ('comm file is needed')
-       return
-    
+    if fichier==None :
+        print ('comm file is needed')
+        return
+
     monEficasSsIhm = getEficasSsIhm(code=options.code, forceXML=True)
 
     from .editorSsIhm import JDCEditorSsIhm
     monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier)
     if options.fichierXMLOut == None :
-       fichierXMLOut=fichier[:fichier.rfind(".")]+'.xml'
-    else : 
-       fichierXMLOut=options.fichierXMLOut
+        fichierXMLOut=fichier[:fichier.rfind(".")]+'.xml'
+    else :
+        fichierXMLOut=options.fichierXMLOut
     if not(monEditeur.jdc.isValid()):
-       print ('Fichier comm is not valid')
-       return
+        print ('Fichier comm is not valid')
+        return
     print ('Fichier comm is not valid')
     monEditeur.XMLgenerator.gener(monEditeur.jdc)
     monEditeur.XMLgenerator.writeDefault(fichierXMLOut)
@@ -133,10 +137,10 @@ def genereStructure(code=None):
     from Editeur  import session
     options=session.parse(sys.argv)
     if code != None : options.code = code
-    if options.fichierCata == None : 
-       print ('Use -c cata_name.py')
-       return
-    
+    if options.fichierCata == None :
+        print ('Use -c cata_name.py')
+        return
+
     monEficasSsIhm = getEficasSsIhm(code=options.code,genereXSD=True)
     monEditor=monEficasSsIhm.getEditor()
     texteStructure=monEditor.dumpStructure()
@@ -153,13 +157,13 @@ def validateDataSet(code=None):
     from Editeur  import session
     options=session.parse(sys.argv)
     if code != None : options.code = code
-    if options.fichierCata == None : 
-       print ('Use -c cata_name.py')
-       return
+    if options.fichierCata == None :
+        print ('Use -c cata_name.py')
+        return
     fichier=options.comm[0]
-    if fichier==None : 
-       print ('comm file is needed')
-       return
+    if fichier==None :
+        print ('comm file is needed')
+        return
     from .editorSsIhm import JDCEditorSsIhm
     monEficasSsIhm = getEficasSsIhm(code=options.code)
     monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier)
@@ -183,26 +187,26 @@ def validateFonction(laFonction, debug=False):
         laDefDeLaFonctionDansAccas = getattr(monEditor.readercata.cata,laFonctionName)
         objConstruit = laDefDeLaFonctionDansAccas.makeObjetPourVerifSignature(*args,**kwargs)
         if (objConstruit.isValid()) :
-           ret = laFonction(*args, **kwargs)
-           return ret
+            ret = laFonction(*args, **kwargs)
+            return ret
         else :
-           print ('mauvais arguments')
-           print (objConstruit.CR())
-           return None
+            print ('mauvais arguments')
+            print (objConstruit.CR())
+            return None
     return fonctionValidee
 
         #maClasseAccas=getattr(self.cata,objEtape.monNomClasseAccas)
     return fonctionValidee
 
-    
+
     return laFonction
-   
+
 
 
 # --------------------------- toutes les fonctions après sont obseletes
 def lanceEficas_ssIhm(code=None,fichier=None,ssCode=None,version=None,debug=False,langue='en'):
     """
-        Lance l'appli EFICAS SsIhm 
+        Lance l'appli EFICAS SsIhm
     """
     # Analyse des arguments de la ligne de commande
     print ('deprecated')
@@ -220,8 +224,8 @@ def lanceEficas_ssIhm(code=None,fichier=None,ssCode=None,version=None,debug=Fals
 
     from . import readercata
     if not hasattr ( Eficas, 'readercata'):
-           monreadercata  = readercata.ReaderCata( parent, Eficas )
-           Eficas.readercata=monreadercata
+        monreadercata  = readercata.ReaderCata( parent, Eficas )
+        Eficas.readercata=monreadercata
 
     from .editor import JDCEditor
     monEditeur=JDCEditor(Eficas,fichier)
@@ -241,35 +245,35 @@ def lanceEficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None,ou
     print ('deprecated')
     #print 'lanceEficas_ssIhm_reecrit', fichier
     monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version,langue=langue)
-    if ou == None : 
-       fileName=fichier.split(".")[0]+"_reecrit.comm"
-       fn=fichier.split(".")[0]+"_cr.txt"
+    if ou == None :
+        fileName=fichier.split(".")[0]+"_reecrit.comm"
+        fn=fichier.split(".")[0]+"_cr.txt"
     else :
-       f=fichier.split(".")[0]+"_reecrit.comm"
-       f1=os.path.basename(f)
-       fn=fichier.split(".")[0]+"_cr.txt"
-       f2=os.path.basename(fn)
-       fileName=os.path.join(ou,f1)
-       fileCr=os.path.join(ou,f2)
+        f=fichier.split(".")[0]+"_reecrit.comm"
+        f1=os.path.basename(f)
+        fn=fichier.split(".")[0]+"_cr.txt"
+        f2=os.path.basename(fn)
+        fileName=os.path.join(ou,f1)
+        fileCr=os.path.join(ou,f2)
     debut=False
     if debug :
-         import cProfile, pstats, StringIO
-         pr = cProfile.Profile()
-         pr.enable()
-         monEditeur.saveFileAs(fileName=fileName)
-         pr.disable()
-         s = StringIO.StringIO()
-         sortby = 'cumulative'
-         ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
-         ps.print_stats()
-         print (s.getValue())
+        import cProfile, pstats, StringIO
+        pr = cProfile.Profile()
+        pr.enable()
+        monEditeur.saveFileAs(fileName=fileName)
+        pr.disable()
+        s = StringIO.StringIO()
+        sortby = 'cumulative'
+        ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
+        ps.print_stats()
+        print (s.getValue())
 
     elif not leger : monEditeur.saveFileAs(fileName=fileName)
     else : monEditeur.saveFileLegerAs(fileName=fileName)
     if cr:
-       f = open(fileCr, 'w')
-       f.write(str(monEditeur.jdc.report()))
-       f.close()
+        f = open(fileCr, 'w')
+        f.write(str(monEditeur.jdc.report()))
+        f.close()
 
 def lanceEficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_STUDY'):
     """
@@ -287,8 +291,8 @@ def lanceEficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_
 
     from . import readercata
     if not hasattr ( Eficas, 'readercata'):
-           monreadercata  = readercata.ReaderCata( parent, Eficas )
-           Eficas.readercata=monreadercata
+        monreadercata  = readercata.ReaderCata( parent, Eficas )
+        Eficas.readercata=monreadercata
 
     from .editor import JDCEditor
     monEditeur=JDCEditor(Eficas,fichier)
@@ -324,7 +328,7 @@ def loadJDC(filename):
     jdc = ""
     for line in fcomm.readlines():
         if not (line[0]=='#'):
-           jdc+="%s"%line
+            jdc+="%s"%line
 
     # Warning, we have to make sure that the jdc comes as a simple
     # string without any extra spaces/newlines
@@ -334,5 +338,3 @@ if __name__ == "__main__":
     import sys
     sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..')))
     lanceEficas(code=None,multi=True)
-    
-
index 06ae4a437225cad64f19ebf7dda37277f3312c93..5937a8c37175a54ca7e57b0ab3979928784193f3 100644 (file)
@@ -20,8 +20,8 @@
 # Modules Python
 from __future__ import absolute_import
 try :
-   from builtins import str
-   from builtins import range
+    from builtins import str
+    from builtins import range
 except : pass
 
 import types,os
@@ -43,7 +43,7 @@ from InterfaceQT4.gereListe              import GereListe
 
 class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe):
 
-  def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
+    def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
 
         self.index=1
         self.alpha=0
@@ -77,119 +77,119 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe)
         if len(self.listeAAfficher) < 30 and hasattr(self,'frameRecherche') : self.frameRecherche.close()
         if len(self.listeAAfficher)  == len(self.listeValeursCourantes) : self.CBCheck.setChecked(True)
         if len(self.listeAAfficher) < 10 :
-           self.setMinimumHeight(len(self.listeAAfficher)*22+55)
+            self.setMinimumHeight(len(self.listeAAfficher)*22+55)
         else :
-           self.setMinimumHeight(300)
-       
+            self.setMinimumHeight(300)
+
         # try except si la liste des possibles est vide
         # prevoir qqchose
         try :
-          self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
+            self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
         except :
-          pass
-
-
-  def changeTout(self,int):
-       #print ('changeTout')
-       if self.inhibe : return
-       self.inhibe=True
-       if not(self.CBCheck.isChecked()) :
-          min,max = self.node.item.getMinMax()
-          if max < len(self.listeAAfficher) :
-             commentaire=tr('impossible de tout selectionner : max =')+str(max)
-             self.editor.afficheInfos(commentaire,Qt.red)
-             self.inhibe=False
-             return
-          for i in range(len(self.listeAAfficher)):
-              nomCB="lineEditVal"+str(i+1)
-              courant=getattr(self,nomCB)
-              courant.setChecked(True)
-          self.CBCheck.setChecked(False)
-       else :
-          for i in range(len(self.listeAAfficher)):
-              nomCB="lineEditVal"+str(i+1)
-              courant=getattr(self,nomCB)
-              courant.setChecked(False)
-          self.CBCheck.setChecked(True)
-       self.inhibe=False
-       self.changeValeur()
-
-  def setValeurs(self):
-       #print ('setValeurs')
-       self.listeValeursCourantes =self.node.item.getValeur()
-       if self.listeValeursCourantes ==  None : self.listeValeursCourantes=[]
-       #print ("ds set Valeur", self.listeValeursCourantes, self.node.item.getValeur())
-       self.politique=PolitiquePlusieurs(self.node,self.editor)
-       self.vScrollBar = self.scrollArea.verticalScrollBar()
-
-       if hasattr(self.node.item.definition.validators,'set_MCSimp'):
+            pass
+
+
+    def changeTout(self,int):
+        #print ('changeTout')
+        if self.inhibe : return
+        self.inhibe=True
+        if not(self.CBCheck.isChecked()) :
+            min,max = self.node.item.getMinMax()
+            if max < len(self.listeAAfficher) :
+                commentaire=tr('impossible de tout selectionner : max =')+str(max)
+                self.editor.afficheInfos(commentaire,Qt.red)
+                self.inhibe=False
+                return
+            for i in range(len(self.listeAAfficher)):
+                nomCB="lineEditVal"+str(i+1)
+                courant=getattr(self,nomCB)
+                courant.setChecked(True)
+            self.CBCheck.setChecked(False)
+        else :
+            for i in range(len(self.listeAAfficher)):
+                nomCB="lineEditVal"+str(i+1)
+                courant=getattr(self,nomCB)
+                courant.setChecked(False)
+            self.CBCheck.setChecked(True)
+        self.inhibe=False
+        self.changeValeur()
+
+    def setValeurs(self):
+        #print ('setValeurs')
+        self.listeValeursCourantes =self.node.item.getValeur()
+        if self.listeValeursCourantes ==  None : self.listeValeursCourantes=[]
+        #print ("ds set Valeur", self.listeValeursCourantes, self.node.item.getValeur())
+        self.politique=PolitiquePlusieurs(self.node,self.editor)
+        self.vScrollBar = self.scrollArea.verticalScrollBar()
+
+        if hasattr(self.node.item.definition.validators,'set_MCSimp'):
             obj=self.node.item.getObject()
             self.node.item.definition.validators.set_MCSimp(obj)
             if self.node.item.isValid() == 0 :
-               liste=[]
-               for item in self.listeValeursCourantes:
-                   if self.node.item.definition.validators.verifItem(item)==1:
-                      liste.append(item)
-               self.listeAAfficher=self.node.item.getListePossible(liste)
+                liste=[]
+                for item in self.listeValeursCourantes:
+                    if self.node.item.definition.validators.verifItem(item)==1:
+                        liste.append(item)
+                self.listeAAfficher=self.node.item.getListePossible(liste)
             else:
-               self.listeAAfficher=self.node.item.getListePossible([])
-       else :
-               self.listeAAfficher=self.node.item.getListePossible([])
-
-       if self.node.item.hasIntoSug() : self.listeAAfficher=self.node.item.getListePossibleAvecSug([])
-
-
-       if self.objSimp.waitAssd() :
-          self.listeAAfficher=self.node.item.getSdAvantDuBonType()
-       if self.listeAAfficher== None or self.listeAAfficher==[] : self.listeAAfficher=[]
+                self.listeAAfficher=self.node.item.getListePossible([])
+        else :
+            self.listeAAfficher=self.node.item.getListePossible([])
 
-       #if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
-       #else : self.setMinimumHeight(len(self.listeAAfficher)*30)
+        if self.node.item.hasIntoSug() : self.listeAAfficher=self.node.item.getListePossibleAvecSug([])
 
-       self.PourEtreCoche=[]
-       if self.objSimp.waitUserAssd() :
-          for concept in self.listeValeursCourantes: self.PourEtreCoche.append(concept)
-       elif self.objSimp.waitAssd() :
-          for concept in self.listeValeursCourantes: self.PourEtreCoche.append(concept.nom)
-       else :
-          for val in self.listeValeursCourantes: self.PourEtreCoche.append(val)
 
-       maListe=[]
-       for  i in self.listeAAfficher: maListe.append(i)
-       if self.alpha==1 : maListe.sort()
-       for i in range(1,len(maListe)+1): self.ajoutCB(i)
+        if self.objSimp.waitAssd() :
+            self.listeAAfficher=self.node.item.getSdAvantDuBonType()
+        if self.listeAAfficher== None or self.listeAAfficher==[] : self.listeAAfficher=[]
 
-       self.inhibe=True
-       for i in range(len(maListe)):
-           nomCB="lineEditVal"+str(i+1)
-           courant=getattr(self,nomCB)
-           courant.setText(str(maListe[i]))
-           if maListe[i] in self.PourEtreCoche : courant.setChecked(True)
-           else                                : courant.setChecked(False)
+        #if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
+        #else : self.setMinimumHeight(len(self.listeAAfficher)*30)
 
-           courant.toggled.connect(self.changeValeur)
-       self.inhibe=False
+        self.PourEtreCoche=[]
+        if self.objSimp.waitUserAssd() :
+            for concept in self.listeValeursCourantes: self.PourEtreCoche.append(concept)
+        elif self.objSimp.waitAssd() :
+            for concept in self.listeValeursCourantes: self.PourEtreCoche.append(concept.nom)
+        else :
+            for val in self.listeValeursCourantes: self.PourEtreCoche.append(val)
+
+        maListe=[]
+        for  i in self.listeAAfficher: maListe.append(i)
+        if self.alpha==1 : maListe.sort()
+        for i in range(1,len(maListe)+1): self.ajoutCB(i)
+
+        self.inhibe=True
+        for i in range(len(maListe)):
+            nomCB="lineEditVal"+str(i+1)
+            courant=getattr(self,nomCB)
+            courant.setText(str(maListe[i]))
+            if maListe[i] in self.PourEtreCoche : courant.setChecked(True)
+            else                                : courant.setChecked(False)
+
+            courant.toggled.connect(self.changeValeur)
+        self.inhibe=False
 
-       self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
+        self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
 
 
-  def ajoutCB(self,index,valeur=None):
-      #print ('ajoutCB')
-      nomCB="lineEditVal"+str(index)
-      if hasattr(self,nomCB) : return
-      nouveauCB = QCheckBox(self.scrollArea)
-      self.CBLayout.insertWidget(index-1,nouveauCB)
-      self.listeCB.append(nouveauCB)
-      nouveauCB.setText("")
-      if index % 2 == 1 : nouveauCB.setStyleSheet("background:rgb(210,210,210)")
-      else :                       nouveauCB.setStyleSheet("background:rgb(240,240,240)")
-      self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum)
-      nouveauCB.setFocus()
-      setattr(self,nomCB,nouveauCB)
+    def ajoutCB(self,index,valeur=None):
+        #print ('ajoutCB')
+        nomCB="lineEditVal"+str(index)
+        if hasattr(self,nomCB) : return
+        nouveauCB = QCheckBox(self.scrollArea)
+        self.CBLayout.insertWidget(index-1,nouveauCB)
+        self.listeCB.append(nouveauCB)
+        nouveauCB.setText("")
+        if index % 2 == 1 : nouveauCB.setStyleSheet("background:rgb(210,210,210)")
+        else :                        nouveauCB.setStyleSheet("background:rgb(240,240,240)")
+        self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum)
+        nouveauCB.setFocus()
+        setattr(self,nomCB,nouveauCB)
 
 
 
-  def ajout1Valeur(self,valeur=None):
+    def ajout1Valeur(self,valeur=None):
         #print ('ajout1Valeur')
         if valeur == None : return
         liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
@@ -200,68 +200,67 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe)
         validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(liste,-1,listeVal)
         if (comm2 != "" and comm != None) : return comm2
         if validite :
-           self.listeValeursCourantes=self.listeValeursCourantes+listeRetour
-           return None
+            self.listeValeursCourantes=self.listeValeursCourantes+listeRetour
+            return None
         else :
-           return(comm2+" "+comm)
-
-
-
-  def changeValeur(self):
- #def changeValeur(self,changeDePlace=False,oblige=True, numero=None):
-      #print ('changeValeur')
-      if self.inhibe == True: return
-      if hasattr(self,'LEFiltre') :self.noircirResultatFiltre()
-      self.listeValeursCourantesAvant=self.listeValeursCourantes
-      self.listeValeursCourantes = []
-
-      for i in range (1,len(self.listeAAfficher)+1):
-          nomLineEdit="lineEditVal"+str(i)
-          courant=getattr(self,nomLineEdit)
-          if not (courant.isChecked()):continue
-          valeur=courant.text()
-          if valeur != None and valeur != "" :
-             commentaire=self.ajout1Valeur(valeur)
-             if (commentaire != None ):
-                 self.editor.afficheInfos(commentaire,Qt.red)
-                 self.listeValeursCourantesAvant=self.listeValeursCourantes
-                 self.setValeurs()
-
-      min,max = self.node.item.getMinMax()
-      if len(self.listeValeursCourantes) < min :
-         self.editor.afficheInfos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
-      elif len(self.listeValeursCourantes) > max :
-         self.editor.afficheInfos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
-
-      if self.listeValeursCourantes== [] :  self.node.item.setValeur([])
-      else : self.node.item.setValeur(self.listeValeursCourantes)
-
-      # Exception pour PSEN
-      if min==0 and self.listeValeursCourantes== []: self.node.item.setValeur([])
-      self.setValide()
-
-
-  def prepareListeResultatFiltre(self):
-      #print ('prepareListeResultatFiltre')
-      filtre=str(self.LEFiltre.text())
-      for cb in self.listeCB:
-          texte=cb.text()
-          if texte.find(filtre) == 0 :
-            palette = QPalette(Qt.red)
-            palette.setColor(QPalette.WindowText,Qt.red)
-            cb.setPalette(palette)
-            t=cb.text()
-            cb.setText(t)
-            self.listeCbRouge.append(cb)
-
-  def prepareListeResultat(self):
-      #print ('prepareListeResultat')
-      self.clearAll()
-      self.setValeurs()
-
-  def clearAll(self):
-      #print ('clearAll')
-      for cb in self.listeCB :
-         cb.setText("")
-
-
+            return(comm2+" "+comm)
+
+
+
+    def changeValeur(self):
+   #def changeValeur(self,changeDePlace=False,oblige=True, numero=None):
+        #print ('changeValeur')
+        if self.inhibe == True: return
+        if hasattr(self,'LEFiltre') :self.noircirResultatFiltre()
+        self.listeValeursCourantesAvant=self.listeValeursCourantes
+        self.listeValeursCourantes = []
+
+        for i in range (1,len(self.listeAAfficher)+1):
+            nomLineEdit="lineEditVal"+str(i)
+            courant=getattr(self,nomLineEdit)
+            if not (courant.isChecked()):continue
+            valeur=courant.text()
+            if valeur != None and valeur != "" :
+                commentaire=self.ajout1Valeur(valeur)
+                if (commentaire != None ):
+                    self.editor.afficheInfos(commentaire,Qt.red)
+                    self.listeValeursCourantesAvant=self.listeValeursCourantes
+                    self.setValeurs()
+
+        min,max = self.node.item.getMinMax()
+        if len(self.listeValeursCourantes) < min :
+            self.editor.afficheInfos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
+        elif len(self.listeValeursCourantes) > max :
+            self.editor.afficheInfos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
+
+        if self.listeValeursCourantes== [] :  self.node.item.setValeur([])
+        else : self.node.item.setValeur(self.listeValeursCourantes)
+
+        # Exception pour PSEN
+        if min==0 and self.listeValeursCourantes== []: self.node.item.setValeur([])
+        self.setValide()
+        self.reaffiche()
+
+
+    def prepareListeResultatFiltre(self):
+        #print ('prepareListeResultatFiltre')
+        filtre=str(self.LEFiltre.text())
+        for cb in self.listeCB:
+            texte=cb.text()
+            if texte.find(filtre) == 0 :
+                palette = QPalette(Qt.red)
+                palette.setColor(QPalette.WindowText,Qt.red)
+                cb.setPalette(palette)
+                t=cb.text()
+                cb.setText(t)
+                self.listeCbRouge.append(cb)
+
+    def prepareListeResultat(self):
+        #print ('prepareListeResultat')
+        self.clearAll()
+        self.setValeurs()
+
+    def clearAll(self):
+        #print ('clearAll')
+        for cb in self.listeCB :
+            cb.setText("")
index 3b33ec9228983d61e463ed3ab80e2203904bbe00..f0496328fc52b3dfd74918233062e7d249a3bf6f 100644 (file)
 # Modules Python
 from __future__ import absolute_import
 try :
-   from builtins import str
-   from builtins import range
+    from builtins import str
+    from builtins import range
 except : pass
 
 import types,os,sys
+import traceback
 
 # Modules Eficas
 from .feuille                import Feuille
-from desWidgetPlusieursIntoOrdonne import Ui_WidgetPlusieursIntoOrdonne 
+from desWidgetPlusieursIntoOrdonne import Ui_WidgetPlusieursIntoOrdonne
 from .politiquesValidation   import PolitiquePlusieurs
 from .qtSaisie               import SaisieValeur
 from .gereListe              import GereListe
@@ -44,7 +45,7 @@ from PyQt5.QtGui  import QIcon, QPalette
 
 class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,GereListe,GerePlie):
 
-  def __init__(self,node,monSimpDef,nom,objSimp,parent,commande):
+    def __init__(self,node,monSimpDef,nom,objSimp,parent,commande):
         self.nomLine="LEResultat"
         self.listeLE=[]
         self.ouAjouter=0
@@ -57,10 +58,10 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere
         self.gereIconePlier()
         self.listeValeursCourantes=self.node.item.getListeValeurs()
         try :
-          self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
+            self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
         except :
-          # cas ou on ne peut rien ajouter
-          pass 
+            # cas ou on ne peut rien ajouter
+            pass
         self.prepareListeResultat()
         if len(self.listeAAfficher) < 20 : self.frameRecherche2.close()
         if len(self.listeAAfficher) < 20 : self.frameRecherche.close()
@@ -85,149 +86,148 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere
         self.parentQt.commandesLayout.insertWidget(-1,self)
         self.listeRouge=[]
 
-       
-  def prepareListeResultat(self):
-       for i in self.listeLE: i.close()
-       self.listeLE=[]
-       self.vScrollBar = self.scrollArea.verticalScrollBar()
-       self.listeValeursCourantes=self.node.item.getListeValeurs()
-       if hasattr(self.node.item.definition.validators,'set_MCSimp'):
+
+    def prepareListeResultat(self):
+        for i in self.listeLE: i.close()
+        self.listeLE=[]
+        self.vScrollBar = self.scrollArea.verticalScrollBar()
+        self.listeValeursCourantes=self.node.item.getListeValeurs()
+        if hasattr(self.node.item.definition.validators,'set_MCSimp'):
             obj=self.node.item.getObject()
             self.node.item.definition.validators.set_MCSimp(obj)
             if self.node.item.isValid() == 0 :
-               liste=[]
-               for item in self.listeValeursCourantes:
-                   if self.node.item.definition.validators.verifItem(item)==1: liste.append(item)
-               self.listeAAfficher=self.node.item.getListePossible(liste)
-            else: 
-               self.listeAAfficher=self.node.item.getListePossible([])
-       else :
+                liste=[]
+                for item in self.listeValeursCourantes:
+                    if self.node.item.definition.validators.verifItem(item)==1: liste.append(item)
+                self.listeAAfficher=self.node.item.getListePossible(liste)
+            else:
+                self.listeAAfficher=self.node.item.getListePossible([])
+        else :
             self.listeAAfficher=self.node.item.getListePossible(self.listeValeursCourantes)
 
-       if self.listeAAfficher==[] : 
-          self.ajoutLE(0)
-          return
-       self.filtreListe()
-       if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
-       else : 
-         if self.monSimpDef.min > len(self.listeAAfficher)    : self.setMinimumHeight(self.monSimpDef.min*30+300)
-         elif  self.monSimpDef.max > len(self.listeAAfficher) : self.setMinimumHeight(400)
-         else  : self.setMinimumHeight(len(self.listeAAfficher)*30+30) 
-       self.setMinimumHeight(300)
-       print ('jjjjjj hauteur 300')
-       self.adjustSize()
+        if self.listeAAfficher==[] :
+            self.ajoutLE(0)
+            return
+        self.filtreListe()
+        if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
+        else :
+            if self.monSimpDef.min > len(self.listeAAfficher)    : self.setMinimumHeight(self.monSimpDef.min*30+300)
+            elif  self.monSimpDef.max > len(self.listeAAfficher) : self.setMinimumHeight(400)
+            else  : self.setMinimumHeight(len(self.listeAAfficher)*30+30)
+        self.setMinimumHeight(300)
+        self.adjustSize()
+
+        self.politique=PolitiquePlusieurs(self.node,self.editor)
+        for i in range(1,len(self.listeAAfficher)+1): self.ajoutLE(i)
+        for i in range(len(self.listeAAfficher)):
+            nomLE="lineEditVal"+str(i+1)
+            courant=getattr(self,nomLE)
+            courant.setText(str(self.listeAAfficher[i]))
+        self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
+        if len(self.listeAAfficher) < 15 and hasattr(self,'frameRecherche') : self.frameRecherche.close()
+        if len(self.listeAAfficher) < 15 and hasattr(self,'frameRecherche2') : self.frameRecherche2.close()
 
-       self.politique=PolitiquePlusieurs(self.node,self.editor)
-       for i in range(1,len(self.listeAAfficher)+1): self.ajoutLE(i)
-       for i in range(len(self.listeAAfficher)):
-           nomLE="lineEditVal"+str(i+1)
-           courant=getattr(self,nomLE)
-           courant.setText(str(self.listeAAfficher[i]))
-       self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
-       if len(self.listeAAfficher) < 15 and hasattr(self,'frameRecherche') : self.frameRecherche.close() 
-       if len(self.listeAAfficher) < 15 and hasattr(self,'frameRecherche2') : self.frameRecherche2.close() 
-       
-      
-  def setValeurs(self,first=True):
-       self.listeValeursCourantes=self.node.item.getListeValeurs()
-       if first : 
-          if self.monSimpDef.max == "**" or self.monSimpDef.max == float('inf') : aConstruire=7
-          else : aConstruire=self.monSimpDef.max
-          if len(self.listeValeursCourantes) > aConstruire : aConstruire=len(self.listeValeursCourantes)
-          self.indexDernierLabel = aConstruire
-          for i in range(1,aConstruire+1): self.ajoutLEResultat(i)
-       index=1
-       for val in self.listeValeursCourantes :
-          nomLE="LEResultat"+str(index)
-          courant=getattr(self,nomLE)
-          courant.setText(str(val))
-          courant.setReadOnly(True)
-          index=index+1
-       while (index < self.indexDernierLabel) :
-          nomLE="LEResultat"+str(index)
-          courant=getattr(self,nomLE)
-          courant.setText("")
-          courant.setReadOnly(True)
-          index=index+1
-       #self.prepareListeResultat()
 
-  def moinsPushed(self):
-      self.ouAjouter=self.ouAjouter-1
-      GereListe.moinsPushed(self)
-      self.setValeurs(first=False)
+    def setValeurs(self,first=True):
+        self.listeValeursCourantes=self.node.item.getListeValeurs()
+        if first :
+            if self.monSimpDef.max == "**" or self.monSimpDef.max == float('inf') : aConstruire=7
+            else : aConstruire=self.monSimpDef.max
+            if len(self.listeValeursCourantes) > aConstruire : aConstruire=len(self.listeValeursCourantes)
+            self.indexDernierLabel = aConstruire
+            for i in range(1,aConstruire+1): self.ajoutLEResultat(i)
+        index=1
+        for val in self.listeValeursCourantes :
+            nomLE="LEResultat"+str(index)
+            courant=getattr(self,nomLE)
+            courant.setText(str(val))
+            courant.setReadOnly(True)
+            index=index+1
+        while (index < self.indexDernierLabel) :
+            nomLE="LEResultat"+str(index)
+            courant=getattr(self,nomLE)
+            courant.setText("")
+            courant.setReadOnly(True)
+            index=index+1
+        #self.prepareListeResultat()
+
+    def moinsPushed(self):
+        self.ouAjouter=self.ouAjouter-1
+        GereListe.moinsPushed(self)
+        self.setValeurs(first=False)
 
-  def prepareListeResultatFiltre(self):
-      for i in self.listeRouge :
-          nomLE="lineEditVal"+str(i+1)
-          courant=getattr(self,nomLE)
-          texte=courant.text()
-          palette = QPalette(Qt.black)
-          palette.setColor(QPalette.WindowText,Qt.black)
-          courant.setPalette(palette)
-          courant.setText(texte)
-      
-      self.listeRouge = []
-      filtre=str(self.LEFiltre.text())
-      if filtre == '' : return
-      for i in range(len(self.listeAAfficher)):
-           nomLE="lineEditVal"+str(i+1)
-           courant=getattr(self,nomLE)
-           texte=courant.text()
-           if texte.find(filtre) == 0 :
-              palette = QPalette(Qt.red)
-              palette.setColor(QPalette.WindowText,Qt.red)
-              courant.setPalette(palette)
-              courant.setText(texte)
-           self.listeRouge.append(i)
+    def prepareListeResultatFiltre(self):
+        for i in self.listeRouge :
+            nomLE="lineEditVal"+str(i+1)
+            courant=getattr(self,nomLE)
+            texte=courant.text()
+            palette = QPalette(Qt.black)
+            palette.setColor(QPalette.WindowText,Qt.black)
+            courant.setPalette(palette)
+            courant.setText(texte)
 
-  def cleanListeResultatFiltre(self):
-      self.LEFiltre.setText('')
-      self.prepareListeResultatFiltre()
+        self.listeRouge = []
+        filtre=str(self.LEFiltre.text())
+        if filtre == '' : return
+        for i in range(len(self.listeAAfficher)):
+            nomLE="lineEditVal"+str(i+1)
+            courant=getattr(self,nomLE)
+            texte=courant.text()
+            if texte.find(filtre) == 0 :
+                palette = QPalette(Qt.red)
+                palette.setColor(QPalette.WindowText,Qt.red)
+                courant.setPalette(palette)
+                courant.setText(texte)
+            self.listeRouge.append(i)
 
-  def ajoutLEResultat (self,index,valeur=None):
-      #print ('ajoutLEResultat', index, valeur)
-      nomLE="LEResultat"+str(index)
-      if not (hasattr(self,nomLE)) : 
-        nouveauLE = LECustom(self.scrollAreaRE,self,index)
-        nouveauLE.setFrame(False)
-        self.CBChoisis.insertWidget(self.ouAjouter,nouveauLE)
-        self.ouAjouter=self.ouAjouter+1
-        nouveauLE.setReadOnly(True)
+    def cleanListeResultatFiltre(self):
+        self.LEFiltre.setText('')
+        self.prepareListeResultatFiltre()
+
+    def ajoutLEResultat (self,index,valeur=None):
+        #print ('ajoutLEResultat', index, valeur)
+        nomLE="LEResultat"+str(index)
+        if not (hasattr(self,nomLE)) :
+            nouveauLE = LECustom(self.scrollAreaRE,self,index)
+            nouveauLE.setFrame(False)
+            self.CBChoisis.insertWidget(self.ouAjouter,nouveauLE)
+            self.ouAjouter=self.ouAjouter+1
+            nouveauLE.setReadOnly(True)
+            if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
+            else :            nouveauLE.setStyleSheet("background:rgb(240,240,240)")
+            self.vScrollBarRE = self.scrollAreaRE.verticalScrollBar()
+            self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum)
+            setattr(self,nomLE,nouveauLE)
+            self.estVisibleRE=nouveauLE
+        else :
+            nouveauLE=getattr(self,nomLE)
+
+        if valeur == None : nouveauLE.setText("")
+        else : nouveauLE.setText(str(valeur))
+
+    def ajoutLE(self,index,valeur=None):
+        #print ('ajoutLE')
+        nomLE="lineEditVal"+str(index)
+        nouveauLE = MonLabelListeClic(self)
+        #self.CBLayout.addWidget(nouveauLE)
+        self.CBLayout.insertWidget(index -1,nouveauLE)
+        self.listeLE.append(nouveauLE)
+        nouveauLE.setFrameShape(QFrame.NoFrame)
+        QApplication.processEvents()
+        nouveauLE.setText("")
         if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
-        else :           nouveauLE.setStyleSheet("background:rgb(240,240,240)")
-        self.vScrollBarRE = self.scrollAreaRE.verticalScrollBar()
-        self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum)
+        else :              nouveauLE.setStyleSheet("background:rgb(240,240,240)")
+        self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum)
+        nouveauLE.setFocus()
         setattr(self,nomLE,nouveauLE)
-        self.estVisibleRE=nouveauLE
-      else :
-         nouveauLE=getattr(self,nomLE)
 
-      if valeur == None : nouveauLE.setText("")
-      else : nouveauLE.setText(str(valeur))
-      
-  def ajoutLE(self,index,valeur=None):
-      #print ('ajoutLE')
-      nomLE="lineEditVal"+str(index)
-      nouveauLE = MonLabelListeClic(self)
-      #self.CBLayout.addWidget(nouveauLE)
-      self.CBLayout.insertWidget(index -1,nouveauLE)
-      self.listeLE.append(nouveauLE)
-      nouveauLE.setFrameShape(QFrame.NoFrame)
-      QApplication.processEvents()
-      nouveauLE.setText("")
-      if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
-      else :             nouveauLE.setStyleSheet("background:rgb(240,240,240)")
-      self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum)
-      nouveauLE.setFocus()
-      setattr(self,nomLE,nouveauLE)
-      
-  def ajoutLineEdit(self):
-      #print ('ajoutLineEdit')
-      self.indexDernierLabel=self.indexDernierLabel+1
-      self.ajoutLEResultat (self.indexDernierLabel)
+    def ajoutLineEdit(self):
+        #print ('ajoutLineEdit')
+        self.indexDernierLabel=self.indexDernierLabel+1
+        self.ajoutLEResultat (self.indexDernierLabel)
 
 
-  def traiteClicSurLabelListe(self,valeur):
+    def traiteClicSurLabelListe(self,valeur):
         if valeur == None : return
         liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
         if validite == 0 : return
@@ -236,70 +236,71 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere
 
         self.listeValeursCourantes=self.node.item.getListeValeurs()
         min,max = self.node.item.getMinMax()
-        if len(self.listeValeursCourantes) +1 > max : 
-           self.editor.afficheInfos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
-           return
+        if len(self.listeValeursCourantes) +1 > max :
+            self.editor.afficheInfos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
+            return
         else :
-           self.editor.afficheInfos("")
+            self.editor.afficheInfos("")
 
         affiche=False
         for i in range(1,self.indexDernierLabel+1):
-           nomLE="LEResultat"+str(i)
-           courant=getattr(self,nomLE)
-           if str(courant.text())==str("") : 
-              courant.setText(valeur)
-              courant.setReadOnly(True)
-              affiche=True
-              self.estVisibleRE=courant
-              QTimer.singleShot(1, self.rendVisibleLigneRE)
-              break
-          
+            nomLE="LEResultat"+str(i)
+            courant=getattr(self,nomLE)
+            if str(courant.text())==str("") :
+                courant.setText(valeur)
+                courant.setReadOnly(True)
+                affiche=True
+                self.estVisibleRE=courant
+                QTimer.singleShot(1, self.rendVisibleLigneRE)
+                break
+
         if affiche == False:
-           self.indexDernierLabel = self.indexDernierLabel+1
-           self.ajoutLEResultat (self.indexDernierLabel,str(valeur))
-           self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum)
-           QTimer.singleShot(1, self.rendVisibleLigneRE)
+            self.indexDernierLabel = self.indexDernierLabel+1
+            self.ajoutLEResultat (self.indexDernierLabel,str(valeur))
+            self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum)
+            QTimer.singleShot(1, self.rendVisibleLigneRE)
         self.changeValeur()
         self.setValeurs(first=False)
 
-  def changeValeur(self,changeDePlace=False,oblige=False):
+    def changeValeur(self,changeDePlace=False,oblige=False):
 #def changeValeur(self,changeDePlace=False,oblige=False, numero=None):
 #PN les 2 arg sont pour que la signature de ma fonction soit identique a monWidgetPlusieursBase
+        print ('changeValeur de objet')
         listeVal=[]
         for i in range(1,self.indexDernierLabel+1):
-           nomLE="LEResultat"+str(i)
-           courant=getattr(self,nomLE)
-           valeur=courant.text()
-           if str(valeur)=="" : continue
-           liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
-           listeVal.append(str(valeur))
+            nomLE="LEResultat"+str(i)
+            courant=getattr(self,nomLE)
+            valeur=courant.text()
+            if str(valeur)=="" : continue
+            liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
+            listeVal.append(str(valeur))
 
         validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(listeVal,-1,[])
-        
+
 
         self.listeValeursCourantes=self.node.item.getListeValeurs()
         min,max = self.node.item.getMinMax()
-        if len(self.listeValeursCourantes) < min : 
-           self.editor.afficheInfos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
+        if len(self.listeValeursCourantes) < min :
+            self.editor.afficheInfos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
         else :
-           self.editor.afficheInfos("")
-    
+            self.editor.afficheInfos("")
+
         if len(listeRetour) == 0 :
-           self.node.item.setValeur(None)
+            self.node.item.setValeur(None)
         elif validite :
-           self.node.item.setValeur(listeRetour)
+            self.node.item.setValeur(listeRetour)
         else :
-           commentaire=comm+" "+comm2
-           self.editor.afficheInfos(commentaire,Qt.red)
+            commentaire=comm+" "+comm2
+            self.editor.afficheInfos(commentaire,Qt.red)
         self.setValide()
+        self.reaffiche()
+        print ('changeValeur de objet')
 #
-  def rendVisibleLigneRE(self):
-      QApplication.processEvents()
-      self.estVisibleRE.setFocus()
-      self.scrollArea.ensureWidgetVisible(self.estVisibleRE,0,0)
+    def rendVisibleLigneRE(self):
+        QApplication.processEvents()
+        self.estVisibleRE.setFocus()
+        self.scrollArea.ensureWidgetVisible(self.estVisibleRE,0,0)
 #
-  def rendVisibleLigne(self):
-      self.estVisibleRE=self.estVisible
-      #rendVisibleLigneRE()
-
-
+    def rendVisibleLigne(self):
+        self.estVisibleRE=self.estVisible
+        #rendVisibleLigneRE()