Salome HOME
Fix ZCrack.
[tools/eficas.git] / InterfaceQT4 / monWidgetCommande.py
index 270620fa410ba053b45421ba8a47f04b95b0ce43..feb1eadbe4e74348d3fd329b6c418b9582130ef7 100644 (file)
@@ -51,7 +51,6 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
 
       maPolice= QFont("Times", 10,)
       self.setFont(maPolice)
-      self.repIcon=self.appliEficas.repIcon
       self.labelNomCommande.setText(tr(self.obj.nom))
 
       self.commandesLayout.addStretch()
@@ -66,6 +65,8 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       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,32 +78,51 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
          self.RBPoubelle.close() # JDC Fige
          return                  # Pas de MC Optionnels pour Carmel
       from monWidgetOptionnel import MonWidgetOptionnel
-      if hasattr(self.editor,'widgetOptionnel') : 
+      #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.splitter.addWidget(self.monOptionnel)
-      #print "dans init ", self.monOptionnel
+        #self.editor.restoreSplitterSizes()
       self.afficheOptionnel()
       #print "fin init de widget Commande"
       
 
+  def donnePremier(self):
+      #print "dans donnePremier"
+      qApp.processEvents()
+      if self.listeAffichageWidget != [] :
+         self.listeAffichageWidget[0].setFocus(7)
+      qApp.processEvents()
+      #print self.focusWidget()
+
+
   def focusNextPrevChild(self, next):
       # on s assure que ce n est pas un chgt de fenetre
       #print "je passe dans focusNextPrevChild"
       if self.editor.fenetreCentraleAffichee != self : return True
-      try :
-        i= self.listeAffichageWidget.index(self.focusWidget())
-      except :
-        i = -1
+      f=self.focusWidget()
+      if f not in self.listeAffichageWidget :
+         i=0
+         while not hasattr (f,'AAfficher') :
+           if f==None :i=-1; break
+           f=f.parentWidget()
+         if hasattr(f,'AAfficher') : f=f.AAfficher
+         if i != -1 : i=self.listeAffichageWidget.index(f)
+      else :i=self.listeAffichageWidget.index(f) 
       if (i==len(self.listeAffichageWidget) -1) and next and not self.inhibe: 
-         self.listeAffichageWidget[1].setFocus(7)
-         w=self.focusWidget()
-         self.inhibe=1
-         w.focusPreviousChild()
-         self.inhibe=0
-         return True
+         try :
+           self.listeAffichageWidget[1].setFocus(7)
+           w=self.focusWidget()
+           self.inhibe=1
+           w.focusPreviousChild()
+           self.inhibe=0
+           return True
+         except :
+           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])
@@ -112,6 +132,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):
@@ -120,13 +151,27 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
          self.setTabOrder(self.listeAffichageWidget[i],self.listeAffichageWidget[i+1])
          i=i+1
       # si on boucle on perd l'ordre
+  def  afficheSuivant(self,f):
+      try :
+        i=self.listeAffichageWidget.index(f) 
+        next=i+1
+      except :
+        next=1
+      if (next==len(self.listeAffichageWidget) -1 ): next =0
+      #self.f=next
+      #QTimer.singleShot(1, self.rendVisible)
+      try :
+        self.listeAffichageWidget[next].setFocus(7)
+      except :
+        pass
 
   def nomChange(self):
       nom = str(self.LENom.text())
       nom = string.strip(nom)
       if nom == '' : return                  # si pas de nom, on ressort sans rien faire
       test,mess = self.node.item.nomme_sd(nom)
-      self.editor.affiche_infos(mess)
+      self.editor.affiche_commentaire(mess)
 
       #Notation scientifique
       if test :
@@ -138,13 +183,15 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       # N a pas de parentQt. doit donc etre redefini
       liste=self.ajouteMCOptionnelDesBlocs()
       #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)
 
-  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):
@@ -152,7 +199,7 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       self.avantV=self.editor.fenetreCentraleAffichee.scrollAreaCommandes.verticalScrollBar().sliderPosition()
       self.inhibeExpand=True
       self.node.affichePanneau()
-      print "dans reaffiche de monWidgetCommande", self.avantH, self.avantV
+      #print "dans reaffiche de monWidgetCommande", self.avantH, self.avantV
       QTimer.singleShot(1, self.recentre)
       if nodeAVoir != None:
         self.f=nodeAVoir.fenetre
@@ -178,11 +225,11 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
      
   def rendVisible(self):
       qApp.processEvents()
-      self.f.setFocus()
+      self.f.setFocus(7)
       self.editor.fenetreCentraleAffichee.scrollAreaCommandes.ensureWidgetVisible(self.f)
 
   def afficheCatalogue(self):
-      if self.editor.code != "CARMELCND" : self.monOptionnel.hide()
+      if self.editor.widgetOptionnel != None : self.monOptionnel.hide()
       self.racine.affichePanneau()
       if self.node : self.node.select()
       else : self.racine.select()