]> SALOME platform Git repositories - tools/eficas.git/blobdiff - Extensions/commande_comm.py
Salome HOME
gestion des listes et label sur 2
[tools/eficas.git] / Extensions / commande_comm.py
index 7e6227206d6ba8edbe6daefd85d4ee2156617f87..6a7e050bc9e699239c5627f275aa42ff0ae74682 100644 (file)
@@ -1,16 +1,31 @@
-#@ MODIF commande_comm Accas  DATE 02/07/2001   AUTEUR D6BHHJP J.P.LEFEBVRE 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
-#              SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND
-#              REDISTRIBUTION OF THIS FILE.
-# ======================================================================
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013   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
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# 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
+#
 import os,traceback,string
 
 from Noyau.N_CR import CR
 from Noyau.N_Exception import AsException
+from Noyau import N_OBJECT
+from Ihm import I_OBJECT
+from Extensions.i18n import tr
 
-class COMMANDE_COMM:
+class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) :
     """
     Cette classe sert à définir les objets de type Commande commentarisée
     """
@@ -31,6 +46,7 @@ class COMMANDE_COMM:
         self.nom = ''
         self.niveau = self.parent.niveau
         self.actif=1
+        self.state="unchanged"
         #self.appel = N_utils.callee_where(niveau=2)
         if reg=='oui' : self.register()
             
@@ -42,7 +58,7 @@ class COMMANDE_COMM:
         Génère l'objet rapport (classe CR)
         """
         self.cr=CR()
-        if not self.isvalid(): self.cr.warn("Objet commande commentarisé invalide")
+        if not self.isvalid(): self.cr.warn(tr("Objet commande commentarisé invalide"))
         return self.cr
 
     def copy(self):
@@ -109,7 +125,7 @@ class COMMANDE_COMM:
         Retourne l'attribut fr de self.definition
         """
         try :
-          return getattr(self.definition,'fr')
+          return getattr(self.definition,self.jdc.lang)
         except:
           return ''
 
@@ -143,6 +159,9 @@ class COMMANDE_COMM:
     def delete_concept(self,sd):
         pass
 
+    def replace_concept (self,old_sd,sd):
+        pass
+
     def get_sdprods(self,nom_sd):
         return None
 
@@ -150,8 +169,8 @@ class COMMANDE_COMM:
         """
         Cette méthode a pour but de décommentariser l'objet courant,
         cad de retourner un tuple contenant :
-        - l'objet CMD associé
-        - le nom de la sdprod éventuellement produite (sinon None)
+          - l'objet CMD associé
+          - le nom de la sdprod éventuellement produite (sinon None)
         """
         # on récupère le contexte avant la commande commentarisée
         context_ini = self.jdc.get_contexte_avant(self)
@@ -168,19 +187,30 @@ class COMMANDE_COMM:
         except Exception,e:
             traceback.print_exc()
             #self.jdc.set_context()
-            raise AsException("Erreur",str(e))
+            raise AsException(tr("Erreur"),e.__str__())
         if len(J.cr.crfatal)>0 :
             # des erreurs fatales ont été rencontrées
             #self.jdc.set_context()
             print 'erreurs fatales !!!'
-            raise AsException("Erreurs fatales",string.join(J.cr.crfatal))
+            raise AsException(tr("Erreurs fatales"),string.join(J.cr.crfatal))
+        if not J.etapes :
+            # des erreurs ont été rencontrées
+            raise AsException(tr("Impossible reconstruire commande\n"),str(J.cr))
         #self.jdc.set_context()
+
         new_etape = J.etapes[0]
         if new_etape.sd :
             nom_sd = new_etape.sd.nom
         else:
             nom_sd = None
-        return (new_etape.copy(),nom_sd)
+        #new_etape=new_etape.copy()
+        #print "uncomment",new_etape.sd
+
+        pos=self.parent.etapes.index(self)
+        # L'ordre d'appel est important : suppentite fait le menage des concepts dans les etapes suivantes
+        self.parent.addentite(new_etape,pos)
+        self.parent.suppentite(self)
+        return new_etape,nom_sd
 
     def active(self):
         """
@@ -205,8 +235,8 @@ class COMMANDE_COMM:
           Evalue les conditions de tous les blocs fils possibles
           (en fonction du catalogue donc de la définition) de self et
           retourne deux listes :
-          - la première contient les noms des blocs à rajouter
-          - la seconde contient les noms des blocs à supprimer
+            - la première contient les noms des blocs à rajouter
+            - la seconde contient les noms des blocs à supprimer
       """
       return [],[]
 
@@ -228,8 +258,18 @@ class COMMANDE_COMM:
     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
-        --> sans objet pour les commandes commentarisées
+         avant étape, sinon enlève la référence à ces concepts
+         --> sans objet pour les commandes commentarisées
       """
       pass
-       
+        
+    def control_sdprods(self,d):
+      """sans objet pour les commandes commentarisées"""
+      pass
+
+    def close(self):
+      pass
+
+    def reset_context(self):
+      pass
+