comploader.charger_composants()
self.cree_cataitem()
self.text_reel=""
+ self.initialdir = self.appli.CONFIGURATION.initialdir
def cree_cataitem(self):
"""
self.ShowJDC(J,self.JDCName)
self.appli.toolbar.active_boutons()
- def ShowJDC(self,JDC,nom,label_onglet=None,JDCDISPLAY=JDCDISPLAY):
+ def ShowJDC(self,JDC,nom,label_onglet=None,JDCDISPLAY=JDCDISPLAY,enregistre="non"):
"""
Lance l'affichage du JDC cad création du JDCDisplay
Rajoute le JDCDisplay à la liste des JDCDisplay si label_onglet == None cad si on crée
if new == 'oui':
self.liste_JDCDisplay.append(self.JDCDisplay_courant)
self.JDCDisplay_courant.modified='n'
- self.JDCDisplay_courant.fichier=self.fileName
+ if enregistre != "non" :
+ self.JDCDisplay_courant.fichier=self.fileName
+ else :
+ self.initialdir = self.appli.CONFIGURATION.rep_user
self.nb.selectpage(label_onglet)
self.nb.setnaturalsize()
texte = "Jeu de commandes :" + self.JDCName+" ouvert"
texte_cr = str(cr)
self.visu_texte_cr = Fenetre(self.appli,titre=titre,texte=texte_cr)
- def openJDC(self,event=None,file=None,units=None):
+ def openJDC(self,event=None,file=None,units=None,enregistre="oui"):
"""
Demande à l'utilisateur quel JDC existant il veut ouvrir
"""
titre="compte-rendu d'erreurs, EFICAS ne sait pas convertir ce fichier",
texte = str(p.cr)).wait()
return
- 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")
if self.appli.test == 0 :
showerror("Erreur fatale au chargement d'un fichier",txt_exception)
else:
- self.ShowJDC(J,self.JDCName)
+ 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
if not self.JDC.isvalid():
self.appli.top.update()
self.visuCR(mode='JDC')
+ # On a ouvert un Patron
def GetLabelJDC(self,nb_jdc = 'absent'):
"""
sauvegarde = asksaveasfilename(title=titre,
defaultextension=defext,
filetypes = filtyp,
- initialdir = self.appli.CONFIGURATION.initialdir)
- #initialdir = self.appli.CONFIGURATION.rep_user)
+ initialdir = self.initialdir)
+ #initialdir = self.appli.CONFIGURATION.initialdir)
+ #initialdir = self.appli.CONFIGURATION.rep_user)
if sauvegarde :
# PN ajout --> Salome
# Pour sauvegarde dans l etude si lancement depuis salome
--- /dev/null
+import os
+import re
+import Tkinter
+
+# le dictionnaire sous menu est indexe parceque l'ordre des
+# recherches est important
+
+sous_menu={0:{"3D":"3D.comm"},1:{"pou":"pou.comm"},2:{"divers":"comm"}}
+
+class listePatrons :
+
+ def __init__(self,appli):
+ self.appli=appli
+ rep_ini=self.appli.CONFIGURATION.rep_ini
+ self.rep_patrons=rep_ini+"/../Editeur/Patrons"
+ self.liste={}
+ self.traite_liste()
+ self.ajout_menu()
+
+
+ def traite_liste(self):
+ for file in os.listdir(self.rep_patrons):
+ for i in range(len(sous_menu)):
+ clef=sous_menu[i].keys()[0]
+ chaine=sous_menu[i][clef]
+ if re.search(chaine,file) :
+ if clef in self.liste.keys():
+ self.liste[clef].append(file)
+ else :
+ self.liste[clef]=[file]
+ break
+
+ def ajout_menu(self):
+ menuFichier=self.appli.menubar.menubar
+ menu_cascade=Tkinter.Menu(menuFichier,tearoff=0)
+ menuFichier.add_cascade(label="Patrons",menu=menu_cascade)
+ for ss_menu in self.liste.keys():
+ ssmenu=Tkinter.Menu(menu_cascade,tearoff=0)
+ menu_cascade.add_cascade(label=ss_menu,menu=ssmenu)
+ for fichier in self.liste[ss_menu]:
+ ssmenu.add_command(label=fichier,command= lambda self=self, l=fichier:self.ouvre(l));
+
+ def ouvre(self,label):
+ fichier=self.rep_patrons+"/"+label
+ self.appli.bureau.openJDC(file=fichier,enregistre="non")