def Draw(self, dc): # return self.DrawGC(dc) nod = self.nod shift = self.shift # to accommodate for the pen width vmiddle = self.GetClientSize()[1] / 2 dc.SetBackgroundMode(wx.SOLID) dc.SetBackground(wx.Brush(self.va.colBg)) dc.Clear() if not self.mpp: # unknown mpp => blank return dc.SetFont(self.va.font) # before GetLineWidth(), which needs it dc.SetTextForeground(self.va.colFg) dc.SetTextBackground(self.va.colBg) length, actual = self.GetLineWidth(dc) charSize = dc.GetTextExtent("M") dc.DrawText(" " + units.to_string_si_prefix(actual) + "m", shift + length, vmiddle - charSize[1] / 2) pen = wx.Pen(wx.BLACK, 2) pen.Cap = wx.CAP_PROJECTING dc.SetPen(pen) # main line lines = [(shift, vmiddle, shift + length, vmiddle)] # nods at each end lines += [(shift, vmiddle - nod, shift, vmiddle + nod)] lines += [(shift + length, vmiddle - nod, shift + length, vmiddle + nod)] dc.DrawLineList(lines)
def test_to_string_si_prefix(self): # (input) (expected output) values = [((1,), "1"), ((-1.234,), "-1.234"), ((-1234,), "-1.234k"), ((1600,), "1.6k"), ((-1600,), "-1.6k"), ((0.0001236,), "123.6µ"), ((0.0012,), "1.2m"), ((0,), "0"), ] for (i, eo) in values: o = units.to_string_si_prefix(*i) self.assertEquals(o, eo, "%f is %s while expected %s" % (i[0], o, eo))
def avHV(self, value): label = "HV: %sV" % units.to_string_si_prefix(value) self.LegendHV.SetLabel(label) # vim:tabstop=4:shiftwidth=4:expandtab:spelllang=en_gb:spell:
def avDwellTime(self, value): label = "Dwell: %ss" % units.to_string_si_prefix(value) self.LegendDwell.SetLabel(label)
def avExposureTime(self, value): label = "Exposure: %ss" % units.to_string_si_prefix(value) self.LegendET.SetLabel(label)
def UpdateHFW(self): hfw = self.viewmodel.mpp.value * self.GetClientSize()[0] label = "HFW: %sm" % units.to_string_si_prefix(hfw) self.hfwDisplay.SetLabel(label)