def run(self): X = globals.X Y = globals.Y frame = Frame() frame.set_focus(True) frame.set_size(X+1,Y) frame.set_position(0,0) frame.create() def update_patch(target): for y in range(Y): frame.addstr(0,y,' '*X,curses.A_REVERSE) frame.update = types.MethodType(update_patch,frame) timer = self.windows["Timer"].frames["timer_frame"] for i in range(3): frame.update() frame.refresh() time.sleep(0.2) self.screen.erase() self.screen.refresh() window = self.get_window() timer.update() window.update() window.refresh() self.banner.update() self.banner.refresh() time.sleep(0.2) del frame
def push_switcher(self): frame = Frame() frame.name = "taskswitcher_element" frame.task_list = [] frame.current_task = -1 frame.enabled = True frame.selected = False def update_patch(target): target.erase() color = config.COLOR_FOCUS if target.enabled and target.current_task > -1: if target.selected: target.addstr(0,0,"\u25C0", curses.color_pair(color)) else: target.addstr(0,0,"\u25C0") else: if target.enabled and target.selected: target.addstr(0,0,"\u25C1", curses.color_pair(color)) else: target.addstr(0,0,"\u25C1") if target.enabled and target.current_task+1 < len(target.task_list): if target.selected: target.addstr(target.size[0]-3,0,"\u25B6", curses.color_pair(color)) else: target.addstr(target.size[0]-3,0,"\u25B6") else: if target.enabled and target.selected: target.addstr(target.size[0]-3,0,"\u25B7", curses.color_pair(color)) else: target.addstr(target.size[0]-3,0,"\u25B7") if target.current_task >= 0: desc = globals.database.tasks[target.get_task()].desc target.addstr(3,0,desc) def get_task_patch(target): if target.current_task >= 0: return target.task_list[target.current_task] else: return None def next_patch(target): if target.enabled and target.current_task+1 < len(target.task_list): target.current_task += 1 def prev_patch(target): if target.enabled and target.current_task-1 >= -1: target.current_task -= 1 def task_list_patch(target,tasks): target.task_list = tasks frame.update = types.MethodType(update_patch,frame) frame.next_task = types.MethodType(next_patch,frame) frame.prev_task = types.MethodType(prev_patch,frame) frame.set_task_list = types.MethodType(task_list_patch,frame) frame.get_task = types.MethodType(get_task_patch,frame) idx = len(self.stack) try: frame.set_position(self.position[0],self.position[1]+idx) frame.set_size(self.size[0],self.size[1]) frame.create() except: pass frame.focus = True frame.set_task_list(globals.database.task_list[self.get_task()]) #if self.get_task() != None: # frame.set_task_list(globals.database.task_list[self.get_task()]) #else: # frame.set_task_list([]) self.add_frame(str(idx),frame) self.stack.append(frame) if self.current_switcher == -1: self.current_switcher = 0 self.stack[0].selected = True