wowtools/main.py
2018-02-22 08:37:04 +00:00

62 lines
1.8 KiB
Python

#!`/usr/bin/whereis python3`
import wow
import tkinter as tk
from PIL import ImageTk
wowfile = wow.WowFile("CG_LCD_W.wow")
class WOWFileViewer:
def __init__(self, master):
self.currentLayer = 0
self.master = master
master.title("WOW file viewer")
self.top_frame = tk.Frame(master)
self.top_frame.pack(fill=tk.X)
self.label = tk.Label(self.top_frame, text="Layer:".format(num=self.currentLayer))
self.label.pack(fill=tk.X)
self.mid_frame = tk.Frame(master)
self.mid_frame.pack(fill=tk.X)
self.img = ImageTk.PhotoImage(wowfile.layers[self.currentLayer].image)
self.layer_img = tk.Label(self.mid_frame, image=self.img)
self.layer_img.pack(side=tk.LEFT)
self.layer_select = tk.Scale(self.mid_frame, from_=0, to=wowfile.get_layercount(), command=self.sliderUpdate, orient=tk.VERTICAL)
self.layer_select.pack(side=tk.RIGHT, fill=tk.X, expand=True)
self.bottom_frame = tk.Frame(master)
self.bottom_frame.pack(fill=tk.X)
self.close_button2 = tk.Button(self.bottom_frame, text="Exit", command=master.quit)
self.close_button2.pack()
def sliderUpdate(self, pos):
self.layerChange(int(pos))
def layerUp(self):
if self.currentLayer < wowfile.get_layercount():
self.currentLayer += 1
self.layerChange(self.currentLayer)
def layerDown(self):
if self.currentLayer > 0:
self.currentLayer -= 1
self.layerChange(self.currentLayer)
def layerChange(self, layer):
self.img = ImageTk.PhotoImage(wowfile.layers[layer].image)
self.layer_img.configure(image=self.img)
self.label.configure(text="Layer: {num}".format(num=layer))
root = tk.Tk()
my_gui = WOWFileViewer(root)
root.mainloop()
# if __name__ == "__main__":