]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Plie/Deplie MT
authorpascale.noyret <pascale.noyret@edf.fr>
Wed, 7 Jun 2017 08:28:17 +0000 (10:28 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Wed, 7 Jun 2017 08:28:17 +0000 (10:28 +0200)
Ihm/I_MACRO_ETAPE.py
InterfaceQT4/browser.py
InterfaceQT4/compofact.py
InterfaceQT4/compomclist.py
InterfaceQT4/eficas_go.py
InterfaceQT4/groupe.py
InterfaceQT4/monWidgetCommande.py
InterfaceQT4/monWidgetFact.py
InterfaceQT4/monWidgetFactPlie.py

index b0ad4a7027b64e0c2d05949b671b24c4a22e0f05..1fb5f49bae5236284c4b01c33545950bdf2b5c0a 100644 (file)
@@ -775,7 +775,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
          Une MACRO_ETAPE peut ajouter plusieurs concepts dans le contexte
          Une fonction enregistree dans op_init peut egalement modifier le contexte
       """
          Une MACRO_ETAPE peut ajouter plusieurs concepts dans le contexte
          Une fonction enregistree dans op_init peut egalement modifier le contexte
       """
-      print ("update_context",self,self.nom,d.keys())
+      #print ("update_context",self,self.nom,d.keys())
       if hasattr(self,"jdc_aux") and self.jdc_aux:
             #ATTENTION: update_context NE DOIT PAS appeler reset_context
             # car il appelle directement ou indirectement update_context
       if hasattr(self,"jdc_aux") and self.jdc_aux:
             #ATTENTION: update_context NE DOIT PAS appeler reset_context
             # car il appelle directement ou indirectement update_context
index 7c000b9a91c59cb8f2fe0dab81f2016ecd38c523..712a813b49a9160c71a4a78f086feecb87679416 100644 (file)
@@ -326,7 +326,6 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         # posera des pb si un code decide d appeler FIN un mot clef
         # on resoudera a ce moment la
         # pour l instant pas de poussiere sous le tapis
         # posera des pb si un code decide d appeler FIN un mot clef
         # on resoudera a ce moment la
         # pour l instant pas de poussiere sous le tapis
-        #print( 'debut affichePanneau pour', self.item.nom)
         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)
@@ -527,11 +526,15 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         if obj is None:obj=0
         if obj == 0:return 0
         try :
         if obj is None:obj=0
         if obj == 0:return 0
         try :
+        #if 1 :
            child=self.children[index]
            if plier == True : child.setPlie()
            else             : child.setDeplie() 
         except :
            child=self.children[index]
            child=self.children[index]
            if plier == True : child.setPlie()
            else             : child.setDeplie() 
         except :
            child=self.children[index]
+        try : 
+           if len(obj) > 1 : self.build_children()
+        except : pass
         self.tree.inhibeExpand=False
         #print (" fin append child")
         return child
         self.tree.inhibeExpand=False
         #print (" fin append child")
         return child
@@ -833,7 +836,7 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         #       item.appartientAUnNoeudPlie=False
 
     def setPlieChildren(self):
         #       item.appartientAUnNoeudPlie=False
 
     def setPlieChildren(self):
-        #print "dans setPlieChildren pour", self.item.nom
+        #print ("dans setPlieChildren pour", self.item.nom)
         self.plie=True
         for c in self.children :
             c.setPlieChildren()
         self.plie=True
         for c in self.children :
             c.setPlieChildren()
index ce43add587f613a65170b53a5e4fa604c8041bed..164107ee995f246f4bb16b2d43b25c69af384320 100644 (file)
@@ -30,7 +30,8 @@ import six
 
 class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel):
 
 
 class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel):
 
-    def getPanelGroupe(self,parentQt,commande):
+    def getPanelGroupe(self,parentQt,commande,insertIn=-1):
+        import traceback
         maDefinition=self.item.get_definition()
         monObjet=self.item.object
         monNom=self.item.nom
         maDefinition=self.item.get_definition()
         monObjet=self.item.object
         monNom=self.item.nom
@@ -44,10 +45,10 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel):
         #elif  hasattr(self,'plie') and self.plie==True : 
         if  hasattr(self,'plie') and self.plie==True : 
            from .monWidgetFactPlie import MonWidgetFactPlie
         #elif  hasattr(self,'plie') and self.plie==True : 
         if  hasattr(self,'plie') and self.plie==True : 
            from .monWidgetFactPlie import MonWidgetFactPlie
-           widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
+           widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn)
         else:
            from .monWidgetFact import MonWidgetFact
         else:
            from .monWidgetFact import MonWidgetFact
-           widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
+           widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn)
         return widget
 
 
         return widget
 
 
index 3c15a6749450bc5473307d612ca0192e48458a38..8ae695734e0ffa22479212af7376cebfb228227d 100644 (file)
@@ -36,7 +36,7 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
     def createPopUpMenu(self):
         typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self)
 
     def createPopUpMenu(self):
         typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self)
 
-    def getPanelGroupe(self,parentQt,commande):
+    def getPanelGroupe(self,parentQt,commande,insertIn=-1):
         maDefinition=self.item.get_definition()
         monObjet=self.item.object
         monNom=self.item.nom
         maDefinition=self.item.get_definition()
         monObjet=self.item.object
         monNom=self.item.nom
@@ -47,10 +47,10 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
         if not (monObjet.isMCList()) :
            if  hasattr(self,'plie') and self.plie==True : 
                from .monWidgetFactPlie import MonWidgetFactPlie
         if not (monObjet.isMCList()) :
            if  hasattr(self,'plie') and self.plie==True : 
                from .monWidgetFactPlie import MonWidgetFactPlie
-               widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
+               widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn)
            else:
                from .monWidgetFact import MonWidgetFact
            else:
                from .monWidgetFact import MonWidgetFact
-               widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
+               widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn)
         else :
            from .monWidgetBloc import MonWidgetBloc
            widget=MonWidgetBloc(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
         else :
            from .monWidgetBloc import MonWidgetBloc
            widget=MonWidgetBloc(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
index 8ca631a543a9330e3df62bdbb40dc0a01d3207d4..c0c1347c652c8c04beca38a486c4f2f9cb6bc334 100755 (executable)
@@ -51,7 +51,7 @@ def lance_eficas(code=None,fichier=None,ssCode=None,multi=False,langue='en'):
 
     from InterfaceQT4.qtEficas import Appli
     app = QApplication(sys.argv)
 
     from InterfaceQT4.qtEficas import Appli
     app = QApplication(sys.argv)
-    Eficas=Appli(code=code,ssCode=ssCode,multi=multi,langue=langue)
+    Eficas=Appli(code=code,salome=0,ssCode=ssCode,multi=multi,langue=langue)
     Eficas.show()
 
     res=app.exec_()
     Eficas.show()
 
     res=app.exec_()
index 097bf81d1b2e7c3ea640b7babff2d171d8a871d2..b1c2c7c147fd57132733179592de90cf0c83b379 100644 (file)
@@ -28,6 +28,7 @@ from Extensions.i18n import tr
 
 from .gereIcones import FacultatifOuOptionnel
 import Accas 
 
 from .gereIcones import FacultatifOuOptionnel
 import Accas 
+import traceback
 
     
 # Import des panels
 
     
 # Import des panels
@@ -104,13 +105,14 @@ class Groupe(QWidget,FacultatifOuOptionnel):
            
 
   def ajouteMCOptionnelDesBlocs(self):
            
 
   def ajouteMCOptionnelDesBlocs(self):
-       #print ("Je passe dans ajouteMCOptionnelDesBlocs pour", self.node.item.nom)
       self.dictMCVenantDesBlocs={}
       i=0
       self.calculOptionnel()
       liste=self.liste_mc
       for MC in self.liste_mc : self.dictMCVenantDesBlocs[MC]=self
       self.dictMCVenantDesBlocs={}
       i=0
       self.calculOptionnel()
       liste=self.liste_mc
       for MC in self.liste_mc : self.dictMCVenantDesBlocs[MC]=self
-      while i < self.commandesLayout.count():
+      # ce cas est le cas machine tournant sr le plie
+      try :
+        while i < self.commandesLayout.count():
           from .monWidgetBloc import MonWidgetBloc
           widget=self.commandesLayout.itemAt(i).widget()
           i=i+1
           from .monWidgetBloc import MonWidgetBloc
           widget=self.commandesLayout.itemAt(i).widget()
           i=i+1
@@ -121,6 +123,8 @@ class Groupe(QWidget,FacultatifOuOptionnel):
               if MC in self.dictMCVenantDesBlocs: print ("Pb Sur les MC" )
               else : self.dictMCVenantDesBlocs[MC]=widget.dictMCVenantDesBlocs[MC]
           liste=liste+listeW
               if MC in self.dictMCVenantDesBlocs: print ("Pb Sur les MC" )
               else : self.dictMCVenantDesBlocs[MC]=widget.dictMCVenantDesBlocs[MC]
           liste=liste+listeW
+      except : 
+        pass
       return liste
 
 
       return liste
 
 
@@ -171,11 +175,118 @@ class Groupe(QWidget,FacultatifOuOptionnel):
 
   def Plie(self):
       self.node.setPlie()
 
   def Plie(self):
       self.node.setPlie()
+      if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") :
+         #if  (len(self.node.item.get_genealogie())==2):
+             index=self.maCommande.commandesLayout.indexOf(self)
+             self.maCommande.reafficheSeulement(self,index)
+             return
+         #else :
+         #  self.reaffiche(self.node)
+         #return
+      #print ('je reaffiche dans Plie')
       self.reaffiche(self.node) 
 
   def Deplie(self):
       self.node.setDeplie()
       self.reaffiche(self.node) 
 
   def Deplie(self):
       self.node.setDeplie()
+      if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") :
+         #if  (len(self.node.item.get_genealogie())==2):
+             index=self.parentQt.commandesLayout.indexOf(self)
+             self.maCommande.reafficheSeulement(self,index)
+             return
+         #else :
+         #  self.reaffiche(self.node)
+         #return
+      #print ('je reaffiche dans Plie')
       self.reaffiche(self.node) 
       self.reaffiche(self.node) 
+    
+    
+  #def Plie(self):
+      #print ('Deplie', self)
+      #print (self.obj.nom)
+      #print (self.node.setPlie)
+      #print (self.parentQt)
+      #print (self)
+   #   self.node.setPlie()
+      #if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") :
+      #   itemAtraiter = self.node.item
+      #   nodeAtraiter=self.node
+         #while (len(itemAtraiter.get_genealogie())  > 2 ): 
+         #      itemAtraiter=itemAtraiter.parent
+         #      nodeAtraiter=nodeAtraiter.vraiParent
+         #ancien=nodeAtraiter.fenetre
+         #panneau = nodeAtraiter.getPanelGroupe(self,self.maCommande,insertIn=False)
+         #print (itemAtraiter,nodeAtraiter)
+         #self.parentQt.commandesLayout.replaceWidget(ancien,panneau,Qt.FindDirectChildrenOnly)
+         #nodeAtraiter.vraiParent.fenetre.commandesLayout.replaceWidget(ancien,panneau,Qt.FindDirectChildrenOnly)
+         #return
+   #   if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") :
+   #      if  (len(self.node.item.get_genealogie())==2):
+             #print (self)
+             #print (self.obj.nom)
+             #print (self.node.item.getlabeltext())
+             #print (self.parentQt)
+             #print (self.editor.fenetreCentraleAffichee)
+             #print (self.maCommande)
+   #          index=self.parentQt.commandesLayout.indexOf(self)
+             #print (index)
+   #          self.maCommande.reafficheSeulement(self,index)
+             #self.disconnect()
+             #for c in self.children(): 
+             #  print (c)
+             #  try :
+             #    c.setParent(None)
+             #    c.deleteLater()
+             # c.close()
+             #   c.disconnect()
+             #  except :
+             #    print('poum')
+             #panneau = self.node.getPanelGroupe(self.parentQt,self.maCommande,insertIn=False)
+      #       print (self.parentQt)
+      #       print (self)
+             #self.parentQt.commandesLayout.replaceWidget(self,panneau,Qt.FindDirectChildrenOnly)
+      #       self.parentQt.setUpdatesEnabled(True)
+      #       print (dir(self.parentQt.commandesLayout))
+             #self.parentQt.commandesLayout.updateGeometry()
+   #      else :
+   #        self.reaffiche(self.node)
+   #      return
+      #print ('je reaffiche dans Plie')
+   #   self.reaffiche(self.node) 
+#
+#  def Deplie(self):
+#      print ('Deplie', self)
+#      print (self.obj.nom)
+#      print (self.node.item.GetLabelText())
+#      self.node.setDeplie()
+#      #if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") and (len(self.node.item.get_genealogie())==2):
+#      #print (self.node.vraiParent.children)
+#      #if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") :
+#      #   itemAtraiter = self.node.item
+#      #   nodeAtraiter=self.node
+#      #   while (len(itemAtraiter.get_genealogie())  > 2 ): 
+#      #         itemAtraiter=itemAtraiter.parent
+#      #         nodeAtraiter=nodeAtraiter.vraiParent
+#      #   ancien=nodeAtraiter.fenetre
+#      #   panneau = nodeAtraiter.getPanelGroupe(self,self.maCommande,insertIn=False)
+#         #print (itemAtraiter,nodeAtraiter)
+#         #self.parentQt.commandesLayout.replaceWidget(ancien,panneau,Qt.FindDirectChildrenOnly)
+#      #   nodeAtraiter.vraiParent.fenetre.commandesLayout.replaceWidget(ancien,panneau,Qt.FindDirectChildrenOnly)
+#      #   return
+#      if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") :
+#         if  (len(self.node.item.get_genealogie())==2):
+#             #panneau = self.node.getPanelGroupe(self.parentQt,self.maCommande,insertIn=False)
+#             #self.parentQt.commandesLayout.replaceWidget(self,panneau,Qt.FindDirectChildrenOnly)
+#             #index=self.parentQt.commandesLayout.indexOf(self)
+#             #index=self.maCommande.commandesLayout.indexOf(self)
+#             #print ('index = ', index)
+#             index=0
+#             self.maCommande.reafficheSeulement(self,index)
+#         else :
+#           self.reaffiche(self.node)
+#         return
+#     
+#      #print ('je reaffiche')
+#      self.reaffiche(self.node) 
 
   def traiteClicSurLabel(self,texte):
       if self.editor.code != "CARMELCND" : self.afficheOptionnel()
 
   def traiteClicSurLabel(self,texte):
       if self.editor.code != "CARMELCND" : self.afficheOptionnel()
index 0543e61a80b741dc5213abbb24fc8c5fd4af1349..ad2adae3e5ed80de2afd2a153d15cdd962fec443 100644 (file)
@@ -32,6 +32,8 @@ from .gereIcones import FacultatifOuOptionnel
 from PyQt5.QtWidgets  import QApplication, QWidget, QSpacerItem, QSizePolicy
 from PyQt5.QtGui import QFont, QIcon
 from PyQt5.QtCore import QTimer
 from PyQt5.QtWidgets  import QApplication, QWidget, QSpacerItem, QSizePolicy
 from PyQt5.QtGui import QFont, QIcon
 from PyQt5.QtCore import QTimer
+from PyQt5.QtCore import Qt
+
 
 
 from Extensions.i18n import tr
 
 
 from Extensions.i18n import tr
@@ -246,6 +248,18 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       else : self.recentre()
       self.inhibeExpand=False
 
       else : self.recentre()
       self.inhibeExpand=False
 
+  def reafficheSeulement(self,nodeAReafficher,index):
+      #print ('ds reafficheSeulement', nodeAReafficher)
+      parentNodeAReafficher=nodeAReafficher.parentQt
+      index=parentNodeAReafficher.commandesLayout.indexOf(nodeAReafficher)
+      oldFenetre=nodeAReafficher.node.fenetre
+      newWidget=nodeAReafficher.node.getPanelGroupe(parentNodeAReafficher,self,index)
+      nodeAReafficher.node.fenetre=newWidget
+      oldFenetre.setParent(None)
+      oldFenetre.close()
+      oldFenetre.deleteLater()
+      #print ("fin pour " , self.node.item.nom)
+
 
   def recentre(self):
       QApplication.processEvents()
 
   def recentre(self):
       QApplication.processEvents()
index b3cae42a0eb09d93fd7e83fdc73e6d4fc880f219..609d0dffceaec56f61678b55a22b6b94f30f7b56 100644 (file)
@@ -33,13 +33,14 @@ from Extensions.i18n import tr
 class MonWidgetFactCommun(Groupe):
   """
   """
 class MonWidgetFactCommun(Groupe):
   """
   """
-  def __init__(self,node,editor,parentQt,definition, obj, niveau,commande):
+  def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=-1):
       #print "fact : ",node.item.nom
       Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande)
       labeltext,fonte,couleur = self.node.item.GetLabelText()
       self.GroupBox.setText(tr(labeltext))
       self.GroupBox.setTextInteractionFlags(Qt.TextSelectableByMouse)
       #print "fact : ",node.item.nom
       Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande)
       labeltext,fonte,couleur = self.node.item.GetLabelText()
       self.GroupBox.setText(tr(labeltext))
       self.GroupBox.setTextInteractionFlags(Qt.TextSelectableByMouse)
-      self.parentQt.commandesLayout.insertWidget(-1,self)
+      self.parentQt.commandesLayout.insertWidget(insertIn,self)
+      #else :  self.parentQt.commandesLayout.insertWidget(0,self)
       self.doitAfficherOptionnel=False
 
   def enterEvent(self,event):
       self.doitAfficherOptionnel=False
 
   def enterEvent(self,event):
@@ -58,8 +59,8 @@ class MonWidgetFactCommun(Groupe):
       if self.doitAfficherOptionnel and self.editor.code != "CARMELCND" :self.afficheOptionnel()
 
 class MonWidgetFact(Ui_WidgetFact,MonWidgetFactCommun):
       if self.doitAfficherOptionnel and self.editor.code != "CARMELCND" :self.afficheOptionnel()
 
 class MonWidgetFact(Ui_WidgetFact,MonWidgetFactCommun):
-  def __init__(self,node,editor,parentQt,definition, obj, niveau,commande):
-      MonWidgetFactCommun.__init__(self,node,editor,parentQt, definition,obj,niveau,commande)
+  def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=True):
+      MonWidgetFactCommun.__init__(self,node,editor,parentQt, definition,obj,niveau,commande,insertIn)
 
 #class MonWidgetFactHorizontal(Ui_WidgetFactHorizon,MonWidgetFactCommun):
 #  def __init__(self,node,editor,parentQt,definition, obj, niveau,commande):
 
 #class MonWidgetFactHorizontal(Ui_WidgetFactHorizon,MonWidgetFactCommun):
 #  def __init__(self,node,editor,parentQt,definition, obj, niveau,commande):
index 5a47a2e312877652c9e01cb1e02af8efa1c4c4e4..c0836c42bf5af1c9dde2046a1ccaacb66e9115eb 100644 (file)
@@ -28,11 +28,11 @@ from Extensions.i18n import tr
 class MonWidgetFactPlie(Ui_WidgetFactPlie,Groupe):
   """
   """
 class MonWidgetFactPlie(Ui_WidgetFactPlie,Groupe):
   """
   """
-  def __init__(self,node,editor,parentQt,definition, obj, niveau,commande):
+  def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=-1):
       #print "fact plie : ",node.item.nom
       Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande)
       self.groupBox.setText(self.node.item.GetLabelText()[0])
       #print "fact plie : ",node.item.nom
       Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande)
       self.groupBox.setText(self.node.item.GetLabelText()[0])
-      self.parentQt.commandesLayout.insertWidget(-1,self)
+      self.parentQt.commandesLayout.insertWidget(insertIn,self)
 
   def traiteClicSurLabel(self,texte):
       return
 
   def traiteClicSurLabel(self,texte):
       return