From 63c8e864d10b0691e4c18869f45d273c797d08e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=8A=B2=E9=B9=8F?= Date: Wed, 24 Feb 2021 16:23:45 +0800 Subject: [PATCH] space & gravity dispatch to v & h layout --- doric-Qt/doric/resources/hlayout.qml | 1 - doric-Qt/doric/resources/panel.qml | 1 + doric-Qt/doric/resources/stack.qml | 1 + doric-Qt/doric/shader/DoricHLayoutNode.cpp | 10 ++++++++++ doric-Qt/doric/shader/DoricHLayoutNode.h | 2 ++ doric-Qt/doric/shader/DoricVLayoutNode.cpp | 10 ++++++++++ doric-Qt/doric/shader/DoricVLayoutNode.h | 2 ++ doric-Qt/doric/shader/DoricViewNode.cpp | 4 ++-- 8 files changed, 28 insertions(+), 3 deletions(-) diff --git a/doric-Qt/doric/resources/hlayout.qml b/doric-Qt/doric/resources/hlayout.qml index 0cba8a5e..1b918705 100644 --- a/doric-Qt/doric/resources/hlayout.qml +++ b/doric-Qt/doric/resources/hlayout.qml @@ -3,4 +3,3 @@ import QtQuick.Controls 2.5 Row { } - diff --git a/doric-Qt/doric/resources/panel.qml b/doric-Qt/doric/resources/panel.qml index 72a01878..b6f562e9 100644 --- a/doric-Qt/doric/resources/panel.qml +++ b/doric-Qt/doric/resources/panel.qml @@ -2,4 +2,5 @@ import QtQuick 2.12 import QtQuick.Controls 2.5 Rectangle { + } diff --git a/doric-Qt/doric/resources/stack.qml b/doric-Qt/doric/resources/stack.qml index 72a01878..b6f562e9 100644 --- a/doric-Qt/doric/resources/stack.qml +++ b/doric-Qt/doric/resources/stack.qml @@ -2,4 +2,5 @@ import QtQuick 2.12 import QtQuick.Controls 2.5 Rectangle { + } diff --git a/doric-Qt/doric/shader/DoricHLayoutNode.cpp b/doric-Qt/doric/shader/DoricHLayoutNode.cpp index 9c8021a1..fd84e93c 100644 --- a/doric-Qt/doric/shader/DoricHLayoutNode.cpp +++ b/doric-Qt/doric/shader/DoricHLayoutNode.cpp @@ -13,3 +13,13 @@ QQuickItem *DoricHLayoutNode::build() { QQuickItem *item = qobject_cast(component.create()); return item; } + +void DoricHLayoutNode::blend(QQuickItem *view, QString name, QJSValue prop) { + if (name == "space") { + view->setProperty("spacing", prop.toInt()); + } else if (name == "gravity") { + qWarning() << "gravity: " << prop.toInt(); + } else { + DoricGroupNode::blend(view, name, prop); + } +} diff --git a/doric-Qt/doric/shader/DoricHLayoutNode.h b/doric-Qt/doric/shader/DoricHLayoutNode.h index c36d59c3..a166d8e6 100644 --- a/doric-Qt/doric/shader/DoricHLayoutNode.h +++ b/doric-Qt/doric/shader/DoricHLayoutNode.h @@ -9,6 +9,8 @@ public: using DoricGroupNode::DoricGroupNode; QQuickItem *build() override; + + virtual void blend(QQuickItem *view, QString name, QJSValue prop) override; }; #endif // DORICHLAYOUTNODE_H diff --git a/doric-Qt/doric/shader/DoricVLayoutNode.cpp b/doric-Qt/doric/shader/DoricVLayoutNode.cpp index 32f8b932..afcd14d5 100644 --- a/doric-Qt/doric/shader/DoricVLayoutNode.cpp +++ b/doric-Qt/doric/shader/DoricVLayoutNode.cpp @@ -13,3 +13,13 @@ QQuickItem *DoricVLayoutNode::build() { QQuickItem *item = qobject_cast(component.create()); return item; } + +void DoricVLayoutNode::blend(QQuickItem *view, QString name, QJSValue prop) { + if (name == "space") { + view->setProperty("spacing", prop.toInt()); + } else if (name == "gravity") { + qWarning() << "gravity: " << prop.toInt(); + } else { + DoricGroupNode::blend(view, name, prop); + } +} diff --git a/doric-Qt/doric/shader/DoricVLayoutNode.h b/doric-Qt/doric/shader/DoricVLayoutNode.h index 8a5c1f40..b6055b22 100644 --- a/doric-Qt/doric/shader/DoricVLayoutNode.h +++ b/doric-Qt/doric/shader/DoricVLayoutNode.h @@ -8,6 +8,8 @@ public: using DoricGroupNode::DoricGroupNode; QQuickItem *build() override; + + virtual void blend(QQuickItem *view, QString name, QJSValue prop) override; }; #endif // DORICVLAYOUTNODE_H diff --git a/doric-Qt/doric/shader/DoricViewNode.cpp b/doric-Qt/doric/shader/DoricViewNode.cpp index 8ce5803d..4085bcf0 100644 --- a/doric-Qt/doric/shader/DoricViewNode.cpp +++ b/doric-Qt/doric/shader/DoricViewNode.cpp @@ -51,8 +51,8 @@ void DoricViewNode::blend(QQuickItem *view, QString name, QJSValue prop) { view->setProperty("x", prop.toInt()); } else if (name == "y") { view->setProperty("y", prop.toInt()); - } else if (name == "space") { - view->setProperty("spacing", prop.toInt()); + } else if (name == "corners") { + view->setProperty("radius", prop.toInt()); } else { qCritical() << name << ": " << prop.toString(); }