Salome HOME
CCAR: modifications pour :
[tools/eficas.git] / Extensions / commande_comm.py
index ae97d9512b7ea193ae867756d4d576b3acd0fbeb..317bb6a3f8e701211d4c5a49ca39c76d876640a7 100644 (file)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -21,8 +22,10 @@ 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
 
-class COMMANDE_COMM:
+class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) :
     """
     Cette classe sert à définir les objets de type Commande commentarisée
     """
@@ -156,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
 
@@ -163,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)
@@ -187,13 +193,23 @@ class COMMANDE_COMM:
             #self.jdc.set_context()
             print 'erreurs fatales !!!'
             raise AsException("Erreurs fatales",string.join(J.cr.crfatal))
+        if not J.etapes :
+            # des erreurs ont été rencontrées
+            raise AsException("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)
+        self.parent.addentite(new_etape,pos)
+        self.parent.suppentite(self)
+        return new_etape,nom_sd
 
     def active(self):
         """
@@ -218,8 +234,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 [],[]