Ejemplo n.º 1
0
    def get_criterion(self):

        """Build the criterion from the information the user entered in the
        widget.

        """
        
        criterion = DefaultCriterion(self.component_manager)
        # Card types and fact views.
        for item, card_type_fact_view_ids in \
                self.card_type_fact_view_ids_for_node_item.iteritems():
            if item.checkState(0) == QtCore.Qt.Unchecked:
                criterion.deactivated_card_type_fact_view_ids.add(\
                    card_type_fact_view_ids)
        # Tag tree contains active tags.
        if self.active_or_forbidden.currentIndex() == 0: 
            for item, tag in self.tag_for_node_item.iteritems():
                if item.checkState(0) == QtCore.Qt.Checked:
                    criterion.active_tag__ids.add(tag._id)
            criterion.forbidden_tags = set()
        # Tag tree contains forbidden tags.
        else:
            for item, tag in self.tag_for_node_item.iteritems():
                if item.checkState(0) == QtCore.Qt.Checked:
                    criterion.forbidden_tag__ids.add(tag._id)
            criterion.active_tags = set(self.tag_for_node_item.values())
        return criterion