Gets the nearest index to *point*, *point* does not have to be over 
        an item. index can be +1 more in row and/or column than existing items

        :param point: any point within the view, in view coordinates
        :type point: :qtdoc:`QPoint`
        :returns: (int, int) -- (row, column) of the nearest index

def splitAt(self, point):
        """Gets the nearest index to *point*, *point* does not have to be over 
        an item. index can be +1 more in row and/or column than existing items

        :param point: any point within the view, in view coordinates
        :type point: :qtdoc:`QPoint`
        :returns: (int, int) -- (row, column) of the nearest index
        """
        wx = point.x() + self.horizontalScrollBar().value()
        wy = point.y() + self.verticalScrollBar().value()

        row = wy/(ROW_HEIGHT + ROW_SPACE)
        if row > self.model().rowCount(self.rootIndex()) - 1:
            row = self.model().rowCount(self.rootIndex())
        for col in range(self.model().columnCountForRow(row)):
            if self._rects[row][col].contains(wx, wy):
                return (row, col)
        return row, self.model().columnCountForRow(row)