]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
CCAR: adaptation Eficas a modification dans Noyau (ajout dictionnaire index_etapes)
authorChristian Caremoli <>
Fri, 30 Nov 2007 13:45:36 +0000 (13:45 +0000)
committerChristian Caremoli <>
Fri, 30 Nov 2007 13:45:36 +0000 (13:45 +0000)
Aster/Cata/cataSTA9/cata.py
Ihm/I_JDC.py
InterfaceTK/jdcdisplay.py

index f180435cba4d2d68324ddf1c291f7ae7689e2130..bbac13de70bbeafa4cc27016f37602325d676d84 100644 (file)
@@ -18,8 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 
-__version__ = "$Name:  $"
-__Id__ = "$Id: cata_aster_v6.py,v 1.12 2001/01/16 15:55:05 iliade Exp $"
+__version__ = "$Name: BR_dev_V1_13 $"
+__Id__ = "$Id: cata.py,v 1.2.6.3 2007-11-15 12:46:21 pnoyret Exp $"
 
 import Accas
 from Accas import *
@@ -18802,14 +18802,14 @@ MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro
 from Macro.macro_matr_asse_ops import macro_matr_asse_ops
 
 def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args):
-  if not MATR_ASSE:  raise AsException("Impossible de typer les concepts resultats")
-  if not NUME_DDL :  raise AsException("Impossible de typer les concepts resultats")
   if isinstance(NUME_DDL,CO) :
     self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
   else:
     self.type_sdprod(NUME_DDL,NUME_DDL.__class__)
+
   for m in MATR_ASSE:
     opti=m['OPTION']
+    if opti==None:t=matr_asse
 
     if opti in ( "RIGI_MECA","RIGI_FLUI_STRU","RIGI_MECA_LAGR" ,
        "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA",
@@ -18824,6 +18824,9 @@ def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args):
     if opti == "RIGI_MECA_HYST"   : t= matr_asse_depl_c
 
     self.type_sdprod(m['MATRICE'],t)
+
+  if not MATR_ASSE:  raise AsException("Impossible de typer les concepts resultats")
+  if not NUME_DDL :  raise AsException("Impossible de typer les concepts resultats")
   return None
 
 MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops,
index 11379dd87de61cf53dd79e79df21becee445233d..70b26efd4644ef14101b29355bc6c79b7fce7101 100644 (file)
@@ -140,6 +140,7 @@ class JDC(I_OBJECT.OBJECT):
         objet.nom = "_comm_"+`ind`
         if pos == None : pos = 0
         self.etapes.insert(pos,objet)
+        self.reset_context()
         self.editmode=0
         self.active_etapes()
         CONNECTOR.Emit(self,"add",objet)
@@ -152,8 +153,8 @@ class JDC(I_OBJECT.OBJECT):
         objet = parametre.PARAMETRE(nom=nom_param)
         if pos == None : pos = 0
         self.etapes.insert(pos,objet)
-        self.editmode=0
         self.reset_context()
+        self.editmode=0
         self.active_etapes()
         CONNECTOR.Emit(self,"add",objet)
         self.fin_modif()
@@ -165,8 +166,8 @@ class JDC(I_OBJECT.OBJECT):
         objet = parametre_eval.PARAMETRE_EVAL(nom=nom_param)
         if pos == None : pos = 0
         self.etapes.insert(pos,objet)
-        self.editmode=0
         self.reset_context()
+        self.editmode=0
         self.active_etapes()
         CONNECTOR.Emit(self,"add",objet)
         self.fin_modif()
@@ -189,13 +190,13 @@ class JDC(I_OBJECT.OBJECT):
             objet.parent.dict_niveaux[objet.nom_niveau_definition].register(objet)
             objet.niveau = objet.parent.dict_niveaux[objet.nom_niveau_definition]
         self.etapes.insert(pos,objet)
+        self.reset_context()
         # il faut vérifier que les concepts utilisés par objet existent bien
         # à ce niveau d'arborescence
         objet.verif_existence_sd()
         objet.update_mc_global()
-        self.active_etapes()
         self.editmode=0
-        self.reset_context()
+        self.active_etapes()
         CONNECTOR.Emit(self,"add",objet)
         self.fin_modif()
         return objet
@@ -211,8 +212,8 @@ class JDC(I_OBJECT.OBJECT):
           if pos == None : pos = 0
           self.etapes.insert(pos,e)
           self.reset_current_step()
-          self.editmode=0
           self.reset_context()
+          self.editmode=0
           self.active_etapes()
           CONNECTOR.Emit(self,"add",e)
           self.fin_modif()
@@ -568,6 +569,11 @@ class JDC(I_OBJECT.OBJECT):
       #print "reset_context",self,self.nom
       self.current_context={}
       self.index_etape_courante=0
+      ind={}
+      for i,etape in enumerate(self.etapes):
+        ind[etape]=i
+      self.index_etapes=ind
+
    #   for etape in self.etapes:
    #       etape.reset_context()
 
@@ -752,6 +758,7 @@ class JDC(I_OBJECT.OBJECT):
       """
       if not self.editmode:
          self.etapes.append(etape)
+         self.index_etapes[etape] = len(self.etapes) - 1
       else:
          pass
       return self.g_register(etape)
index c5a3eebaa27affc47f08d9ab54126a104c3500fd..fd0ac827ef073daecf823a48479d5e7d131dce18 100644 (file)
@@ -242,7 +242,7 @@ class JDCDISPLAY:
       try:
          child=self.appli.noeud_a_editer.doPaste(self.node_selected)
       except:
-         traceback.print_exc()
+         #traceback.print_exc()
          showinfo("Action de coller impossible",
                   "L'action de coller apres un tel objet n'est pas permise")
          return