add slider node

This commit is contained in:
王劲鹏
2021-05-07 18:17:07 +08:00
committed by osborn
parent 0ad7cfb52e
commit 0f2a6ef55c
12 changed files with 189 additions and 41 deletions

View File

@@ -0,0 +1,37 @@
#include "DoricSliderNode.h"
QQuickItem *DoricSliderNode::build() {
QQmlComponent component(getContext()->getQmlEngine());
const QUrl url(QStringLiteral("qrc:/doric/qml/slider.qml"));
component.loadUrl(url);
if (component.isError()) {
qCritical() << component.errorString();
}
QQuickItem *item = qobject_cast<QQuickItem *>(component.create());
this->createLayouts(item);
item->setProperty("wrapper", QString::number((qint64)this));
return item;
}
DoricViewNode *DoricSliderNode::getSubNodeById(QString id) {}
void DoricSliderNode::blendSubNode(QJsonValue subProperties) {
QString viewId = subProperties["id"].toString();
DoricViewNode *node = getSubNodeById(viewId);
if (node != nullptr) {
node->blend(subProperties["props"]);
} else {
QJsonValue oldModel = getSubModel(viewId);
if (oldModel != QJsonValue::Undefined) {
DoricSuperNode::recursiveMixin(subProperties, oldModel);
}
}
}
void DoricSliderNode::blend(QJsonValue jsValue) {}
void DoricSliderNode::blend(QQuickItem *view, QString name, QJsonValue prop) {}

View File

@@ -0,0 +1,22 @@
#ifndef DORICSLIDERNODE_H
#define DORICSLIDERNODE_H
#include "shader/DoricSuperNode.h"
class DoricSliderNode : public DoricSuperNode {
public:
using DoricSuperNode::DoricSuperNode;
QQuickItem *build() override;
virtual DoricViewNode *getSubNodeById(QString id) override;
virtual void blendSubNode(QJsonValue subProperties) override;
virtual void blend(QJsonValue jsValue) override;
virtual void blend(QQuickItem *view, QString name, QJsonValue prop) override;
};
#endif // DORICSLIDERNODE_H