def invoke(self): ''' Method for starting the controller ''' self.searchThread = SearchThread(self.tweetqueue, self.database) self.mover = None self.root = Tk() self.root.resizable(FALSE,FALSE) self.root.after(5000, self.showNewTweetIfFound, self.root) seetweets = MainFrame("SeeTweets", self.root) self.searchThread.addObserver(seetweets.handleException, events="exception") self.searchThread.addObserver(seetweets.statusChanged, events="statusChanged") #TODO: addObserverToElement ? seetweets.addObserverToHashEntry(self.searchThread.setQuery, events="queryChanged") self.root.protocol("WM_DELETE_WINDOW", self.safelyExitApplication) self.searchThread.start() self.root.mainloop()