From 1f51f1443b5f7e524d8fa3acda3872a36e2fa09c Mon Sep 17 00:00:00 2001 From: Christian Caremoli <> Date: Fri, 30 Nov 2007 13:45:36 +0000 Subject: [PATCH] CCAR: adaptation Eficas a modification dans Noyau (ajout dictionnaire index_etapes) --- Aster/Cata/cataSTA9/cata.py | 11 +++++++---- Ihm/I_JDC.py | 17 ++++++++++++----- InterfaceTK/jdcdisplay.py | 2 +- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Aster/Cata/cataSTA9/cata.py b/Aster/Cata/cataSTA9/cata.py index f180435c..bbac13de 100644 --- a/Aster/Cata/cataSTA9/cata.py +++ b/Aster/Cata/cataSTA9/cata.py @@ -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, diff --git a/Ihm/I_JDC.py b/Ihm/I_JDC.py index 11379dd8..70b26efd 100644 --- a/Ihm/I_JDC.py +++ b/Ihm/I_JDC.py @@ -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) diff --git a/InterfaceTK/jdcdisplay.py b/InterfaceTK/jdcdisplay.py index c5a3eeba..fd0ac827 100644 --- a/InterfaceTK/jdcdisplay.py +++ b/InterfaceTK/jdcdisplay.py @@ -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 -- 2.39.2