Example #1
0
 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)
Example #2
0
    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)