X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonFonctionPanel.py;h=9236481856fa45ad827fd3ed6eeb8e951ac1acb9;hb=39b7b166eb606b80c9ac427811651b20db79bde2;hp=5c3558fbf424ce8f6527f144e1910c94ce95e1e5;hpb=cdd358f4041f957701ac10d86766a85baaef4f78;p=tools%2Feficas.git diff --git a/InterfaceQT4/monFonctionPanel.py b/InterfaceQT4/monFonctionPanel.py index 5c3558fb..92364818 100644 --- a/InterfaceQT4/monFonctionPanel.py +++ b/InterfaceQT4/monFonctionPanel.py @@ -1,41 +1,43 @@ # -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# Copyright (C) 2007-2013 EDF R&D # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. # +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# ====================================================================== # Modules Python import string,types,os +if monEnvQT5: + from PyQt5.QtCore import Qt +else : + from PyQt4.QtGui import * + from PyQt4.QtCore import * + # Modules Eficas from qtSaisie import SaisieValeur from monPlusieursBasePanel import MonPlusieursBasePanel -from PyQt4.QtGui import * -from PyQt4.QtCore import * +from Extensions.i18n import tr # Import des panels class MonFonctionPanel(MonPlusieursBasePanel): - """ - Classe définissant le panel associé aux mots-clés qui demandent - à l'utilisateur de choisir une seule valeur parmi une liste de valeurs - discrètes - """ +# Classe definissant le panel associe© aux mots-cles qui demandent +# a l'utilisateur de choisir une seule valeur parmi une liste de valeurs +# discretes def __init__(self,node, parent = None,name = None,fl = 0): #print "MonFonctionPanel" self.node=node @@ -52,29 +54,31 @@ class MonFonctionPanel(MonPlusieursBasePanel): except : pass genea=self.node.item.get_genealogie() - if "VALE" in genea: - self.nbValeurs=2 - if "VALE_C" in genea: - self.nbValeurs=3 + self.nbValeursASaisir=self.nbValeurs + if "VALE" in genea: self.nbValeurs=2 + if "VALE_C" in genea: self.nbValeurs=3 def DecoupeListeValeurs(self,liste): #decoupe la liste des valeurs en n ( les x puis les y) l_valeurs=[] - if (len(liste)% self.nbValeurs != 0): - message="La cardinalité n'est pas correcte, la dernière valeur est ignorée" - #self.Commentaire.setText(QString(commentaire)) + if ((len(liste)% self.nbValeursASaisir != 0 and (len(liste)% self.nbValeurs))): + message=tr("La cardinalite n'est pas correcte, la derniere valeur est ignoree") self.editor.affiche_infos(message,Qt.red) i=0 - while ( i < (len(liste) - self.nbValeurs + 1)) : - t=tuple(liste[i:i+self.nbValeurs]) + while ( i < len(liste) ) : + try : + t=tuple(liste[i:i+self.nbValeurs]) + i=i+self.nbValeurs + except: + t=tuple(liste[i:len(liste)]) l_valeurs.append(t) - i=i+self.nbValeurs return l_valeurs - def BuildLBValeurs(self): + def BuildLBValeurs(self,listeValeurs=None): self.LBValeurs.clear() - listeValeurs=self.node.item.GetListeValeurs() + if listeValeurs== None : + listeValeurs=self.node.item.GetListeValeurs() if self.node.item.wait_tuple()== 1 : listeATraiter=listeValeurs for valeur in listeATraiter: @@ -89,11 +93,11 @@ class MonFonctionPanel(MonPlusieursBasePanel): TupleEnTexte = TupleEnTexte[0:-2] +")" self.LBValeurs.addItem(TupleEnTexte) else : - self.LBValeurs.addItem(QString(str(valeur))) + self.LBValeurs.addItem(str(valeur)) - def Ajout1Valeur(self,liste=[]): - # Pour être appele a partir du Panel Importer (donc plusieurs fois par AjouterNValeur) + def ajout1Valeur(self,liste=[]): + # Pour etre appele a partir du Panel Importer (donc plusieurs fois par AjouterNValeur) validite=1 if liste == [] : if self.node.item.wait_tuple()== 1 : @@ -104,12 +108,12 @@ class MonFonctionPanel(MonPlusieursBasePanel): if validite == 0 : return if liste ==[] : return - if len(liste) != self.nbValeurs : - commentaire = QString(str(liste)) - commentaire += QString(" n est pas un tuple de ") - commentaire += QString(str(self.nbValeurs)) - commentaire += QString(" valeurs") - self.LEValeur.setText(QString(str(liste))) + if (self.node.item.wait_tuple()== 1 and len(liste) != self.nbValeurs): + commentaire = str(liste) + commentaire += tr(" n est pas un tuple de ") + commentaire += str(self.nbValeursASaisir) + commentaire += tr(" valeurs") + self.LEValeur.setText(str(liste)) self.editor.affiche_infos(commentaire,Qt.red) return @@ -133,11 +137,11 @@ class MonFonctionPanel(MonPlusieursBasePanel): validite,comm,comm2,listeRetour=self.politique.AjoutTuple(liste,index,listeVal) else : validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,index,listeVal) - self.Commentaire.setText(QString.fromUtf8(QString(comm2))) + self.Commentaire.setText(tr(comm2)) if not validite : self.editor.affiche_infos(comm,Qt.red) else: - self.LEValeur.setText(QString("")) + self.LEValeur.setText("") l1=self.listeValeursCourantes[:indexListe] l3=self.listeValeursCourantes[indexListe:] if self.node.item.wait_tuple()== 1 : @@ -158,9 +162,10 @@ class MonFonctionPanel(MonPlusieursBasePanel): self.LBValeurs.setCurrentItem(item) index=index+1 self.listeValeursCourantes=l1+listeRetour+l3 + self.BuildLBValeurs(self.listeValeursCourantes) - def AjoutNValeur(self,liste) : + def ajoutNValeur(self,liste) : if len(liste)%self.nbValeurs != 0 : texte="Nombre de valeur incorrecte" #self.Commentaire.setText(texte) @@ -168,7 +173,7 @@ class MonFonctionPanel(MonPlusieursBasePanel): return listeDecoupee=self.DecoupeListeValeurs(liste) for vals in listeDecoupee : - self.Ajout1Valeur(vals) + self.ajout1Valeur(vals) def Sup1Valeur(self): index=self.LBValeurs.currentRow()