1#!/usr/bin/env python 2##===-- sandbox.py -------------------------------------------*- Python -*-===## 3## 4# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5# See https://llvm.org/LICENSE.txt for license information. 6# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7## 8##===----------------------------------------------------------------------===## 9 10 11import curses 12 13import os 14import signal 15import sys 16 17try: 18 import queue 19except ImportError: 20 import Queue as queue 21 22import cui 23 24event_queue = None 25 26 27class SandboxUI(cui.CursesUI): 28 29 def __init__(self, screen, event_queue): 30 super(SandboxUI, self).__init__(screen, event_queue) 31 32 height, width = self.screen.getmaxyx() 33 w2 = width / 2 34 h2 = height / 2 35 36 self.wins = [] 37 #self.wins.append(cui.TitledWin(w2, h2, w2, h2, "Test Window 4")) 38 list_win = cui.ListWin(w2, h2, w2, h2) 39 for i in range(0, 40): 40 list_win.addItem('Item %s' % i) 41 self.wins.append(list_win) 42 self.wins.append(cui.TitledWin(0, 0, w2, h2, "Test Window 1")) 43 self.wins.append(cui.TitledWin(w2, 0, w2, h2, "Test Window 2")) 44 self.wins.append(cui.TitledWin(0, h2, w2, h2, "Test Window 3")) 45 46 # def callback(s, content): 47 # self.wins[0].win.scroll(1) 48 # self.wins[0].win.addstr(10, 0, '%s: %s' % (s, content)) 49 # self.wins[0].win.scroll(1) 50 # self.el.showPrompt(10, 0) 51 52 # self.wins[0].win.scrollok(1) 53 # self.el = cui.CursesEditLine(self.wins[0].win, None, 54 # lambda c: callback('got', c), lambda c: callback('tab', c)) 55 #self.el.prompt = '>>> ' 56 #self.el.showPrompt(10, 0) 57 58 def handleEvent(self, event): 59 if isinstance(event, int): 60 if event == ord('q'): 61 sys.exit(0) 62 # self.el.handleEvent(event) 63 super(SandboxUI, self).handleEvent(event) 64 65 66def main(screen): 67 global event_queue 68 event_queue = queue.Queue() 69 70 sandbox = SandboxUI(screen, event_queue) 71 sandbox.eventLoop() 72 73if __name__ == "__main__": 74 try: 75 curses.wrapper(main) 76 except KeyboardInterrupt: 77 exit() 78