From f57c18810e9865f3971aadbb7a0732aac3d48f26 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Tue, 26 Aug 2014 23:59:05 +0400 Subject: [PATCH] Fix broken refresh button in item stats view --- gui/itemStats.py | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/gui/itemStats.py b/gui/itemStats.py index 80288f79a..21ef68cdc 100644 --- a/gui/itemStats.py +++ b/gui/itemStats.py @@ -298,15 +298,7 @@ class ItemParams (wx.Panel): self.item = item self.attrInfo = {} self.attrValues = {} - if self.stuff is None: - self.attrInfo.update(self.item.attributes) - self.attrValues.update(self.item.attributes) - elif self.stuff.item == self.item: - self.attrInfo.update(self.stuff.item.attributes) - self.attrValues.update(self.stuff.itemModifiedAttributes) - else: - self.attrInfo.update(self.stuff.charge.attributes) - self.attrValues.update(self.stuff.chargeModifiedAttributes) + self._fetchValues() self.m_staticline = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ) mainSizer.Add( self.m_staticline, 0, wx.EXPAND) @@ -329,6 +321,26 @@ class ItemParams (wx.Panel): self.toggleViewBtn.Bind(wx.EVT_TOGGLEBUTTON,self.ToggleViewMode) + def _fetchValues(self): + if self.stuff is None: + self.attrInfo.clear() + self.attrValues.clear() + self.attrInfo.update(self.item.attributes) + self.attrValues.update(self.item.attributes) + elif self.stuff.item == self.item: + self.attrInfo.clear() + self.attrValues.clear() + self.attrInfo.update(self.stuff.item.attributes) + self.attrValues.update(self.stuff.itemModifiedAttributes) + elif self.stuff.charge == self.item: + self.attrInfo.clear() + self.attrValues.clear() + self.attrInfo.update(self.stuff.charge.attributes) + self.attrValues.update(self.stuff.chargeModifiedAttributes) + # When item for stats window no longer exists, don't change anything + else: + return + def UpdateList(self): self.Freeze() self.paramList.ClearAll() @@ -337,6 +349,7 @@ class ItemParams (wx.Panel): self.paramList.resizeLastColumn(100) def RefreshValues(self, event): + self._fetchValues() self.UpdateList() event.Skip()