Salome HOME
sauve du 10/06
[tools/eficas.git] / InterfaceQT4 / monWidgetCommande.py
index d21333b0daad517cd00296dad19e3b61e1137c13..9e0868c0ed18e1239ed892d451e4053d5f10d6c0 100644 (file)
 from desWidgetCommande import Ui_WidgetCommande
 from groupe import Groupe
 from gereIcones import FacultatifOuOptionnel
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+
+if monEnvQT5:
+   from PyQt5.QtWidgets  import QApplication, QWidget, QSpacerItem, QSizePolicy
+   from PyQt5.QtGui import QFont, QIcon
+   from PyQt5.QtCore import QTimer
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
+
+
 from Extensions.i18n import tr
 import Accas 
 import os
@@ -40,9 +49,11 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       self.listeAffichageWidget=[]
       self.inhibe=0
       self.ensure=0
+      editor.inhibeSplitter=1
       Groupe.__init__(self,node,editor,None,etape.definition,etape,1,self)
+      editor.inhibeSplitter=0
 
-      if node.item.get_fr() != "" : self.labelDoc.setText(QString(node.item.get_fr()))
+      if node.item.get_fr() != "" : self.labelDoc.setText(node.item.get_fr())
       else : self.labelDoc.close()
       
       if (etape.get_type_produit()==None): self.LENom.close()
@@ -57,17 +68,28 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       self.commandesLayout.focusInEvent=self.focusInEvent
       self.scrollAreaCommandes.focusInEvent=self.focusInEvent
 
-      if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
-      else : self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
-      if self.editor.code in ['Adao','MAP'] : 
-            self.bAvant.close()
-            self.bApres.close()
+     
+      if monEnvQT5 :
+         if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
+         else : self.bCatalogue.clicked.connect(self.afficheCatalogue)
+         if self.editor.code in ['Adao','MAP'] : 
+               self.bAvant.close()
+               self.bApres.close()
+         else : 
+               self.bAvant.clicked.connect(self.afficheAvant)
+               self.bApres.clicked.connect(self.afficheApres)
+         self.LENom.returnPressed.connect(self.nomChange)
       else : 
-            self.connect(self.bAvant,SIGNAL("clicked()"), self.afficheAvant)
-            self.connect(self.bApres,SIGNAL("clicked()"), self.afficheApres)
-
-      
-      self.connect(self.LENom,SIGNAL("returnPressed()"),self.nomChange)
+         if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
+         else : self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
+         if self.editor.code in ['Adao','MAP'] : 
+               self.bAvant.close()
+               self.bApres.close()
+         else : 
+               self.connect(self.bAvant,SIGNAL("clicked()"), self.afficheAvant)
+               self.connect(self.bApres,SIGNAL("clicked()"), self.afficheApres)
+         self.connect(self.LENom,SIGNAL("returnPressed()"),self.nomChange)
+   
       self.racine=self.node.tree.racine
       if self.node.item.GetIconName() == "ast-red-square" : self.LENom.setDisabled(True)
 
@@ -77,24 +99,29 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       if self.editor.code == "CARMELCND" : 
          self.RBPoubelle.close() # JDC Fige
          return                  # Pas de MC Optionnels pour Carmel
+
       from monWidgetOptionnel import MonWidgetOptionnel
-      #if hasattr(self.editor,'widgetOptionnel') : 
       if self.editor.widgetOptionnel!= None : 
         self.monOptionnel=self.editor.widgetOptionnel
       else :
         self.monOptionnel=MonWidgetOptionnel(self)
         self.editor.widgetOptionnel=self.monOptionnel
+        self.editor.inhibeSplitter=1
         self.editor.splitter.addWidget(self.monOptionnel)
+        self.editor.inhibeSplitter=0
+        self.editor.ajoutOptionnel()
       self.afficheOptionnel()
+
+      self.editor.restoreSplitterSizes()
       #print "fin init de widget Commande"
       
 
   def donnePremier(self):
       #print "dans donnePremier"
-      qApp.processEvents()
+      QApplication.processEvents()
       if self.listeAffichageWidget != [] :
          self.listeAffichageWidget[0].setFocus(7)
-      qApp.processEvents()
+      QApplication.processEvents()
       #print self.focusWidget()
 
 
@@ -131,6 +158,17 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
          w.focusNextChild()
          self.inhibe=0
          return True
+      if i==0 and next==True and not self.inhibe:
+         self.listeAffichageWidget[0].setFocus(7)
+         self.inhibe=1
+         w=self.focusWidget()
+         w.focusNextChild()
+         self.inhibe=0
+         return True
+      if i>0 and next==False and not self.inhibe:
+         if isinstance(self.listeAffichageWidget[i-1],QRadioButton):
+           self.listeAffichageWidget[i-1].setFocus(7)
+           return True
       return QWidget.focusNextPrevChild(self, next)
 
   def etablitOrdre(self):
@@ -173,8 +211,10 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       #print "dans afficheOptionnel", self.monOptionnel
       # dans le cas ou l insertion n a pas eu leiu (souci d ordre par exemple)
       #if self.monOptionnel == None : return
-      self.monOptionnel.parentMC=self
-      self.monOptionnel.affiche(liste)
+      self.monOptionnel.parentCommande=self
+      self.monOptionnel.titre(self.obj.nom)
+      self.monGroupe=self.monOptionnel.afficheOptionnel(liste,self)
+      
 
   #def focusInEvent(self,event):
       #print "je mets a jour dans focusInEvent de monWidget Commande "
@@ -189,19 +229,19 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       self.node.affichePanneau()
       #print "dans reaffiche de monWidgetCommande", self.avantH, self.avantV
       QTimer.singleShot(1, self.recentre)
-      if nodeAVoir != None:
+      if nodeAVoir != None and nodeAVoir!=0:
         self.f=nodeAVoir.fenetre
         if self.f==None : 
              newNode=nodeAVoir.treeParent.chercheNoeudCorrespondant(nodeAVoir.item.object)
              self.f = newNode.fenetre 
-        print "dans reaffiche",self.f, nodeAVoir.item.nom
+        #print "dans reaffiche",self.f, nodeAVoir.item.nom
         if self.f != None and self.f.isVisible() : return
         if self.f != None : QTimer.singleShot(1, self.rendVisible)
       self.inhibeExpand=False
 
 
   def recentre(self):
-      qApp.processEvents()
+      QApplication.processEvents()
       s=self.editor.fenetreCentraleAffichee.scrollAreaCommandes
       s.horizontalScrollBar().setSliderPosition(self.avantH)
       s.verticalScrollBar().setSliderPosition(self.avantV)
@@ -212,7 +252,7 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       QTimer.singleShot(1, self.rendVisible)
      
   def rendVisible(self):
-      qApp.processEvents()
+      QApplication.processEvents()
       self.f.setFocus(7)
       self.editor.fenetreCentraleAffichee.scrollAreaCommandes.ensureWidgetVisible(self.f)