(self, steps, relative=True)
| 2029 | w//10, int((h*8)/10 - markerpos*(cs*3/2) - cs/2)] |
| 2030 | |
| 2031 | def move_selection(self, steps, relative=True): |
| 2032 | # FIXME: pageup/pagedown can occasionally cause "Hello bug!" to be displayed |
| 2033 | if relative: |
| 2034 | self.selpos += steps |
| 2035 | else: |
| 2036 | self.selpos = steps |
| 2037 | self.selpos = min(len(self.options)-1, max(0, self.selpos)) |
| 2038 | if self.disppos >= self.selpos and not self.disppos == 0: |
| 2039 | self.disppos = max(0, self.selpos-1) |
| 2040 | if self.disppos <= self.selpos - self.pagesize +1\ |
| 2041 | and not self.disppos == len(self.options) - self.pagesize: |
| 2042 | self.disppos = max(0, min(len(self.options), self.selpos+1) - self.pagesize + 1) |
| 2043 | |
| 2044 | if not self.selpos in (0, len(self.options)-1) and self.options[self.selpos] == 'Blank line': |
| 2045 | self.move_selection(int(steps > 0)*2-1) |
| 2046 | self.update_labels() |
| 2047 | |
| 2048 | def on_key_press(self, sym, mod): |
| 2049 | if sym == key.ESCAPE: |
no test coverage detected