def fillTree(self): allLessons = defaultdict(list) for lesson in lessons: allLessons[lesson.group].append(lesson) self.lessonsTree.clear() lessonIcon = QIcon(os.path.dirname(__file__) + "/lesson.gif") for group, groupLessons in list(allLessons.items()): groupItem = QTreeWidgetItem() groupItem.setText(0, group) groupItem.description = groups.get(group, "") for lesson in groupLessons: lessonItem = QTreeWidgetItem() lessonItem.lesson = lesson lessonItem.setText(0, lesson.name) lessonItem.setIcon(0, lessonIcon) groupItem.addChild(lessonItem) if lesson.version[0] is not None and str(lesson.version[0]) > QGis.QGIS_VERSION: lessonItem.setText(0, lesson.name + " (requires QGIS >= {})".format(lesson.version[0])) lessonItem.setDisabled(True) if lesson.version[1] is not None and str(lesson.version[1]) < QGis.QGIS_VERSION: lessonItem.setText(0, lesson.name + " (requires QGIS <= {})".format(lesson.version[1])) lessonItem.setDisabled(True) self.lessonsTree.addTopLevelItem(groupItem) self.lessonsTree.sortItems(0, 0) self.lessonsTree.expandAll()
class QNGWItem(QTreeWidgetItem): def __init__(self): QTreeWidgetItem.__init__(self) self.locked_item = QTreeWidgetItem(["loading..."]) self.locked_item.setFlags(Qt.NoItemFlags) self.locked_item.setDisabled(True) self.release() def lock(self): self.__isLock = True self.setFlags(Qt.NoItemFlags) self.addChild(self.locked_item) def is_locked(self): return self.__isLock def release(self): self.__isLock = False self.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) self.removeChild(self.locked_item) def ngw_resource_children_count(self): raise NotImplementedError()
def fillTree(self): allLessons = defaultdict(list) for lesson in lessons: allLessons[lesson.group].append(lesson) self.lessonsTree.clear() lessonIcon = QIcon(os.path.dirname(__file__) + "/lesson.gif") for group, groupLessons in allLessons.items(): groupItem = QTreeWidgetItem() groupItem.setText(0, group) groupItem.description = groups.get(group, "") for lesson in groupLessons: lessonItem = QTreeWidgetItem() lessonItem.lesson = lesson lessonItem.setText(0, lesson.name) lessonItem.setIcon(0, lessonIcon) groupItem.addChild(lessonItem) if lesson.version[0] is not None and str(lesson.version[0]) > QGis.QGIS_VERSION: lessonItem.setText(0, lesson.name + " (requires QGIS >= {})".format(lesson.version[0])) lessonItem.setDisabled(True) if lesson.version[1] is not None and str(lesson.version[1]) < QGis.QGIS_VERSION: lessonItem.setText(0, lesson.name + " (requires QGIS <= {})".format(lesson.version[1])) lessonItem.setDisabled(True) self.lessonsTree.addTopLevelItem(groupItem) self.lessonsTree.sortItems(0, 0) self.lessonsTree.expandAll()
def create_layers_tree(layer_node): """Builds layers tree widget""" widget = QTreeWidgetItem() widget.setText(0, layer_node.get('title', layer_node['name'])) if 'layers' in layer_node: for child_node in layer_node['layers']: widget.addChild(create_layers_tree(child_node)) else: widget.setData(0, Qt.UserRole, layer_node) widget.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsTristate) widget.setCheckState(0, Qt.Checked) widget.setDisabled(layer_node.get('hidden', False)) return widget