Files
@ d138366bd4bb
Branch filter:
Location: OneEye/src/gui/__init__.py - annotation
d138366bd4bb
1.3 KiB
text/x-python
resizing BoardView
5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 4b4cae6939e8 4b4cae6939e8 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5f4489f36388 5fe83c3dfb92 4b4cae6939e8 d138366bd4bb d138366bd4bb 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5f4489f36388 5f4489f36388 5fe83c3dfb92 5f4489f36388 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5f4489f36388 5f4489f36388 5fe83c3dfb92 5fe83c3dfb92 5f4489f36388 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 8af597b8f819 8af597b8f819 5fe83c3dfb92 5fe83c3dfb92 5f4489f36388 5f4489f36388 5fe83c3dfb92 5fe83c3dfb92 | import threading
import tkinter as tk
import config
from .mainwindow import MainWindow
from .boardview import BoardView
class GUI:
def __init__(self):
self.root = tk.Tk()
self.root.title("OneEye {0}.{1}.{2}".format(*config.misc.version))
self._coreMessages=None
self.mainWindow = MainWindow(self, master=self.root)
self.root.columnconfigure(0,weight=1)
self.root.rowconfigure(0,weight=1)
self.root.bind("<<redrawImgView>>", lambda e: self.mainWindow.redrawImgView())
self.root.bind("<<receiveState>>", lambda e: print("fired receiveState"))
def __call__(self,ownMessages,coreMessages):
self._coreMessages=coreMessages
self.listenerThread=threading.Thread(target=lambda: ownMessages.listen(self._handleEvent))
self.listenerThread.start()
self.mainWindow.mainloop()
def sendMsg(self,actionName,args=tuple(),kwargs=None):
self._coreMessages.send(actionName,args,kwargs)
def _handleEvent(self,e):
actions={"setCurrentFrame":self._frameHandler, "setGameState":self._stateHandler}
(actionName,args,kwargs)=e
return actions[actionName](*args,**kwargs)
def _frameHandler(self,newFrame):
self.mainWindow.setCurrentFrame(newFrame)
self.root.event_generate("<<redrawImgView>>")
def _stateHandler(self,gameState):
self.mainWindow.boardView.redrawState(gameState)
gui=GUI()
|