/** Recurses through a list of objects */ QList<QHalSignal *> QHalGroup::recurseObjects(const QObjectList &list) const { QList<QHalSignal*> halSignals; foreach (QObject *object, list) { QHalSignal *halSignal; halSignal = qobject_cast<QHalSignal*>(object); if (halSignal != NULL) { halSignals.append(halSignal); } if (object->children().size() > 0) { halSignals.append(recurseObjects(object->children())); } }
/** Scans all children of the container item for pins and adds them to a map */ void QHalRemoteComponent::addPins() { QObjectList halObjects; if (m_containerItem == NULL) { return; } halObjects = recurseObjects(m_containerItem->children()); foreach (QObject *object, halObjects) { QHalPin *pin = static_cast<QHalPin *>(object); if (pin->name().isEmpty() || (pin->enabled() == false)) // ignore pins with empty name and disabled pins { continue; } m_pinsByName[pin->name()] = pin; connect(pin, SIGNAL(valueChanged(QVariant)), this, SLOT(pinChange(QVariant))); #ifdef QT_DEBUG DEBUG_TAG(1, m_name, "pin added: " << pin->name()) #endif }