]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
changeValeur suite
authorpascale.noyret <pascale.noyret@edf.fr>
Wed, 20 Oct 2021 13:15:14 +0000 (15:15 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Wed, 20 Oct 2021 13:15:14 +0000 (15:15 +0200)
Editeur/Objecttreeitem.py
Ihm/I_OBJECT.py
InterfaceWeb/browser.py
InterfaceWeb/composimp.py
InterfaceWeb/editor.py

index 95aea07be04777ddca80b1affc1b54a3e72c75f3..a6ff12bf4a883e1ab6ed63b9e6f737749ccd6027 100644 (file)
@@ -28,9 +28,8 @@ try :
 except :
     pass
 import types,os,glob,imp,sys
-import uuid
 from copy import copy,deepcopy
-
+from uuid import uuid1
 # import du chargeur de composants
 from .comploader import makeObjecttreeitem
 from Ihm import CONNECTOR
@@ -167,10 +166,14 @@ class ObjectTreeItem(TreeItem,Delegate):
         self.sublist=[]
         self.init()
         # on met le meme id au noeud et a l objet
-        self.idUnique=uuid.uuid1().hex
-        self._object.idUnique=self.idUnique
+        self.idUnique=uuid1().hex
         if self._object.nature == 'MCList' and len(self._object.data) == 1 :
-          self._object.data[0].idUnique=self.idUnique
+            self._object.data[0].idUnique=self.idUnique
+            if hasattr (self._object.data[0],'idUnique') : self._object.data[0].remplaceId = self._object.idUnique
+            else : self._object.data[0].remplaceId = None
+        if hasattr (self._object,'idUnique') : self._object.remplaceId = self._object.idUnique
+        else : self._object.remplaceId = None
+        self._object.idUnique=self.idUnique
         # Ici on teste si Web
         if hasattr (self.appliEficas,'dicoIdNode') : self.appliEficas.dicoIdNode[self.idUnique]=self
 
@@ -437,16 +440,6 @@ class ObjectTreeItem(TreeItem,Delegate):
             sublist.append(item)
         return sublist
 
-    def getDicoObjetsPourWeb(self):
-        from collections import OrderedDict
-        monDico=OrderedDict()
-        for mc in self.mcListe :
-            nodeMC=self.editor.dicoIdNode[mc.idUnique]
-            if not mc.isMCList() : monDico[mc.idUnique]=nodeMC.getDicoObjetsPourWeb()
-            else :
-                 for d in nodeMC.getDicoObjetsPourWeb() :
-                     for i,k in d.items() : monDico[i]=k
-        return monDico
 
     # a piori inutile PN 06 11 17
     #def wait_fichier_init(self):
index 690bd0a0492b67a2155e87f2e620d5973486f5be..e06d50d3a9c54dec34de202d0e253b16c74778ae 100644 (file)
@@ -64,7 +64,8 @@ class OBJECT:
         #print "finModif",self
         # pour les objets autres que les commandes, aucun traitement specifique
         # on remonte l'info de fin de modif au parent
-        CONNECTOR.Emit(self,"valid")
+        # On en remonte beaucoup trop --> commente le 19oct21
+        #CONNECTOR.Emit(self,"valid")
         if self.parent:
             self.parent.finModif()
 
index 6cda5bd1383e3114aed0e209139a9fbeaa56d88b..3e066ce06488410cb7b9a752d8dd892cb44a2d17 100644 (file)
@@ -83,6 +83,7 @@ class JDCNode():
         self.appliEficas = treeParent.appliEficas
         self.firstAffiche = True
         self.childrenComplete=[]
+        self.oldValidite=None
 
 
         #from . import compocomm
@@ -137,10 +138,10 @@ class JDCNode():
         self.menu=None
         self.existeMenu=1
 
-        #self.item.connect("valid",self.onValid,())
-        #self.item.connect("supp" ,self.onSupp,())
-        #self.item.connect("add"  ,self.onAdd,())
-        #self.item.connect("redessine"  ,self.onRedessine,())
+        self.item.connect("valid",self.onValid,())
+        self.item.connect("supp" ,self.onSupp,())
+        self.item.connect("add"  ,self.onAdd,())
+        self.item.connect("redessine"  ,self.onRedessine,())
 
         self.state=""
         self.fenetre=None
@@ -151,6 +152,29 @@ class JDCNode():
         #except :
         #    pass
 
+    def onValid(self):
+    #-----------------
+        print ('appel onValid pour', self.item.nom)
+        validite=self.item.isValid()
+        if self.oldValidite==validite : return
+        self.oldValidite=validite
+        print ('appel de propageValide pour ', self.item.nom, validite,self.oldValidite)
+        self.editor.connecteur.toWebApp('propageValide',self.item.idUnique, validite)
+
+    def onAdd(self,object):
+    #----------------------
+        self.editor.connecteur.toWebApp('Add',self.item.idUnique, 1)
+
+    def onSupp(self,object):
+    #-----------------------
+        self.editor.connecteur.toWebApp('Add',self.item.idUnique, 1)
+
+    def onRedessine(self):
+    #----------------------
+        print ('on Redessine pour ', self)
+
+    #---------------------
+    #    self.affichePanneau()
 
 
     def buildChildren(self,posInsertion=10000):
@@ -184,6 +208,7 @@ class JDCNode():
             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)
+            item.fauxNodeGraphique=nouvelItem
             self.children.append(nouvelItem)
 
         #print ("fin *********** buildChildren ",self,self.item, self.item.nom, self.children)
@@ -235,15 +260,6 @@ class JDCNode():
     #----------------
     #def deleteMultiple(self,liste=()):
     #--------------------------------
-    #def onValid(self):
-    #-----------------
-    #def onAdd(self,object):
-    #----------------------
-    #def onSupp(self,object):
-    #-----------------------
-    #def onRedessine(self):
-    #---------------------
-    #    self.affichePanneau()
 
     #def updateNodeValid(self):
     #-----------------------
@@ -294,3 +310,4 @@ class JDCNode():
     #def selectApres(self):
     #---------------------
 
+
index 7350cfef2c690dbd152069ca7ee4ed0226edb682..7587f26de011bc85ff4f7975ce8fcf7dd77ec2cd 100644 (file)
@@ -36,12 +36,29 @@ from Accas        import UserASSD
 from Accas        import UserASSDMultiple
 from . import typeNode
 from . import browser
-
-class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
-
-    def createPopUpMenu(self):
-        typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self)
-
+from .politiquesValidation import PolitiqueUnique
+from .politiquesValidation import PolitiquePlusieurs
+
+#class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
+class Node(browser.JDCNode):
+  
+    #def createPopUpMenu(self):
+    #    typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self)
+
+    # appelée via Connecteur
+    # equivalent dans monWidgetxxx.py pour qt
+    def traiteValeurSaisie(self,valeur): 
+        if self.item.get_definition().max==1 : self.politique = PolitiqueUnique (self, self.editor)
+        else  : self.politique = PolitiquePlusieurs(self, self.editor)
+        if self.item.definition.validators != None :
+            if self.item.definition.validators.verifItem(nouvelleValeur) !=1 :
+                commentaire=self.node.item.definition.validators.infoErreurItem()
+                return (self.item.idUnique, commentaire, false)
+        nouvelleValeurFormat=self.politique.getValeurTexte(valeur)
+        validite,commentaire=self.politique.recordValeur(nouvelleValeurFormat)
+        return (self.item.idUnique, commentaire, validite)
+        
+        
 
     def getPanelGroupe(self,parentQt,maCommande):
         print ('getPanelGroupe de composimp pour ',self,self.item.nom, )
index a9024a100d7c78d19cb43f5b78342534cf09aac9..f4537f592a56a81fd4d81ac034aaab8f899b79f9 100755 (executable)
@@ -44,10 +44,11 @@ class JDCWebEditor(JDCEditorSsIhm):
        Editeur de jdc
     """
 
-    def __init__ (self,appliEficas,fichier = None, jdc=None ):
-    #----------------------------------------------------------
+    def __init__ (self,appliEficas,fichier = None, jdc= None, connecteur = None ):
+    #------------------------------------------------------------------------
         
         JDCEditorSsIhm.__init__(self,appliEficas,fichier)
+        self.connecteur=connecteur
         self.dicoIdNode={}
         comploader.chargerComposants(Ihm='Web')
         self.tree=None