| #!/usr/bin/env python | |
| # | |
| # $Id: ncurses.py 36559 2004-07-18 05:56:09Z tim_one $ | |
| # | |
| # Interactive test suite for the curses module. | |
| # This script displays various things and the user should verify whether | |
| # they display correctly. | |
| # | |
| import curses | |
| from curses import textpad | |
| def test_textpad(stdscr, insert_mode=False): | |
| ncols, nlines = 8, 3 | |
| uly, ulx = 3, 2 | |
| if insert_mode: | |
| mode = 'insert mode' | |
| else: | |
| mode = 'overwrite mode' | |
| stdscr.addstr(uly-3, ulx, "Use Ctrl-G to end editing (%s)." % mode) | |
| stdscr.addstr(uly-2, ulx, "Be sure to try typing in the lower-right corner.") | |
| win = curses.newwin(nlines, ncols, uly, ulx) | |
| textpad.rectangle(stdscr, uly-1, ulx-1, uly + nlines, ulx + ncols) | |
| stdscr.refresh() | |
| box = textpad.Textbox(win, insert_mode) | |
| contents = box.edit() | |
| stdscr.addstr(uly+ncols+2, 0, "Text entered in the box\n") | |
| stdscr.addstr(repr(contents)) | |
| stdscr.addstr('\n') | |
| stdscr.addstr('Press any key') | |
| stdscr.getch() | |
| for i in range(3): | |
| stdscr.move(uly+ncols+2 + i, 0) | |
| stdscr.clrtoeol() | |
| def main(stdscr): | |
| stdscr.clear() | |
| test_textpad(stdscr, False) | |
| test_textpad(stdscr, True) | |
| if __name__ == '__main__': | |
| curses.wrapper(main) |