Files
@ 928d9a0edc05
Branch filter:
Location: OneEye/src/gui/__init__.py - annotation
928d9a0edc05
1.3 KiB
text/x-python
fix of coordinates computation
5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 4b4cae6939e8 4b4cae6939e8 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5fe83c3dfb92 5f4489f36388 5fe83c3dfb92 4b4cae6939e8 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.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()
|