X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonFonctionPanel.py;h=599b81db602cbd1ba241f7c4ff38420d41514846;hb=e570dff249a11579eb7d33de376ed71be16d7261;hp=c35b457af40634abbf04a17839e003e0c2023743;hpb=61f2a263b67981f299c496ce7ef8bccc3ac6e68b;p=tools%2Feficas.git diff --git a/InterfaceQT4/monFonctionPanel.py b/InterfaceQT4/monFonctionPanel.py index c35b457a..599b81db 100644 --- a/InterfaceQT4/monFonctionPanel.py +++ b/InterfaceQT4/monFonctionPanel.py @@ -1,23 +1,22 @@ # -*- 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 @@ -27,15 +26,14 @@ 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 +50,32 @@ 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" + 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.Commentaire.setText(QString(commentaire)) 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: @@ -87,14 +88,13 @@ class MonFonctionPanel(MonPlusieursBasePanel): for val in valeur : TupleEnTexte = TupleEnTexte + str(self.politique.GetValeurTexte(val)) +", " TupleEnTexte = TupleEnTexte[0:-2] +")" - print TupleEnTexte self.LBValeurs.addItem(TupleEnTexte) else : self.LBValeurs.addItem(QString(str(valeur))) def Ajout1Valeur(self,liste=[]): - # Pour être appele a partir du Panel Importer (donc plusieurs fois par AjouterNValeur) + # Pour etre appele a partir du Panel Importer (donc plusieurs fois par AjouterNValeur) validite=1 if liste == [] : if self.node.item.wait_tuple()== 1 : @@ -105,11 +105,11 @@ class MonFonctionPanel(MonPlusieursBasePanel): if validite == 0 : return if liste ==[] : return - if len(liste) != self.nbValeurs : + if (self.node.item.wait_tuple()== 1 and len(liste) != self.nbValeurs): commentaire = QString(str(liste)) - commentaire += QString(" n est pas un tuple de ") - commentaire += QString(str(self.nbValeurs)) - commentaire += QString(" valeurs") + commentaire += QString(tr(" n est pas un tuple de ")) + commentaire += QString(str(self.nbValeursASaisir)) + commentaire += QString(tr(" valeurs")) self.LEValeur.setText(QString(str(liste))) self.editor.affiche_infos(commentaire,Qt.red) return @@ -159,6 +159,7 @@ class MonFonctionPanel(MonPlusieursBasePanel): self.LBValeurs.setCurrentItem(item) index=index+1 self.listeValeursCourantes=l1+listeRetour+l3 + self.BuildLBValeurs(self.listeValeursCourantes) def AjoutNValeur(self,liste) : @@ -174,7 +175,9 @@ class MonFonctionPanel(MonPlusieursBasePanel): def Sup1Valeur(self): index=self.LBValeurs.currentRow() if index == None : return - self.LBValeurs.takeItem(index) + removed_item = self.LBValeurs.takeItem(index) + text = removed_item.text()[1:-1] # Remove the parenthesis + self.LEValeur.setText(text) listeVal=[] indexInterdit=[] for i in range(self.nbValeurs):