1 # Display card output and retreive input
7 from .deck import Status
10 def disp_card(stdscr, stack, headers, obj):
12 side_title = headers[obj.getSide()]
13 stdscr.addstr(side_title + "\n")
14 for i in range(len(side_title)):
16 stdscr.addstr("\n" + str(stack[obj.getIdx()][obj.getSide()]))
18 (mlines, mcols) = stdscr.getmaxyx()
23 stdscr.insch(mlines, mcols, str(obj.getIdx() + 1))
24 stdscr.insch(mlines, mcols+1, '-')
25 if obj.getSide() == 0:
26 stdscr.insch(mlines, mcols+2, '1')
28 stdscr.insch(mlines, mcols+2, '2')
29 stdscr.insch(mlines, mcols+3, '/')
30 stdscr.insch(mlines, mcols+4, str(len(stack)))
31 stdscr.insstr(mlines, 1, stack[obj.getIdx()].getStar())
36 def get_key(stdscr, stack, headers):
39 disp_card(stdscr, stack, headers, idx)
44 if key == "q" or key == os.linesep:
46 elif key in ["l", "KEY_LEFT"]:
49 disp_card(stdscr, stack, headers, idx)
50 elif key in ["h", "KEY_RIGHT"]:
53 disp_card(stdscr, stack, headers, idx)
54 elif key in ["j", "k", "KEY_UP", "KEY_DOWN"]:
56 disp_card(stdscr, stack, headers, idx)
57 elif key in ["i", "/"]:
58 stack[idx.getIdx()].toggleStar()
59 disp_card(stdscr, stack, headers, idx)