From d9cc64e7f2f992efa65398aaa3f2bf986bc05470 Mon Sep 17 00:00:00 2001
From: Oscar Gustafsson <oscar.gustafsson@gmail.com>
Date: Tue, 24 Jan 2023 09:50:23 +0100
Subject: [PATCH] Use same colors in schedule and scheduler GUI

---
 b_asic/GUI/_preferences.py                    |   5 +-
 b_asic/_preferences.py                        |   5 ++
 b_asic/schedule.py                            |  72 +++++++++++++-----
 b_asic/scheduler_gui/_preferences.py          |  15 ++--
 .../test__get_figure_no_execution_times.png   | Bin 25892 -> 25991 bytes
 5 files changed, 71 insertions(+), 26 deletions(-)
 create mode 100644 b_asic/_preferences.py

diff --git a/b_asic/GUI/_preferences.py b/b_asic/GUI/_preferences.py
index bfcbe804..c1fa1406 100644
--- a/b_asic/GUI/_preferences.py
+++ b/b_asic/GUI/_preferences.py
@@ -1,6 +1,7 @@
-from qtpy.QtCore import Qt
 from qtpy.QtGui import QColor
 
+from b_asic._preferences import SIGNAL_COLOR
+
 # Buttons/operations/ports
 MINBUTTONSIZE = 57
 PORTHEIGHT = 19
@@ -12,4 +13,4 @@ MIN_WIDTH_SCENE = 600
 MIN_HEIGHT_SCENE = 520
 
 # Interface
-LINECOLOR = QColor(Qt.GlobalColor.black)
+LINECOLOR = QColor(*SIGNAL_COLOR)
diff --git a/b_asic/_preferences.py b/b_asic/_preferences.py
new file mode 100644
index 00000000..bc840f5c
--- /dev/null
+++ b/b_asic/_preferences.py
@@ -0,0 +1,5 @@
+LATENCY_COLOR = (0, 185, 231)
+EXECUTION_TIME_COLOR = (255, 100, 66, 200)
+SIGNAL_COLOR = (0, 0, 0)
+
+SIGNAL_LINEWIDTH = 1.0
diff --git a/b_asic/schedule.py b/b_asic/schedule.py
index c9312cc5..61c8cde4 100644
--- a/b_asic/schedule.py
+++ b/b_asic/schedule.py
@@ -11,18 +11,29 @@ from typing import Dict, List, Optional, Tuple
 
 import matplotlib.pyplot as plt
 from matplotlib.lines import Line2D
-from matplotlib.patches import PathPatch
+from matplotlib.patches import PathPatch, Polygon
 from matplotlib.path import Path
 from matplotlib.ticker import MaxNLocator
 import numpy as np
 
 from b_asic import OutputPort, Signal
+from b_asic._preferences import (
+    EXECUTION_TIME_COLOR,
+    LATENCY_COLOR,
+    SIGNAL_COLOR,
+    SIGNAL_LINEWIDTH,
+)
 from b_asic.graph_component import GraphID
 from b_asic.process import MemoryVariable, Process
 from b_asic.signal_flow_graph import SFG
 from b_asic.special_operations import Delay, Output
 
 
+_EXECUTION_TIME_COLOR = tuple(c / 255 for c in EXECUTION_TIME_COLOR)
+_LATENCY_COLOR = tuple(c / 255 for c in LATENCY_COLOR)
+_SIGNAL_COLOR = tuple(c / 255 for c in SIGNAL_COLOR)
+
+
 class Schedule:
     """Schedule of an SFG with scheduled Operations."""
 
@@ -424,24 +435,31 @@ class Schedule:
         return ret
 
     def _plot_schedule(self, ax):
+        line_cache = []
+
         def _draw_arrow(start, end, name="", laps=0):
             if end[0] < start[0] or laps > 0:  # Wrap around
-                ax.add_line(
-                    Line2D(
+                if start not in line_cache:
+                    line = Line2D(
                         [start[0], self._schedule_time + 0.2],
                         [start[1], start[1]],
-                        color="black",
+                        color=_SIGNAL_COLOR,
+                        lw=SIGNAL_LINEWIDTH,
                     )
+                    ax.add_line(line)
+                    ax.text(
+                        self._schedule_time + 0.2,
+                        start[1],
+                        name,
+                        verticalalignment="center",
+                    )
+                line = Line2D(
+                    [-0.2, end[0]],
+                    [end[1], end[1]],
+                    color=_SIGNAL_COLOR,
+                    lw=SIGNAL_LINEWIDTH,
                 )
-                ax.add_line(
-                    Line2D([-0.2, end[0]], [end[1], end[1]], color="black")
-                )
-                ax.text(
-                    self._schedule_time + 0.2,
-                    start[1],
-                    name,
-                    verticalalignment="center",
-                )
+                ax.add_line(line)
                 ax.text(
                     -0.2,
                     end[1],
@@ -449,6 +467,7 @@ class Schedule:
                     verticalalignment="center",
                     horizontalalignment="right",
                 )
+                line_cache.append(start)
 
             elif end[0] == start[0]:
                 p = Path(
@@ -471,7 +490,13 @@ class Schedule:
                         Path.CURVE4,
                     ],
                 )
-                pp = PathPatch(p, fc='none')
+                pp = PathPatch(
+                    p,
+                    fc='none',
+                    ec=_SIGNAL_COLOR,
+                    lw=SIGNAL_LINEWIDTH,
+                    zorder=10,
+                )
                 ax.add_patch(pp)
             else:
                 p = Path(
@@ -483,7 +508,13 @@ class Schedule:
                     ],
                     [Path.MOVETO, Path.CURVE4, Path.CURVE4, Path.CURVE4],
                 )
-                pp = PathPatch(p, fc='none')
+                pp = PathPatch(
+                    p,
+                    fc='none',
+                    ec=_SIGNAL_COLOR,
+                    lw=SIGNAL_LINEWIDTH,
+                    zorder=10,
+                )
                 ax.add_patch(pp)
 
         def _draw_offset_arrow(
@@ -499,15 +530,19 @@ class Schedule:
         ypos = 0.5
         ytickpositions = []
         yticklabels = []
-        ax.grid(zorder=0.5)
+        ax.set_axisbelow(True)
+        ax.grid()
         ypositions = {}
         for op_id, op_start_time in self._start_times.items():
             op = self._sfg.find_by_id(op_id)
+            # Rewrite to make better use of NumPy
             latency_coords, execution_time_coords = op.get_plot_coordinates()
             _x, _y = zip(*latency_coords)
             x = np.array(_x)
             y = np.array(_y)
-            ax.fill(x + op_start_time, y + ypos)
+            xy = np.stack((x + op_start_time, y + ypos))
+            p = Polygon(xy.T, fc=_LATENCY_COLOR)
+            ax.add_patch(p)
             if execution_time_coords:
                 _x, _y = zip(*execution_time_coords)
                 x = np.array(_x)
@@ -515,9 +550,8 @@ class Schedule:
                 ax.plot(
                     x + op_start_time,
                     y + ypos,
-                    color="black",
+                    color=_EXECUTION_TIME_COLOR,
                     linewidth=3,
-                    alpha=0.5,
                 )
             ytickpositions.append(ypos + 0.5)
             yticklabels.append(self._sfg.find_by_id(op_id).name)
diff --git a/b_asic/scheduler_gui/_preferences.py b/b_asic/scheduler_gui/_preferences.py
index 35ec5923..aa3f75d5 100644
--- a/b_asic/scheduler_gui/_preferences.py
+++ b/b_asic/scheduler_gui/_preferences.py
@@ -1,11 +1,16 @@
-from qtpy.QtCore import Qt
 from qtpy.QtGui import QColor
 
-SIGNAL_INACTIVE = QColor(Qt.GlobalColor.black)
+from b_asic._preferences import (
+    EXECUTION_TIME_COLOR,
+    LATENCY_COLOR,
+    SIGNAL_COLOR,
+)
+
+SIGNAL_INACTIVE = QColor(*SIGNAL_COLOR)
 SIGNAL_ACTIVE = QColor(0, 207, 181)
 SIGNAL_WIDTH = 0.03
 
-OPERATION_LATENCY_INACTIVE = QColor(0, 185, 231)
+OPERATION_LATENCY_INACTIVE = QColor(*LATENCY_COLOR)
 OPERATION_LATENCY_ACTIVE = QColor(0, 207, 181)
-OPERATION_EXECUTION_TIME_INACTIVE = QColor(255, 100, 66, 200)
-OPERATION_EXECUTION_TIME_ACTIVE = QColor(255, 100, 66, 200)
+OPERATION_EXECUTION_TIME_INACTIVE = QColor(*EXECUTION_TIME_COLOR)
+OPERATION_EXECUTION_TIME_ACTIVE = QColor(*EXECUTION_TIME_COLOR)
diff --git a/test/baseline/test__get_figure_no_execution_times.png b/test/baseline/test__get_figure_no_execution_times.png
index 10b2a22210ca0ceb3525263a9a8a6544c6b4a8ae..658682238d20916aaf467df31ae25a2be6109467 100644
GIT binary patch
literal 25991
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
a9<@cwc+L&*OXD3VT-&zpFv;8E9R4SV=X~V=

literal 25892
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

-- 
GitLab