summaryrefslogtreecommitdiffstats
path: root/src/core/nodes/qnode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/nodes/qnode.h')
-rw-r--r--src/core/nodes/qnode.h38
1 files changed, 22 insertions, 16 deletions
diff --git a/src/core/nodes/qnode.h b/src/core/nodes/qnode.h
index 75ea61cc7..1fe03f5e0 100644
--- a/src/core/nodes/qnode.h
+++ b/src/core/nodes/qnode.h
@@ -40,11 +40,12 @@
#ifndef QT3DCORE_QNODE_H
#define QT3DCORE_QNODE_H
-#include <QObject>
-#include <Qt3DCore/qt3dcore_global.h>
+#include <Qt3DCore/qnodecreatedchange.h>
#include <Qt3DCore/qnodeid.h>
+#include <Qt3DCore/qnodecommand.h>
#include <Qt3DCore/qscenechange.h>
-#include <Qt3DCore/qnodecreatedchange.h>
+#include <Qt3DCore/qt3dcore_global.h>
+#include <QtCore/QObject>
#define Q_NODE_NULLPTR static_cast<Qt3DCore::QNode *>(nullptr)
@@ -69,16 +70,15 @@ class QT3DCORESHARED_EXPORT QNode : public QObject
Q_OBJECT
Q_PROPERTY(Qt3DCore::QNode *parent READ parentNode WRITE setParent NOTIFY parentChanged)
Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged)
- Q_PROPERTY(PropertyTrackMode propertyTrackMode READ propertyTrackMode WRITE setPropertyTrackMode NOTIFY propertyUpdateModeChanged)
- Q_PROPERTY(QStringList trackedProperties READ trackedProperties WRITE setTrackedProperties NOTIFY trackedPropertiesChanged)
+ Q_PROPERTY(PropertyTrackingMode defaultPropertyTrackingMode READ defaultPropertyTrackingMode WRITE setDefaultPropertyTrackingMode NOTIFY defaultPropertyTrackingModeChanged REVISION 9)
public:
- enum PropertyTrackMode {
- DefaultTrackMode,
- TrackNamedPropertiesMode,
- TrackAllPropertiesMode
+ enum PropertyTrackingMode : quint16 {
+ TrackFinalValues,
+ DontTrackValues,
+ TrackAllValues
};
- Q_ENUM(PropertyTrackMode)
+ Q_ENUM(PropertyTrackingMode)
explicit QNode(QNode *parent = nullptr);
virtual ~QNode();
@@ -92,20 +92,26 @@ public:
QNodeVector childNodes() const;
bool isEnabled() const;
- PropertyTrackMode propertyTrackMode() const;
- QStringList trackedProperties() const;
+ PropertyTrackingMode defaultPropertyTrackingMode() const;
+
+ void setPropertyTracking(const QString &propertyName, PropertyTrackingMode trackMode);
+ PropertyTrackingMode propertyTracking(const QString &propertyName) const;
+ void clearPropertyTracking(const QString &propertyName);
+ void clearPropertyTrackings();
+
+ QNodeCommand::CommandId sendCommand(const QString &name, const QVariant &data = QVariant(),
+ QNodeCommand::CommandId replyTo = QNodeCommand::CommandId());
+ void sendReply(const QNodeCommandPtr &command);
public Q_SLOTS:
void setParent(QNode *parent);
void setEnabled(bool isEnabled);
- void setPropertyTrackMode(PropertyTrackMode mode);
- void setTrackedProperties(const QStringList &trackedProperties);
+ void setDefaultPropertyTrackingMode(PropertyTrackingMode mode);
Q_SIGNALS:
void parentChanged(QObject *parent);
void enabledChanged(bool enabled);
- void propertyUpdateModeChanged(PropertyTrackMode mode);
- void trackedPropertiesChanged(const QStringList &trackedProperties);
+ void defaultPropertyTrackingModeChanged(PropertyTrackingMode mode);
void nodeDestroyed();
protected: