from UIModell import * import UIViewTKinter as viewTkinter import UIViewPySide as viewPySide from threading import Thread class Controller(): def __init__(self): self.view = viewTkinter.View(self) self.commands = { "copySpelling": self.commandoCopySpelling, "stop": self.commandStop, "freeSpelling": self.commandFreeSpelling, "test": self.test } self.nexts = { "filterXdawn" : self.filterXdawn, "filterClassic": self.filterClassic } self.pages = { "stop": "StartPage", "copySpelling": "WorkingPage", "freeSpelling": "WorkingPage", "test": "WorkingPage" } self.view.mainloop() def actionPerformed(self, action): self.view.changeFrame(self.pages.get(action)) func = self.commands.get(action) if(func is not None): func() else: print("Kommado existiert nicht") def test(self): self.model = Modell(self) self.model.setFunktion(self.model.trainXDawn) self.model.start() #wird durch Btn gestartet -> startet copyspelling als thread def commandoCopySpelling(self): self.model = Modell(self) self.model.setFunktion(self.model.startCopySpelling) self.model.start() #wird durch Copy-Speller Thread copystelling gestartet -> startete filtern als thread def filterXdawn(self): self.model = Modell(self) self.model.setFunktion(self.model.trainXDawn) self.model.start() #wird durch XDawn-Thread copystelling gestartet -> startete filtern als thread def filterClassic(self): self.model = Modell(self) self.model.setFunktion(self.model.trainClassifier) self.model.start() def commandFreeSpelling(self): print("freespelling") self.model = Modell(self) self.model.setFunktion(self.model.freeSpelling) self.model.start() def commandStop(self): self.setInfos("Action: STOP-Command") self.model.stop() self.model.join() self.model.killProzess() self.mode = None def stop(self, next=None): print("Stop aus Modell") self.model.stop() self.model.join() self.model.killProzess() self.mode = None if(next is not None): func = self.nexts.get(next) func() def setInfos(self,text): self.view.setInfoText(text) def setTitle(self,text): self.view.setTitleText(text) def changeScreen(self, pageName): self.view.changeFrame(pageName=pageName)