62 lines
1.8 KiB
Python
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__": |