From c61473f02ff2b56a8e72db3eff46010af2784894 Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Fri, 23 Feb 2024 16:53:05 +0100 Subject: handle zero stitch elements better (#2736) --- lib/extensions/element_info.py | 24 ++++++++++++++++++++---- lib/gui/element_info.py | 3 +++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/lib/extensions/element_info.py b/lib/extensions/element_info.py index 0e889ddf..c0d2cccb 100644 --- a/lib/extensions/element_info.py +++ b/lib/extensions/element_info.py @@ -87,8 +87,23 @@ class ElementInfo(InkstitchExtension): continue stitch_lengths.append(length) previous_stitch = stitch - self.max_stitch_lengths.append(max(stitch_lengths)) - self.min_stitch_lengths.append(min(stitch_lengths)) + + if stitch_lengths: + self.max_stitch_lengths.append(max(stitch_lengths)) + self.min_stitch_lengths.append(min(stitch_lengths)) + else: + self.max_stitch_lengths.append(0) + self.min_stitch_lengths.append(0) + self.list_items.append(ListItem( + name=_("Stitches"), + value="0", + warning=True + )) + self.list_items.append(ListItem( + name=_("Small stitches (removed)"), + value=str(removed_stitches) + )) + return stitch_groups[0] stitches_per_group = "" if len(stitch_groups) > 1: @@ -176,10 +191,11 @@ class ElementInfo(InkstitchExtension): class ListItem: - def __init__(self, name="", value="", headline=False): + def __init__(self, name="", value="", headline=False, warning=False): self.name: str = name self.value: str = value self.headline: bool = headline + self.warning: bool = warning def __repr__(self): - return "ListItem(%s, %s, %s)" % (self.name, self.value, self.headline) + return f"ListItem({self.name}, {self.value}, {self.headline}, {self.warning})" diff --git a/lib/gui/element_info.py b/lib/gui/element_info.py index 5597013a..cee93e3e 100644 --- a/lib/gui/element_info.py +++ b/lib/gui/element_info.py @@ -81,6 +81,9 @@ class ElementInfoFrame(wx.Frame): self.index += 1 self.info_list.InsertItem(self.index, "") self.info_list.SetItemBackgroundColour(self.index, item.value) + elif item.warning: + self.info_list.SetItem(self.index, 1, item.value) + self.info_list.SetItemBackgroundColour(self.index, "#ffdddd") else: self.info_list.SetItem(self.index, 1, item.value) self.index += 1 -- cgit v1.2.3