This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
Doric/doric-Qt/example/doric/shader/DoricDraggableNode.cpp

37 lines
944 B
C++
Raw Permalink Normal View History

2021-06-02 10:11:14 +08:00
#include "DoricDraggableNode.h"
QQuickItem *DoricDraggableNode::build() {
QQmlComponent component(getContext()->getQmlEngine());
const QUrl url(QStringLiteral("qrc:/doric/qml/draggable.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;
}
void DoricDraggableNode::blend(QQuickItem *view, QString name,
QJsonValue prop) {
if (name == "onDrag") {
2021-06-02 11:26:11 +08:00
onDragFunction = prop.toString();
2021-06-02 10:11:14 +08:00
} else {
DoricStackNode::blend(view, name, prop);
}
}
2021-06-02 11:26:11 +08:00
void DoricDraggableNode::onDrag(double x, double y) {
getLayouts()->setMarginLeft(x);
getLayouts()->setMarginTop(y);
QVariantList args;
args.append(x);
args.append(y);
callJSResponse(onDragFunction, args);
}