def _ok(self): try: self.save(validate=True) row = Row(self.data.values()) row.set_types(self.table.get_column_types()) self.table.edit_current_row(row) self._cancel() except InvalidFields: popup = PopUpDialog( self.__screen, 'Error: An invalid value vas entered into form', ['OK'], has_shadow=True) popup.set_theme('monochrome') self._scene.add_effect(popup)
def _delete(self): def act_on_selection(selection): if selection == 0: # Yes is selected self.save() self.table.current_row = self.data['row_index'] self.table.del_current_row() self._reload_list() popup = PopUpDialog(self.__screen, "Hey dumbass. Are you sure you want to proceed?", ["Yes", "No"], has_shadow=True, on_close=act_on_selection) popup.set_theme('monochrome') self._scene.add_effect(popup)
def _delete(self): def act_on_selection(selection): if selection == 0: # Yes is selected self.save() self.table.current_row = self.data['row_index'] # Save the current row number before we delete current_row = self.table.current_row self.table.del_current_row() self._reload_list() # Put focus to the row at the index we deleted num_rows = len(self.table.get_rows()) if num_rows != 0: self.__list.value = min(num_rows - 1, current_row) else: self.__list.value = None popup = PopUpDialog(self.__screen, "Are you sure you want to DELETE?", ["Yes", "No"], has_shadow=True, on_close=act_on_selection) popup.set_theme('monochrome') self._scene.add_effect(popup)