import convert
import generator
import AIDE
+import os
from jdcdisplay import JDCDISPLAY
from utils import extension_fichier,stripPath,save_in_file
-from widgets import Fenetre,Ask_Format_Fichier
+from widgets import Fenetre,Ask_Format_Fichier,FenetreSurLigneWarning
from fenetre_mc_inconnus import fenetre_mc_inconnus
from Ihm import CONNECTOR
+from Traducteur import traduitV7V8
import comploader
('Mots-clés inconnus','mc_inconnus'),
]
),
+ ('Traduction',[
+ ('Traduction v7 en v8','TraduitFichier','<Control-t>','Ctrl+T')
+ ]
+ ),
('Aide',[
('Aide EFICAS','aideEFICAS'),
]
button_defs = (('New24',"newJDC","Création d'un nouveau fichier",'always'),
('Open24',"openJDC","Ouverture d'un fichier existant",'always'),
('Save24',"saveJDC","Sauvegarde du fichier courant",'always'),
- ('Fermer24',"closeJDC","Fermeture du fichier courant",'always'),
+ ('Fermer24',"closeJDC","Fermeture du fichier courant",'always'),
('Zoom24',"visuJDC","Visualisation du fichier de commandes",'always'),
None,
('Copy24',"copy","Copie l'objet courant",'jdc'),
def newJDC_include(self,event=None):
"""
- Initialise un nouveau JDC vierge
+ Initialise un nouveau JDC include vierge
"""
import Extensions.jdc_include
JdC_aux=Extensions.jdc_include.JdC_include
self.fileName=None
self.ShowJDC(J,self.JDCName)
self.appli.toolbar.active_boutons()
+ return J
def newJDC(self,event=None):
"""
- Initialise un nouveau JDC include vierge
+ Initialise un nouveau JDC vierge
"""
self.appli.statusbar.reset_affichage_infos()
self.fileName=None
self.ShowJDC(J,self.JDCName)
self.appli.toolbar.active_boutons()
+ return J
def ShowJDC(self,JDC,nom,label_onglet=None,JDCDISPLAY=JDCDISPLAY,enregistre="non"):
"""
"""
if mode == 'JDC':
if not hasattr(self,'JDC') : return
+ if self.JDC == None : return
titre="rapport de validation du jeu de commandes courant"
cr = self.JDC.report()
#self.update_jdc_courant()
titre="compte-rendu d'erreurs, EFICAS ne sait pas convertir ce fichier",
texte = str(p.cr)).wait()
return
- if enregistre == "oui" :
- self.appli.listeFichiers.aOuvert(file)
+ if enregistre == "oui" :
+ self.appli.listeFichiers.aOuvert(file)
else:
# Il n'existe pas c'est une erreur
self.appli.affiche_infos("Type de fichier non reconnu")
else:
self.ShowJDC(J,self.JDCName,enregistre=enregistre)
self.appli.toolbar.active_boutons()
- # si le JDC ne contient rien (vide), on retourne ici
- if len(self.JDC.etapes) == 0 : return
- # dans le cas où le JDC est invalide, on affiche son CR
+ # si le JDC ne contient rien (vide), on retourne ici
+ if len(self.JDC.etapes) == 0 : return
+ # dans le cas où le JDC est invalide, on affiche son CR
if not self.JDC.isvalid():
- self.appli.top.update()
- self.visuCR(mode='JDC')
+ self.appli.top.update()
+ self.visuCR(mode='JDC')
+ return J
def deplieReplieNode(self):
self.JDCDisplay_courant.tree.tree.deplieReplieNode()
"""
Sauvegarde le JDC courant.
Retourne 1 si la sauvegarde s'est bien faite, 0 sinon.
- Si echo = 'oui' : interactif (l'utilisateur donne le nom sous lequel il
+
+ - Si echo = 'oui' : interactif (l'utilisateur donne le nom sous lequel il
veut sauver le JDC
- Si echo = 'non' : muet (sauvegarde le JDC dans JDC.procedure)
+ - Si echo = 'non' : muet (sauvegarde le JDC dans JDC.procedure)
"""
ok = 0
if not hasattr(self,'JDC') : return 0
self.jdc_fini = string.replace(jdc_formate,'\r\n','\n')
if echo =='oui' or self.JDCDisplay_courant.fichier == None:
- ok = self.asknomsauvegardeJDC()
+ ok = self.asknomsauvegardeJDC()
elif self.JDCDisplay_courant.fichier != None :
# le JDC a déjà un nom : on sauvegarde directement sans demander
# un autre nom au développeur
if not save_in_file(self.JDCDisplay_courant.fichier,self.jdc_fini,self.appli.dir) :
showinfo("Erreur","Problème à la sauvegarde du fichier :" + `self.JDCDisplay_courant.fichier`)
#return 0
- ok = 0
+ ok = 0
else :
if self.appli.format_fichier.get() == 'homard':
self.save_homard(self.JDCDisplay_courant.fichier,self.jdc_homard)
if ok and hasattr( self.appli, 'salome'):
# eficas a été lancé à partir deSalome
#1)ajout dans l'arbre d'étude du nom du jdc
- ok, msg = self.appli.addJdcInSalome( self.JDCDisplay_courant.fichier )
+ ok, msg = self.appli.addJdcInSalome( self.JDCDisplay_courant.fichier )
#2)CS_pbruno ??
- from panelsSalome import SALOME_UNIQUE_BASE_Panel
- if len(SALOME_UNIQUE_BASE_Panel.dict_fichier_unite) > 0 :
- print 'CS_pbruno if len(SALOMchier_unite) > 0 :???????'
- self.appli.creeConfigTxt( self.appli.CONFIGURATION.initialdir, SALOME_UNIQUE_BASE_Panel.dict_fichier_unite )
+ from panelsSalome import SALOME_UNIQUE_BASE_Panel
+ if len(SALOME_UNIQUE_BASE_Panel.dict_fichier_unite) > 0 :
+ print 'CS_pbruno if len(SALOMchier_unite) > 0 :???????'
+ self.appli.creeConfigTxt( self.appli.CONFIGURATION.initialdir, SALOME_UNIQUE_BASE_Panel.dict_fichier_unite )
- #3)création/mise à jours d'un maillage dans Salome
- self.appli.createOrUpdateMesh()
+ #3)création/mise à jours d'un maillage dans Salome
+ self.appli.createOrUpdateMesh()
return ok
def asknomsauvegardeJDC(self):
def visuJDC_py(self,event=None):
"""
Méthode permettant d'afficher dans une fenêtre à part l'écho au
- format python du jdc courant
+ format python du jdc courant
"""
if not hasattr(self,'JDC') : return
jdc_fini = self.get_text_JDC('python')
def visuJDC(self):
"""
Méthode permettant d'afficher dans une fenêtre à part l'écho au
- format .comm ou .py du jdc courant
+ format .comm ou .py du jdc courant
"""
if not hasattr(self,'JDC') : return
titre = 'fichier '+ self.JDCName + ' à la syntaxe '+ self.code
showerror("Impossible de visualiser le fichier initial",
"EFICAS ne peut visualiser le fichier initial.\nIl s'agit d'un nouveau JDC")
return
+ os.chdir(self.appli.dir)
f=open(self.JDCDisplay_courant.fichier,'r')
texte=f.read()
f.close()
self.appli.salome.rangeInStudy(file_homard,"_CONF")
# ---------------------------------------------------------------------------
-# Méthodes liées aux mots-clés inconnus
+# Méthodes liées aux mots-clés inconnus
# ---------------------------------------------------------------------------
def mc_inconnus(self):
def update_jdc_courant(self):
self.JDCDisplay_courant.update()
+ def TraduitFichier(self):
+ directory = self.appli.CONFIGURATION.rep_user
+ FichieraTraduire = askopenfilename(title="Nom du Fichier à Traduire",
+ defaultextension=".comm",
+ initialdir = directory
+ )
+ if (FichieraTraduire == "" or FichieraTraduire == () ) : return
+ i=FichieraTraduire.rfind(".")
+ Feuille=FichieraTraduire[0:i]
+ FichierTraduit=Feuille+"v8.comm"
+ log=self.initialdir+"/convert.log"
+ os.system("rm -rf "+log)
+ os.system("rm -rf "+FichierTraduit)
+ Pmw.showbusycursor()
+ traduitV7V8.traduc(FichieraTraduire,FichierTraduit,log)
+ Pmw.hidebusycursor()
+ Entete="Fichier Traduit : "+FichierTraduit +"\n\n"
+ titre = "conversion de "+ FichieraTraduire
+
+ if os.stat(log)[6] != 0L :
+ f=open(log)
+ texte_cr= f.read()
+ f.close()
+ else :
+ texte_cr = Entete
+ commande="diff "+FichieraTraduire+" "+FichierTraduit+" >/dev/null"
+ try :
+ if os.system(commande) == 0 :
+ texte_cr = texte_cr + "Pas de difference entre le fichier V7 et le fichier traduit"
+ except :
+ pass
+
+ cptrendu = FenetreSurLigneWarning(self.appli,titre=titre,texte=texte_cr)
+