bool QbElement::link(QbElementPtr dstElement) { if (!this->link(static_cast<QObject *>(dstElement.data()))) return false; this->setSinks(this->sinks() << dstElement.data()); dstElement->setSrcs(dstElement->srcs() << this); return true; }
bool QbElement::unlink(QbElementPtr dstElement) { if (!this->unlink(static_cast<QObject *>(dstElement.data()))) return false; QList<QbElement *> sinks = this->m_sinks; sinks.removeOne(dstElement.data()); this->setSinks(sinks); QList<QbElement *> srcs = dstElement->m_srcs; srcs.removeOne(this); dstElement->setSrcs(srcs); return true; }
QString Pipeline::addElement(QbElementPtr element) { QString name; if (element->objectName().isEmpty()) name = QString("&%1").arg((quint64) element.data()); else name = element->objectName(); this->m_elements[name] = element; return name; }