tuikit/widgets/textfield.py
changeset 111 b055add74b18
parent 110 cf3d49cdd6e2
child 112 ce2e67e7bbb8
equal deleted inserted replaced
110:cf3d49cdd6e2 111:b055add74b18
    43                 c = '>'
    43                 c = '>'
    44             buffer.putch(c, self.width-1, 0)
    44             buffer.putch(c, self.width-1, 0)
    45 
    45 
    46             self._cursor = (1 + self.curspos - self.ofs, 0)
    46             self._cursor = (1 + self.curspos - self.ofs, 0)
    47 
    47 
    48     def keypress(self, keyname, char, mod=0):
    48     def keypress_event(self, ev):
    49         consumed = True
    49         consumed = True
    50         if keyname == 'left':
    50         if ev.keyname == 'left':
    51             self.move_left()
    51             self.move_left()
    52         elif keyname == 'right':
    52         elif ev.keyname == 'right':
    53             self.move_right()
    53             self.move_right()
    54         elif keyname == 'backspace':
    54         elif ev.keyname == 'backspace':
    55             if self.curspos > 0:
    55             if self.curspos > 0:
    56                 self.move_left()
    56                 self.move_left()
    57                 self.del_char()
    57                 self.del_char()
    58         elif keyname == 'delete':
    58         elif ev.keyname == 'delete':
    59             self.del_char()
    59             self.del_char()
    60         else:
    60         else:
    61             consumed = False
    61             consumed = False
    62 
    62 
    63         if not keyname and char:
    63         if not ev.keyname and ev.char:
    64             self.add_char(char)
    64             self.add_char(ev.char)
    65             self.move_right()
    65             self.move_right()
    66             consumed = True
    66             consumed = True
    67 
    67 
    68         if consumed:
    68         if consumed:
    69             #self.redraw()
    69             #self.redraw()
    70             return True
    70             return True
    71         Widget.keypress(self, keyname, char, mod)
    71         Widget.keypress_event(self, ev)
    72 
    72 
    73     def move_left(self):
    73     def move_left(self):
    74         if self.curspos - self.ofs > 1 or (self.ofs == 0 and self.curspos == 1):
    74         if self.curspos - self.ofs > 1 or (self.ofs == 0 and self.curspos == 1):
    75             # move cursor
    75             # move cursor
    76             self.curspos -= 1
    76             self.curspos -= 1