void QQmlValueTypeProxyBinding::recursiveDisable(QQmlAbstractBinding *b)
{
    if (!b)
        return;

    recursiveDisable(b->nextBinding());

    if (b)
        b->setEnabled(false, 0);
}
示例#2
0
void QDeclarativeValueTypeProxyBinding::recursiveDisable(QDeclarativeAbstractBinding *b)
{
    if (!b)
        return;

    recursiveDisable(b->m_nextBinding);

    b->setEnabled(false, 0);

    Q_ASSERT(b->m_prevBinding == 0);
    Q_ASSERT(b->m_nextBinding == 0);
    b->m_nextBinding = m_bindings;
    if (b->m_nextBinding) b->m_nextBinding->m_prevBinding = &b->m_nextBinding;
    b->m_prevBinding = &m_bindings;
    m_bindings = b;
}
示例#3
0
void QDeclarativeValueTypeProxyBinding::setEnabled(bool e, QDeclarativePropertyPrivate::WriteFlags flags)
{
    if (e) {
        addToObject(m_object);

        QDeclarativeAbstractBinding *bindings = m_bindings;
        m_bindings = 0;
        recursiveEnable(bindings, flags);
    } else {
        removeFromObject();

        QDeclarativeAbstractBinding *bindings = m_bindings;
        m_bindings = 0;
        recursiveDisable(bindings);
    }
}