def callbackVerschiebe(self, event): from EventManager import EventManager from TimeManager import TimeManager if event.keysym == "Return": nach = Zeit.fromString(self.text) self.unfokusiere() self.aktualisiereText( ) #setzt den Text auf die gespeicherte Zeit, wird nur überschrieben falls nach passt if nach is not None: if self.event is not None: EventManager.verschiebeZeitNach(self.event, self.istStartzeit(), nach) self.text = nach.text # überprüft ob die Zeit die Start oder Endzeit ist wenn sie einem Event zugeordnet ist assert (self.istStartzeit() or self.istEndzeit()) assert not (self.istStartzeit() and self.istEndzeit()) else: TimeManager.verschiebeZeit(self, nach) self.zeichne() elif event.keysym == "BackSpace": self.text = self.text[:-1] elif event.keysym == "Delete": self.unfokusiere() else: self.text += event.char self.zeichneMarkiert()
def verschiebeZeit(zeit, nach): from ScreenManager import ScreenManager from EventManager import EventManager as EM if zeit == TimeManager.mittagspauseStart: EM.verschiebeZeitNach(EM.mittagspause, True, nach) return elif zeit == TimeManager.mittagspauseEnde: EM.verschiebeZeitNach(EM.mittagspause, False, nach) return if zeit == TimeManager.aufstehzeit: if nach > EM.findeKleinsteStartzeit(): return None elif zeit == TimeManager.schlafenszeit: if nach < EM.findeGroessteEndzeit(): return None zeit.stunde = nach.stunde zeit.minute = nach.minute zeit.text = nach.text ScreenManager.zeichneHintergrund() ScreenManager.zeichneEventsNeu() #TimeManager.speichereZeiten() return zeit
def test_verschiebeZeitNach(self): EM.events = [] TM.schlafenszeit = Zeit(23, 0) EM.mittagspause = Event(Zeit(0, 0), Zeit(0, 0)) event1 = Event(Zeit(11, 30), Zeit(15, 00)) event2 = Event(Zeit(16, 30), Zeit(22, 00)) lsg1 = Event(Zeit(11, 30), Zeit(16, 30)) lsg2 = Event(Zeit(11, 30), Zeit(17, 00)) lsg3 = Event(Zeit(17, 00), Zeit(22, 00)) EM.addEvent(event1) EM.addEvent(event2) EM.verschiebeZeitNach(event1, False, Zeit(16, 30)) self.assertEqual(str(event1.eventDanach), str(event2)) self.assertEqual(str(event2.eventDavor), str(event1)) self.assertEqual(str(event1), str(lsg1)) EM.verschiebeZeitNach(event1, False, Zeit(17, 0)) self.assertEqual(str(event1.eventDanach), str(event2)) self.assertEqual(str(event2.eventDavor), str(event1)) self.assertEqual(str(event1), str(lsg2)) self.assertEqual(str(event2), str(lsg3))