108 lines
2.6 KiB
Python
Executable File
108 lines
2.6 KiB
Python
Executable File
from Plotter import *
|
|
from Command import *
|
|
from Program import *
|
|
import Tkinter as tk
|
|
import tkMessageBox
|
|
import tkFileDialog
|
|
from hpglView import HPGLView
|
|
import os.path
|
|
|
|
|
|
class App:
|
|
def __init__(self):
|
|
self.programs=[]
|
|
self.filename=None
|
|
self.window=tk.Tk()
|
|
self.window.title('Mimaki 0.1')
|
|
self.create_menu()
|
|
self.create_lb()
|
|
self.view=HPGLView(self.window)
|
|
self.view.pack(side=tk.RIGHT,expand=True,fill=tk.BOTH)
|
|
self.view.programs=self.programs
|
|
|
|
def create_menu(self):
|
|
menu=tk.Menu(self.window)
|
|
self.window.config(menu=menu)
|
|
filemenu=tk.Menu(menu)
|
|
filemenu.add_command(label="Open",command=self.file_open)
|
|
filemenu.add_command(label="Save",command=self.file_save)
|
|
filemenu.add_command(label="Save as",command=self.file_saveas)
|
|
menu.add_cascade(label="File", menu=filemenu)
|
|
editmenu=tk.Menu(menu)
|
|
editmenu.add_command(label="Scale",command=self.edit_scale)
|
|
editmenu.add_command(label="Flip",command=self.edit_flip)
|
|
editmenu.add_command(label="Move",command=self.edit_move)
|
|
menu.add_cascade(label="Edit", menu=editmenu)
|
|
plotmenu=tk.Menu(menu)
|
|
plotmenu.add_command(label="Write",command=self.plot_write)
|
|
plotmenu.add_command(label="Centralize",command=self.plot_center)
|
|
plotmenu.add_command(label="Full",command=self.plot_full)
|
|
menu.add_cascade(label="Plot", menu=plotmenu)
|
|
|
|
def plot_write():
|
|
pass
|
|
|
|
def plot_center():
|
|
pass
|
|
|
|
def plot_full():
|
|
pass
|
|
|
|
def create_lb(self):
|
|
listFrame = tk.Frame(self.window)
|
|
self.listBox = tk.Listbox(listFrame)
|
|
self.listBox.pack(expand=True,fill=tk.BOTH)
|
|
listFrame.pack(side=tk.LEFT,fill=tk.Y)
|
|
scrollBar = tk.Scrollbar(listFrame)
|
|
self.listBox.config(yscrollcommand=scrollBar.set)
|
|
|
|
|
|
def run(self):
|
|
self.window.mainloop()
|
|
|
|
def edit_scale(self):
|
|
pass
|
|
|
|
|
|
def edit_flip(self):
|
|
for element in self.programs:
|
|
if element.active:
|
|
element= element.flip()
|
|
|
|
def edit_move(self):
|
|
pass
|
|
|
|
def file_open(self):
|
|
filename = tkFileDialog.askopenfilename()
|
|
if filename:
|
|
p = Program.parsefile(filename)
|
|
self.programs.append(p)
|
|
self.filename = filename
|
|
self.listBox.insert(tk.END, os.path.basename(filename))
|
|
|
|
def file_save(self):
|
|
if self.program:
|
|
if self.filename:
|
|
self.save()
|
|
else:
|
|
self.file_saveas()
|
|
else:
|
|
tkMessageBox.showwarning("No!")
|
|
|
|
def file_saveas(self):
|
|
filename = tkFileDialog.asksaveasfilename()
|
|
if filename:
|
|
self.filename = filename
|
|
self.save()
|
|
|
|
def save(self):
|
|
if self.program:
|
|
with open(self.filename,"w") as file:
|
|
file.write(str(self.program))
|
|
else:
|
|
tkMessageBox.showwarning("Nope!")
|
|
|
|
app=App()
|
|
app.run()
|
|
|