def __pegar_privado(self): """Pega lo que haya sido copiado""" clipboard = QApplication.clipboard() registro = clipboard.text().latin1() lista = eval(registro) posrow = self.grid.table1.currentRow() poscol = self.grid.table1.currentColumn() if len(lista[0]) == self.__idu.n_var(): poscol = 0 #Copia de registro completo else: #No permitimos pegar si el pegado implica variables nuevas assert(poscol + len(lista[0]) <= self.__idu.n_var()) self.__portero.guardar_estado() #Guardamos el estado #Creamos nuevos registros hasta la posicion del cursor if posrow > self.__idu.n_reg(): for _ in range(self.__idu.n_reg(), posrow): self.__idu.ana_reg() #Hacemos el pegado efectivo i = posrow for registro in lista: if i >= self.__idu.n_reg(): self.__idu.ana_reg() j = poscol for campo in registro: if campo != None: self.__idu[i][j] = campo j += 1 i += 1 self.grid.myUpdate()
def __copiar_privado(self): """Esta funcion pega el contenido del clipboard en la tabla actual""" tablaactual = self.grid.currentPageIndex() assert(tablaactual == 0) #TODO Cambiar por una excepcion más concreta lista = self.grid.lista_seleccion() cadena = repr(lista) clipboard = QApplication.clipboard() clipboard.setData(QTextDrag(cadena))