From 882e39417d7fbd93a753ae26cc80c3c7f4744c11 Mon Sep 17 00:00:00 2001 From: Ryan Holmes Date: Wed, 28 Nov 2018 00:58:06 -0500 Subject: [PATCH] Include spoolup in the tooltip of DPS --- gui/builtinStatsViews/firepowerViewFull.py | 30 ++++++++++++++-------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/gui/builtinStatsViews/firepowerViewFull.py b/gui/builtinStatsViews/firepowerViewFull.py index 68a935326..5d57c62a9 100644 --- a/gui/builtinStatsViews/firepowerViewFull.py +++ b/gui/builtinStatsViews/firepowerViewFull.py @@ -147,28 +147,36 @@ class FirepowerViewFull(StatsView): self.stEff.Show() else: self.stEff.Hide() + + def dpsToolTip(preSpool, postSpool, fmt_options): + if preSpool == postSpool: + return "{}".format(formatAmount(preSpool, *fmt_options)) + else: + return "{}-{}".format(formatAmount(preSpool, *fmt_options), formatAmount(postSpool, *fmt_options)) - stats = (("labelFullDpsWeapon", lambda: fit.getWeaponDps(spool=True), 3, 0, 0, "%s DPS", None), - ("labelFullDpsDrone", lambda: fit.getDroneDps(), 3, 0, 0, "%s DPS", None), - ("labelFullVolleyTotal", lambda: fit.getTotalVolley(spool=True), 3, 0, 0, "%s", "Volley: %.1f"), - ("labelFullDpsTotal", lambda: fit.getTotalDps(spool=True), 3, 0, 0, "%s", None)) + stats = (("labelFullDpsWeapon", lambda: fit.getWeaponDps(spool=False), lambda: fit.getWeaponDps(spool=True), 3, 0, 0, "%s DPS", None), + ("labelFullDpsDrone", lambda: fit.getDroneDps(), lambda: fit.getDroneDps(), 3, 0, 0, "%s DPS", None), + ("labelFullVolleyTotal", lambda: fit.getTotalVolley(spool=False), lambda: fit.getTotalVolley(spool=True), 3, 0, 0, "%s", "Volley: %.1f"), + ("labelFullDpsTotal", lambda: fit.getTotalDps(spool=False), lambda: fit.getTotalDps(spool=True), 3, 0, 0, "%s", "DPS: %s")) # See GH issue # # if fit is not None and fit.totalYield > 0: # self.miningyield.Show() # else: # self.miningyield.Hide() + showPostSpool = True counter = 0 - for labelName, value, prec, lowest, highest, valueFormat, altFormat in stats: + for labelName, preSpoolVal, postSpoolVal, prec, lowest, highest, valueFormat, altFormat in stats: label = getattr(self, labelName) - value = value() if fit is not None else 0 - value = value if value is not None else 0 - if self._cachedValues[counter] != value: - valueStr = formatAmount(value, prec, lowest, highest) + val = (postSpoolVal() if showPostSpool else preSpoolVal()) if fit is not None else 0 + val = val if val is not None else 0 + if self._cachedValues[counter] != val: + valueStr = formatAmount(val, prec, lowest, highest) label.SetLabel(valueFormat % valueStr) - tipStr = valueFormat % valueStr if altFormat is None else altFormat % value + valueStrTooltip = dpsToolTip(preSpoolVal(), postSpoolVal(), (prec, lowest, highest)) + tipStr = valueFormat % valueStrTooltip # if altFormat is None else altFormat % val label.SetToolTip(wx.ToolTip(tipStr)) - self._cachedValues[counter] = value + self._cachedValues[counter] = val counter += 1 self.panel.Layout()