Mercurial > pyntnclick
comparison pyntnclick/widgets/filechooser.py @ 803:bcc9277a23e6 pyntnclick
Refactor widget positioning API. Remove unused widgets
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sun, 27 Jan 2013 14:52:16 +0200 |
parents | f5e381e819a1 |
children |
comparison
equal
deleted
inserted
replaced
802:5ec7905b2365 | 803:bcc9277a23e6 |
---|---|
7 from pyntnclick.widgets.text import TextButton, LabelWidget | 7 from pyntnclick.widgets.text import TextButton, LabelWidget |
8 | 8 |
9 | 9 |
10 class FileChooser(Box): | 10 class FileChooser(Box): |
11 | 11 |
12 def __init__(self, rect, gd, curdir, ok_callback, | 12 def __init__(self, pos, gd, size, curdir, ok_callback, |
13 page_length=12, padding=2): | 13 page_length=12, padding=2): |
14 super(FileChooser, self).__init__(rect, gd) | 14 super(FileChooser, self).__init__(pos, gd, size) |
15 self.page_length = page_length | 15 self.page_length = page_length |
16 self.page = 0 | 16 self.page = 0 |
17 self.ok_callback = ok_callback | 17 self.ok_callback = ok_callback |
18 self.curdir = os.path.realpath(os.path.normpath(curdir)) | 18 self.curdir = os.path.realpath(os.path.normpath(curdir)) |
19 self.selected = None | 19 self.selected = None |
71 end_page = start_page + self.page_length | 71 end_page = start_page + self.page_length |
72 entries = self.dirs + self.files | 72 entries = self.dirs + self.files |
73 top = self.rect.top + self.padding | 73 top = self.rect.top + self.padding |
74 left = self.rect.left + self.padding | 74 left = self.rect.left + self.padding |
75 # Add current directory at the top | 75 # Add current directory at the top |
76 widget = LabelWidget((0, 0), self.gd, self.curdir[-30:], color='black') | 76 widget = LabelWidget((left, top), self.gd, self.curdir[-30:], |
77 color='black') | |
77 widget.do_prepare() | 78 widget.do_prepare() |
78 widget.rect.topleft = (left, top) | |
79 self.add(widget) | 79 self.add(widget) |
80 upbut = TextButton((left + 2 * self.padding + widget.rect.width, top), | 80 upbut = TextButton((left + 2 * self.padding + widget.rect.width, top), |
81 self.gd, u'\N{LEFTWARDS ARROW WITH HOOK}Back one level') | 81 self.gd, u'\N{LEFTWARDS ARROW WITH HOOK}Back one level') |
82 upbut.do_prepare() | 82 upbut.do_prepare() |
83 upbut.add_callback('clicked', self.change_dir, os.pardir) | 83 upbut.add_callback('clicked', self.change_dir, os.pardir) |