| 11 | from curses import textpad |
| 12 | |
| 13 | def test_textpad(stdscr, insert_mode=False): |
| 14 | ncols, nlines = 8, 3 |
| 15 | uly, ulx = 3, 2 |
| 16 | if insert_mode: |
| 17 | mode = 'insert mode' |
| 18 | else: |
| 19 | mode = 'overwrite mode' |
| 20 | |
| 21 | stdscr.addstr(uly-3, ulx, "Use Ctrl-G to end editing (%s)." % mode) |
| 22 | stdscr.addstr(uly-2, ulx, "Be sure to try typing in the lower-right corner.") |
| 23 | win = curses.newwin(nlines, ncols, uly, ulx) |
| 24 | textpad.rectangle(stdscr, uly-1, ulx-1, uly + nlines, ulx + ncols) |
| 25 | stdscr.refresh() |
| 26 | |
| 27 | box = textpad.Textbox(win, insert_mode) |
| 28 | contents = box.edit() |
| 29 | stdscr.addstr(uly+ncols+2, 0, "Text entered in the box\n") |
| 30 | stdscr.addstr(repr(contents)) |
| 31 | stdscr.addstr('\n') |
| 32 | stdscr.addstr('Press any key') |
| 33 | stdscr.getch() |
| 34 | |
| 35 | for i in range(3): |
| 36 | stdscr.move(uly+ncols+2 + i, 0) |
| 37 | stdscr.clrtoeol() |
| 38 | |
| 39 | def main(stdscr): |
| 40 | stdscr.clear() |