diff --git a/src/gui/__init__.py b/src/gui/__init__.py --- a/src/gui/__init__.py +++ b/src/gui/__init__.py @@ -1,48 +1,48 @@ -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("<>", lambda e: self.mainWindow.redrawImgView()) - self.root.bind("",lambda e: self.sendMsg("prevFrame")) - self.root.bind("",lambda e: self.sendMsg("nextFrame")) - - 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("<>") - - def _stateHandler(self,gameState): - self.mainWindow.boardView.redrawState(gameState) - -gui=GUI() +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("<>", lambda e: self.mainWindow.redrawImgView()) + self.root.bind("",lambda e: self.sendMsg("prevFrame")) + self.root.bind("",lambda e: self.sendMsg("nextFrame")) + + 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("<>") + + def _stateHandler(self,gameState): + self.mainWindow.boardView.redrawState(gameState) + +gui=GUI()