diff --git a/gui/builtinGraphs/base.py b/gui/builtinGraphs/base.py index 6de45d164..5211b516b 100644 --- a/gui/builtinGraphs/base.py +++ b/gui/builtinGraphs/base.py @@ -35,7 +35,7 @@ VectorDef = namedtuple('VectorDef', ('lengthHandle', 'lengthUnit', 'angleHandle' class Input: - def __init__(self, handle, unit, label, iconID, defaultValue, defaultRange, mainOnly=False, valueTt=None, rangeTt=None): + def __init__(self, handle, unit, label, iconID, defaultValue, defaultRange, mainOnly=False, mainTooltip=None, secondaryTooltip=None): self.handle = handle self.unit = unit self.label = label @@ -43,8 +43,8 @@ class Input: self.defaultValue = defaultValue self.defaultRange = defaultRange self.mainOnly = mainOnly - self.valueTt = valueTt - self.rangeTt = rangeTt + self.mainTooltip = mainTooltip + self.secondaryTooltip = secondaryTooltip class FitGraph(metaclass=ABCMeta): diff --git a/gui/builtinGraphs/fitDamageStats/graph.py b/gui/builtinGraphs/fitDamageStats/graph.py index 31ec25430..accfa57c4 100644 --- a/gui/builtinGraphs/fitDamageStats/graph.py +++ b/gui/builtinGraphs/fitDamageStats/graph.py @@ -69,7 +69,7 @@ class FitDamageStatsGraph(FitGraph): YDef(handle='volley', unit=None, label='Volley'), YDef(handle='damage', unit=None, label='Damage inflicted')] inputs = [ - Input(handle='time', unit='s', label='Time', iconID=1392, defaultValue=None, defaultRange=(0, 80)), + Input(handle='time', unit='s', label='Time', iconID=1392, defaultValue=None, defaultRange=(0, 80), secondaryTooltip='When set, uses exact damage stats at a given time\nWhen not set, uses damage stats as shown in stats panel of main window'), Input(handle='distance', unit='km', label='Distance', iconID=1391, defaultValue=50, defaultRange=(0, 100)), Input(handle='tgtSpeed', unit='%', label='Target speed', iconID=1389, defaultValue=100, defaultRange=(0, 100)), Input(handle='tgtSigRad', unit='%', label='Target signature', iconID=1390, defaultValue=100, defaultRange=(100, 200), mainOnly=True)] diff --git a/gui/graphFrame/panel.py b/gui/graphFrame/panel.py index 3a4130dc0..8c1067928 100644 --- a/gui/graphFrame/panel.py +++ b/gui/graphFrame/panel.py @@ -217,11 +217,13 @@ class GraphControlPanel(wx.Panel): def addInputField(inputDef, handledHandles, mainInput=False): handledHandles.add(inputDef.handle) fieldSizer = wx.BoxSizer(wx.HORIZONTAL) + tooltipText = (inputDef.mainTooltip if mainInput else inputDef.secondaryTooltip) or '' if mainInput: fieldTextBox = FloatRangeBox(self, self._storedRanges.get((inputDef.handle, inputDef.unit), inputDef.defaultRange)) else: fieldTextBox = FloatBox(self, self._storedConsts.get((inputDef.handle, inputDef.unit), inputDef.defaultValue)) fieldTextBox.Bind(wx.EVT_TEXT, self.OnFieldChanged) + fieldTextBox.SetToolTip(wx.ToolTip(tooltipText)) fieldSizer.Add(fieldTextBox, 0, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) fieldIcon = None if inputDef.iconID is not None: @@ -229,8 +231,10 @@ class GraphControlPanel(wx.Panel): if icon is not None: fieldIcon = wx.StaticBitmap(self) fieldIcon.SetBitmap(icon) + fieldIcon.SetToolTip(wx.ToolTip(tooltipText)) fieldSizer.Add(fieldIcon, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 3) fieldLabel = wx.StaticText(self, wx.ID_ANY, self.formatLabel(inputDef)) + fieldLabel.SetToolTip(wx.ToolTip(tooltipText)) fieldSizer.Add(fieldLabel, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 0) self.inputsSizer.Add(fieldSizer, 0, wx.EXPAND | wx.BOTTOM, 5) # Store info about added input box