diff options
Diffstat (limited to 'Demo/curses/ncurses.py')
-rw-r--r-- | Demo/curses/ncurses.py | 273 |
1 files changed, 0 insertions, 273 deletions
diff --git a/Demo/curses/ncurses.py b/Demo/curses/ncurses.py deleted file mode 100644 index dedde29..0000000 --- a/Demo/curses/ncurses.py +++ /dev/null @@ -1,273 +0,0 @@ -#!/usr/bin/env python3 -# -# $Id$ -# -# (n)curses exerciser in Python, an interactive test for the curses -# module. Currently, only the panel demos are ported. - -import curses -from curses import panel - -def wGetchar(win = None): - if win is None: win = stdscr - return win.getch() - -def Getchar(): - wGetchar() - -# -# Panels tester -# -def wait_a_while(): - if nap_msec == 1: - Getchar() - else: - curses.napms(nap_msec) - -def saywhat(text): - stdscr.move(curses.LINES - 1, 0) - stdscr.clrtoeol() - stdscr.addstr(text) - -def mkpanel(color, rows, cols, tly, tlx): - win = curses.newwin(rows, cols, tly, tlx) - pan = panel.new_panel(win) - if curses.has_colors(): - if color == curses.COLOR_BLUE: - fg = curses.COLOR_WHITE - else: - fg = curses.COLOR_BLACK - bg = color - curses.init_pair(color, fg, bg) - win.bkgdset(ord(' '), curses.color_pair(color)) - else: - win.bkgdset(ord(' '), curses.A_BOLD) - - return pan - -def pflush(): - panel.update_panels() - curses.doupdate() - -def fill_panel(pan): - win = pan.window() - num = pan.userptr()[1] - - win.move(1, 1) - win.addstr("-pan%c-" % num) - win.clrtoeol() - win.box() - - maxy, maxx = win.getmaxyx() - for y in range(2, maxy - 1): - for x in range(1, maxx - 1): - win.move(y, x) - win.addch(num) - -def demo_panels(win): - global stdscr, nap_msec, mod - stdscr = win - nap_msec = 1 - mod = ["test", "TEST", "(**)", "*()*", "<-->", "LAST"] - - stdscr.refresh() - - for y in range(0, curses.LINES - 1): - for x in range(0, curses.COLS): - stdscr.addstr("%d" % ((y + x) % 10)) - for y in range(0, 1): - p1 = mkpanel(curses.COLOR_RED, - curses.LINES // 2 - 2, - curses.COLS // 8 + 1, - 0, - 0) - p1.set_userptr("p1") - - p2 = mkpanel(curses.COLOR_GREEN, - curses.LINES // 2 + 1, - curses.COLS // 7, - curses.LINES // 4, - curses.COLS // 10) - p2.set_userptr("p2") - - p3 = mkpanel(curses.COLOR_YELLOW, - curses.LINES // 4, - curses.COLS // 10, - curses.LINES // 2, - curses.COLS // 9) - p3.set_userptr("p3") - - p4 = mkpanel(curses.COLOR_BLUE, - curses.LINES // 2 - 2, - curses.COLS // 8, - curses.LINES // 2 - 2, - curses.COLS // 3) - p4.set_userptr("p4") - - p5 = mkpanel(curses.COLOR_MAGENTA, - curses.LINES // 2 - 2, - curses.COLS // 8, - curses.LINES // 2, - curses.COLS // 2 - 2) - p5.set_userptr("p5") - - fill_panel(p1) - fill_panel(p2) - fill_panel(p3) - fill_panel(p4) - fill_panel(p5) - p4.hide() - p5.hide() - pflush() - saywhat("press any key to continue") - wait_a_while() - - saywhat("h3 s1 s2 s4 s5;press any key to continue") - p1.move(0, 0) - p3.hide() - p1.show() - p2.show() - p4.show() - p5.show() - pflush() - wait_a_while() - - saywhat("s1; press any key to continue") - p1.show() - pflush() - wait_a_while() - - saywhat("s2; press any key to continue") - p2.show() - pflush() - wait_a_while() - - saywhat("m2; press any key to continue") - p2.move(curses.LINES // 3 + 1, curses.COLS // 8) - pflush() - wait_a_while() - - saywhat("s3; press any key to continue") - p3.show() - pflush() - wait_a_while() - - saywhat("m3; press any key to continue") - p3.move(curses.LINES // 4 + 1, curses.COLS // 15) - pflush() - wait_a_while() - - saywhat("b3; press any key to continue") - p3.bottom() - pflush() - wait_a_while() - - saywhat("s4; press any key to continue") - p4.show() - pflush() - wait_a_while() - - saywhat("s5; press any key to continue") - p5.show() - pflush() - wait_a_while() - - saywhat("t3; press any key to continue") - p3.top() - pflush() - wait_a_while() - - saywhat("t1; press any key to continue") - p1.show() - pflush() - wait_a_while() - - saywhat("t2; press any key to continue") - p2.show() - pflush() - wait_a_while() - - saywhat("t3; press any key to continue") - p3.show() - pflush() - wait_a_while() - - saywhat("t4; press any key to continue") - p4.show() - pflush() - wait_a_while() - - for itmp in range(0, 6): - w4 = p4.window() - w5 = p5.window() - - saywhat("m4; press any key to continue") - w4.move(curses.LINES // 8, 1) - w4.addstr(mod[itmp]) - p4.move(curses.LINES // 6, itmp * curses.COLS // 8) - w5.move(curses.LINES // 6, 1) - w5.addstr(mod[itmp]) - pflush() - wait_a_while() - - saywhat("m5; press any key to continue") - w4.move(curses.LINES // 6, 1) - w4.addstr(mod[itmp]) - p5.move(curses.LINES // 3 - 1, itmp * 10 + 6) - w5.move(curses.LINES // 8, 1) - w5.addstr(mod[itmp]) - pflush() - wait_a_while() - - saywhat("m4; press any key to continue") - p4.move(curses.LINES // 6, (itmp + 1) * curses.COLS // 8) - pflush() - wait_a_while() - - saywhat("t5; press any key to continue") - p5.top() - pflush() - wait_a_while() - - saywhat("t2; press any key to continue") - p2.top() - pflush() - wait_a_while() - - saywhat("t1; press any key to continue") - p1.top() - pflush() - wait_a_while() - - saywhat("d2; press any key to continue") - del p2 - pflush() - wait_a_while() - - saywhat("h3; press any key to continue") - p3.hide() - pflush() - wait_a_while() - - saywhat("d1; press any key to continue") - del p1 - pflush() - wait_a_while() - - saywhat("d4; press any key to continue") - del p4 - pflush() - wait_a_while() - - saywhat("d5; press any key to continue") - del p5 - pflush() - wait_a_while() - if nap_msec == 1: - break - nap_msec = 100 - -# -# one fine day there'll be the menu at this place -# -curses.wrapper(demo_panels) |