TSSIT:
TSSIT:
from tkinter import *
from tkinter import scrolledtext
from tkinter import filedialog
from tkinter.messagebox import showinfo
tela = Tk()
tela.title('TSSITEditor')
tela.geometry('600x700')
escr = Frame(tela, width= 600, height=650, bd = 7, relief='raise')
escr.pack(side=BOTTOM)
escr.pack_propagate(0)
global texto
texto = scrolledtext.ScrolledText(escr, height= 550, width=700)
texto.pack()
opcoes = Frame(tela, width=600, height=50, bd = 4, relief='sunken')
opcoes.pack(side=TOP)
opcoes.pack_propagate(0)
def abrir():
global filename
filename = filedialog.askopenfilename(defaultextension=".txt")
texto.delete('1.0', END)
try:
with open(filename, "r") as f:
texto.insert(1.0, f.read())
tela.title = filename
except:
pass
abrir = Button(opcoes, text= 'Open', command= abrir)
abrir.pack(side=LEFT)
def branco():
global texto
texto.delete('1.0', END)
global certe
certe.destroy()
def quitar_real():
global certe
certe.destroy()
tela.destroy()
def novo():
global texto
nova = filedialog.asksaveasfilename(
initialfile="Untitled.TSSIT",
defaultextension=".TSSIT",)
try:
with open(nova, "w") as f:
f.write(text.get())
except:
pass
def quitar():
global certe
certe = Tk()
certe.geometry('300x150')
certe.title('Save Changes?')
titl = Label(certe, text = """Would You like to save
your changes first?""", font=('courier', 15))
titl.pack(side=TOP)
salve = Button(certe, text= 'Yes, save', command= lambda:salva('quit'))
salve.pack(side=TOP)
salve = Button(certe, text= 'No, loose all unsaved changes', command= quitar_real)
salve.pack(side=TOP)
fexar = Button(opcoes, text= 'Quit', command= quitar)
fexar.pack(side=LEFT)
def quitar2():
global certe
certe = Tk()
certe.geometry('300x150')
certe.title('Save Changes?')
titl = Label(certe, text = """Would You like to save
your changes first?""", font=('courier', 15))
titl.pack(side=TOP)
salve = Button(certe, text= 'Yes, save', command= lambda:salva('new'))
salve.pack(side=TOP)
salve = Button(certe, text= 'No, loose all unsaved changes', command= branco)
salve.pack(side=TOP)
bran = Button(opcoes, text= 'New', command= quitar2)
bran.pack(side=LEFT)
def salva(func='none'):
global texto
global filename
global certe
try:
text_final = texto.get('1.0', END)
f= open(filename,"w+")
f.write(text_final)
except:
novo()
if func == 'new':
branco()
elif func == 'quit':
quitar_real()
certe.destroy()
salvar = Button(opcoes, text= 'Save', command= salva)
salvar.pack(side=LEFT)
tela.mainloop()