Salome HOME
Merge V9 dans Master
[tools/eficas.git] / InterfaceQT4 / monWidgetOptionnel.py
index fe38895625e3bf4416ffb505f23d84c54b7620b9..904e5841a9f19c780a0f37d74406aeca9ad9923f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2013   EDF R&D
+# Copyright (C) 2007-2017   EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # Modules Python
 # Modules Eficas
 
-from determine import monEnvQT5
-if monEnvQT5:
-    from PyQt5.QtWidgets import QCheckBox, QWidget
-    from PyQt5.QtCore import Qt
-else :
-    from PyQt4.QtGui  import *
-    from PyQt4.QtCore import *
+from __future__ import absolute_import
+from PyQt5.QtWidgets import QCheckBox, QWidget
+from PyQt5.QtCore import Qt
 
 from Extensions.i18n import tr
 from desWidgetOptionnel import Ui_WidgetOptionnel
-from monGroupeOptionnel import MonGroupeOptionnel
+from .monGroupeOptionnel import MonGroupeOptionnel
 
     
 # Import des panels
 class  MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel):
   def __init__(self,parentQt):
-     #print "dans init de monWidgetOptionnel ", parentQt, parentQt.node.item.nom
+     #print ("dans init de monWidgetOptionnel ", parentQt )
      QWidget.__init__(self,None)
      self.setupUi(self)
      self.dicoMCWidgetOptionnel={}
      self.parentQt=parentQt
-     self.parentQt.editor.splitterSizes[1]-=self.parentQt.editor.splitterSizes[2]
-     self.parentQt.editor.splitterSizes[2]=self.parentQt.editor.oldSizeWidgetOptionnel
-     if self.parentQt.editor.splitterSizes[2] == 0 : self.parentQt.editor.splitterSizes[2] = 400
-     self.parentQt.editor.restoreSplitterSizes()
-     self.show()
 
-  def afficheOptionnel(self,liste,MC):
-     #print "dans Optionnel ____ affiche", liste 
+  def afficheOptionnel(self,liste,liste_rouge,MC):
+     #print ('afficheOptionnel MonWidgetOptionnel', self,liste,MC)
      self.vireLesAutres(MC)
-     if self.dicoMCWidgetOptionnel.has_key(MC.node.item.nom) :
-        self.dicoMCWidgetOptionnel[MC.node.item.nom].setParent(None)
+   
+     if MC.node.item.nom in self.dicoMCWidgetOptionnel :
+        #print (MC.node.item.nom)
         self.dicoMCWidgetOptionnel[MC.node.item.nom].close()
-     groupe = MonGroupeOptionnel(liste,self,MC)
+        self.dicoMCWidgetOptionnel[MC.node.item.nom].setParent(None)
+        self.dicoMCWidgetOptionnel[MC.node.item.nom].deleteLater()
+        del self.dicoMCWidgetOptionnel[MC.node.item.nom]
+     if liste==[] : return
+     groupe = MonGroupeOptionnel(liste,liste_rouge,self,MC)
      self.groupesOptionnelsLayout.insertWidget(0,groupe)
      self.dicoMCWidgetOptionnel[MC.node.item.nom]=groupe
      return groupe
 
   def vireLesAutres(self,MC):
-      print "je passe dans vireLesAutres"
-      genea =MC.obj.get_genealogie()
-      print genea
-      for k in self.dicoMCWidgetOptionnel.keys():
+      #print( "je passe dans vireLesAutres")
+      genea =MC.obj.getGenealogie()
+      #print (genea)
+      for k in list(self.dicoMCWidgetOptionnel.keys()):
+          #print (k)
+          #if k not in genea :  print ( k)
           if k not in genea :  
              self.dicoMCWidgetOptionnel[k].close()
              del self.dicoMCWidgetOptionnel[k]
-          #if k not in genea :  print k
-      #print "________"
+      #print( "fin vireLesAutres")
       
+  def vireTous(self):
+      for k in list(self.dicoMCWidgetOptionnel.keys()):
+          self.dicoMCWidgetOptionnel[k].close()
+          del self.dicoMCWidgetOptionnel[k]
+
   def afficheOptionnelVide(self):
       self.GeneaLabel.setText("")
-      for k in self.dicoMCWidgetOptionnel.keys():
+      for k in list(self.dicoMCWidgetOptionnel.keys()):
             self.dicoMCWidgetOptionnel[k].close()
             del self.dicoMCWidgetOptionnel[k]
 
   def titre(self,MC):
-     labeltext,fonte,couleur = self.parentCommande.node.item.GetLabelText()
+     if self.parentCommande.node.editor.code in ['Adao','ADAO'] and self.parentCommande.node.editor.maConfiguration.closeFrameRechercheCommande==True :
+        self.frameLabelCommande.close()
+        return
+     labeltext,fonte,couleur = self.parentCommande.node.item.getLabelText()
      l=tr(labeltext)
      li=[]
      while len(l) > 25: