Пример #1
0
    def set_variant(self, variant):
        if variant == self.variant:
            return

        if variant is None:
            self.clear()
        else:
            self.setEnabled(True)
            if isinstance(variant, Package):
                label_name = variant.qualified_name
                location = variant.uri
            else:
                label_name = variant.qualified_package_name
                location = variant.parent.uri

            label = "%s@%s" % (label_name, variant.wrapped.location)

            self.label.setText(label)
            self.table.clear()
            rows = []

            if variant.description:
                desc = variant.description
                max_chars = 1000
                if len(desc) > max_chars:
                    desc = desc[:max_chars] + "..."
                rows.append(("description: ", desc))
            if variant.uri:
                rows.append(("location: ", location))
            if variant.timestamp:
                release_time_str = get_timestamp_str(variant.timestamp)
                rows.append(("released: ", release_time_str))
            if variant.authors:
                txt = "; ".join(variant.authors)
                rows.append(("authors: ", txt))
            if variant.requires:
                var_strs = [str(x) for x in variant.requires]
                if isinstance(variant, Variant):
                    # put variant-specific requires in square brackets
                    if variant.requires:
                        index = find_last_sublist(variant.requires,
                                                  variant.requires)
                        if index is not None:
                            var_strs[index] = "[%s" % var_strs[index]
                            index2 = index + len(variant.requires) - 1
                            var_strs[index2] = "%s]" % var_strs[index2]
                txt = "; ".join(var_strs)
                rows.append(("requires: ", txt))

            self.table.setRowCount(len(rows))
            for i, row in enumerate(rows):
                label, value = row
                item = QtGui.QTableWidgetItem(label)
                item.setTextAlignment(QtCore.Qt.AlignRight
                                      | QtCore.Qt.AlignTop)
                self.table.setVerticalHeaderItem(i, item)
                item = QtGui.QTableWidgetItem(value)
                self.table.setItem(i, 0, item)

            vh = self.table.verticalHeader()
            vh.setVisible(True)
            self.table.resizeRowsToContents()

        self.variant = variant
Пример #2
0
    def set_variant(self, variant):
        if variant == self.variant:
            return

        if variant is None:
            self.clear()
        else:
            self.setEnabled(True)
            if isinstance(variant, Package):
                label_name = variant.qualified_name
                location = variant.uri
            else:
                label_name = variant.qualified_package_name
                location = variant.parent.uri

            label = "%s@%s" % (label_name, variant.wrapped.location)

            self.label.setText(label)
            self.table.clear()
            rows = []

            if variant.description:
                desc = variant.description
                max_chars = 1000
                if len(desc) > max_chars:
                    desc = desc[:max_chars] + "..."
                rows.append(("description: ", desc))
            if variant.uri:
                rows.append(("location: ", location))
            if variant.timestamp:
                release_time_str = get_timestamp_str(variant.timestamp)
                rows.append(("released: ", release_time_str))
            if variant.authors:
                txt = "; ".join(variant.authors)
                rows.append(("authors: ", txt))
            if variant.requires:
                var_strs = [str(x) for x in variant.requires]
                if isinstance(variant, Variant):
                    # put variant-specific requires in square brackets
                    if variant.requires:
                        index = find_last_sublist(variant.requires, variant.requires)
                        if index is not None:
                            var_strs[index] = "[%s" % var_strs[index]
                            index2 = index + len(variant.requires) - 1
                            var_strs[index2] = "%s]" % var_strs[index2]
                txt = "; ".join(var_strs)
                rows.append(("requires: ", txt))

            self.table.setRowCount(len(rows))
            for i, row in enumerate(rows):
                label, value = row
                item = QtGui.QTableWidgetItem(label)
                item.setTextAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTop)
                self.table.setVerticalHeaderItem(i, item)
                item = QtGui.QTableWidgetItem(value)
                self.table.setItem(i, 0, item)

            vh = self.table.verticalHeader()
            vh.setVisible(True)
            self.table.resizeRowsToContents()

        self.variant = variant