From db67610817b210277c799d3650f895c433d9a798 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Thu, 18 May 2017 14:19:49 +0200 Subject: [PATCH] pour MT --- Ihm/I_MACRO_ETAPE.py | 37 ++++++++++++++++++++++++++++++------- InterfaceQT4/editor.py | 18 ++++++++++++++---- MT/mesScripts_MT.py | 37 ++++++++++++++++++++++++++----------- MT/prefs_MT.py | 5 ++++- MT/qtEficasMT.py | 6 ++++-- 5 files changed, 78 insertions(+), 25 deletions(-) diff --git a/Ihm/I_MACRO_ETAPE.py b/Ihm/I_MACRO_ETAPE.py index b3c03efb..62925570 100644 --- a/Ihm/I_MACRO_ETAPE.py +++ b/Ihm/I_MACRO_ETAPE.py @@ -80,7 +80,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): 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: @@ -224,7 +224,6 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): 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 @@ -234,7 +233,6 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): CONTEXT.unset_current_step() CONTEXT.set_current_step(step) - print ('kljkljkljlkjklj') return j_context def reevalue_sd_jdc(self): @@ -282,7 +280,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): 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 @@ -523,7 +521,6 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): # une poursuite a sa propre table d'unites self.recorded_units={} self.build_jdcaux(fichier,text) - def build_includeInclude(self,text): @@ -533,6 +530,32 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): 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 : @@ -750,7 +773,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): 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 @@ -770,7 +793,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): 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() diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 0a9efa1a..ed534c90 100755 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -1369,17 +1369,27 @@ class JDCEditor(Ui_baseWidget,QWidget): 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): #-------------------------------------# diff --git a/MT/mesScripts_MT.py b/MT/mesScripts_MT.py index 2a6989d5..30d46079 100644 --- a/MT/mesScripts_MT.py +++ b/MT/mesScripts_MT.py @@ -1,6 +1,6 @@ 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) @@ -8,34 +8,49 @@ def view_zone(listeparam) : 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 diff --git a/MT/prefs_MT.py b/MT/prefs_MT.py index 8ac2b1d3..ec6a9af5 100644 --- a/MT/prefs_MT.py +++ b/MT/prefs_MT.py @@ -35,5 +35,8 @@ encoding='iso-8859-1' # 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 diff --git a/MT/qtEficasMT.py b/MT/qtEficasMT.py index e02b8c74..e07cbaf3 100755 --- a/MT/qtEficasMT.py +++ b/MT/qtEficasMT.py @@ -27,8 +27,10 @@ import prefs 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 -- 2.39.2