Example #1
0
    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()
Example #2
0
 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))