11"""Tracking Signals Tab QObjects.
22"""
33
4- from typing import Dict , List , Any
4+ from typing import Dict , List , Any , Optional
55
66from PySide2 .QtCore import Property , QObject , Signal , Slot
77from PySide2 .QtCharts import QtCharts
@@ -24,6 +24,7 @@ class TrackingSignalsPoints(QObject):
2424 _xaxis_min : float = 0.0
2525 _xaxis_max : float = 0.0
2626 _check_labels : List [str ] = []
27+ _empty_series : Optional [QtCharts .QXYSeries ] = None
2728 _all_series : List [QtCharts .QXYSeries ] = []
2829 _enabled_series : List [QtCharts .QXYSeries ] = []
2930 num_labels_changed = Signal (int , arguments = "num_labels" )
@@ -76,6 +77,11 @@ def addSeries(self, series) -> None:
7677 self ._all_series .append (series )
7778 self .all_series_changed .emit () # type: ignore
7879
80+ @Slot (QtCharts .QAbstractSeries ) # type: ignore
81+ def addEmptySeries (self , series ) -> None :
82+ """Store a QML created series in empty_series"""
83+ self ._empty_series = series
84+
7985 @Slot () # type: ignore
8086 def fill_all_series (self ) -> None :
8187 cur_num_labels = len (TRACKING_SIGNALS_TAB [Keys .LABELS ])
@@ -105,7 +111,10 @@ def fill_all_series(self) -> None:
105111 for idx , series_points in enumerate (points_for_all_series ):
106112 series = None
107113 try :
108- series = self ._all_series [idx ]
114+ if idx == len (labels ):
115+ series = self ._empty_series
116+ else :
117+ series = self ._all_series [idx ]
109118 series .clear ()
110119 series .replace (series_points )
111120 series .setName (labels [idx ])
0 commit comments