void QmlAnchorBindingProxy::setRightAnchor(bool anchor) { if (!m_qmlItemNode.hasNodeParent()) return; if (rightAnchored() == anchor) return; RewriterTransaction transaction = beginRewriterTransaction( QByteArrayLiteral("QmlAnchorBindingProxy::setRightAnchor")); if (!anchor) { removeRightAnchor(); } else { setDefaultRelativeRightTarget(); anchorRight(); if (leftAnchored()) backupPropertyAndRemove(modelNode(), "width"); } emit relativeAnchorTargetRightChanged(); emit rightAnchorChanged(); if (hasAnchors() != anchor) emit anchorsChanged(); }
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::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(); }
void QmlAnchorBindingProxy::setup(const QmlItemNode &fxItemNode) { m_fxItemNode = fxItemNode; m_verticalTarget = m_horizontalTarget = m_topTarget = m_bottomTarget = m_leftTarget = m_rightTarget = m_fxItemNode.modelNode().parentProperty().parentModelNode(); if (topAnchored()) { ModelNode targetNode = m_fxItemNode.anchors().instanceAnchor(AnchorLine::Top).qmlItemNode(); if (targetNode.isValid()) m_topTarget = targetNode; } if (bottomAnchored()) { ModelNode targetNode = m_fxItemNode.anchors().instanceAnchor(AnchorLine::Bottom).qmlItemNode(); if (targetNode.isValid()) m_bottomTarget = targetNode; } if (leftAnchored()) { ModelNode targetNode = m_fxItemNode.anchors().instanceAnchor(AnchorLine::Left).qmlItemNode(); if (targetNode.isValid()) m_leftTarget = targetNode; } if (rightAnchored()) { ModelNode targetNode = m_fxItemNode.anchors().instanceAnchor(AnchorLine::Right).qmlItemNode(); if (targetNode.isValid()) m_rightTarget = targetNode; } if (verticalCentered()) { ModelNode targetNode = m_fxItemNode.anchors().instanceAnchor(AnchorLine::VerticalCenter).qmlItemNode(); if (targetNode.isValid()) m_verticalTarget = targetNode; } if (horizontalCentered()) { ModelNode targetNode = m_fxItemNode.anchors().instanceAnchor(AnchorLine::HorizontalCenter).qmlItemNode(); if (targetNode.isValid()) m_horizontalTarget = targetNode; } emit itemNodeChanged(); emit parentChanged(); emit topAnchorChanged(); emit bottomAnchorChanged(); emit leftAnchorChanged(); emit rightAnchorChanged(); emit centeredHChanged(); emit centeredVChanged(); emit anchorsChanged(); if (m_fxItemNode.hasNodeParent()) { emit itemNodeChanged(); emit topTargetChanged(); emit bottomTargetChanged(); emit leftTargetChanged(); emit rightTargetChanged(); emit verticalTargetChanged(); emit horizontalTargetChanged(); } }