76 lines
2.0 KiB
Python
76 lines
2.0 KiB
Python
import mtTkinter as tk
|
|
from tkinter import ttk as tkk
|
|
import PCPL
|
|
import langsys
|
|
import time
|
|
import subprocess
|
|
import sys
|
|
import hashengine
|
|
|
|
global LH
|
|
LH = langsys.langhandler()
|
|
lang = open("clang", 'r')
|
|
lang = lang.read()
|
|
LH.setlang(lang)
|
|
# LH.string("")
|
|
|
|
class preview:
|
|
def __init__(self, size, container, offset):
|
|
self._size = size
|
|
self._grid = {}
|
|
self._win = container
|
|
for y in range(size[1]):
|
|
for x in range(size[0]):
|
|
temp = tk.Label(text=" ")
|
|
temp.grid(row=y+offset[1], column=x+offset[0])
|
|
self._win.update()
|
|
self._grid[f"{x}:{y}"] = temp
|
|
|
|
def coltohex(self, target):
|
|
colors = []
|
|
target = [target.r, target.g, target.b]
|
|
for i in target:
|
|
colors.append(("0"*(2-len(hex(i)[2:])))+hex(i)[2:])
|
|
out = ""
|
|
for i in colors:
|
|
out = out + i
|
|
return "#"+out
|
|
|
|
def pix(self, x, y, text, bcolor, fcolor):
|
|
if f"{x}:{y}" in self._grid:
|
|
self._grid[f"{x}:{y}"].config(text=text, bg=self.coltohex(bcolor), fg=self.coltohex(fcolor))
|
|
self._win.update()
|
|
|
|
def selectlang(new):
|
|
lang = open("clang", 'w')
|
|
lang.write(new)
|
|
lang.close()
|
|
container.quit()
|
|
subprocess.Popen([sys.executable, __file__])
|
|
|
|
def GUIinit():
|
|
global container
|
|
container = tk.Tk()
|
|
|
|
#tree init
|
|
objtree = tkk.Treeview(container)
|
|
objtree.grid()
|
|
|
|
#menu init
|
|
menu = tk.Menu(container)
|
|
container.config(menu=menu)
|
|
filemenu = tk.Menu(menu)
|
|
menu.add_cascade(label=LH.string("file"), menu=filemenu)
|
|
filemenu.add_command(label=LH.string("new"))
|
|
filemenu.add_command(label=LH.string("open"))
|
|
filemenu.add_separator()
|
|
filemenu.add_command(label=LH.string("exit"), command=container.quit)
|
|
|
|
langmenu = tk.Menu(menu)
|
|
menu.add_cascade(label=LH.string("langs"), menu=langmenu)
|
|
for i in LH.getlangs():
|
|
langmenu.add_command(label=i, command=lambda i=i: selectlang(i))
|
|
|
|
container.mainloop()
|
|
|
|
GUIinit() |