From 85608616dddf43f19e6b96f72092157ed4e2b673 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Wed, 10 Dec 2014 22:04:12 -0500 Subject: [PATCH] readjust some mode logic --- eos/saveddata/ship.py | 15 ++++++++++----- gui/builtinContextMenus/tacticalMode.py | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/eos/saveddata/ship.py b/eos/saveddata/ship.py index 49c3a3f58..f9585e1ab 100644 --- a/eos/saveddata/ship.py +++ b/eos/saveddata/ship.py @@ -29,6 +29,7 @@ class Ship(ItemAttrShortcut, HandledItem): self.__item = item self.__itemModifiedAttributes = ModifiedAttributeDict() + self.__modeItems = self._getModeItems() if not isinstance(item, int): self.__buildOriginal() @@ -76,7 +77,7 @@ class Ship(ItemAttrShortcut, HandledItem): @todo: rename this """ - items = self.getModeItems() + items = self.__modeItems if items != None: if item == None or item not in items: @@ -87,11 +88,15 @@ class Ship(ItemAttrShortcut, HandledItem): return Mode(item) return None - def getModes(self): - items = self.getModeItems() - return [Mode(item) for item in items] if items else None + @property + def modeItems(self): + return self.__modeItems - def getModeItems(self): + @property + def modes(self): + return [Mode(item) for item in self.__modeItems] if self.__modeItems else None + + def _getModeItems(self): """ Returns a list of valid mode items for ship. Note that this returns the valid Item objects, not the Mode objects. Returns None if not a diff --git a/gui/builtinContextMenus/tacticalMode.py b/gui/builtinContextMenus/tacticalMode.py index 31025b397..3469017a8 100644 --- a/gui/builtinContextMenus/tacticalMode.py +++ b/gui/builtinContextMenus/tacticalMode.py @@ -16,7 +16,7 @@ class TacticalMode(ContextMenu): fitID = self.mainFrame.getActiveFit() fit = sFit.getFit(fitID) - self.modes = fit.ship.getModes() + self.modes = fit.ship.modes self.currMode = fit.mode return srcContext == "fittingShip" and self.modes is not None