]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
optinnel sous fact 1
authorPASCALE NOYRET <pascale.noyret@edf.fr>
Tue, 22 Feb 2022 09:04:14 +0000 (10:04 +0100)
committerPASCALE NOYRET <pascale.noyret@edf.fr>
Tue, 22 Feb 2022 09:04:14 +0000 (10:04 +0100)
Editeur/Objecttreeitem.py
Ihm/I_MCCOMPO.py
InterfaceWeb/browser.py
InterfaceWeb/composimp.py

index e1a30037bedaa4b7670284f2e2d0c7872b239934..b002ceae55707b2db73de548aad66f4180d4c3b0 100644 (file)
@@ -168,6 +168,7 @@ class ObjectTreeItem(TreeItem,Delegate):
         self.sublist=[]
         self.init()
         # on met le meme id au noeud et a l objet
+        # a priori inutile sauf pour les MCList 
         if hasattr (object, 'idUnique') : self.idUnique=object.idUnique
         else : self.idUnique=uuid1().hex
 
@@ -299,46 +300,6 @@ class ObjectTreeItem(TreeItem,Delegate):
         # l contient les anciens mots-cles + le nouveau dans l'ordre
         return l.index(nom_fils)
 
-    def appendChild(self,name,pos=None):
-        """
-          Permet d'ajouter un item fils a self
-        """
-        if pos == 'first':
-            index = 0
-        elif pos == 'last':
-            index = len(self.listeMcPresents())
-        elif type(pos) == int :
-            # la position est fixee
-            index = pos
-        #elif type(pos) == types.InstanceType:
-        elif type(pos) == object :
-            # pos est un item. Il faut inserer name apres pos
-            index = self.getIndex(pos) +1
-        #elif type(name) == types.InstanceType:
-        elif type(name) == object :
-            index = self.getIndexChild(name.nom)
-        else:
-            index = self.getIndexChild(name)
-        return self.addobject(name,index)
-
-    def appendBrother(self,name,pos='after'):
-        """
-        Permet d'ajouter un frere a self
-        par defaut on l'ajoute apres self
-        """
-        index = self._object.parent.getIndex(self.getObject())
-        if pos == 'before':
-            index = index
-        elif pos == 'after':
-            index = index +1
-        else:
-            print((tr("%d n'est pas un index valide pour appendBrother", pos)))
-            return
-        return self.parent.addobject(name,index)
-
-    def getCopieObjet(self):
-        """ Retourne une copie de l'objet pointe par self """
-        return self.object.copy()
 
     def getPosition(self):
         """ Retourne la valeur de l'attribut position de l'objet pointe par self """
index 028f5ce207b4afc9e08501ea51a680b3ed71082b..aa7fe89b7bb31851f218429bfe281eab2de50038 100644 (file)
@@ -158,7 +158,7 @@ class MCCOMPO(I_OBJECT.OBJECT):
 
     def calculOptionnelInclutBlocs(self):
         self.dictMCVenantDesBlocs={}
-        liste, listeRouge,dictToolTipMc = self.calculOptionnel()
+        liste, listeRouge, dictToolTipMc = self.calculOptionnel()
         dictNomsPresents = self.dictMcPresents()
         for mc in self.listeMcPresents():
             obj=dictNomsPresents[mc]
@@ -167,6 +167,10 @@ class MCCOMPO(I_OBJECT.OBJECT):
             liste = liste+l
             listeRouge = listeRouge+lr
             for k in d : dicToolTipMC[k]=d[k]
+            for mcFils in liste : 
+               if mcFils not in self.mcListe : self.dictMCVenantDesBlocs[mcFils]=obj
+            for (k,v) in obj.dictMCVenantDesBlocs.items() : self.dictMCVenantDesBlocs[k]=v
+        if self.nom == 'MonProc2' :print ('ccOptio' , self,self.nom, self.dictMCVenantDesBlocs)
         return (liste, listeRouge,dictToolTipMc)
 
    
@@ -546,6 +550,5 @@ 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 05653c2eaa800b6746d5e2685d65dd247d41bbff..cc72c82fbacefeedcf284cd17f460f1ad0831be1 100644 (file)
@@ -106,10 +106,6 @@ 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)
         if self.oldValidite==validite : return
@@ -118,7 +114,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):
     #----------------------
@@ -257,28 +253,33 @@ class JDCNode():
            On peut l'ajouter en debut de liste (pos='first'), en fin (pos='last')
            ou en position intermediaire.
            Si pos vaut None, on le place a la position du catalogue.
+           Attention a la delegation et aux dictionnaires 
         """
         #print ("************** appendChild ",self.item.getLabelText(), pos )
         #import traceback
         #traceback.print_stack()
 
+        if name in self.item.mcListe  : mcPere = self.item
+        else                          : mcPere = self.item.object.dictMCVenantDesBlocs[name]
 
         try :
             if   pos == 'first'       : index = 0
             elif pos == 'last'        : index = len(self.children)
             elif type(pos)   == int   : index = pos  # position fixee
-            elif type(pos)  == object : index = self.item.getIndex(pos) +1 # pos est un item. Il faut inserer name apres pos
-            elif type(name) == object : index = self.item.getIndexChild(name.nom)
-            elif self.item.nature != 'JDC' : index = self.item.getIndexChild(name)
+            elif type(pos)  == object : index = mcPere.getIndex(pos) +1 # pos est un item. Il faut inserer name apres pos
+            elif type(name) == object : index = mcPere.getIndexChild(name.nom)
+            elif self.item.nature != 'JDC' : index = mcPere.getIndexChild(name)
             else : return None
         except :
             txt=' Impossible d ajouter {} en position {}'.format(name, pos)
             self.editor.afficheInfos(txt,'rouge')
             return None
         
+        if name in self.item.mcListe  :
+           obj = self.item.addItem(name,index) # emet le signal 'add'
+        else :
+           obj = mcPere.addEntite(name,pos)
 
-        print ('dans appendChild browser.py appel addItem', self.item.addItem)
-        obj = self.item.addItem(name,index) # emet le signal 'add'
         if not obj : return None
         self.updateOptionnels()
         return True
index 17f1c8ecd4720e410dd53d6e969bb177372412ab..08270aa8cfcaa4e4a027871d24ca13ecf2e09a1e 100644 (file)
@@ -56,207 +56,9 @@ class Node(browser.JDCNode):
                 return (self.item.idUnique, commentaire, false)
         nouvelleValeurFormat=self.politique.getValeurTexte(valeur)
         validite,commentaire=self.politique.recordValeur(nouvelleValeurFormat)
+        if validite : self.treeParent.updateOptionnels() 
         return (self.item.idUnique, commentaire, validite)
         
-        
-
-    def getPanelGroupe(self,parentQt,maCommande):
-        print ('getPanelGroupe de composimp pour ',self,self.item.nom, )
-        maDefinition=self.item.get_definition()
-        monObjet=self.item.object
-        monNom=self.item.nom
-
-        # a gerer comme dans composimp
-        # Gestion des matrices
-        #if self.item.waitMatrice ():
-        #    from InterfaceQT4.monWidgetMatrice import MonWidgetMatrice
-        #    widget=MonWidgetMatrice(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-        #    self.widget=widget
-        #    return widget
-
-        #print "____________________________", monNom, self.item.waitCo()
-        #print "____________________________", monNom, self.item.waitAssd()
-        # Gestion d'une seule valeur (eventuellement un tuple ou un complexe)
-        if maDefinition.into != [] and maDefinition.into != None:
-            if type(maDefinition.into) ==types.FunctionType : monInto=maDefinition.into()
-            else : monInto = maDefinition.into
-
-
-        #if maDefinition.max == 1 :
-
-        #    if maDefinition.intoSug != [] and maDefinition.intoSug != None:
-        #        from InterfaceQT4.monWidgetCBIntoSug import MonWidgetCBIntoSug
-        #        widget=MonWidgetCBIntoSug(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-        #    elif  maDefinition.into != [] and maDefinition.into != None:
-        #        if maDefinition.fenetreIhm=='menuDeroulant' :
-        #            from InterfaceQT4.monWidgetCB import MonWidgetCB
-        #            widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-        #        elif len(monInto) < 4 :
-        #            from InterfaceQT4.monWidgetRadioButton import MonWidgetRadioButton
-        #            widget=MonWidgetRadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-        #        elif len(monInto) < 7 :
-        #            from InterfaceQT4.monWidget4a6RadioButton import MonWidget4a6RadioButton
-        #            widget=MonWidget4a6RadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-        #        else :
-        #            from InterfaceQT4.monWidgetCB import MonWidgetCB
-        #            widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-#        #    elif self.item.waitBool() :
-#                from InterfaceQT4.monWidgetSimpBool import MonWidgetSimpBool
-#                widget=MonWidgetSimpBool(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#            elif self.item.waitFichier():
-#                from InterfaceQT4.monWidgetSimpFichier import MonWidgetSimpFichier
-#                widget=MonWidgetSimpFichier(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#
-#            # PNPNPN - a faire
-#            elif self.item.waitDate():
-#                from InterfaceQT4.monWidgetDate import MonWidgetDate
-#                widget=MonWidgetDate(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#            elif self.item.waitHeure():
-#                from InterfaceQT4.monWidgetHeure import MonWidgetHeure
-#                widget=MonWidgetHeure(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#
-#            elif self.item.waitTuple() :
-#                num=self.item.object.definition.type[0].ntuple
-#                nomDeLaClasse = 'MonWidgetSimpTuple'+str(num)
-#                nomDuFichier  = 'InterfaceQT4.monWidgetSimpTupleN'
-#                try :
-#                #if 1 :
-#                    _temp = __import__(nomDuFichier, globals(), locals(), [nomDeLaClasse], 0)
-#                    #print (_temp)
-#                    MonWidgetSimpTuple =  getattr(_temp,nomDeLaClasse)
-#                except :
-#                    print ("Pas de Tuple de longueur : ", num)
-#                #   print ("Prevenir la maintenance ")
-#                widget=MonWidgetSimpTuple(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#
-#            elif self.item.waitComplex():
-#                from InterfaceQT4.monWidgetSimpComplexe import MonWidgetSimpComplexe
-#                widget=MonWidgetSimpComplexe(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#
-#            elif self.item.waitCo():
-#                if len(self.item.getSdAvantDuBonType()) == 0 :
-#                    from InterfaceQT4.monWidgetUniqueSDCO import MonWidgetUniqueSDCO
-#                    widget=MonWidgetUniqueSDCO(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                else :
-#                    from InterfaceQT4.monWidgetSDCOInto import MonWidgetSDCOInto
-#                    widget=MonWidgetSDCOInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#            elif self.item.waitAssd():
-#
-#                # PN - pour ne pas appeller trop souvent self.item.getSdAvantDuBonType()
-#                if not (self.item.waitUserAssdOrAssdMultipleEnCreation()) : maListe=self.item.getSdAvantDuBonType()
-#                if self.item.waitUserAssdOrAssdMultipleEnCreation() :
-#                    from InterfaceQT4.monWidgetCreeUserAssd import MonWidgetCreeUserAssd
-#                    widget=MonWidgetCreeUserAssd(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                #elif len(self.item.getSdAvantDuBonType()) == 0 :
-#                elif len(maListe) == 0 :
-#                    from InterfaceQT4.monWidgetVide import MonWidgetVide
-#                    widget=MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                #elif len(self.item.getSdAvantDuBonType()) < 4 :
-#                elif len(maListe) < 4 :
-#                    from InterfaceQT4.monWidgetRadioButton import MonWidgetRadioButtonSD
-#                    widget=MonWidgetRadioButtonSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                #elif len(self.item.getSdAvantDuBonType()) < 7 :
-#                elif len(maListe) < 7 :
-#                    from InterfaceQT4.monWidget4a6RadioButton import MonWidget4a6RadioButtonSD
-#                    widget=MonWidget4a6RadioButtonSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                else :
-#                    from InterfaceQT4.monWidgetCB import MonWidgetCBSD
-#                    widget=MonWidgetCBSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#
-#            elif  self.item.waitSalome() and self.editor.salome:
-#                from InterfaceQT4.monWidgetSimpSalome import MonWidgetSimpSalome
-#                widget=MonWidgetSimpSalome(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#
-#            elif self.item.waitTxm():
-#                from InterfaceQT4.monWidgetSimpTxt import MonWidgetSimpTxt
-#                widget=MonWidgetSimpTxt(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#            else :
-#                from InterfaceQT4.monWidgetSimpBase import MonWidgetSimpBase
-#                widget=MonWidgetSimpBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#
-#        # Gestion des listes
-#        else :
-#            if maDefinition.intoSug != [] and maDefinition.intoSug != None:
-#                if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
-#                    from InterfaceQT4.monWidgetIntoSug import MonWidgetIntoSug
-#                    widget=MonWidgetIntoSug(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                else :
-#                    from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
-#                    widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#            #if maDefinition.into != [] and maDefinition.into != None:
-#            # Attention pas fini --> on attend une liste de ASSD avec ordre
-#            elif self.item.waitAssd() and self.item.isListSansOrdreNiDoublon():
-#                listeAAfficher = self.item.getSdAvantDuBonType()
-#                if len(listeAAfficher) == 0:
-#                    from InterfaceQT4.monWidgetVide import MonWidgetVide
-#                    widget = MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                else :
-#                    from InterfaceQT4.monWidgetPlusieursInto import MonWidgetPlusieursInto
-#                    widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#            elif self.item.waitAssd()  and not self.item.waitUserAssdOrAssdMultipleEnCreation() :
-#                listeAAfficher = self.item.getSdAvantDuBonType()
-#                # a changer selon UserASSD ou UserASSDMultiple
-#                mctype=maDefinition.type[0]
-#                enable_salome_selection = self.editor.salome and \
-#                       (('grma' in repr(mctype)) or ('grno' in repr(mctype)) or ('SalomeEntry' in repr(mctype)) or \
-#                       (hasattr(mctype, "enable_salome_selection") and mctype.enable_salome_selection))
-#                if enable_salome_selection:
-#                    from InterfaceQT4.monWidgetPlusieursBase import MonWidgetPlusieursBase
-#                    widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                elif len(listeAAfficher) == 0:
-#                    from InterfaceQT4.monWidgetVide import MonWidgetVide
-#                    widget = MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                elif self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
-#                    from InterfaceQT4.monWidgetPlusieursASSDIntoOrdonne import MonWidgetPlusieursASSDIntoOrdonne
-#                    widget=MonWidgetPlusieursASSDIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                else :
-#                    from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlieASSD
-#                    widget=MonWidgetPlusieursPlieASSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#            elif self.item.waitTuple() :
-#                if self.item.object.definition.fenetreIhm == 'Tableau' :
-#                    from InterfaceQT4.monWidgetTableau import MonWidgetTableau
-#                    widget=MonWidgetTableau(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                else  :
-#                    num=self.item.object.definition.type[0].ntuple
-#                    nomDeLaClasse = 'MonWidgetPlusieursTuple'+str(num)
-#                    nomDuFichier  = 'InterfaceQT4.monWidgetPlusieursTupleN'
-#                    try:
-#                        _temp = __import__(nomDuFichier, globals(), locals(), [nomDeLaClasse], 0)
-#                        MonWidgetPlusieursTuple =  getattr(_temp,nomDeLaClasse)
-#                    except :
-#                        print ("Pas de Tuple de longueur : ", num)
-#                        print ("Prevenir la maintenance ")
-#                    widget=MonWidgetPlusieursTuple(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#
-#            elif self.item.hasInto():
-#                if self.item.isListSansOrdreNiDoublon():
-#
-#                    if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
-#                        from InterfaceQT4.monWidgetPlusieursInto import MonWidgetPlusieursInto
-#                        widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                    else :
-#                        from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
-#                        widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                else :
-#                    if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
-#                        from InterfaceQT4.monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne
-#                        widget=MonWidgetPlusieursIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                    else :
-#                        from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
-#                        widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#            else :
-#                if self.item.waitUserAssdOrAssdMultipleEnCreation() :
-#                    from InterfaceQT4.monWidgetPlusieursCreeUserAssd import MonWidgetPlusieursCreeUserAssd
-#                    widget=MonWidgetPlusieursCreeUserAssd(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                elif self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees)  :
-#                    from InterfaceQT4.monWidgetPlusieursBase import MonWidgetPlusieursBase
-#                    widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#                else :
-#                    from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
-#                    widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-#
-#        self.widget=widget
 #        return widget
 
 
@@ -340,12 +142,6 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
         """ Retourne les valeurs min et max de la definition de object """
         return self.object.getMinMax()
 
-    def getMultiplicite(self):
-        """ A preciser.
-            Retourne la multiplicite des valeurs affectees a l'objet
-            represente par l'item. Pour le moment retourne invariablement 1.
-        """
-        return 1
 
     def getIntervalle(self):
         """