equal
deleted
inserted
replaced
19 |
19 |
20 self.tw = 0 # real width of text field (minus space for arrows) |
20 self.tw = 0 # real width of text field (minus space for arrows) |
21 self.curspos = len(value) # position of cursor in value |
21 self.curspos = len(value) # position of cursor in value |
22 self.ofs = 0 # position of value beginning on screen |
22 self.ofs = 0 # position of value beginning on screen |
23 |
23 |
|
24 self._cursor_visible = True |
|
25 |
24 def resize(self, w, h): |
26 def resize(self, w, h): |
25 self.tw = self.width - 2 |
27 self.tw = self.width - 2 |
26 |
28 |
27 def draw(self, buffer): |
29 def draw(self, buffer): |
28 color = self.theme.active if self.has_focus() else self.theme.normal |
30 color = self.theme.active if self.has_focus() else self.theme.normal |
41 c = ' ' |
43 c = ' ' |
42 if len(self.value[self.ofs:]) > self.tw: |
44 if len(self.value[self.ofs:]) > self.tw: |
43 c = '>' |
45 c = '>' |
44 buffer.putch(c, self.width-1, 0) |
46 buffer.putch(c, self.width-1, 0) |
45 |
47 |
46 self._cursor = (1 + self.curspos - self.ofs, 0) |
48 self._cursor.update(1 + self.curspos - self.ofs, 0) |
47 |
49 |
48 def keypress_event(self, ev): |
50 def keypress_event(self, ev): |
49 consumed = True |
51 consumed = True |
50 if ev.keyname == 'left': |
52 if ev.keyname == 'left': |
51 self.move_left() |
53 self.move_left() |