1 #!/usr/bin/env python3 2 # 3 # $Id: ncurses.py 36559 2004-07-18 05:56:09Z tim_one $ 4 # 5 # Interactive test suite for the curses module. 6 # This script displays various things and the user should verify whether 7 # they display correctly. 8 # 9 10 import curses 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() 41 test_textpad(stdscr, False) 42 test_textpad(stdscr, True) 43 44 45 if __name__ == '__main__': 46 curses.wrapper(main) 47