X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Ihm%2FI_MCLIST.py;h=4765d8fcb265e7441565141af580d5264d9dbd3d;hb=5ecef0dc64055f54a1f864b979e58cc05f1c9f4a;hp=48345ebcd69e68a51e7f025533c253cc76a6acc2;hpb=ddcd559fb6c778fa4400f545a896da2dbaa92767;p=tools%2Feficas.git diff --git a/Ihm/I_MCLIST.py b/Ihm/I_MCLIST.py index 48345ebc..4765d8fc 100644 --- a/Ihm/I_MCLIST.py +++ b/Ihm/I_MCLIST.py @@ -1,31 +1,33 @@ # -*- 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 +# +from __future__ import absolute_import import types,traceback +from Extensions.i18n import tr +from Extensions.eficas_exception import EficasException from copy import copy -import CONNECTOR +from . import CONNECTOR class MCList: def isMCList(self): """ - Retourne 1 si self est une MCList (liste de mots-clés), 0 sinon (défaut) + Retourne 1 si self est une MCList (liste de mots-cles), 0 sinon (defaut) """ return 1 @@ -37,11 +39,11 @@ class MCList: def ajout_possible(self): """ - Méthode booléenne qui retourne 1 si on peut encore ajouter une occurrence - de l'élément que contient self, 0 sinon + Methode booleenne qui retourne 1 si on peut encore ajouter une occurrence + de l'element que contient self, 0 sinon """ max = self.data[0].definition.max - if max == '**': + if max == '**' or max == float('inf'): return 1 else: if len(self) < max : @@ -51,8 +53,8 @@ class MCList: def isrepetable(self): """ - Indique si l'objet est répétable. - Retourne 1 si le mot-clé facteur self peut être répété + Indique si l'objet est repetable. + Retourne 1 si le mot-cle facteur self peut etre repete Retourne 0 dans le cas contraire """ if self.data[0].definition.max > 1: @@ -63,7 +65,7 @@ class MCList: def isoblig(self): """ - Une MCList n'est jamais obligatoire (même si le MCFACT qu'elle représente l'est + Une MCList n'est jamais obligatoire (meme si le MCFACT qu'elle represente l'est """ return self.data[0].definition.statut=='o' @@ -79,6 +81,7 @@ class MCList: CONNECTOR.Emit(self,"supp",obj) self.update_condition_bloc() obj.supprime() + self.etape.modified() self.fin_modif() return 1 @@ -87,12 +90,13 @@ class MCList: Ajoute le mot cle facteur obj a la MCLIST a la position pos Retourne None si l'ajout est impossible """ - if type(obj)==types.StringType : - # on est en mode création d'un motcle - raise "traitement non prevu" + if type(obj)==bytes : + # on est en mode creation d'un motcle + raise EficasException(tr("traitement non-prevu")) if not self.ajout_possible(): - self.jdc.send_message("L'objet %s ne peut pas être ajouté" % obj.nom) + self.jdc.appli.affiche_alerte(tr("Erreur"), + tr("L'objet %s ne peut pas etre ajoute", obj.nom)) return None if self.nom != obj.nom: @@ -126,7 +130,7 @@ class MCList: """ Inputs : - sd=concept detruit - Fonction : Mettre a jour les fils de l objet suite à la disparition + Fonction : Mettre a jour les fils de l objet suite a la disparition du concept sd Seuls les mots cles simples MCSIMP font un traitement autre que de transmettre aux fils @@ -137,7 +141,7 @@ class MCList: def replace_concept(self,old_sd,sd): """ Inputs : - - old_sd=concept remplacé + - old_sd=concept remplace - sd=nouveau concept Fonction : Mettre a jour les fils de l objet suite au remplacement du concept old_sd @@ -150,7 +154,7 @@ class MCList: def get_liste_mc_inconnus(self): """ - Retourne la liste des mots-clés inconnus dans self + Retourne la liste des mots-cles inconnus dans self """ l_mc = [] for mcfact in self.data : @@ -164,10 +168,10 @@ class MCList: def verif_condition_regles(self,liste_presents): """ - Retourne la liste des mots-clés à rajouter pour satisfaire les règles - en fonction de la liste des mots-clés présents + Retourne la liste des mots-cles a rajouter pour satisfaire les regles + en fonction de la liste des mots-cles presents """ - # Sans objet pour une liste de mots clés facteurs + # Sans objet pour une liste de mots cles facteurs return [] def deep_update_condition_bloc(self): @@ -189,17 +193,17 @@ class MCList: def verif_condition_bloc(self): """ Evalue les conditions de tous les blocs fils possibles - (en fonction du catalogue donc de la définition) de self et + (en fonction du catalogue donc de la definition) de self et retourne deux listes : - - la première contient les noms des blocs à rajouter - - la seconde contient les noms des blocs à supprimer + - la premiere contient les noms des blocs a rajouter + - la seconde contient les noms des blocs a supprimer """ - # Sans objet pour une liste de mots clés facteurs (a voir !!!) + # Sans objet pour une liste de mots cles facteurs (a voir !!!) return [],[] def init_modif(self): """ - Met l'état de l'objet à modified et propage au parent + Met l'etat de l'objet a modified et propage au parent qui vaut None s'il n'existe pas """ self.state = 'modified' @@ -208,18 +212,24 @@ class MCList: def fin_modif(self): """ - Méthode appelée après qu'une modification a été faite afin de déclencher - d'éventuels traitements post-modification + Methode appelee apres qu'une modification a ete faite afin de declencher + d'eventuels traitements post-modification """ #print "fin_modif",self CONNECTOR.Emit(self,"valid") if self.parent: self.parent.fin_modif() + def get_genealogie_precise(self): + if self.parent: + return self.parent.get_genealogie_precise() + else: + return [] + def get_genealogie(self): """ Retourne la liste des noms des ascendants. - Un objet MCList n'est pas enregistré dans la genealogie. + Un objet MCList n'est pas enregistre dans la genealogie. XXX Meme si le MCFACT fils ne l'est pas lui non plus ???? """ if self.parent: @@ -229,8 +239,8 @@ class MCList: def get_liste_mc_ordonnee_brute(self,liste,dico): """ - Retourne la liste ordonnée (suivant le catalogue) BRUTE des mots-clés - d'une entité composée dont le chemin complet est donné sous forme + Retourne la liste ordonnee (suivant le catalogue) BRUTE des mots-cles + d'une entite composee dont le chemin complet est donne sous forme d'une liste du type :ETAPE + MCFACT ou MCBLOC + ... """ for arg in liste: @@ -240,8 +250,8 @@ class MCList: def verif_existence_sd(self): """ - Vérifie que les structures de données utilisées dans self existent bien dans le contexte - avant étape, sinon enlève la référence à ces concepts + Verifie que les structures de donnees utilisees dans self existent bien dans le contexte + avant etape, sinon enleve la reference a ces concepts """ for motcle in self.data : motcle.verif_existence_sd() @@ -258,13 +268,13 @@ class MCList: def normalize(self): """ - Retourne l'objet normalisé. Une liste est déjà normalisée + Retourne l'objet normalise. Une liste est deja normalisee """ return self def update_mc_global(self): """ - Met a jour les mots cles globaux enregistrés dans l'étape parente + Met a jour les mots cles globaux enregistres dans l'etape parente et dans le jdc parent. Une liste ne peut pas etre globale. Elle se contente de passer la requete a ses fils.