Added moving of events.

This commit is contained in:
jupfi 2023-07-30 14:02:19 +02:00
parent 6df745452b
commit 916a9c1bf2
2 changed files with 79 additions and 5 deletions

View file

@ -24,7 +24,7 @@ class PulseProgrammerController(ModuleController):
self.module.model.events_changed.emit()
@pyqtSlot(str, str)
def change_event_name(self, old_name, new_name):
def change_event_name(self, old_name : str, new_name : str):
logger.debug("Changing event name from %s to %s", old_name, new_name)
for event in self.module.model.pulse_sequence.events:
if event.name == old_name:
@ -33,7 +33,7 @@ class PulseProgrammerController(ModuleController):
self.module.model.events_changed.emit()
@pyqtSlot(str, str)
def change_event_duration(self, event_name, duration):
def change_event_duration(self, event_name:str, duration):
logger.debug("Changing duration of event %s to %s", event_name, duration)
for event in self.module.model.pulse_sequence.events:
if event.name == event_name:
@ -47,6 +47,29 @@ class PulseProgrammerController(ModuleController):
break
self.module.model.events_changed.emit()
@pyqtSlot(str)
def on_move_event_left(self, event_name: str):
"""This method moves the event one position to the left if possible."""
logger.debug("Moving event %s to the left", event_name)
for i, event in enumerate(self.module.model.pulse_sequence.events):
if event.name == event_name:
if i > 0:
self.module.model.pulse_sequence.events[i], self.module.model.pulse_sequence.events[i-1] = self.module.model.pulse_sequence.events[i-1], self.module.model.pulse_sequence.events[i]
break
self.module.model.events_changed.emit()
@pyqtSlot(str)
def on_move_event_right(self, event_name : str):
""" This method moves the event one position to the right if possible. """
logger.debug("Moving event %s to the right", event_name)
for i, event in enumerate(self.module.model.pulse_sequence.events):
if event.name == event_name:
if i < len(self.module.model.pulse_sequence.events) - 1:
self.module.model.pulse_sequence.events[i], self.module.model.pulse_sequence.events[i+1] = self.module.model.pulse_sequence.events[i+1], self.module.model.pulse_sequence.events[i]
break
self.module.model.events_changed.emit()
def save_pulse_sequence(self, path):
logger.debug("Saving pulse sequence to %s", path)
sequence = self.module.model.pulse_sequence.to_json()