Esempio n. 1
0
 def index(self, row, col, parent=QModelIndex()):
     """Returns the index of the item in the model specified
     by the given row, column and parent index."""
     if parent.isValid() and parent.column() != 0:
         return QModelIndex()
     parentPref = self.index2Pref(parent)
     childPref = parentPref.qt_get_child(row)
     if childPref:
         return self.createIndex(row, col, childPref)
     else:
         return QModelIndex()
Esempio n. 2
0
 def parent(self, index=None):
     """Returns the parent of the model item with the given index.
     If the item has no parent, an invalid QModelIndex is returned."""
     if index is None:  # Overload with QObject.parent()
         return QObject.parent(self)
     if not index.isValid():
         return QModelIndex()
     nodePref = self.index2Pref(index)
     parentPref = nodePref.qt_get_parent()
     if parentPref == self.rootPref:
         return QModelIndex()
     return self.createIndex(parentPref.qt_parents_index_of_me(), 0,
                             parentPref)
Esempio n. 3
0
 def index2Pref(self, index=QModelIndex()):
     """ Internal helper method """
     if index.isValid():
         item = index.internalPointer()
         if item:
             return item
     return self.rootNode
Esempio n. 4
0
 def columnCount(self, parent=QModelIndex()):
     parentPref = self.index2Pref(parent)
     return parentPref.qt_num_cols()
Esempio n. 5
0
 def rowCount(self, parent=QModelIndex()):
     parentPref = self.index2Pref(parent)
     return parentPref.qt_num_rows()