annotate pyntnclick/widgets/listbox.py @ 576:1b1ab71535bd pyntnclick

Classify constants, which involves a whole bunch of XXX comments
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 11 Feb 2012 16:02:06 +0200
parents b7d8b89de71a
children 1aac5a3b17e1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
558
f9f04cb35697 s/mamba/pyntnclick/
Stefano Rivera <stefano@rivera.za.net>
parents: 555
diff changeset
1 from pyntnclick.widgets.base import Box
f9f04cb35697 s/mamba/pyntnclick/
Stefano Rivera <stefano@rivera.za.net>
parents: 555
diff changeset
2 from pyntnclick.widgets.toollist import ToolListWidget
f9f04cb35697 s/mamba/pyntnclick/
Stefano Rivera <stefano@rivera.za.net>
parents: 555
diff changeset
3 from pyntnclick.widgets.text import TextWidget, TextButton
555
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
4
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
5
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
6 class ListBox(Box):
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
7
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
8 def __init__(self, rect, text, widget_list, page_length=8):
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
9 super(ListBox, self).__init__(rect)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
10 self.message = TextWidget(rect, text)
559
b7d8b89de71a Rip out keyboard handling
Stefano Rivera <stefano@rivera.za.net>
parents: 558
diff changeset
11 self.toolbar = ToolListWidget(rect, widget_list, page_length)
555
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
12 self.prepare()
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
13 self.modal = True
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
14
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
15 def prepare(self):
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
16 width = max(self.toolbar.rect.width, self.message.rect.width)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
17 if width > self.message.rect.width:
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
18 message_pos = (self.rect.left + width / 2
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
19 - self.message.rect.width / 2, self.rect.top)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
20 else:
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
21 message_pos = (self.rect.left, self.rect.top + 5)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
22 tool_pos = (self.rect.left,
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
23 self.rect.top + self.message.rect.height + 2)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
24 self.message.rect.topleft = message_pos
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
25 self.toolbar.rect.topleft = tool_pos
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
26 self.toolbar.fill_page() # Fix alignment
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
27 self.add(self.message)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
28 self.add(self.toolbar)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
29 self.ok_button = ok_button = TextButton((0, 0), 'OK')
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
30 ok_pos = (self.rect.left + width / 2 - ok_button.rect.width / 2,
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
31 tool_pos[1] + 2 + self.toolbar.rect.height)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
32 ok_button.rect.topleft = ok_pos
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
33 ok_button.add_callback('clicked', self.close)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
34 self.add(ok_button)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
35 self.rect.height += 5
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
36
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
37 def close(self, ev, widget):
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
38 if hasattr(self.parent, 'paused'):
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
39 self.parent.paused = False
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
40 self.parent.remove(self)
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
41 return True
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
42
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
43 def grab_focus(self):
c0474fe18b96 Copy in widgets from mamba (currently unused)
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
44 return self.ok_button.grab_focus()