diff --git a/.gitignore b/.gitignore index ce83314fb..8f34001cb 100644 --- a/.gitignore +++ b/.gitignore @@ -90,6 +90,7 @@ target/ # pyenv .python-version +PyfaEnv/ # celery beat schedule file celerybeat-schedule @@ -123,3 +124,6 @@ gitversion *.fsdbinary /locale/progress.json + +# vscode settings +.vscode \ No newline at end of file diff --git a/graphs/data/fitShieldRegen/graph.py b/graphs/data/fitShieldRegen/graph.py index e9bd1c67c..a985a1e4f 100644 --- a/graphs/data/fitShieldRegen/graph.py +++ b/graphs/data/fitShieldRegen/graph.py @@ -66,7 +66,7 @@ class FitShieldRegenGraph(FitGraph): ('shieldAmount', '%'): lambda v, src, tgt: v / 100 * src.item.ship.getModifiedItemAttr('shieldCapacity'), ('shieldAmountT0', '%'): lambda v, src, tgt: None if v is None else v / 100 * src.item.ship.getModifiedItemAttr('shieldCapacity'), # Needed only for "x mark" support, to convert EHP x into normalized value - ('shieldAmount', 'EHP'): lambda v, src, tgt: v / src.item.damagePattern.effectivify(src.item, 1, 'shield')} + ('shieldAmount', 'EHP'): lambda v, src, tgt: v / src.item.damagePattern.effectivify(src.item.ship, 1, 'shield')} _limiters = { 'shieldAmount': lambda src, tgt: (0, src.item.ship.getModifiedItemAttr('shieldCapacity')), 'shieldAmountT0': lambda src, tgt: (0, src.item.ship.getModifiedItemAttr('shieldCapacity'))} @@ -77,5 +77,5 @@ class FitShieldRegenGraph(FitGraph): ('shieldAmount', 'shieldRegen'): ShieldAmount2ShieldRegenGetter} _denormalizers = { ('shieldAmount', '%'): lambda v, src, tgt: v * 100 / src.item.ship.getModifiedItemAttr('shieldCapacity'), - ('shieldAmount', 'EHP'): lambda v, src, tgt: src.item.damagePattern.effectivify(src.item, v, 'shield'), - ('shieldRegen', 'EHP/s'): lambda v, src, tgt: src.item.damagePattern.effectivify(src.item, v, 'shield')} + ('shieldAmount', 'EHP'): lambda v, src, tgt: src.item.damagePattern.effectivify(src.item.ship, v, 'shield'), + ('shieldRegen', 'EHP/s'): lambda v, src, tgt: src.item.damagePattern.effectivify(src.item.ship, v, 'shield')} diff --git a/gui/builtinItemStatsViews/itemCompare.py b/gui/builtinItemStatsViews/itemCompare.py index 430ee18d0..c23e93c19 100644 --- a/gui/builtinItemStatsViews/itemCompare.py +++ b/gui/builtinItemStatsViews/itemCompare.py @@ -36,6 +36,9 @@ class ItemCompare(wx.Panel): self.item = item self.items = sorted(items, key=defaultSort) self.attrs = {} + self.HighlightOn = wx.Colour(255, 255, 0, wx.ALPHA_OPAQUE) + self.HighlightOff = wx.Colour(-1, -1, -1, -127) + self.highlightedRows = [] # get a dict of attrName: attrInfo of all unique attributes across all items for item in self.items: @@ -88,6 +91,24 @@ class ItemCompare(wx.Panel): self.toggleViewBtn.Bind(wx.EVT_TOGGLEBUTTON, self.ToggleViewMode) self.Bind(wx.EVT_LIST_COL_CLICK, self.SortCompareCols) + self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.HighlightRow) + + def HighlightRow(self, event): + itemIdx = event.GetIndex() + item = self.paramList.GetItem(itemIdx) + if itemIdx in self.highlightedRows: + item.SetBackgroundColour(self.HighlightOff) + f = item.GetFont() + f.SetWeight(wx.FONTWEIGHT_NORMAL) + item.SetFont(f) + self.highlightedRows.remove(itemIdx) + else: + item.SetBackgroundColour(self.HighlightOn) + item.SetFont(item.GetFont().MakeBold()) + self.highlightedRows.append(itemIdx) + self.paramList.SetItem(item) + + def SortCompareCols(self, event): self.Freeze() self.paramList.ClearAll()