draggable demo
This commit is contained in:
27
doric-Qt/example/doric/shader/DoricDraggableNode.cpp
Normal file
27
doric-Qt/example/doric/shader/DoricDraggableNode.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
#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") {
|
||||
onDrag = prop.toString();
|
||||
} else {
|
||||
DoricStackNode::blend(view, name, prop);
|
||||
}
|
||||
}
|
21
doric-Qt/example/doric/shader/DoricDraggableNode.h
Normal file
21
doric-Qt/example/doric/shader/DoricDraggableNode.h
Normal file
@@ -0,0 +1,21 @@
|
||||
#ifndef DORICDRAGGABLENODE_H
|
||||
#define DORICDRAGGABLENODE_H
|
||||
|
||||
#include "DoricExport.h"
|
||||
|
||||
#include "shader/DoricStackNode.h"
|
||||
|
||||
class DORIC_EXPORT DoricDraggableNode : public DoricStackNode {
|
||||
|
||||
private:
|
||||
QString onDrag;
|
||||
|
||||
public:
|
||||
using DoricStackNode::DoricStackNode;
|
||||
|
||||
QQuickItem *build() override;
|
||||
|
||||
virtual void blend(QQuickItem *view, QString name, QJsonValue prop) override;
|
||||
};
|
||||
|
||||
#endif // DORICDRAGGABLENODE_H
|
Reference in New Issue
Block a user