-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFrontEndKieran.py
75 lines (59 loc) · 3.16 KB
/
FrontEndKieran.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Created by Kieran Jerry Jonathon
import os
import tkinter
from tkinter import filedialog
from tkinter.ttk import Combobox
class TkinterInterface:
toDraw = "N 100 # then north 1cm"
importedFile = 'Input.txt'
window = tkinter.Tk()
windowCanvas = tkinter.Tk()
canvas = tkinter.Canvas(windowCanvas, width=500, height=500)
config = open('config.txt', "r+").read().splitlines()
def __init__(self, SourceReader):
self.SourceReader = SourceReader
self.windowCanvas.title("TK")
self.canvas.pack()
self.window.title("GUI")
self.window.draw_btn = tkinter.Button(self.window, text="Draw", command=self.draw)
self.window.draw_btn.grid(column=0, row=0)
self.window.import_btn = tkinter.Button(self.window, text="Import new File to read", command=self.importfile)
self.window.import_btn.grid(column=1, row=0)
self.window.selectDrawer = tkinter.Label(self.window, text="Select Drawer")
self.window.selectDrawer.grid(column=2, row=0)
self.window.comboDrawer = Combobox(self.window, values=["DrawerJack", "DrawerKieran", "DrawerTurtleJack"])
self.window.comboDrawer.set(self.config[0])
self.window.comboDrawer.grid(column=3, row=0)
self.window.selectParser = tkinter.Label(self.window, text="Select Parser")
self.window.selectParser.grid(column=4, row=0)
self.window.comboParser = Combobox(self.window, values=["ParserKC", "ParserJerry", "ParserJonathanV2"])
self.window.comboParser.set(self.config[1])
self.window.comboParser.grid(column=5, row=0)
self.window.selectInterface = tkinter.Label(self.window, text="Select Interface")
self.window.selectInterface.grid(column=6, row=0)
self.window.comboInterface = Combobox(self.window, values=["FrontEndJerry", "FrontEndKieran"])
self.window.comboInterface.set(self.config[2])
self.window.comboInterface.grid(column=7, row=0)
self.window.close_btn = tkinter.Button(self.window, text="Restart", command=self.restart_program)
self.window.close_btn.grid(column=8, row=0)
self.window.toDrawLabel = tkinter.Label(self.window, text=self.toDraw)
self.window.toDrawLabel.grid(column=1, row=1, columnspan=8)
def start(self):
self.window.mainloop()
def restart_program(self):
"""Restarts the current program.
Note: this function does not return. Any cleanup action (like
saving data) must be done before calling this function."""
file = open('config.txt', 'w')
file.write(self.window.comboDrawer.get() + '\n'
+ self.window.comboParser.get() + '\n'
+ self.window.comboInterface.get())
file.close()
self.window.destroy()
def draw(self):
self.SourceReader.parser.parse(self.toDraw)
self.window.toDrawLabel.config(text=self.toDraw)
def importfile(self):
self.importedFile = filedialog.askopenfilename(initialdir=os.getcwd(), title="Select file",
filetypes=(("txt files", "*.txt"), ("all files", "*.*")))
self.toDraw = open(self.importedFile, "r+").read()