X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FqtSaisie.py;h=82390b6fb2917013b112fcf37faee789ae3cea7a;hb=96176d0080e0d4efbd29d98c0df700a64a82acdc;hp=1b7c24237ec68c61ac468568387ec0ce70522f55;hpb=df0e1a1f57e70d3d99dd7fb381845500c3d3c6dd;p=tools%2Feficas.git diff --git a/InterfaceQT4/qtSaisie.py b/InterfaceQT4/qtSaisie.py index 1b7c2423..82390b6f 100644 --- a/InterfaceQT4/qtSaisie.py +++ b/InterfaceQT4/qtSaisie.py @@ -18,18 +18,23 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # # Modules Python -import string,types,os -from PyQt4 import * -from PyQt4.QtGui import * -from PyQt4.QtCore import * +from __future__ import absolute_import +try : + from builtins import str + from builtins import range +except : pass + +import types,os from Extensions.i18n import tr +from PyQt5.QtCore import Qt + # Import des panels -class SaisieValeur: +class SaisieValeur(object): """ - Classe contenant les méthodes communes aux panels + Classe contenant les methodes communes aux panels permettant de choisir des valeurs """ def __init__(self): @@ -40,15 +45,25 @@ class SaisieValeur: if valeur == None : nouvelleValeur=str(self.lineEditVal.text()) else : - if hasattr(self,"lineEditVal"):self.lineEditVal.setText(QString(valeur.nom)) + #PN PN PN ???? la 1 ligne est tres bizarre. + try : + if hasattr(self,"lineEditVal"):self.lineEditVal.setText(tr(valeur.nom)) + except : + if hasattr(self,"lineEditVal"):self.lineEditVal.setText(valeur) nouvelleValeur=valeur - validite,commentaire=self.politique.RecordValeur(nouvelleValeur) + if self.node.item.definition.validators != None : + if self.node.item.definition.validators.verif_item(nouvelleValeur) !=1 : + commentaire=self.node.item.definition.validators.info_erreur_item() + self.editor.affiche_infos(commentaire,Qt.red) + return + nouvelleValeurFormat=self.politique.GetValeurTexte(nouvelleValeur) + validite,commentaire=self.politique.RecordValeur(nouvelleValeurFormat) if commentaire != "" : #PNPNPNP Il faut trouver une solution pour les 2 cas # self.editor.affiche_infos(commentaire) - #self.Commentaire.setText(QString(commentaire)) + #self.Commentaire.setText(tr(commentaire)) if validite : - self.editor.affiche_infos(commentaire) + self.editor.affiche_commentaire(commentaire) else : self.editor.affiche_infos(commentaire,Qt.red) self.setValide() @@ -82,7 +97,7 @@ class SaisieValeur: except : valeur=valeurBrute - if type(valeur) in (types.ListType,types.TupleType) : + if type(valeur) in (list,tuple) : if self.node.item.wait_complex() : indice = 0 while (indice < len(valeur)): @@ -106,11 +121,38 @@ class SaisieValeur: else: # on n'attend pas un complexe listeValeurs=valeurBrute.split(',') - elif type(valeur) == types.StringType: + elif type(valeur) == bytes: listeValeurs=valeur.split(',') else: - listeValeurs.append(valeurBrute) + #listeValeurs.append(valeurBrute) + listeValeurs.append(valeur) return listeValeurs,1 - +class SaisieSDCO(object) : + + def LESDCOReturnPressed(self): + """ + Lit le nom donne par l'utilisateur au concept de type CO qui doit être + la valeur du MCS courant et stocke cette valeur + """ + self.editor.init_modif() + anc_val = self.node.item.get_valeur() + if anc_val != None: + # il faut egalement propager la destruction de l'ancien concept + self.node.item.delete_valeur_co(valeur=anc_val) + # et on force le recalcul des concepts de sortie de l'etape + self.node.item.object.etape.get_type_produit(force=1) + # et le recalcul du contexte + self.node.item.object.etape.parent.reset_context() + nomConcept = str(self.LESDCO.text()) + if nomConcept == "" : return + + test,commentaire=self.node.item.set_valeur_co(nomConcept) + if test: + commentaire=tr("Valeur du mot-clef enregistree") + self.node.update_node_valid() + else : + cr = self.node.item.get_cr() + commentaire = tr("Valeur du mot-clef non autorisee :")+cr.get_mess_fatal() +