Salome HOME
:: dans le label
[tools/eficas.git] / InterfaceQT4 / monWidgetMatrice.py
index c74491e8913053bce19f3355f5ef0a548932e998..f5711a25b1e3c8d72524269f14e7c5ec7e100f7d 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 # Modules Python
-import string,types,os
+from __future__ import absolute_import
+from __future__ import print_function
+try :
+   from builtins import str
+   from builtins import range
+except : pass
+
+import types,os,sys
 
 # Modules Eficas
-from PyQt4.QtGui     import *
-from PyQt4.QtCore    import *
 from Extensions.i18n import tr
-from feuille         import Feuille
+from .feuille         import Feuille
 
 
 from desWidgetMatrice  import Ui_desWidgetMatrice 
 
+from six.moves import range
+from PyQt5.QtCore import QSize
+
 
 class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille):
 # c est juste la taille des differents widgets de base qui change
@@ -46,10 +54,36 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille):
         else :
            try    : self.initialValeur()
            except : self.initialSsValeur()
+        if sys.platform[0:5]!="linux" : 
+          repIcon=self.node.editor.appliEficas.repIcon
+          fichier=os.path.join(repIcon, 'update.png')
+          icon = QIcon(fichier)
+          self.PBrefresh.setIcon(icon)
+          self.PBrefresh.setIconSize(QSize(32, 32))
 
 
-  def connecterSignaux(self) :
+
+  def connecterSignauxQT4(self) :
       self.connect(self.TBMatrice,SIGNAL("itemChanged(QTableWidgetItem *)"),self.itemChanged)
+      self.connect(self.PBrefresh,SIGNAL("clicked()"), self.afficheEntete)
+
+  def connecterSignaux(self) :
+      self.TBMatrice.itemChanged.connect(self.itemChanged)
+      self.PBrefresh.clicked.connect( self.afficheEntete)
+
+  def afficheEntete(self):
+      self.objSimp.changeEnteteMatrice()
+      self.TBMatrice.clear()
+      if self.node.item.get_valeur()== None:  self.initialSsValeur()
+      else :
+         try    : self.initialValeur()
+         except : self.initialSsValeur()
+      self.node.item.object.state='changed'
+      self.node.item.object.parent.state='changed'
+      self.setValide()
+      self.parentQt.setValide()
+      self.node.item.jdc.isvalid()
+
 
   def itemChanged(self):
       monItem=self.TBMatrice.currentItem()
@@ -72,7 +106,7 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille):
             monItem.setText("")
             return
       self.editor.affiche_infos("")
-      if self.monType.structure != None: apply (MonWidgetMatrice.__dict__[self.monType.structure],(self,))
+      if self.monType.structure != None: MonWidgetMatrice.__dict__[self.monType.structure](*(self,))
       self.acceptVal()
 
 
@@ -80,7 +114,7 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille):
       monItem=self.TBMatrice.currentItem()
       texte=monItem.text()
       if monItem.row() != monItem.column():
-         print monItem.row(), monItem.column()
+         print(monItem.row(), monItem.column())
          monItemSym=self.TBMatrice.item(monItem.column(), monItem.row())
          monItemSym.setText(texte)
 
@@ -88,7 +122,7 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille):
       if self.monType.methodeCalculTaille != None :
         #try:
          if 1 :
-           apply (MonWidgetMatrice.__dict__[self.monType.methodeCalculTaille],(self,))
+           MonWidgetMatrice.__dict__[self.monType.methodeCalculTaille](*(self,))
          else :
          #except :
            QMessageBox.critical( self, tr("Mauvaise execution "),tr( "impossible d executer la methode ") + monType.methodeCalculTaille )
@@ -142,11 +176,13 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille):
       if (len(liste)) != self.nbLigs +1  :
          QMessageBox.critical( self,tr( "Mauvaise dimension de matrice"),tr( "le nombre de ligne n est pas egal a ") + str(self.nbLigs))
          dejaAffiche=1
+         raise  EficasException('dimension')
       for i in range(self.nbLigs):
           inter=liste[i+1]
           if (len(inter)) != self.nbCols and (dejaAffiche == 0 ) :
              QMessageBox.critical( self, tr("Mauvaise dimension de matrice"), tr("le nombre de colonne n est pas egal a ") + str(self.nbCols))
              dejaAffiche=1
+             raise  EficasException('dimension')
           for j in range(self.nbCols):
               self.TBMatrice.setItem(i,j,QTableWidgetItem(str(liste[i+1][j])))
       header=QStringList()