--- a/tuikit/widgets/textfield.py Fri Mar 28 19:58:59 2014 +0100
+++ b/tuikit/widgets/textfield.py Wed Sep 03 19:08:21 2014 +0200
@@ -7,10 +7,9 @@
def __init__(self, value=''):
Widget.__init__(self)
+ self.allow_focus = True
self.sizereq.update(10, 1)
- self.allow_focus = True
-
self.code = locale.getpreferredencoding()
if not isinstance(value, str):
value = str(value, self.code)
@@ -25,11 +24,9 @@
def resize(self, w, h):
self.tw = self.width - 2
- def set_theme(self, theme):
- self.color = theme.normal
-
def draw(self, buffer):
- with buffer.attr(self.color):
+ color = self.theme.active if self.has_focus() else self.theme.normal
+ with buffer.attr(color):
# draw value
val = self.value + ' ' * self.tw # add spaces to fill rest of field
val = val[self.ofs : self.ofs + self.tw] # cut value - begin from ofs, limit to tw chars
@@ -49,8 +46,7 @@
self._cursor = (1 + self.curspos - self.ofs, 0)
def keypress(self, keyname, char, mod=0):
- Widget.keypress(self, keyname, char, mod)
- accepted = True
+ consumed = True
if keyname == 'left':
self.move_left()
elif keyname == 'right':
@@ -62,16 +58,17 @@
elif keyname == 'delete':
self.del_char()
else:
- accepted = False
+ consumed = False
if char:
self.add_char(char)
self.move_right()
- accepted = True
+ consumed = True
- #if accepted:
+ if consumed:
#self.redraw()
- return accepted
+ return True
+ Widget.keypress(self, keyname, char, mod)
def move_left(self):
if self.curspos - self.ofs > 1 or (self.ofs == 0 and self.curspos == 1):