]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
MC Optionnels
authorpascale.noyret <pascale.noyret@edf.fr>
Wed, 11 May 2016 13:42:59 +0000 (15:42 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Wed, 11 May 2016 13:42:59 +0000 (15:42 +0200)
InterfaceQT4/browser.py
InterfaceQT4/feuille.py
InterfaceQT4/groupe.py
InterfaceQT4/monWidgetCommande.py
InterfaceQT4/monWidgetFact.py
InterfaceQT4/monWidgetOptionnel.py
InterfaceQT4/qtEficas.py

index ef81a9854bef6942f3763c33362cb8123fa47076..3ef56b2c51a02e616ce80a8a942cbf177a97ee3b 100644 (file)
@@ -114,7 +114,7 @@ class JDCTree( QTreeWidget,GereRegles ):
             
 
     def handleCollapsedItem(self,item):
-        print "dans CollapsedItem", self.inhibeExpand  
+        #print "dans CollapsedItem", self.inhibeExpand  
         if self.inhibeExpand == True : return
         # On traite le cas de l item non selectionne
         itemParent=item
index dcd0c0683b83a1d830055a532084b1aa5a60950c..b8581c2d99853bc5d0b71c644799a36353323ec4 100644 (file)
@@ -25,6 +25,7 @@ from determine import monEnvQT5
 if monEnvQT5:
    from PyQt5.QtWidgets import QToolButton ,QWidget
    from PyQt5.QtGui import QFont, QFontMetrics
+   from PyQt5.QtCore import Qt
 else :
    from PyQt4.QtGui import *
    from PyQt4.QtCore import *
@@ -55,6 +56,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel):
 
        maPolice= QFont("Times", 10)
        self.setFont(maPolice)
+       self.setFocusPolicy(Qt.StrongFocus)
 
        self.parentQt=parentQt
        self.editor=self.node.editor
@@ -236,6 +238,11 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel):
        #print "jjjjjjjjjjjjjjjjjjjjj"
        pass
 
+   #def enterEvent(self,event):
+   #   print "je passe dans enterEvent", self.nom
+      #if self.editor.code != "CARMELCND" :self.afficheOptionnel()
+   #   QWidget.enterEvent(self,event)
+
    def traiteClicSurLabel(self,texte):
        #print self.aide 
        aide=self.aide+"\n"+self.aideALaSaisie()
index f0ccc9067079eb6b2d29cf28d45b568cd1f67547..abec93d573f665104465bc220184c09a78101e10 100644 (file)
@@ -43,7 +43,6 @@ class Groupe(QWidget,FacultatifOuOptionnel):
       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
@@ -105,14 +104,9 @@ class Groupe(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):
@@ -175,7 +169,7 @@ class Groupe(QWidget,FacultatifOuOptionnel):
            nouveau=widget.node.append_child(nom)
         if firstNode==None : firstNode=nouveau 
         if nouveau == None or nouveau == 0  : 
-           self.editor.affiche_infos(tr('insertion impossible a cet endroit pour '+nom),Qt.red)
+           self.editor.affiche_infos(tr('insertion impossible a cet endroit pour '+nom),red)
       self.reaffiche(firstNode)
       if firstNode!=None and firstNode.item!=None :
         firstNode.select()
index bfdad47d44c0574142996e4e4c187601a355d53d..18bc000083589cd43330d94ee832e9e9e3b99d3a 100644 (file)
@@ -211,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 "
index 7b60cf8ffaf19ba72b021ecbff5cd22b1c84aa01..a522613c3773cc9b17b9d5d4c8868be0e1b0eb3c 100644 (file)
@@ -44,8 +44,7 @@ class MonWidgetFact(Ui_WidgetFact,Groupe):
       self.GroupBox.setTextInteractionFlags(Qt.TextSelectableByMouse)
       self.parentQt.commandesLayout.insertWidget(-1,self)
 
-  def focusInEvent(self,event):
-     # print "je passe dans focusInEvent"
+  def enterEvent(self,event):
       if self.editor.code != "CARMELCND" :self.afficheOptionnel()
-      QWidget.focusInEvent(self,event)
+      QWidget.enterEvent(self,event)
 
index f806954993e85740ba15e6c36ea25c704ccb9da7..3f249af3f95711c6995ca89343d0725f7ae2cab7 100644 (file)
@@ -29,66 +29,47 @@ else :
 
 from Extensions.i18n import tr
 from desWidgetOptionnel import Ui_WidgetOptionnel
+from monGroupeOptionnel import MonGroupeOptionnel
 
     
 # Import des panels
-
-class monButtonCustom(QCheckBox):
-
-   def __init__(self,texte,monOptionnel,parent=None):
-      QCheckBox.__init__(self,tr(texte),parent)
-      self.texte=texte
-      self.monOptionnel=monOptionnel
-
-   def mouseDoubleClickEvent(self, event):
-      #print "dans mouseDoubleClickEvent", self
-      if self not in self.monOptionnel.dicoCb.keys() : 
-         event.accept()
-         return
-      listeCheckedMC="+"+self.monOptionnel.dicoCb[self]
-      self.monOptionnel.parentMC.ajoutMC(listeCheckedMC)
-      self.setChecked(False)
-      event.accept()
-      
-
-   def mousePressEvent(self, event):
-      #print "dans mousePressEvent"
-      self.mousePressed=True
-      if not( event.button() != Qt.RightButton)  : 
-         event.accept()
-         return
-      QCheckBox.mousePressEvent(self, event)
-      event.accept()
-
-
-class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel):
-  """
-  """
+class  MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel):
   def __init__(self,parentQt):
      #print "dans init de monWidgetOptionnel ", parentQt, parentQt.node.item.nom
      QWidget.__init__(self,None)
      self.setupUi(self)
-     self.dicoCb={}
-     self.parentMC=None
-     self.listeChecked=[]
-     self.mousePressed=False
-     self.cbPressed=None
-     self.cb=None
+     self.dicoMCWidgetOptionnel={}
      self.parentQt=parentQt
-     #self.connect(self.bAjoutMC,SIGNAL("clicked()"), self.ajoutMC)
-     #self.parentQt.editor.splitterSizes[1]-=self.parentQt.editor.splitterSizes[2]
-     #print self.parentQt.editor.splitterSizes
+     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()
-     #print "fin init de monWidgetOptionnel ", parentQt, parentQt.node.item.nom
-    
-
-  def affiche(self,liste):
-     #print "dans Optionnel ____ affiche", liste
      self.show()
-     labeltext,fonte,couleur = self.parentMC.node.item.GetLabelText()
-     l=labeltext
+
+  def afficheOptionnel(self,liste,MC):
+     #print "dans Optionnel ____ affiche", liste 
+     self.vireLesAutres(MC)
+     if self.dicoMCWidgetOptionnel.has_key(MC.node.item.nom) :
+        self.dicoMCWidgetOptionnel[MC.node.item.nom].close()
+     groupe = MonGroupeOptionnel(liste,self,MC)
+     
+     #self.groupesOptionnelsLayout.insertLayout(-1,groupe)
+     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()
+      for k in self.dicoMCWidgetOptionnel.keys():
+          if k not in genea :  self.dicoMCWidgetOptionnel[k].close()
+          if k not in genea :  print k
+      print "________"
+      
+
+  def titre(self,MC):
+     labeltext,fonte,couleur = self.parentCommande.node.item.GetLabelText()
+     l=tr(labeltext)
      li=[]
      while len(l) > 25:
          li.append(l[0:24])
@@ -98,36 +79,3 @@ class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel):
      for l in li : texte+=l+"\n"
      texte=texte[0:-2]
      self.GeneaLabel.setText(tr("Options pour \n") +texte)
-
-     for cb in self.dicoCb.keys():
-         #print 'je detruis', self.dicoCb[cb], cb
-         #print cb.close()
-         cb.close()
-
-     self.dicoCb={}
-     liste.reverse()
-     for mot in liste :
-         cb = monButtonCustom(mot,self)
-         #print "j ajoute ", mot, cb
-         self.dicoCb[cb]=mot
-         self.commandesOptionnellesLayout.insertWidget(0,cb)
-     self.scrollAreaCommandesOptionnelles.horizontalScrollBar().setSliderPosition(0)
-     #print "Fin Optionnel ____ affiche", liste
-
-  def CBChecked(self):
-      # ordre ?
-      return
-      for cb in self.dicoCb.keys() :
-          if cb.isChecked()      and self.dicoCb[cb] not in self.listeChecked : self.listeChecked.append(self.dicoCb[cb])
-          if not(cb.isChecked()) and self.dicoCb[cb] in self.listeChecked     : self.listeChecked.remove(self.dicoCb[cb])
-      self.parentMC.recalculeListeMC(self.listeChecked)
-
-
-  def ajoutMC(self):
-     maListe=""
-     for cb in self.dicoCb.keys():
-         if cb.isChecked() : maListe+="+"+str(cb.text())
-     if maListe=="":return
-     #print "dans Optionnel __ ajout de ", maListe
-     self.parentMC.ajoutMC(maListe)
-
index 9efa2851871347fef867d7441c009dde046ff9ba..8566a09751d5cf5aa7f0a69f01212ab325618806 100755 (executable)
@@ -425,6 +425,9 @@ class Appli(Ui_Eficas,QMainWindow):
         self.connect(self.actionCode,SIGNAL("triggered()"),self.aideCode)
 
     def connecterSignaux(self) :
+
+        print QApplication.focusChanged
+        #QApplication.focusChanged.connect(self.focusChanged)
         self.recentMenu.aboutToShow.connect(self.handleShowRecentMenu)
         self.action_Nouveau.triggered.connect(self.fileNew)
         self.actionNouvel_Include.triggered.connect(self.NewInclude)
@@ -801,6 +804,10 @@ class Appli(Ui_Eficas,QMainWindow):
       res=self.fileExit()
       if res==2 : event.ignore()
 
+    def focusChanged(self,oldW, newW) :
+      print "jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"
+      print newW
+
 if __name__=='__main__':
 
     # Modules Eficas