def _add_data(self): for cls, opt_name, lib in self.LEARNERS: item = QStandardItem() imported = bool(cls) name = cls.name if imported else opt_name item.setData(f"{name}", Qt.DisplayRole) item.setEnabled(imported) if not imported: item.setToolTip(f"{lib} is not installed") self.appendRow(item)
def createRow(item): # type: (Item) -> List[QStandardItem] dist = None # type: Optional[Distribution] if isinstance(item, Installed): installed = True ins, dist = item.installable, item.local name = dist.project_name summary = get_dist_meta(dist).get("Summary", "") version = ins.version if ins is not None else dist.version item_is_core = item.required else: installed = False ins = item.installable dist = None name = ins.name summary = ins.summary version = ins.version item_is_core = False updatable = is_updatable(item) item1 = QStandardItem() item1.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | (Qt.ItemIsUserTristate if updatable else 0)) item1.setEnabled(not (item_is_core and not updatable)) item1.setData(item_is_core, HasConstraintRole) if installed and updatable: item1.setCheckState(Qt.PartiallyChecked) elif installed: item1.setCheckState(Qt.Checked) else: item1.setCheckState(Qt.Unchecked) item1.setData(item, Qt.UserRole) item2 = QStandardItem(name) item2.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) item2.setToolTip(summary) item2.setData(item, Qt.UserRole) if updatable: assert dist is not None assert ins is not None version = "{} < {}".format(dist.version, ins.version) item3 = QStandardItem(version) item3.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) item4 = QStandardItem() item4.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) return [item1, item2, item3, item4]
def createRow(item): # type: (Item) -> List[QStandardItem] if isinstance(item, Installed): installed = True ins, dist = item.installable, item.local name = dist.project_name summary = get_dist_meta(dist).get("Summary", "") version = ins.version if ins is not None else dist.version item_is_core = item.required else: installed = False ins = item.installable dist = None name = ins.name summary = ins.summary version = ins.version item_is_core = False updatable = is_updatable(item) item1 = QStandardItem() item1.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | (Qt.ItemIsUserTristate if updatable else 0)) item1.setEnabled(not (item_is_core and not updatable)) item1.setData(item_is_core, HasConstraintRole) if installed and updatable: item1.setCheckState(Qt.PartiallyChecked) elif installed: item1.setCheckState(Qt.Checked) else: item1.setCheckState(Qt.Unchecked) item1.setData(item, Qt.UserRole) item2 = QStandardItem(name) item2.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) item2.setToolTip(summary) item2.setData(item, Qt.UserRole) if updatable: version = "{} < {}".format(dist.version, ins.version) item3 = QStandardItem(version) item3.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) item4 = QStandardItem() item4.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) return [item1, item2, item3, item4]