#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(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") { onDragFunction = prop.toString(); } else { DoricStackNode::blend(view, name, prop); } } void DoricDraggableNode::onDrag(double x, double y) { getLayouts()->setMarginLeft(x); getLayouts()->setMarginTop(y); QVariantList args; args.append(x); args.append(y); callJSResponse(onDragFunction, args); }