Exemple #1
0
 def index(self, row, column, parent):
     if not parent.isValid():
         if len(QApplication.topLevelWidgets()) <= row:
             return QModelIndex()
         else:
             return self.createIndex(row, column, QApplication.topLevelWidgets()[row])
     else:
         if len(parent.internalPointer().children()) <= row:
             return QModelIndex()
         else:
             return self.createIndex(row, column, parent.internalPointer().children()[row])
Exemple #2
0
 def parent(self, index):
     if not index.isValid():
         return QModelIndex()
        
     obj = index.internalPointer()
     tlw = QApplication.topLevelWidgets()
     
     if obj in tlw:
         return QModelIndex()
     else:
         if obj.parent() in tlw:
             return self.createIndex(tlw.index(obj.parent()), 0, obj.parent())
         else:
             return self.createIndex(obj.parent().children().index(obj), 0, obj.parent()) 
Exemple #3
0
 def setWidget(self, widg):
     self.widget = widg
     
     tlw = QApplication.topLevelWidgets()
     
     if widg in tlw:
         index = self.treemodel.createIndex(tlw.index(widg), 0, widg)
     else:
         index = self.treemodel.createIndex(widg.parent().children().index(widg), 0, widg)
         
     self.tree.selectionModel().select(index, QItemSelectionModel.ClearAndSelect)
     self.tree.scrollTo(index)
     
     while index.isValid():
         self.tree.expand(index)
         index = index.parent()
     
     self.tablemodel.setWidget(widg)
Exemple #4
0
 def rowCount(self, parent):
     if not parent.isValid():
         return len(QApplication.topLevelWidgets())
     else:
         return len(parent.internalPointer().children())