def _set_ranges(self): rmin = self.min ranges = [] while rmin < self.max: rmax = self._exp_range(rmin, range_scale_factor) ranges.append(Range(rmin, rmax)) rmin = rmax # sometimes the last range might be smaller than the next to the last range # fix that if it happens (penultimate, ultimate) = ranges[-2:] if ultimate.span < penultimate.span: # create a new range to span both ranges merged_range = Range(penultimate.min, ultimate.max) # remove the last two ranges ranges = ranges[:-2] # and replace them with the merged range ranges.append(merged_range) for r in ranges: self.add_item(r.id, r)
def setUp(self): self.r = Range(0, 1)