X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonWidgetMatrice.py;h=0acfb20951765fdc59b242ff31f829e23eb15401;hb=5a28801efd8fd7e6487d1957dabac40b1f932cb4;hp=c74491e8913053bce19f3355f5ef0a548932e998;hpb=b6f3d448f830ec2f8623943bdae845f5c98358fa;p=tools%2Feficas.git diff --git a/InterfaceQT4/monWidgetMatrice.py b/InterfaceQT4/monWidgetMatrice.py index c74491e8..0acfb209 100644 --- a/InterfaceQT4/monWidgetMatrice.py +++ b/InterfaceQT4/monWidgetMatrice.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D +# Copyright (C) 2007-2017 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -18,17 +18,27 @@ # 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, Qt +from PyQt5.QtWidgets import QTableWidgetItem +from PyQt5.QtGui import QIcon + class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): # c est juste la taille des differents widgets de base qui change @@ -42,37 +52,69 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): self.nomVariables={} self.creeColonnes() self.connecterSignaux() - if self.node.item.get_valeur()== None: self.initialSsValeur() + if self.node.item.getValeur()== None: self.initialSsValeur() 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.getValeur()== 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() if monItem==None : return texte=monItem.text() if texte=="" : return - val,ok=texte.toDouble() + #try : + if 1 : + val=float(str(texte)) + ok=True + #except : + else : + ok=False if ok == False : - self.editor.affiche_infos(tr("Entrer un float SVP"),Qt.red) + self.editor.afficheInfos(tr("Entrer un float SVP"),Qt.red) monItem.setText("") return if self.monType.valSup != None : if val > self.monType.valSup : - self.editor.affiche_infos(tr("Entrer un float inferieur a ") + repr(self.monType.valSup),Qt.red) + self.editor.afficheInfos(tr("Entrer un float inferieur a ") + repr(self.monType.valSup),Qt.red) monItem.setText("") return if self.monType.valMin != None : if val < self.monType.valMin : - self.editor.affiche_infos(tr("Entrer un float superieur a ") + repr(self.monType.valMin),Qt.red) + self.editor.afficheInfos(tr("Entrer un float superieur a ") + repr(self.monType.valMin),Qt.red) monItem.setText("") return - self.editor.affiche_infos("") - if self.monType.structure != None: apply (MonWidgetMatrice.__dict__[self.monType.structure],(self,)) + self.editor.afficheInfos("") + if self.monType.structure != None: MonWidgetMatrice.__dict__[self.monType.structure](*(self,)) self.acceptVal() @@ -80,7 +122,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 +130,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 ) @@ -98,10 +140,10 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): self.nbCols=self.monType.nbCols - def NbDeVariables(self): + def nbDeVariables(self): jdc=self.node.item.object.jdc etape=self.node.item.object.etape - self.listeVariables=jdc.get_variables(etape) + self.listeVariables=jdc.getVariables(etape) if self.listeVariables == [] : QMessageBox.critical( self, tr("Mauvaise Commande "),tr( "Aucune variable connue")) return @@ -110,10 +152,10 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): self.nbLigs=len(self.listeVariables) self.nbCols=len(self.listeVariables) - def NbDeDistributions(self): + def nNbDeDistributions(self): jdc=self.node.item.object.jdc etape=self.node.item.object.etape - self.listeVariables=jdc.get_distributions(etape) + self.listeVariables=jdc.getDistributions(etape) if self.listeVariables == [] : QMessageBox.critical( self, tr("Mauvaise Commande "),tr( "Aucune variable connue")) return @@ -130,23 +172,27 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): else : initialFloat=0 self.TBMatrice.setItem(row,column,QTableWidgetItem(str(initialFloat))) - header=QStringList() + #header=QStringList() + header=[] for var in self.listeVariables : - header << var +# header << var + header.append(var) self.TBMatrice.setVerticalHeaderLabels(header) self.TBMatrice.setHorizontalHeaderLabels(header) def initialValeur(self): - liste=self.node.item.get_valeur() + liste=self.node.item.getValeur() dejaAffiche=0 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() @@ -167,10 +213,15 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): for j in range(self.nbCols): monItem=self.TBMatrice.item(i,j) texte=monItem.text() - val,ok=texte.toDouble() + try : + val=float(str(texte)) + ok=True + except : + ok=False + #val,ok=texte.toDouble() if ok == False : QMessageBox.critical( self, tr("Mauvaise Valeur"),tr( "l element ") + str(i) + "," +str(j) +tr("n est pas correct")) listeCol.append(val) liste.append(listeCol) # on ajoute l ordre des variables aux valeurs - self.node.item.set_valeur(liste) + self.node.item.setValeur(liste)