Do not show resist column and mode picker when resists are ignored
This commit is contained in:
@@ -68,7 +68,6 @@ class FitDamageStatsGraph(FitGraph):
|
||||
tgtVectorDef = VectorDef(lengthHandle='tgtSpeed', lengthUnit='%', angleHandle='tgtAngle', angleUnit='degrees', label='Target')
|
||||
hasTargets = True
|
||||
srcExtraCols = ('Dps', 'Volley', 'Speed', 'Radius')
|
||||
tgtExtraCols = ('Target Resists', 'Speed', 'SigRadius', 'Radius')
|
||||
|
||||
@property
|
||||
def yDefs(self):
|
||||
@@ -78,6 +77,14 @@ class FitDamageStatsGraph(FitGraph):
|
||||
YDef(handle='volley', unit=None, label='Volley' if ignoreResists else 'Effective volley'),
|
||||
YDef(handle='damage', unit=None, label='Damage inflicted' if ignoreResists else 'Effective damage inflicted')]
|
||||
|
||||
@property
|
||||
def tgtExtraCols(self):
|
||||
cols = []
|
||||
if not GraphSettings.getInstance().get('ignoreResists'):
|
||||
cols.append('Target Resists')
|
||||
cols.extend(('Speed', 'SigRadius', 'Radius'))
|
||||
return cols
|
||||
|
||||
# Calculation stuff
|
||||
_normalizers = {
|
||||
('distance', 'km'): lambda v, src, tgt: None if v is None else v * 1000,
|
||||
|
||||
@@ -205,8 +205,12 @@ class GraphFrame(wx.Frame):
|
||||
|
||||
def OnGraphOptionChanged(self, event):
|
||||
event.Skip()
|
||||
self.ctrlPanel.Freeze()
|
||||
if getattr(event, 'refreshAxeLabels', False):
|
||||
self.ctrlPanel.refreshAxeLabels()
|
||||
if getattr(event, 'refreshColumns', False):
|
||||
self.ctrlPanel.refreshColumns()
|
||||
self.ctrlPanel.Thaw()
|
||||
self.clearCache(reason=GraphCacheCleanupReason.optionChanged)
|
||||
self.draw()
|
||||
|
||||
|
||||
@@ -162,8 +162,7 @@ class GraphControlPanel(wx.Panel):
|
||||
self.tgtVectorLabel.Show(False)
|
||||
|
||||
# Source and target list
|
||||
self.sourceList.refreshExtraColumns(view.srcExtraCols)
|
||||
self.targetList.refreshExtraColumns(view.tgtExtraCols)
|
||||
self.refreshColumns()
|
||||
self.targetList.Show(view.hasTargets)
|
||||
|
||||
# Inputs
|
||||
@@ -260,12 +259,15 @@ class GraphControlPanel(wx.Panel):
|
||||
# Currently we need to refresh only Y for dps graph
|
||||
selectedY = self.ySubSelection.GetSelection()
|
||||
view = self.graphFrame.getView()
|
||||
self.Freeze()
|
||||
self.ySubSelection.Clear()
|
||||
for yDef in view.yDefs:
|
||||
self.ySubSelection.Append(self.formatLabel(yDef), yDef)
|
||||
self.ySubSelection.SetSelection(selectedY)
|
||||
self.Thaw()
|
||||
|
||||
def refreshColumns(self):
|
||||
view = self.graphFrame.getView()
|
||||
self.sourceList.refreshExtraColumns(view.srcExtraCols)
|
||||
self.targetList.refreshExtraColumns(view.tgtExtraCols)
|
||||
|
||||
def OnShowLegendChange(self, event):
|
||||
event.Skip()
|
||||
|
||||
@@ -21,7 +21,7 @@ class GraphDmgIgnoreResistsMenu(ContextMenuUnconditional):
|
||||
|
||||
def activate(self, callingWindow, fullContext, i):
|
||||
self.settings.set('ignoreResists', not self.settings.get('ignoreResists'))
|
||||
wx.PostEvent(self.mainFrame, GE.GraphOptionChanged(refreshAxeLabels=True))
|
||||
wx.PostEvent(self.mainFrame, GE.GraphOptionChanged(refreshAxeLabels=True, refreshColumns=True))
|
||||
|
||||
def isChecked(self, i):
|
||||
return self.settings.get('ignoreResists')
|
||||
|
||||
@@ -8,6 +8,7 @@ from graphs.events import ResistModeChanged
|
||||
from graphs.wrapper import TargetWrapper
|
||||
from gui.contextMenu import ContextMenuCombined
|
||||
from service.const import TargetResistMode
|
||||
from service.settings import GraphSettings
|
||||
|
||||
|
||||
optionMap = OrderedDict((
|
||||
@@ -26,6 +27,8 @@ class TargetWrapperResists(ContextMenuCombined):
|
||||
def display(self, callingWindow, srcContext, mainItem, selection):
|
||||
if srcContext != 'graphTgtList':
|
||||
return False
|
||||
if GraphSettings.getInstance().get('ignoreResists'):
|
||||
return False
|
||||
if not isinstance(mainItem, TargetWrapper) or not mainItem.isFit:
|
||||
return False
|
||||
self.callingWindow = callingWindow
|
||||
|
||||
Reference in New Issue
Block a user