ou leve une exception
--> utilisee par ops.POURSUITE et INCLUDE
"""
- print ("get_contexte_jdc",self,self.nom)
+ #print ("get_contexte_jdc",self,self.nom)
# On recupere l'etape courante
step=CONTEXT.get_current_step()
try:
if callable(v):continue
self.g_context[k]=param2.Variable(k,v)
- print ('kljkljkljlkjklj')
# On recupere le contexte courant
self.current_context=j.current_context
self.index_etape_courante=j.index_etape_courante
CONTEXT.unset_current_step()
CONTEXT.set_current_step(step)
- print ('kljkljkljlkjklj')
return j_context
def reevalue_sd_jdc(self):
Si la macro a elle meme des etapes, elle doit propager
le traitement (voir methode control_jdc_context_apres de I_JDC)
"""
- #print "I_MACRO_ETAPE.control_sdprods",d.keys(),self.nom,self.sd and self.sd.nom
+ #print ("I_MACRO_ETAPE.control_sdprods",d.keys(),self,self.nom,self.sd and self.sd.nom)
if self.sd:
if self.sd.nom in d:
# Le concept est deja defini
# une poursuite a sa propre table d'unites
self.recorded_units={}
self.build_jdcaux(fichier,text)
-
def build_includeInclude(self,text):
self.build_jdcauxInclude(text)
+
+ def build_includeEtape(self,text):
+ import Extensions.jdc_include
+ self.JdC_aux=Extensions.jdc_include.JdC_include
+ # un include partage la table des unites avec son parent (jdc)
+ #self.build_jdcauxInclude(text)
+ # Attention fonctionne pour import_Zone de MT
+ # a adapter eventuellement
+ try :
+ contexte = self.get_contexte_jdc(None,text)
+ except EficasException: pass
+
+ for e in self.etapes:
+ e.niveau=self.niveau
+ e.parent=self.parent
+
+ index=self.jdc.etapes.index(self)
+ self.jdc.etapes=self.jdc.etapes[:index+1]+self.etapes+self.jdc.etapes[index+1:]
+
+ self.g_context={}
+ self.etapes=[]
+ self.jdc.reset_context()
+ self.jdc_aux=None
+ CONTEXT.unset_current_step()
+
+
def build_jdcauxInclude(self,text):
try :
Une MACRO_ETAPE peut ajouter plusieurs concepts dans le contexte
Une fonction enregistree dans op_init peut egalement modifier le contexte
"""
- #print "update_context",self,self.nom,d.keys()
+ print ("update_context",self,self.nom,d.keys())
if hasattr(self,"jdc_aux") and self.jdc_aux:
#ATTENTION: update_context NE DOIT PAS appeler reset_context
# car il appelle directement ou indirectement update_context
if type(self.definition.op_init) == types.FunctionType:
self.definition.op_init(*(self,d))
- if self.sd != None:d[self.sd.nom]=self.sd
+ if self.sd != None :d[self.sd.nom]=self.sd
for co in self.sdprods:
d[co.nom]=co
#print "update_context.fin",d.keys()
jdcText = ''
return ulfile, jdcText
- #-------------------------------#
+ #-----------------------------------#
def updateJdc(self, itemApres,texte):
- #--------------------------------#
- # ajoute un morceau de JdC a partir d un tecte
+ #------------------------------------#
+ # ajoute une etape de JdC a partir d un texte
monItem=itemApres
etape=monItem.item.object
-
CONTEXT.set_current_step(etape)
etape.build_includeInclude(texte)
self.tree.racine.build_children()
+ #-----------------------------------#
+ def updateJdcEtape(self, itemApres,texte):
+ #------------------------------------#
+ # ajoute une etape de JdC a partir d un texte
+ monItem=itemApres
+ etape=monItem.item.object
+ CONTEXT.set_current_step(etape)
+ etape.build_includeEtape(texte)
+ self.tree.racine.build_children()
+
+
#-------------------------------------#
def deleteEtape(self,etape):
#-------------------------------------#
def view_zone(listeparam) :
item=listeparam[0]
- import visu_geom
+ from mt.visu import visu_geom
visu_zone = visu_geom.VisuGeom(from_eficas=True,
eficas_item=item,
ligne_arbre=False)
def view_ligne_arbre(listeparam) :
item=listeparam[0]
- print "kkk"
- return
- import visu_geom
+ from mt.visu import visu_geom
visu_arbre = visu_geom.VisuGeom(from_eficas=True,
eficas_item=item,
ligne_arbre=True)
visu_arbre.visualize()
-def import_zone(listeparam):
+def import_zone_MT(listeparam):
+ from PyQt5.QtWidgets import QFileDialog
- from PyQt4.QtGui import QFileDialog
-
# selection fichier
fn = QFileDialog.getOpenFileName()
if not fn : return
- FichieraTraduire=str(fn)
+ FichieraTraduire=str(fn[0])
# lancement traduction
- import traduire_catalogue_zone
+ from mt.visu import traduire_catalogue_zone
tr=traduire_catalogue_zone.TraductionZone(file1=FichieraTraduire)
result,texte=tr.traduireZone()
-
if result==True :
txt="sansnom="+texte
editor=listeparam[0]
itemWidget=listeparam[1]
- editor.updateJdc(itemWidget,txt)
+ editor.updateJdcEtape(itemWidget,txt)
+
+
+def import_zone(listeparam):
+ #texte="ZONE(NOEUDS=(_F(NOM='N1',POSITION_AXIALE=0.0,), _F(NOM='N2',POSITION_AXIALE=0.1,), _F(NOM='N3',POSITION_AXIALE=0.2,), _F(NOM='N4',POSITION_AXIALE=0.3,),),),"
+ from txtZone import texte
+ #texte="sansnom="+texte
+ editor=listeparam[0]
+ itemWidget=listeparam[1]
+ itemParent=itemWidget.vraiParent
+ index = itemWidget.vraiParent.children.index(itemWidget)
+
+ #print editor.updateJdc
+ #editor.updateJdc(itemWidget,txt)
+ editor.updateJdcEtape(itemWidget,texte)
+
+ oldItem=itemParent.children[index]
+ oldItem.select()
+ oldItem.supprimeNoeud()
+
# le dictionnaire des commandes a la structure suivante :
# la clef est la commande qui va proposer l action
#
catalogues=(
- ('MT','default',os.path.join(repIni,'MT_Cata_V1.py'),'python','python'),
+ ('MT','V2016',os.path.join(repIni,'MT_Cata_V2016.py'),'python','python'),
)
+nombreDeBoutonParLigne=4
+simpleClic=True
+closeFrameRechercheCommande=True
name='prefs_'+prefs.code
__import__(name)
-
-import sys,os
+import sys
+reload(sys)
+sys.setdefaultencoding('latin1')
+import os
sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..'))
import prefs