def _addItemsToListView(self): """ populate the list view """ debug(app = self.app, method = '_addItemsToListView', message= 'Getting data...', verbose = False) completedAssetsParents = [] completedShotParents = [] debug(app = self.app, method = '_addItemsToListView', message= 'Fetching assets...', verbose = False) for key, var in self._findEntities()[0].items(): if var not in completedAssetsParents: parent1 = QtGui.QStandardItem('%s' % var) ## Now look for all it's children for childkey, childvar in self._findEntities()[0].items(): if childvar == var: child1 = QtGui.QStandardItem('%s' % childkey) parent1.appendRow([child1]) self.assetsmodel.appendRow(parent1) completedAssetsParents.append(var) debug(app = self.app, method = '_addItemsToListView', message= 'Assets Fetched', verbose = False) debug(app = self.app, method = '_addItemsToListView', message= 'Fetching shots...', verbose = False) for key, var in self._findEntities()[1].items(): if var not in completedShotParents: parent1 = QtGui.QStandardItem('%s' % var) ## Now look for all it's children for childkey, childvar in self._findEntities()[1].items(): if childvar == var: child1 = QtGui.QStandardItem('%s' % childkey) parent1.appendRow([child1]) self.shotmodel.appendRow(parent1) completedShotParents.append(var) debug(app = self.app, method = '_addItemsToListView', message= 'Shots Fetched', verbose = False)
def create_group(self, group_key, expanded=True): """ Create a group for group_key Returns a tuple of the header and footer model items created for the group. """ if group_key in self.__groups: raise ValueError("group already exists '%s'" % group_key) # create the header item, defaults to expanded header = QtGui.QStandardItem() header.setData(self.ITEM_TYPE_HEADER, self.ITEM_TYPE_ROLE) header.setData(group_key, self.GROUP_ROLE) header.setData(expanded, self.GROUP_VISIBLE_ROLE) # create the footer item footer = QtGui.QStandardItem() footer.setData(self.ITEM_TYPE_FOOTER, self.ITEM_TYPE_ROLE) footer.setData(group_key, self.GROUP_ROLE) # set flags so clicks flow through to these items header.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEditable) footer.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEditable) # track the header and the footer self.__groups[group_key] = { "header": header, "footer": footer, } # and add to the model self.appendRow(header) self.appendRow(footer) self.groups_modified.emit() return (header, footer)