From e386232de140a76e37781d147d6f61b3372afd4c Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Thu, 5 Dec 2019 10:44:26 +0300 Subject: [PATCH] Gather data on damage patterns into single object --- gui/builtinContextMenus/damagePatternChange.py | 12 ++++++++++++ gui/contextMenu.py | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/gui/builtinContextMenus/damagePatternChange.py b/gui/builtinContextMenus/damagePatternChange.py index 7e6270ad0..7bc2ba80b 100644 --- a/gui/builtinContextMenus/damagePatternChange.py +++ b/gui/builtinContextMenus/damagePatternChange.py @@ -34,6 +34,18 @@ class ChangeDamagePattern(ContextMenuUnconditional): self.patternIds = {} self.subMenus = OrderedDict() self.singles = [] + self.items = OrderedDict() + + for pattern in self.patterns: + remainingName = pattern.name.strip() + container = self.items + while True: + start, end = remainingName.find('['), remainingName.find(']') + if start == -1 or end == -1: + container[remainingName] = pattern + break + container = container.setdefault(remainingName[start + 1:end], OrderedDict()) + remainingName = remainingName[end + 1:].strip() # iterate and separate damage patterns based on "[Parent] Child" for pattern in self.patterns: diff --git a/gui/contextMenu.py b/gui/contextMenu.py index c6c55b5c0..869e935fa 100644 --- a/gui/contextMenu.py +++ b/gui/contextMenu.py @@ -182,12 +182,12 @@ class ContextMenu(metaclass=ABCMeta): return ContextMenu._ids[ContextMenu._idxid] def isChecked(self, i): - '''If menu item is toggleable, this should return bool value''' + """If menu item is toggleable, this should return bool value""" return None @property def enabled(self): - '''If menu item is enabled. Allows an item to display, but not be selected''' + """If menu item is enabled. Allows an item to display, but not be selected""" return True @abstractmethod