bool QmlAnchorBindingProxy::isFilled() const { return m_qmlItemNode.isValid() && hasAnchors() && topAnchored() && bottomAnchored() && leftAnchored() && rightAnchored() && (m_qmlItemNode.instanceValue("anchors.topMargin").toInt() == 0) && (m_qmlItemNode.instanceValue("anchors.bottomMargin").toInt() == 0) && (m_qmlItemNode.instanceValue("anchors.leftMargin").toInt() == 0) && (m_qmlItemNode.instanceValue("anchors.rightMargin").toInt() == 0); }
void QmlAnchorBindingProxy::setRightAnchor(bool anchor) { if (!m_qmlItemNode.hasNodeParent()) return; if (rightAnchored() == anchor) return; RewriterTransaction transaction = m_qmlItemNode.modelNode().view()->beginRewriterTransaction(QByteArrayLiteral("QmlAnchorBindingProxy::setRightAnchor")); if (!anchor) { removeRightAnchor(); } else { calcRightMargin(); if (leftAnchored()) backupPropertyAndRemove(modelNode(), "width"); } emit rightAnchorChanged(); if (hasAnchors() != anchor) emit anchorsChanged(); }
void QmlAnchorBindingProxy::setTopAnchor(bool anchor) { if (!m_qmlItemNode.hasNodeParent()) return ; if (topAnchored() == anchor) return; RewriterTransaction transaction = m_qmlItemNode.modelNode().view()->beginRewriterTransaction(QByteArrayLiteral("QmlAnchorBindingProxy::setTopAnchor")); if (!anchor) { removeTopAnchor(); } else { calcTopMargin(); backupPropertyAndRemove(modelNode(), "y"); if (bottomAnchored()) backupPropertyAndRemove(modelNode(), "height"); } emit topAnchorChanged(); if (hasAnchors() != anchor) emit anchorsChanged(); }
void QmlAnchorBindingProxy::setBottomAnchor(bool anchor) { if (!m_fxItemNode.hasNodeParent()) return; if (bottomAnchored() == anchor) return; RewriterTransaction transaction = m_fxItemNode.modelNode().view()->beginRewriterTransaction(); if (!anchor) { removeBottomAnchor(); } else { calcBottomMargin(); if (topAnchored()) { backupPropertyAndRemove(modelNode(), "height"); } } emit bottomAnchorChanged(); if (hasAnchors() != anchor) emit anchorsChanged(); }
void QmlAnchorBindingProxy::setLeftAnchor(bool anchor) { if (!m_fxItemNode.hasNodeParent()) return; if (leftAnchored() == anchor) return; RewriterTransaction transaction = m_fxItemNode.modelNode().view()->beginRewriterTransaction(); if (!anchor) { removeLeftAnchor(); } else { calcLeftMargin(); backupPropertyAndRemove(modelNode(), "x"); if (rightAnchored()) { backupPropertyAndRemove(modelNode(), "width"); } } emit leftAnchorChanged(); if (hasAnchors() != anchor) emit anchorsChanged(); }
bool NodeInstance::directUpdates() const { if (d) return d->directUpdates && !(d->transform.isRotating() || d->transform.isScaling() || hasAnchors()); else return true; }