Exemple #1
0
 def __index(self, row, column, parent=qt.QModelIndex()):
     return qt.QSortFilterProxyModel.index(self, row, column, parent)
Exemple #2
0
 def columnCount(self, parent=qt.QModelIndex()):
     return len(self.__header)
Exemple #3
0
 def rowCount(self, parent=qt.QModelIndex()):
     item = self.__getItem(parent)
     return item.childCount()
Exemple #4
0
 def getItemName(self, model, row):
     index = model.index(row, hdf5.Hdf5TreeModel.NAME_COLUMN,
                         qt.QModelIndex())
     return model.data(index, qt.Qt.DisplayRole)
Exemple #5
0
 def invalidateData(self):
     self.dataChanged.emit(qt.QModelIndex(), qt.QModelIndex())
     self.needReplot.emit()
Exemple #6
0
 def __invalidateItem(self, index):
     index1 = self.index(index, 0, qt.QModelIndex())
     index2 = self.index(index, self.columnCount() - 1, qt.QModelIndex())
     self.dataChanged.emit(index1, index2)
Exemple #7
0
 def columnCount(self, parent=qt.QModelIndex()):
     return 4
 def index(self, row, column, parent=qt.QModelIndex()):
     if row < 0 or column < 0:
         return qt.QModelIndex()
     if row >= self.rowCount() or column >= self.columnCount():
         return qt.QModelIndex()
     return self.createIndex(row, column)
 def rowCount(self, parent=qt.QModelIndex()):
     return len(self.__historyModel)
Exemple #10
0
 def indexFromItem(self, item):
     if item == self.rootItem:
         return qt.QModelIndex()
     else:
         return self.createIndex(item.childPosition(), 0, item)
 def parent(self, index):
     return qt.QModelIndex()
Exemple #12
0
 def rowCount(self, parent=qt.QModelIndex()):
     item = self.itemFromIndex(parent)
     return item.childCount()
Exemple #13
0
 def hasChildren(self, parent=qt.QModelIndex()):
     node = self.nodeFromIndex(parent)
     if node is None:
         return False
     return node.isGroupObj()
Exemple #14
0
 def rowCount(self, parent=qt.QModelIndex()):
     parentItem = parent.internalPointer() if parent.isValid() else\
         self.rootItem
     return parentItem.child_count()
 def rowCount(self, parent=qt.QModelIndex()):
     return 3
Exemple #16
0
 def columnCount(self, parent=Qt.QModelIndex(), **kwargs):
     return len(self.RootNode.ColumnNames)
Exemple #17
0
 def testDropNewDataset(self):
     dataset = commonh5.Dataset("foo", numpy.array([1, 2, 3, 4]))
     mimedata = Hdf5DatasetMimeData(dataset=dataset)
     self.model.dropMimeData(mimedata, qt.Qt.CopyAction, -1, -1,
                             qt.QModelIndex())
     self.assertEqual(self.model.rowCount(qt.QModelIndex()), 2)
Exemple #18
0
 def setShowUniqueGroup(self, show):
     self.__showUniqueGroup = show
     self.__openPersistentEditors(Qt.QModelIndex(), openEditor=False)
     self.__updateUniqueGroupVisibility()
     self.__openPersistentEditors(Qt.QModelIndex(), openEditor=True)
Exemple #19
0
 def rowCount(self, parent=qt.QModelIndex()):
     return len(self.__peakSelectionModel)
Exemple #20
0
 def rowCount(self, parent=qt.QModelIndex()):
     if len(self.dataCollection) == 0:
         return 0
     return len(self.dataCollection['base'])
Exemple #21
0
 def testInsertObject(self):
     h5 = commonh5.File("/foo/bar/1.mock", "w")
     model = hdf5.Hdf5TreeModel()
     self.assertEquals(model.rowCount(qt.QModelIndex()), 0)
     model.insertH5pyObject(h5)
     self.assertEquals(model.rowCount(qt.QModelIndex()), 1)
Exemple #22
0
 def __indexFromCode(self, model, code):
     for i in range(model.rowCount()):
         index = model.index(i, 0)
         if index.data(self.CodeRole) == code:
             return index
     return qt.QModelIndex()
Exemple #23
0
 def __openPersistantViewOnModelReset(self):
     model = self.model()
     index = qt.QModelIndex()
     row = model.rowCount(index)
     self.__onRowInserted(index, 0, row)
Exemple #24
0
    def dropMimeData(self, mimedata, action, row, column, parent):
        if mimedata.hasFormat(cco.MIME_TYPE_DATA):
            toItem = parent.internalPointer()
            if toItem is None:
                toItem = csi.dataRootItem
                newParentItem, newRow = toItem, toItem.child_count()
                parents = []
            else:
                newParentItem, newRow = toItem.parentItem, toItem.row()
                parents = [toItem.parentItem]
            rowss = pickle.loads(mimedata.data(cco.MIME_TYPE_DATA))
            dropedItems = []
            for rows in rowss:
                parentItem = self.rootItem
                for r in reversed(rows):
                    item = parentItem.child(r)
                    parentItem = item
                dropedItems.append(item)
                if item.parentItem not in parents:
                    parents.append(item.parentItem)
            for item in dropedItems:
                if item.is_ancestor_of(toItem):
                    msg = qt.QMessageBox()
                    msg.setIcon(qt.QMessageBox.Warning)
                    msg.setText("Cannot drop a group onto its child. Ignored")
                    msg.setWindowTitle("Illegal drop")
                    msg.setStandardButtons(qt.QMessageBox.Close)
                    msg.exec_()
                    return False

            self.beginResetModel()
            if toItem is csi.dataRootItem:
                rdropedItems = dropedItems
            else:
                rdropedItems = reversed(dropedItems)
            for item in rdropedItems:
                oldParentItem, oldRow = item.parentItem, item.row()
                if newParentItem is oldParentItem:
                    sibl = newParentItem.childItems
                    sibl.insert(newRow, sibl.pop(oldRow))
                else:
                    newParentItem.childItems.insert(newRow, item)
                    item.parentItem = newParentItem
                    del oldParentItem.childItems[oldRow]
                    if oldParentItem.child_count() == 0:
                        oldParentItem.delete()
            self.endResetModel()
            for parent in parents:
                parent.init_colors()
            self.dataChanged.emit(qt.QModelIndex(), qt.QModelIndex())
            self.needReplot.emit()
            return True
        elif mimedata.hasFormat(cco.MIME_TYPE_TEXT) or \
                mimedata.hasFormat(cco.MIME_TYPE_HDF5):
            toItem = parent.internalPointer()
            if mimedata.hasFormat(cco.MIME_TYPE_TEXT):
                urls = [url.toLocalFile() for url in reversed(mimedata.urls())]
            else:
                urls = pickle.loads(mimedata.data(cco.MIME_TYPE_HDF5))[::-1]
            if toItem is None:
                toItem = csi.dataRootItem
                urls = urls[::-1]

            if toItem.child_count() > 0:  # is a group
                parentItem, insertAt = toItem, None
            else:
                parentItem, insertAt = toItem.parentItem, toItem.row()
            if csi.currentNode is None:
                return False
            node = csi.currentNode
            if hasattr(node, 'widget'):
                items = node.widget.loadFiles(urls, parentItem, insertAt)


#            if DEBUG > 0:
#                if items is not None:
#                    for item in items:
#                        item.colorTag = 3
            return True
        else:
            return False