def create_content(self): if self._initialized: return None self._initialized = True pl = self._all_positions row_length, self.row_length = self.menu_list.row_length, self.menu_list.row_length col_length = len(pl) / row_length items = [] positions = [] render_lock.__enter__()
def do_remove(self, position): row = position // self.row_length column = position - row * self.row_length selected_row = self.menu_list.selected_row render_lock.__enter__() try: _[1], index, item = render_lock.__exit__, enumerate(self.item_list), enumerate(self.item_list) if index == column: item.do_remove(row) continue item.do_reset() item.do_update(-1, selected_row) finally: del _[1]
def do_update(self, position): current_column = self.item_list.selected current_row = self.item_list[current_column].item_list.selected updated_row = position // self.row_length updated_column = position - updated_row * self.row_length col_length = len(self.positions_list) render_lock.__enter__() try: _[1], self.item_list.selected, column, item = render_lock.__exit__, updated_column, enumerate(self.item_list), enumerate(self.item_list) if column == updated_column: item.do_update(updated_row) continue item.do_update(-1, updated_row) finally: del _[1]
def do_reset(self, position=None): if position is None: render_lock.__enter__() try: _[1], selected_row = render_lock.__exit__, self.menu_list.selected_row selected_column = self.menu_list.selected_column for column, item in enumerate(self.item_list): item.do_reset() if column != selected_column: item.do_update(-1, selected_row) continue finally: del _[1] else: row = position // self.row_length column = position - row * self.row_length if column == self.menu_list.selected_column: self.item_list[column].do_reset(row) else: self.item_list[column].do_reset(row, focus=row) return None
def update(self, wid=None): render_lock.__enter__() try: self._sync_ui(wid) finally: del _[1]
def update(self, wid=None): render_lock.__enter__()
def do_reset(self, position=None): if position is None: render_lock.__enter__()
def set_extra_positions(self, pre_positions=None, post_positions=None): if pre_positions: self.pre_positions = pre_positions if post_positions: self.post_positions = post_positions def create_content(self): if self._initialized: return None self._initialized = True pl = self._all_positions row_length, self.row_length = self.menu_list.row_length, self.menu_list.row_length col_length = len(pl) / row_length items = [] positions = [] render_lock.__enter__() def do_update(self, position): current_column = self.item_list.selected current_row = self.item_list[current_column].item_list.selected updated_row = position // self.row_length updated_column = position - updated_row * self.row_length col_length = len(self.positions_list) render_lock.__enter__() try: _[1], self.item_list.selected, column, item = render_lock.__exit__, updated_column, enumerate(self.item_list), enumerate(self.item_list) if column == updated_column: item.do_update(updated_row) continue item.do_update(-1, updated_row) finally: