From 1665abd297834ae04373477d3c910795820e77b7 Mon Sep 17 00:00:00 2001
From: Oscar Gustafsson <oscar.gustafsson@gmail.com>
Date: Sat, 29 Apr 2023 15:12:47 +0200
Subject: [PATCH] Do not wrap operations

---
 b_asic/scheduler_gui/main_window.py     | 5 ++---
 b_asic/scheduler_gui/scheduler_event.py | 9 +++++++--
 b_asic/scheduler_gui/scheduler_item.py  | 4 ----
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/b_asic/scheduler_gui/main_window.py b/b_asic/scheduler_gui/main_window.py
index 5c9be8d7..e35fc985 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 fddcbc5e..1639d166 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 8453ea5f..c8eebe75 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
-- 
GitLab