Salome HOME
souci d icone
[tools/eficas.git] / InterfaceQT4 / monWidgetCommande.py
index 32da3c1547c9a93cf42e32e4547aa904a7ed3bcf..becfee22f13f21faa0bda111354dd1815e184802 100644 (file)
 #
 # Modules Python
 # Modules Eficas
+from __future__ import absolute_import
+try :
+   from builtins import str
+except : pass
+
+import types
 
 from desWidgetCommande import Ui_WidgetCommande
-from groupe import Groupe
-from gereIcones import FacultatifOuOptionnel
-from determine import monEnvQT5
+from .groupe import Groupe
+from .gereIcones import FacultatifOuOptionnel
 
-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 PyQt5.QtWidgets  import QApplication, QWidget, QSpacerItem, QSizePolicy
+from PyQt5.QtGui import QFont, QIcon
+from PyQt5.QtCore import QTimer
 
 
 from Extensions.i18n import tr
 import Accas 
 import os
-import string
 
     
 # Import des panels
@@ -52,41 +52,38 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       Groupe.__init__(self,node,editor,None,etape.definition,etape,1,self)
       editor.inhibeSplitter=0
 
+      self.frameAffichage.setMinimumHeight(20)
       if node.item.get_fr() != "" : self.labelDoc.setText(node.item.get_fr())
-      else : self.labelDoc.close()
+      else : 
+        self.labelDoc.close()
+        self.frameAffichage.resize(self.frameAffichage.width(),50)
       
-      if (etape.get_type_produit()==None): self.LENom.close()
-      elif (hasattr(etape, 'sdnom')) and etape.sdnom != "sansnom" and etape.sdnom != None: self.LENom.setText(etape.sdnom) 
+      #if (etape.get_type_produit()==None): self.LENom.close()
+      #test,mess = self.node.item.nomme_sd('ee')
+      if not(hasattr(etape.definition,'sd_prod')) or (etape.definition.sd_prod==None): self.LENom.close()
+      elif (hasattr(etape.definition,'sd_prod') and type(etape.definition.sd_prod)== types.FunctionType):self.LENom.close()
+      elif (hasattr(etape, 'sdnom')) and etape.sdnom != "sansnom" and etape.sdnom != None: self.LENom.setText(etape.sdnom)
       else : self.LENom.setText("")
 
+
       maPolice= QFont("Times", 10,)
       self.setFont(maPolice)
       self.labelNomCommande.setText(tr(self.obj.nom))
 
-      self.commandesLayout.addStretch()
-      self.commandesLayout.focusInEvent=self.focusInEvent
-      self.scrollAreaCommandes.focusInEvent=self.focusInEvent
 
-     
       if self.editor.closeFrameRechercheCommande==True : self.closeAutreCommande()
       else :
-        if monEnvQT5 :
-         try :
+        try :
            self.bCatalogue.clicked.connect(self.afficheCatalogue)
            self.bAvant.clicked.connect(self.afficheAvant)
            self.bApres.clicked.connect(self.afficheApres)
-         except :
+        except :
            pass
-         self.LENom.returnPressed.connect(self.nomChange)
-        else : 
-         try :
-            self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
-            self.connect(self.bAvant,SIGNAL("clicked()"), self.afficheAvant)
-            self.connect(self.bApres,SIGNAL("clicked()"), self.afficheApres)
-         except :
-            pass
-         self.connect(self.LENom,SIGNAL("returnPressed()"),self.nomChange)
+        self.LENom.returnPressed.connect(self.nomChange)
    
+      if self.editor.code in ['Adao','ADAO'] and self.editor.closeFrameRechercheCommande==True  : 
+                      self.frameAffichage.close()
+
       if self.editor.code in ['CARMELCND',] : self.closeAutreCommande()
       self.racine=self.node.tree.racine
       if self.node.item.GetIconName() == "ast-red-square" : self.LENom.setDisabled(True)
@@ -98,21 +95,22 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
          self.RBPoubelle.close() # JDC Fige
          return                  # Pas de MC Optionnels pour Carmel
 
-      from monWidgetOptionnel import MonWidgetOptionnel
+      from .monWidgetOptionnel import MonWidgetOptionnel
       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.monOptionnel=MonWidgetOptionnel(self.editor)
+        self.editor.widgetOptionnel=self.monOptionnel
         self.editor.splitter.addWidget(self.monOptionnel)
-        self.editor.inhibeSplitter=0
         self.editor.ajoutOptionnel()
+        self.editor.inhibeSplitter=0
       self.afficheOptionnel()
+      #self.editor.restoreSplitterSizes()
 
-      self.editor.restoreSplitterSizes()
       #print "fin init de widget Commande"
       
+
   def closeAutreCommande(self):
       self.bCatalogue.close()
       self.bAvant.close()
@@ -149,8 +147,9 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
            self.inhibe=0
            return True
          except :
-           print self.listeAffichageWidget
-           print "souci ds focusNextPrevChild"
+           pass
+           #print self.listeAffichageWidget
+           #print "souci ds focusNextPrevChild"
       if i==0 and next==False and not self.inhibe: 
          if hasattr(self.editor.fenetreCentraleAffichee,'scrollArea'):
             self.editor.fenetreCentraleAffichee.scrollArea.ensureWidgetVisible(self.listeAffichageWidget[-1])
@@ -180,13 +179,18 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
          i=i+1
       # si on boucle on perd l'ordre
  
+  def  afficheNieme(self,n):
+      #print ('ds afficheNieme')
+      self.listeAffichageWidget[n].setFocus(7)
+
   def  afficheSuivant(self,f):
+      #print ('ds afficheSuivant')
       try :
         i=self.listeAffichageWidget.index(f) 
         next=i+1
       except :
         next=1
-      if (next==len(self.listeAffichageWidget) -1 ): next =0
+      if (next==len(self.listeAffichageWidget) ): next =0
       #self.f=next
       #QTimer.singleShot(1, self.rendVisible)
       try :
@@ -196,14 +200,14 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
 
   def nomChange(self):
       nom = str(self.LENom.text())
-      nom = string.strip(nom)
+      nom = nom.strip()
       if nom == '' : return                  # si pas de nom, on ressort sans rien faire
       test,mess = self.node.item.nomme_sd(nom)
       self.editor.affiche_commentaire(mess)
 
       #Notation scientifique
       if test :
-        from politiquesValidation import Validation
+        from .politiquesValidation import Validation
         validation=Validation(self.node,self.editor)
         validation.AjoutDsDictReelEtape()
 
@@ -218,10 +222,10 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       self.monGroupe=self.monOptionnel.afficheOptionnel(liste,self)
       
 
-  #def focusInEvent(self,event):
+  def focusInEvent(self,event):
       #print "je mets a jour dans focusInEvent de monWidget Commande "
-  #    if self.editor.code == "CARMELCND" : return #Pas de MC Optionnels pour Carmel
-  #    self.afficheOptionnel()
+      if self.editor.code == "CARMELCND" : return #Pas de MC Optionnels pour Carmel
+      self.afficheOptionnel()
 
 
   def reaffiche(self,nodeAVoir=None):
@@ -251,11 +255,11 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
 
   def rendVisibleNoeud(self,node):
       self.f=node.fenetre
-      print "dans rendVisibleNoeud",self.f
+      #print "dans rendVisibleNoeud",self.f
       QTimer.singleShot(1, self.rendVisible)
      
   def rendVisible(self):
-      print "dans rendVisible",self.f
+      #print "dans rendVisible",self.f
       QApplication.processEvents()
       self.f.setFocus(7)
       self.editor.fenetreCentraleAffichee.scrollAreaCommandes.ensureWidgetVisible(self.f)
@@ -281,6 +285,8 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
          icon=QIcon(self.repIcon+"/ast-red-ball.png")
       if self.node.item.GetIconName() == "ast-yellow-square" :
          icon=QIcon(self.repIcon+"/ast-yel-ball.png")
+      self.LENom.setDisabled(False)
+      if self.node.item.GetIconName() == "ast-red-square" : self.LENom.setDisabled(True)
       self.RBValide.setIcon(icon)