Mercurial > boomslang
diff pyntnclick/widgets/toollist.py @ 559:b7d8b89de71a pyntnclick
Rip out keyboard handling
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sat, 11 Feb 2012 14:42:24 +0200 |
parents | f9f04cb35697 |
children | 1aac5a3b17e1 |
line wrap: on
line diff
--- a/pyntnclick/widgets/toollist.py Sat Feb 11 14:33:23 2012 +0200 +++ b/pyntnclick/widgets/toollist.py Sat Feb 11 14:42:24 2012 +0200 @@ -1,5 +1,3 @@ -from pygame.constants import KEYUP, K_1, K_PAGEDOWN, K_PAGEUP - from pyntntclick.widgets.base import Container from pyntntclick.widgets.text import TextButton @@ -7,37 +5,29 @@ class ToolListWidget(Container): """List of other widgets, with some paging trickery""" - def __init__(self, rect, widget_list, page_length, start_key=K_1, - padding=2): + def __init__(self, rect, widget_list, page_length, + padding=2): widget_list.sort(key=lambda w: w.text) self.widget_list = widget_list self.page_length = page_length self.padding = padding self.page = 0 - self.start_key = start_key super(ToolListWidget, self).__init__(rect) self.prev_but = None self.next_but = None self.fill_page() - # We do this to avoid needing to worry about focus too much - self.add_callback(KEYUP, self.handle_key) self.focussable = True def fill_page(self): for widget in self.children[:]: self.remove(widget) - self.hot_keys = {} start_page = self.page * self.page_length end_page = start_page + self.page_length button_height = self.rect.top + self.padding button_left = self.rect.left + self.padding - key = self.start_key for widget in self.widget_list[start_page:end_page]: widget.rect.topleft = (button_left, button_height) self.add(widget) - if key: - self.hot_keys[key] = widget - key += 1 button_height += widget.rect.height + self.padding if not self.prev_but: self.prev_but = TextButton((button_left, button_height), @@ -67,18 +57,6 @@ widget.rect.width = self.rect.width - 2 widget.prepare() - def handle_key(self, ev, widget): - if hasattr(self.parent, 'paused') and self.parent.paused: - # No hotjets when pasued - return False - if ev.key in self.hot_keys: - widget = self.hot_keys[ev.key] - return widget.forced_click() - elif ev.key == K_PAGEDOWN and self.prev_but: - return self.prev_but.forced_click() - elif ev.key == K_PAGEUP and self.next_but: - return self.next_but.forced_click() - def change_page(self, ev, widget, change): self.page += change self.fill_page()