Salome HOME
sauve du 9 mai
[tools/eficas.git] / InterfaceQT4 / groupe.py
index bfa9ce9d3f39e9c1f0e2b937bb50175a0cdc1acb..f0ccc9067079eb6b2d29cf28d45b568cd1f67547 100644 (file)
 # Modules Python
 # Modules Eficas
 
-from PyQt4  import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+   from PyQt5.QtWidgets import QWidget
+   from PyQt5.QtCore import Qt
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
+from Extensions.i18n import tr
+
 from Extensions.i18n import tr
 from gereIcones import FacultatifOuOptionnel
 import Accas 
@@ -29,11 +35,11 @@ import Accas
     
 # Import des panels
 
-class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
+class Groupe(QWidget,FacultatifOuOptionnel):
   """
   """
   def __init__(self,node,editor,parentQt,definition,obj,niveau,commande=None):
-      QtGui.QWidget.__init__(self,None)
+      QWidget.__init__(self,None)
       self.node=node
       self.node.fenetre=self
       #print "groupe : ",self.node.item.nom," ",self.node.fenetre
@@ -49,15 +55,18 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
       self.appliEficas=self.editor.appliEficas
       self.repIcon=self.appliEficas.repIcon
       self.jdc=self.node.item.get_jdc()
-      self.setPoubelle()
+      self.setIconePoubelle()
+      self.setIconesGenerales()
       self.setRun()
       self.setValide()
       self.setReglesEtAide()
       self.afficheMots()
       self.listeMCAAjouter=[]
       self.dictMCVenantDesBlocs={}
-      if hasattr(self,'RBDeplie') : self.connect(self.RBDeplie,SIGNAL("clicked()"), self.Deplie)
-      if hasattr(self,'RBPlie') : self.connect(self.RBPlie,SIGNAL("clicked()"), self.Plie)
+      if hasattr(self,'RBDeplie') and not monEnvQT5 : self.connect(self.RBDeplie,SIGNAL("clicked()"), self.Deplie)
+      if hasattr(self,'RBPlie')  and not monEnvQT5: self.connect(self.RBPlie,SIGNAL("clicked()"), self.Plie)
+      if hasattr(self,'RBDeplie')  and monEnvQT5: self.RBDeplie.clicked.connect(self.Deplie)
+      if hasattr(self,'RBPlie')  and monEnvQT5: self.RBPlie.clicked.connect( self.Plie)
       self.setAcceptDrops(True)
       #self.donneFocus()
      
@@ -68,15 +77,20 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
              fenetre.prendLeFocus=1
              fenetre.hide()
              fenetre.show()
-             break
       
 
   def afficheMots(self):
+      #print "ds afficheMots ",self.node.item.nom
       for node in self.node.children:
-           if hasattr(self.node,'appartientAUnNoeudPlie') and self.node.appartientAUnNoeudPlie==True : return
-           #print "getPanel ds afficheMots " ,node.item.nom, node.getPanelGroupe
+           #if node.item.nom == "Background" :print "afficheMots ",node," " ,node.item.nom, " ",node.plie ," ", node.appartientAUnNoeudPlie,node.getPanelGroupe
+           #if node.item.nom == "BackgroundError" :print "afficheMots ",node," " ,node.item.nom, " ",node.plie ," ", node.appartientAUnNoeudPlie,node.getPanelGroupe
+           # non return mais  continue car il faut tenir compte des blocs
+           if node.appartientAUnNoeudPlie==True : continue
+           #print "je suis apres le if pour ",node.item.nom
            widget=node.getPanelGroupe(self,self.maCommande)
+           #print "widget pour ", node.item.nom, widget
            self.listeFocus.append(node.fenetre)
+      #print "fin pour " , self.node.item.nom
 
        
   def calculOptionnel(self):
@@ -123,7 +137,7 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
 
 
   def reaffiche(self,nodeAVoir=None):
-      print "dans reaffiche de groupe.py", nodeAVoir
+      #print "dans reaffiche de groupe.py", nodeAVoir
       self.parentQt.reaffiche(nodeAVoir)
 
   def recalculeListeMC(self,listeMC):
@@ -152,7 +166,7 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
       firstNode=None
       for nom in listeNom:
         if nom not in self.dictMCVenantDesBlocs.keys():
-           print "bizarre, bizarre"
+           #print "bizarre, bizarre"
            self.editor.init_modif()
            nouveau=self.node.append_child(nom)
         else :
@@ -161,15 +175,12 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
            nouveau=widget.node.append_child(nom)
         if firstNode==None : firstNode=nouveau 
         if nouveau == None or nouveau == 0  : 
-           self.editor.affiche_infos(str('insertion impossible a cet endroit pour '+nom),Qt.red)
-      print firstNode
-      print firstNode.fenetre
+           self.editor.affiche_infos(tr('insertion impossible a cet endroit pour '+nom),Qt.red)
       self.reaffiche(firstNode)
+      if firstNode!=None and firstNode.item!=None :
+        firstNode.select()
 
 
-  #def PlieTout(self):
-  #    self.node.setPlie()
-
   def Plie(self):
       self.node.setPlie()
       self.reaffiche(self.node) 
@@ -178,3 +189,6 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
       self.node.setDeplie()
       self.reaffiche(self.node) 
 
+  def traiteClicSurLabel(self,texte):
+      if self.editor.code != "CARMELCND" : self.afficheOptionnel()
+