tuikit/editfield.py
changeset 9 7175ed629a76
parent 8 fcaabd817774
child 10 ec1d47e6fe09
equal deleted inserted replaced
8:fcaabd817774 9:7175ed629a76
    48 
    48 
    49         self.cursor = (1 + self.pos - self.ofs, 0)
    49         self.cursor = (1 + self.pos - self.ofs, 0)
    50 
    50 
    51 
    51 
    52     def on_keypress(self, keyname, char):
    52     def on_keypress(self, keyname, char):
       
    53         handled = False
    53         if keyname:
    54         if keyname:
       
    55             handled = True
    54             if keyname == 'left':
    56             if keyname == 'left':
    55                 self.move_left()
    57                 self.move_left()
    56 
    58 
    57             if keyname == 'right':
    59             elif keyname == 'right':
    58                 self.move_right()
    60                 self.move_right()
    59 
    61 
    60             if keyname == 'backspace':
    62             elif keyname == 'backspace':
    61                 if self.pos > 0:
    63                 if self.pos > 0:
    62                     self.move_left()
    64                     self.move_left()
    63                     self.del_char()
    65                     self.del_char()
    64 
    66 
    65             if keyname == 'delete':
    67             elif keyname == 'delete':
    66                 self.del_char()
    68                 self.del_char()
       
    69 
       
    70             else:
       
    71                 handled = False
    67 
    72 
    68         if char:
    73         if char:
    69             self.add_char(char)
    74             self.add_char(char)
    70             self.move_right()
    75             self.move_right()
       
    76             handled = True
    71 
    77 
    72         self.redraw()
    78         self.redraw()
       
    79 
       
    80         return handled
    73 
    81 
    74 
    82 
    75     def move_left(self):
    83     def move_left(self):
    76         if self.pos - self.ofs > 1 or (self.ofs == 0 and self.pos == 1):
    84         if self.pos - self.ofs > 1 or (self.ofs == 0 and self.pos == 1):
    77             # move cursor
    85             # move cursor