This commit is contained in:
Jordon Brooks 2016-07-14 14:33:10 +01:00
parent 394beef34c
commit bb31f2821d
9 changed files with 195 additions and 156 deletions

View file

@ -1,73 +0,0 @@
from tkinter import *
import sys
from tkinter.filedialog import askopenfilename, asksaveasfilename
def PyIDE():
def openFile():
file = askopenfilename(defaultextension=".py",
filetypes=[("Python .py", ".py"), ("Python .pyw", ".pyw")])
if file != "":
with open(file, "r") as openfile:
input.delete(0.0, END)
input.insert(0.0, openfile.read())
def save():
file = asksaveasfilename(defaultextension=".py",
filetypes=[("Python .py", ".py"), ("Python .pyw", ".pyw")])
if file != "":
with open(file, "w") as saveFile:
saveFile.write(input.get(0.0, END))
class TextRedirector(object):
def __init__(self, widget, tag="stdout"):
self.widget = widget
self.tag = tag
def write(self, str):
output.delete(0.0, END)
self.widget.configure(state="normal")
self.widget.insert("end", str, (self.tag,))
self.widget.configure(state="disabled")
self.widget.see(END)
def run():
exec(input.get(0.0, END))
rootInterpreter = Tk()
rootInterpreter.title("Terminal")
rootInterpreter.geometry("200x200")
rootInterpreter.minsize(200, 200)
menu = Menu(rootInterpreter)
rootInterpreter.config(menu=menu)
filemenu = Menu(menu)
menu.add_cascade(label="File", menu=filemenu)
filemenu.add_command(label="New")
filemenu.add_command(label="Open", command=openFile)
filemenu.add_command(label="Save", command=save)
filemenu.add_command(label="Save As", state=DISABLED)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=sys.exit)
output = Text(rootInterpreter, state=DISABLED, wrap="word")
output.configure(state=NORMAL)
output.configure(state=DISABLED)
output.pack(side=TOP, expand=YES, fill=BOTH)
input = Text(rootInterpreter)
input.focus()
input.pack(side=BOTTOM, expand=YES, fill=BOTH)
sys.stderr = TextRedirector(output, "stderr")
sys.stdout = TextRedirector(output, "stdout")
rootInterpreter.mainloop()
# rootInterpreter.protocol("WM_DELETE_WINDOW", closeApp)
PyIDE()