blob: 3b5def21a2156a0b79f6e76b9adbb6fc9b4779d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import curses
class TextInput:
def __init__(self):
self.widget = None
self.text = ""
self.cursor = 0
def setWidget(self, widget):
self.widget = widget
def setText(self, text, cursor):
self.text = text
self.cursor = cursor
self.widget.change()
def update(self, win):
width, height = win.getSize()
win.erase()
win.addLine((0, 0), self.text[:width])
if self.cursor >= 0 and self.cursor <= len(self.text):
win.setAttr((min(self.cursor, width-1), 0), curses.A_REVERSE)
win.noutrefresh()
|