diff --git a/b_asic/scheduler_gui/main_window.py b/b_asic/scheduler_gui/main_window.py index 5c9be8d78583a08393240390c1d7bcfc5575bbe0..e35fc9852e23b1226195d5d59b864a55627d6595 100644 --- a/b_asic/scheduler_gui/main_window.py +++ b/b_asic/scheduler_gui/main_window.py @@ -672,9 +672,8 @@ class ScheduleMainWindow(QMainWindow, Ui_MainWindow): row = self.info_table.findItems("Operator", Qt.MatchFlag.MatchExactly) if row: row = row[0].row() - if row > 2: - for _ in range(3): - self.info_table.removeRow(1) + for _ in range(1, row): + self.info_table.removeRow(1) else: log.error("'Operator' not found in info table. It may have been renamed.") diff --git a/b_asic/scheduler_gui/scheduler_event.py b/b_asic/scheduler_gui/scheduler_event.py index fddcbc5e146667cfffd021500932d8aceb6c7838..1639d16618269d6960db435622acd151c067b9a9 100644 --- a/b_asic/scheduler_gui/scheduler_event.py +++ b/b_asic/scheduler_gui/scheduler_event.py @@ -198,8 +198,13 @@ class SchedulerEvent: # PyQt5 pos_x += self._schedule.schedule_time redraw = True if pos_x > self._schedule.schedule_time: - pos_x = pos_x % self._schedule.schedule_time - redraw = True + # If zero execution time, keep operation at the edge + if ( + pos_x > self._schedule.schedule_time + 1 + or item.operation.execution_time + ): + pos_x = pos_x % self._schedule.schedule_time + redraw = True pos_y = self._schedule.get_y_location(item.operation.graph_id) # Check move in y-direction if pos_y != self._old_op_position: diff --git a/b_asic/scheduler_gui/scheduler_item.py b/b_asic/scheduler_gui/scheduler_item.py index 8453ea5f7f712a91b0d0ae4341b0aff8c1f2a6eb..c8eebe7546d6293857ae69dd55fdfb4d52dc329f 100644 --- a/b_asic/scheduler_gui/scheduler_item.py +++ b/b_asic/scheduler_gui/scheduler_item.py @@ -96,7 +96,6 @@ class SchedulerItem(SchedulerEvent, QGraphicsItemGroup): # PySide2 / PyQt5 pos : float The x-position to check. """ - # TODO: implement if self.schedule is None: raise ValueError("No schedule installed.") new_start_time = floor(pos) - floor(self._x_axis_indent) @@ -109,9 +108,6 @@ class SchedulerItem(SchedulerEvent, QGraphicsItemGroup): # PySide2 / PyQt5 if new_start_time < -1: # Moving one position before left edge => wrap return False - if new_start_time > self.schedule.schedule_time + 1: - # Moving one position after schedule_time => wrap - return False else: if pos < 0: return False