Salome HOME
optim eciture
[tools/eficas.git] / InterfaceQT4 / groupe.py
index 6a62890c9a25cca0a1d0886de96a5f3551a4d005..097bf81d1b2e7c3ea640b7babff2d171d8a871d2 100644 (file)
 # Modules Python
 # Modules Eficas
 
-from PyQt4  import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from __future__ import absolute_import
+from __future__ import print_function
+from PyQt5.QtWidgets import QWidget
+from PyQt5.QtCore import Qt
+
 from Extensions.i18n import tr
-from gereIcones import FacultatifOuOptionnel
+
+from .gereIcones import FacultatifOuOptionnel
 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
-      #self.setFocusPolicy(Qt.StrongFocus)
       self.setupUi(self)
       self.editor=editor
       self.obj=obj
@@ -50,16 +52,16 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
       self.repIcon=self.appliEficas.repIcon
       self.jdc=self.node.item.get_jdc()
       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')  : self.RBDeplie.clicked.connect(self.Deplie)
+      if hasattr(self,'RBPlie')    : self.RBPlie.clicked.connect( self.Plie)
       self.setAcceptDrops(True)
-      #self.donneFocus()
      
   def donneFocus(self):
       for fenetre in self.listeFocus:
@@ -71,16 +73,17 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
       
 
   def afficheMots(self):
-      print "ds afficheMots ",self.node.item.nom
+      #print "ds afficheMots ",self.node.item.nom
       for node in self.node.children:
-           print "afficheMots ",node," " ,node.item.nom, " ",node.plie ," ", node.appartientAUnNoeudPlie
+           #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
+      #print "fin pour " , self.node.item.nom
 
        
   def calculOptionnel(self):
@@ -95,39 +98,34 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
         
   def afficheOptionnel(self):
         liste=self.ajouteMCOptionnelDesBlocs()
-        #chercheOptionnel=self.parentQt
-        # Boucle necessaire pour les regroupements Adao
-        #while not( hasattr(chercheOptionnel,'monOptionnel')):
-        #    chercheOptionnel=chercheOptionnel.parentQt
-        #self.monOptionnel=chercheOptionnel.monOptionnel
         self.monOptionnel=self.editor.widgetOptionnel
-        self.monOptionnel.parentMC=self
-        self.monOptionnel.affiche(liste)
+        self.monOptionnel.afficheOptionnel(liste,self)
+        #self.monOptionnel.affiche(liste)
            
 
   def ajouteMCOptionnelDesBlocs(self):
-      #print "Je passe dans ajouteMCOptionnelDesBlocs pour", self.node.item.nom
+       #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
       while i < self.commandesLayout.count():
-          from monWidgetBloc import MonWidgetBloc
+          from .monWidgetBloc import MonWidgetBloc
           widget=self.commandesLayout.itemAt(i).widget()
           i=i+1
           if not(isinstance(widget,MonWidgetBloc)) : continue
           widget.calculOptionnel()
           listeW=widget.ajouteMCOptionnelDesBlocs() 
-          for MC in widget.dictMCVenantDesBlocs.keys():
-              if MC in self.dictMCVenantDesBlocs.keys(): print "Pb Sur les MC" 
+          for MC in widget.dictMCVenantDesBlocs:
+              if MC in self.dictMCVenantDesBlocs: print ("Pb Sur les MC" )
               else : self.dictMCVenantDesBlocs[MC]=widget.dictMCVenantDesBlocs[MC]
           liste=liste+listeW
       return liste
 
 
   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):
@@ -155,8 +153,8 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
       listeNom=texteListeNom.split("+")[1:]
       firstNode=None
       for nom in listeNom:
-        if nom not in self.dictMCVenantDesBlocs.keys():
-           print "bizarre, bizarre"
+        if nom not in self.dictMCVenantDesBlocs:
+           #print "bizarre, bizarre"
            self.editor.init_modif()
            nouveau=self.node.append_child(nom)
         else :
@@ -165,9 +163,10 @@ 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)
+           self.editor.affiche_infos(tr('insertion impossible a cet endroit pour '+nom),Qt.red)
       self.reaffiche(firstNode)
-
+      if firstNode!=None and firstNode !=0 and firstNode.item!=None :
+        firstNode.select()
 
 
   def Plie(self):
@@ -179,6 +178,5 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
       self.reaffiche(self.node) 
 
   def traiteClicSurLabel(self,texte):
-      self.afficheOptionnel()
-
+      if self.editor.code != "CARMELCND" : self.afficheOptionnel()