fixed cursor and q for quit in menu
[public/library.git] / cursestest.py
index 6ba6eb2..a1e9592 100755 (executable)
@@ -17,4 +17,43 @@ def showBold(stdscr):
         stdscr.refresh()
         stdscr.getch()
 
-curses.wrapper(showBold)
+def simplePrintw(stdscr):
+    mesg = "Just a string"
+
+    (row,col) = stdscr.getmaxyx()
+    stdscr.addstr(row/2, (col-len(mesg))/2, mesg)
+    stdscr.addstr(row-2, 0, "This screen has " +str(row)+ " rows and " +str(col)+ " columns\n")
+
+    stdscr.addstr("Try resizing window and running it again")
+    stdscr.refresh()
+    stdscr.getch()
+
+def menutest(w, l):
+    curses.curs_set(0)
+    (rows,cols)=w.getmaxyx()
+    i=0
+    for mitem in l:
+        w.addstr(i,0,mitem)
+        i+=1
+
+    highlight=0
+    ch=w.getch()
+    while (ch!=113): # leave on q
+        if ch==curses.KEY_UP:
+            if highlight!=0:
+                w.chgat(highlight,0, cols, 0)
+                highlight -= 1
+                w.chgat(highlight,0, cols, curses.A_REVERSE)
+        if ch==curses.KEY_DOWN:
+            if highlight!=len(l)-1:
+                w.chgat(highlight,0, 16, 0)
+                highlight += 1
+                w.chgat(highlight,0, 16, curses.A_REVERSE)
+        w.refresh()
+        ch = w.getch()
+    
+    curses.curs_set(1)
+
+
+menu = ["item 1", "poo", "add book/article/stuff", "update", "remove"]
+curses.wrapper(menutest, menu)