]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
ajout/Supp/Valid Fact ok)
authorPASCALE NOYRET <pascale.noyret@edf.fr>
Fri, 18 Feb 2022 19:27:14 +0000 (20:27 +0100)
committerPASCALE NOYRET <pascale.noyret@edf.fr>
Fri, 18 Feb 2022 19:27:14 +0000 (20:27 +0100)
Editeur/Objecttreeitem.py
Ihm/I_MCCOMPO.py
Ihm/I_MCLIST.py
InterfaceWeb/browser.py
InterfaceWeb/compofact.py
InterfaceWeb/compomclist.py

index 3b8b26fa301d60ddbc704e4f3e37be71c52922c6..e1a30037bedaa4b7670284f2e2d0c7872b239934 100644 (file)
@@ -192,7 +192,6 @@ class ObjectTreeItem(TreeItem,Delegate):
         """ Connecte la fonction callable (avec arguments args) a l'item self sur le
             canal channel
         """
-        #print self,channel,callable,args
         CONNECTOR.Connect(self._object,channel,callable,args)
         CONNECTOR.Connect(self.object, channel,callable,args)
 
index 11e32f8dd92fde4b0dbf168ca2820ce3d46098bd..028f5ce207b4afc9e08501ea51a680b3ed71082b 100644 (file)
@@ -546,5 +546,6 @@ class MCCOMPO(I_OBJECT.OBJECT):
             objUserAssd.supprime(self)
 
     def initModifUp(self):
+        print ('llllllllllllllllllllllllllllllllllllllllllll',self.nom)
         Validation.V_MCCOMPO.MCCOMPO.initModifUp(self)
         CONNECTOR.Emit(self,"valid")
index 956bd5d066d6e462c37c291d7d35b5b474332c6a..429949bbd9026d35b8336fd1510062ac1d3e0a77 100644 (file)
@@ -56,6 +56,7 @@ class MCList:
            Indique si l'objet est repetable.
            Retourne 1 si le mot-cle facteur self peut etre repete
            Retourne 0 dans le cas contraire
+
            Appele uniquement pour le 1er fact de la liste
         """
         if self.data[0].definition.max > 1 :
@@ -76,7 +77,7 @@ class MCList:
         for i in self.data:
             dico = i.getDicoForFancy()
             if nbFactDejaLa > i.definition.min : dico['statut']='f'
-            if nbFactDejaLa < i.definition.max-1 : dico['repetable'] = 1
+            if nbFactDejaLa < i.definition.max : dico['repetable'] = 1
             else : dico['repetable'] = 0
             listeDict.append(dico)
         return listeDict
@@ -239,7 +240,6 @@ class MCList:
           Methode appelee apres qu'une modification a ete faite afin de declencher
           d'eventuels traitements post-modification
         """
-        #print "finModif",self
         CONNECTOR.Emit(self,"valid")
         if self.parent:
             self.parent.finModif()
index 9ba47708dc51bff370739abdd293b338ba18a0e9..05653c2eaa800b6746d5e2685d65dd247d41bbff 100644 (file)
@@ -69,7 +69,6 @@ class JDCTree():
 COMMENT     = "COMMENTAIRE"
 PARAMETERS  = "PARAMETRE"
 
-import traceback
 #---------------
 class JDCNode():
 #--------------
@@ -107,6 +106,9 @@ class JDCNode():
     def onValid(self):
     #-----------------
         debug=0
+
+        print ('ds onValid', self.item.nom)
+        if self.item.nom == 'Fact1' : print ('je suis dans on Valide ----------------', self)
         #if self.treeParent.oldValidite=='init'  : self.treeParent.oldValidite='unknown'
         validite=self.item.isValid()
         if debug : print ('ds onValid', self.item.nom, self.oldValidite, validite)
@@ -116,7 +118,7 @@ class JDCNode():
            if self.item.state != 'modified' :  return
         self.oldValidite=validite
         self.editor.connecteur.toWebApp('propageValide',self.getIdUnique(), validite)
-        if debug : print ('appel de propageValide pour ', self.item.nom, validite,self.oldValidite)
+        #if debug : print ('appel de propageValide pour ', self.item.nom, validite,self.oldValidite)
 
     def onAdd(self,ajout):
     #----------------------
@@ -151,12 +153,12 @@ class JDCNode():
         if debug : print  ('posDansArbre', posDansSelf)
 
         if self.children[posDansSelf].item.nature == 'MCBLOC' : laListe=self.children[posDansSelf].item.getDicoForFancy()
+        elif self.children[posDansSelf].item.nature == 'MCList' : laListe=self.children[posDansSelf].item.getDicoForFancy()
         else : laListe=(self.children[posDansSelf].item.getDicoForFancy(),)
 
         posOuAjouter=posDansArbre
                
         self.editor.connecteur.toWebApp('appendChildren',ouAjouter,laListe,posOuAjouter)
-        print (laListe)
         #print ('la pos ', posOuAjouter)
         #print (' appel appendChild',self.item.idUnique,laListe,pos)
 
@@ -275,20 +277,10 @@ class JDCNode():
             return None
         
 
-        #print ('dans appendChild browser.py appel addItem', self.item.addItem)
+        print ('dans appendChild browser.py appel addItem', self.item.addItem)
         obj = self.item.addItem(name,index) # emet le signal 'add'
-
-        # PN : boucle sur les mclist. si necessaire a deriver
-        #try :
-        #   self.buildChildren()
-        #   child=self.children[index]
-        #except : 
-        #   print ('pb buildChildren dans appendChild')
-        #   pass
-
-         
-        #print ("-------------- fin append child", child, child.item)
         if not obj : return None
+        self.updateOptionnels()
         return True
         #return child.getIdUnique()
 
@@ -300,33 +292,40 @@ class JDCNode():
         #print ('browser :_appel de delete _______', self, self.vraiParent, self.item.nature)
         
         ret,commentaire=self.vraiParent.item.suppItem(self.item)
-        if ret!=0 : self.treeParent.buildChildren()
+        if ret!=0 : 
+           self.treeParent.buildChildren()
+           self.treeParent.updateOptionnels()
         return (ret,commentaire) 
 
     def updateNodeLabel(self):
     #-------------------------
         monDictPartiel={} 
-        monDictPartiel['title']=self.item.getLabelText()[0][0:-1]
+        label=self.item.getLabelText()[0]
+        if label[-1]==":" : label=label[0:-1]
+        monDictPartiel['title']=label
         self.editor.connecteur.toWebApp('updateNodeInfo',self.getIdUnique(), monDictPartiel)
 
     def updateRepetable(self,isRepetable):
     #-------------------------------------
+        if self.oldRepetable == isRepetable : return
+        self.oldRepetable = isRepetable 
         monDictPartiel={} 
         monDictPartiel['repetable']=isRepetable
         self.editor.connecteur.toWebApp('updateNodeInfo',self.getIdUnique(), monDictPartiel)
 
     def updateStatut(self,statut):
     #-----------------------------
+        if self.oldStatut == statut : return
+        self.oldStatut = statut 
         monDictPartiel={} 
         monDictPartiel['statut']=statut
         self.editor.connecteur.toWebApp('updateNodeInfo',self.getIdUnique(), monDictPartiel)
 
     def updateOptionnels(self):
     #---------------------------
-        print ('dans updateOptionnels')
-        return
+        if self.item.nature == 'MCList' or self.item.nature == 'JDC' : return
         monDictPartiel={} 
-        monDictPartiel['infoOptionnels']=maNouvelleListeOtionnels
+        monDictPartiel['infoOptionnels'] = self.item.calculOptionnelInclutBlocs()
         self.editor.connecteur.toWebApp('updateNodeInfo',self.getIdUnique(), monDictPartiel)
 
     #def chercheNoeudCorrespondant(self,objSimp):
index 31c74c8b1def5620786ab66d173c6619bb08f434..0bffe940895e18f0fc7235fc7757d45a2d97e3ab 100644 (file)
@@ -133,15 +133,10 @@ class FACTTreeItem(Objecttreeitem.ObjectTreeItem):
     def suppItem(self,item) :
         """
            Cette methode a pour fonction de supprimer l'item passee en argument
-           des fils de l'item FACT qui est son pere
+           dans l'item FACT qui est son pere
              - item = item du MOCLE a supprimer du MOCLE pere
              - item.getObject() = MCSIMP ou MCBLOC
         """
-        print ('lllllllllllllllllllllllllllllllllllllll')
-        print ('inutile -->  dans MCLIST              ')
-        print ('SVP si on passe la on le dit a Pascale')
-        print ('lllllllllllllllllllllllllllllllllllllll')
-        print (poum)
         itemobject=item.getObject()
         if itemobject.isOblig() :
             return (0, tr('Impossible de supprimer un mot-cle obligatoire '))
index 789494ce75d0214b8db829c2a7732e9737a441a9..72bb6649daa5dce3159c82bd679cd3e1dc203e85 100644 (file)
@@ -50,8 +50,11 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
     def getIdUnique(self):
     #---------------------
         print ('pas d iD unique pour la MCLIST')
+       # on renvoie l'ID du 1er MCFact
+       # print (self.item._object[0].idUnique)
+        return self.item._object[0].idUnique
 
-    def onValid(self):
+    def onValidBad(self):
     #-----------------
        #print( self.item.nature)
         if self.item.nature == 'MCFACT' : 
@@ -103,10 +106,26 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
 
         if debug : print  (' posDansArbre ', posDansArbre , ' posDansSelf ', posDansSelf)
         self.editor.connecteur.toWebApp('appendChildren',ouAjouter,laListe,posDansArbre)
-
-        if len(self.item.data) == 2 : self.children[0].updateNodeLabel()
-
-        for nodeChild in self.children : 
+        #print ('la pos ', posOuAjouter)
+        #print (' appel appendChild',self.item.idUnique,laListe,pos)
+        self.updateChildrenProperties()
+
+
+    def onSupp(self,suppression):
+    #---------------------------
+        browser.JDCNode.onSupp(self, suppression)
+        self.updateChildrenProperties()
+
+    
+    def updateChildrenProperties(self):
+    #----------------------------------
+        if self.item.nature == 'MCFACT': 
+           children=(self.item.fauxNoeudGraphique,)
+           children[0].updateNodeLabel()
+        else :
+           if len(self.item.data) == 2 : self.children[0].updateNodeLabel()
+           children=self.children
+        for nodeChild in children : 
            if nodeChild.item.isOblig() : newStatut ='o'
            else : newStatut = 'f' 
            if  newStatut != nodeChild.oldStatut : 
@@ -118,8 +137,6 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
                nodeChild.oldRepetable=newRepetable
            
 
-        #print ('la pos ', posOuAjouter)
-        #print (' appel appendChild',self.item.idUnique,laListe,pos)
 
 class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem):
     """ La classe MCListTreeItem joue le role d'un adaptateur pour les objets
@@ -133,11 +150,13 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem):
     itemNode=Node
 
     def init(self):
-        # Si l'objet Accas (MCList) a moins d'un mot cle facteur
+        # Avant Si l'objet Accas (MCList) a moins d'un mot cle facteur
         # on utilise directement ce mot cle facteur comme delegue
         self.updateDelegate()
 
     def updateDelegate(self):
+        self.setDelegate(self._object)
+        return
         if len(self._object) > 1:
             self.setDelegate(self._object)
         else:
@@ -153,12 +172,13 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem):
     def getSubList(self):
         self.updateDelegate()
         
-        if len(self._object) <= 1:
-            self._object.data[0].alt_parent=self._object
-            return compofact.FACTTreeItem.getSubList(self)
+        #if len(self._object) <= 1:
+        #    self._object.data[0].alt_parent=self._object
+        #    return compofact.FACTTreeItem.getSubList(self)
 
         liste=self._object.data
         sublist=[None]*len(liste)
+
         # suppression des items lies aux objets disparus
         for item in self.sublist:
             old_obj=item.getObject()
@@ -183,11 +203,12 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem):
                 obj.alt_parent=self._object
             pos=pos+1
 
-        if len(self._object) <= 1:
-            self._object.data[0].alt_parent=self._object
-            return compofact.FACTTreeItem.getSubList(self)
-
         self.sublist=sublist
+
+        #if len(self._object) <= 1:
+        #    self._object.data[0].alt_parent=self._object
+        #    return compofact.FACTTreeItem.getSubList(self)
+
         return self.sublist
 
     def getIconName(self):