Mercurial > mamba
changeset 303:af202e15167d
Multi-line messages
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Fri, 16 Sep 2011 17:35:50 +0200 |
parents | f44aa0abf0a5 |
children | 49fe66680ff8 |
files | mamba/widgets/messagebox.py |
diffstat | 1 files changed, 15 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/mamba/widgets/messagebox.py Fri Sep 16 16:49:03 2011 +0200 +++ b/mamba/widgets/messagebox.py Fri Sep 16 17:35:50 2011 +0200 @@ -17,25 +17,23 @@ def prepare(self): cont = TextWidget((0, 0), "Press [OK] or Enter to continue") - message = TextWidget((0, 0), self.text, color=self.color) - width = max(cont.rect.width, message.rect.width) - if width > message.rect.width: - cont_pos = (self.rect.left + 5, - self.rect.top + 10 + message.rect.height) - message_pos = (self.rect.left + 5 + width / 2 - - message.rect.width / 2, self.rect.top + 5) - else: - message_pos = (self.rect.left + 5, self.rect.top + 5) - cont_pos = (self.rect.left + 5 + width / 2 - - message.rect.width / 2, - self.rect.top + 10 + message.rect.height) - message.rect.topleft = message_pos - cont.rect.topleft = cont_pos - self.add(message) - self.add(cont) + widgets = [] + width = cont.rect.width + for line in self.text.split('\n'): + message = TextWidget((0, 0), line, color=self.color) + widgets.append(message) + width = max(width, message.rect.width) + widgets.append(cont) + top = self.rect.top + 10 + left = self.rect.left + 5 + for widget in widgets: + pos = (left + width / 2 - widget.rect.width / 2, top) + widget.rect.topleft = pos + top += widget.rect.height + 5 + self.add(widget) self.ok_button = ok_button = TextButton((0, 0), 'OK') ok_pos = (self.rect.left + 5 + width / 2 - ok_button.rect.width / 2, - cont_pos[1] + 5 + cont.rect.height) + top + 5) ok_button.rect.topleft = ok_pos ok_button.add_callback('clicked', self.close) self.add(ok_button)