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()