Пример #1
0
def init_startup():
	if no_DBUS:
		pygui_globs['wydbus'] = None
	else:
		from peewee.dbus import peewee_dbus
		pygui_globs['wydbus'] = peewee_dbus
	try:
		from pygui.item.mediaitem.core import RootItem
		RootItem()
	except:
		PRINT_EXCEPTION()
		log.error('Failed to load wymedia!')
	try:
		import pygui.input as input
		input.init()
	except:
		PRINT_EXCEPTION()
		log.error('Failed to load input!')
Пример #2
0
 def __init__(self, parent=None):
     super(StackPackageNodeModel, self).__init__(parent)
     self.rootItem = RootItem()
     self.setupModelData()
Пример #3
0
class StackPackageNodeModel(QAbstractItemModel):
    def __init__(self, parent=None):
        super(StackPackageNodeModel, self).__init__(parent)
        self.rootItem = RootItem()
        self.setupModelData()

    def columnCount(self, parent):
        return 1

    def data(self, index, role):
        if not index.isValid():
            return None
        if role == Qt.DecorationRole:
            return index.internalPointer().icon()
        if role == Qt.DisplayRole:
            return index.internalPointer().data()
        return None

    def flags(self, index):
        if not index.isValid():
            return Qt.NoItemFlags

        return Qt.ItemIsEnabled | Qt.ItemIsSelectable
    
    def headerData(self, section, orientation, role):
        if orientation == Qt.Horizontal and role == Qt.DisplayRole:
            return self.rootItem.data()
        return None

    def index(self, row, col, parent):
        if not self.hasIndex(row, col, parent):
            return QModelIndex()

        if not parent.isValid():
            parentItem = self.rootItem
        else:
            parentItem = parent.internalPointer()

        childItem = parentItem.child(row)
        if childItem:
            return self.createIndex(row, col, childItem)
        return QModelIndex()

    def parent(self, index):
        if not index.isValid():
            return QModelIndex()
        
        childItem = index.internalPointer()
        parentItem = childItem.parent()

        if parentItem == self.rootItem:
            return QModelIndex()
        return self.createIndex(parentItem.row(), 0, parentItem)

    def rowCount(self, parent):
        if parent.column() > 0:
            return 0

        if not parent.isValid():
            parentItem = self.rootItem
        else:
            parentItem = parent.internalPointer()

        return parentItem.childCount()

    def setupModelData(self):
        #print env
        for path in os.environ["ROS_PACKAGE_PATH"].split(":"):
            if os.path.isdir(path):
                for stack in sorted(os.listdir(path)):
                    stackpath = path + "/" + stack
                    if os.path.isdir(stackpath) and stack[0] != ".":
                        stackitem = StackItem(stack, self.rootItem)
                        self.rootItem.addStack(stackitem)
                        for package in sorted(os.listdir(stackpath)):
                            packagepath = stackpath + "/" + package
                            if os.path.isdir(packagepath) and package[0] != ".":
                                packageitem = PackageItem(package, stackitem)
                                stackitem.addPackage(packageitem)
                                for node in sorted(os.listdir(packagepath)):
                                    nodepath = packagepath + "/" + node
                                    if not os.path.isdir(nodepath) and os.access(nodepath, os.X_OK):
                                        nodeitem = NodeItem(node, packageitem)
                                        packageitem.addNode(nodeitem)
                                if os.path.isdir(packagepath + "/bin"):
                                    for node in sorted(os.listdir(packagepath + "/bin")):
                                        nodepath = packagepath + "/bin/" + node
                                        if not os.path.isdir(nodepath) and os.access(nodepath, os.X_OK):
                                            nodeitem = NodeItem(node, packageitem)
                                            packageitem.addNode(nodeitem)
                                if os.path.isdir(packagepath + "/nodes"):
                                    for node in sorted(os.listdir(packagepath + "/nodes")):
                                        nodepath = packagepath + "/nodes/" + node
                                        if not os.path.isdir(nodepath) and os.access(nodepath, os.X_OK):
                                            nodeitem = NodeItem(node, packageitem)
                                            packageitem.addNode(nodeitem)
Пример #4
0
nname: 104
n 104(None)[]:
	i: 50(), 77(), 103(AE)
	o: 107(try), 136(except)

nname: 77
n 77(None)[PRINT_EXCEPTION()
log.error('Failed to load wymedia!')
]:
	i: 47(except)
	o: 104()

nname: 50
n 50(None)[from pygui.item.mediaitem.core import RootItem
RootItem()
]:
	i: 47(try)
	o: 104()

nname: 47
n 47(None)[]:
	i: 6(), 20()
	o: 50(try), 77(except)

nname: 20
n 20(None)[from peewee.dbus import peewee_dbus
pygui_globs['wydbus'] = peewee_dbus
]:
	i: 0(f)
	o: 47()