youderf

library.py

Jun 11th, 2019
431
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # -*- coding: utf-8 -*-
  2. #------------------------------
  3. # Author    : YOUNES DERFOUFI
  4. # Compagny  : CRMEF OUJDA
  5. #-----------------------------
  6. from tkinter import *
  7. savedFile = {1:""}
  8. #======================================
  9. # 1 - Création de la fenêtre principale
  10. #======================================
  11. class Win:
  12.     def __init__(self,master,content):
  13.         self.master = master
  14.         self.content=content
  15.     def create(self):
  16.         self.master = Tk()
  17.         self.master.title("Editeur de Texte")
  18.         self.master.geometry("700x550")
  19.        
  20.      
  21.     def add_text(self):
  22.         self.content = Text(self.master)
  23.         self.content.pack(expand=1,fill='both')
  24.        
  25.     def generate(self):
  26.         self.master.mainloop()
  27.        
  28.  
  29. #======================================
  30. # 3 - Définition des actions des menus
  31. #======================================
  32. #------------------------------
  33. # 3.1 - actions du menu Fichier
  34. #-------------------------------
  35.     def quitter(self):
  36.         self.master.quit()
  37.     def nouveau(self):
  38.         import os
  39.         os.popen("python main.py")
  40.        
  41.     def fopen(self):
  42.         file = self.master.filename =  filedialog.askopenfilename(initialdir = "/",title = "Select File",filetypes = (("Text Files","*.txt"),("all files","*.*")))
  43.        
  44.         fp = open(file,"r")
  45.         r = fp.read()
  46.         self.content.insert(1.0,r)        
  47.            
  48.     def saveAs(self):
  49.         # create save dialog
  50.         fichier=self.master.filename =  filedialog.asksaveasfilename(initialdir = "/",title = "Enregistrer Sous\
  51.        ",filetypes = (("Fichier Texte","*.txt"),("Tous les fichiers","*.*")))
  52.         fichier = fichier + ".txt"
  53.        
  54.         savedFile[1] = fichier
  55.         f = open(fichier,"w")
  56.         s = self.content.get("1.0",END)
  57.         f.write(s)
  58.         f.close()
  59.        
  60.        
  61.     def save(self):
  62.         if(savedFile[1] ==""):
  63.             self.saveAs()            
  64.         else:
  65.             f = open(savedFile[1],"w")
  66.             s = self.content.get("1.0",END)
  67.             f.write(s)
  68.             f.close()
  69. #------------------------------
  70. # 3.2 - actions du menu Edition
  71. #------------------------------
  72.     def copy(self):
  73.         self.content.clipboard_clear()
  74.         self.content.clipboard_append(self.content.selection_get())
  75.    
  76.     def past(self):
  77.         self.content.insert(INSERT, self.content.clipboard_get())
  78.    
  79.     def cut(self):
  80.         self.copy()
  81.         self.content.delete("sel.first","sel.last")    
  82. #------------------------------
  83. # 3.3 - actions du menu Outils
  84. #------------------------------
  85.  
  86. #------------------------------
  87. # 3.4 - actions du menu Aide
  88. #------------------------------
  89.  
  90. #===========================
  91. # 3 - Création des menus
  92. #===========================
  93.     def add_menu(self):
  94.         # 1 - Création de la barre des menus
  95.         menuBar = Menu(self.master)
  96.        
  97.         # 2 - Création du menu Fichier
  98.         menuFichier = Menu(menuBar,tearoff=0)
  99.         menuBar.add_cascade(label = "Fichier", menu=menuFichier)
  100.         menuFichier.add_command(label="Nouveau", command=self.nouveau)
  101.         menuFichier.add_command(label="Ouvrir", command=self.fopen)
  102.         menuFichier.add_command(label="Enregistrer", command=self.save)
  103.         menuFichier.add_command(label="Enregistrer sous", command=self.saveAs)
  104.         menuFichier.add_command(label="Quitter", command = self.quitter)
  105.         self.master.config(menu = menuBar)
  106.        
  107.         #3 - Création du Menu Edition
  108.         menuEdition= Menu(menuBar,tearoff=0)
  109.         menuBar.add_cascade(label = "Edition ", menu=menuEdition)
  110.         menuEdition.add_command(label="Annuler")
  111.         menuEdition.add_command(label="Rétablir")
  112.        
  113.         menuEdition.add_command(label="Copier", command=self.copy)
  114.         menuEdition.add_command(label="Couper", command = self.cut)
  115.         menuEdition.add_command(label="Coller", command=self.past)
  116.        
  117.         # Création du Menu Options
  118.         menuOutils = Menu(menuBar,tearoff=0)
  119.         menuBar.add_cascade(label = "Outils", menu = menuOutils)
  120.         menuOutils.add_command(label="Préférences")
  121.        
  122.         # Création du Menu Aide
  123.         menuAide = Menu(menuBar,tearoff=0)
  124.         menuBar.add_cascade(label = "Aide", menu = menuAide)
  125.         menuAide.add_command(label="A propos")
RAW Paste Data