void QmlAnchors::centerIn()
{
    if (instanceHasAnchors())
        removeAnchors();

    qmlItemNode().modelNode().bindingProperty("anchors.centerIn").setExpression("parent");
}
Exemple #2
0
void QmlAnchors::beautify()
{
    return;
    if ((instanceHasAnchor(AnchorLine::Left) &&
         instanceHasAnchor(AnchorLine::Right) &&
         instanceHasAnchor(AnchorLine::Top) &&
         instanceHasAnchor(AnchorLine::Bottom)) &&

        (instanceAnchor(AnchorLine::Left).type() == AnchorLine::Left &&
         instanceAnchor(AnchorLine::Right).type() == AnchorLine::Right &&
         instanceAnchor(AnchorLine::Top).type() == AnchorLine::Top &&
         instanceAnchor(AnchorLine::Bottom).type() == AnchorLine::Bottom) &&

        (instanceAnchor(AnchorLine::Left).qmlItemNode() ==
         instanceAnchor(AnchorLine::Right).qmlItemNode() &&
         instanceAnchor(AnchorLine::Top).qmlItemNode() ==
         instanceAnchor(AnchorLine::Bottom).qmlItemNode()) &&
        (instanceAnchor(AnchorLine::Left).qmlItemNode() ==
         instanceAnchor(AnchorLine::Bottom).qmlItemNode())) {

        if (instanceHasAnchor(AnchorLine::Fill))
            return; //avoid recursion

        QmlItemNode targetNode(instanceAnchor(AnchorLine::Left).qmlItemNode());
        removeAnchors();
        setAnchor(AnchorLine::Fill, targetNode, AnchorLine::Fill);
    }

    if ((instanceHasAnchor(AnchorLine::VerticalCenter) &&
         instanceHasAnchor(AnchorLine::HorizontalCenter)) &&

        (instanceAnchor(AnchorLine::VerticalCenter).type() == AnchorLine::VerticalCenter &&
         instanceAnchor(AnchorLine::HorizontalCenter).type() == AnchorLine::HorizontalCenter) &&

        (instanceAnchor(AnchorLine::VerticalCenter).qmlItemNode() ==
         instanceAnchor(AnchorLine::HorizontalCenter).qmlItemNode())) {

        if (instanceHasAnchor(AnchorLine::Center))
            return; //avoid recursion

        QmlItemNode targetNode(instanceAnchor(AnchorLine::VerticalCenter).qmlItemNode());
        removeAnchors();
        setAnchor(AnchorLine::Center, targetNode, AnchorLine::Center);
    }
}
Exemple #3
0
void UIAnchorLayout::removeWidget(const UIWidgetPtr& widget)
{
    removeAnchors(widget);
}