From 0cc646bab9443d57689573c431bc9881a928362c Mon Sep 17 00:00:00 2001 From: blitzmann Date: Sun, 5 Nov 2017 02:29:58 -0500 Subject: [PATCH] Fix gauge resetting to 0 each time (should figure out how to utilize the existing set range and value, but for now this works) --- gui/pyfa_gauge.py | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/gui/pyfa_gauge.py b/gui/pyfa_gauge.py index b41cab8d2..8a1ef61a5 100644 --- a/gui/pyfa_gauge.py +++ b/gui/pyfa_gauge.py @@ -186,17 +186,30 @@ class PyGauge(wx.Window): def SetValueRange(self, value, range, reinit=False): """ Set both value and range of the gauge. """ + range_ = float(range) - self.SetRange(range, reinit, animate=False) - self.SetValue(value, animate=False) + if range_ <= 0: + self._max_range = 0.01 + else: + self._max_range = range_ + + value = float(value) + + self._value = value + if value < 0: + self._value = float(0) + + if reinit is False: + self._old_percentage = self._percentage + self._percentage = (self._value / self._max_range) * 100 + + else: + self._old_percentage = self._percentage + self._percentage = 0 self.Animate() self._tooltip.SetTip("%.2f/%.2f" % - (self._value, - self._max_range if self._max_range > 0.01 else 0)) - - def OnEraseBackground(self, event): - pass + (self._value, self._max_range if float(self._max_range) > 0.01 else 0)) def OnPaint(self, event): dc = wx.BufferedPaintDC(self)