19#ifndef FGQMLPROPERTYNODE_HXX
20#define FGQMLPROPERTYNODE_HXX
23#include <QQmlListProperty>
26#include <simgear/props/props.hxx>
28#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
29#define QML_LIST_INDEX_TYPE qsizetype
31#define QML_LIST_INDEX_TYPE int
35 public SGPropertyChangeListener
48 Q_INVOKABLE
bool set(QVariant newValue);
51 QVariant
value() const;
60 SGPropertyNode_ptr
node() const;
64 return QQmlListProperty<FGQmlPropertyNode>(
this,
nullptr,
79 void childAdded(SGPropertyNode* pr, SGPropertyNode* child)
override;
80 void childRemoved(SGPropertyNode* pr, SGPropertyNode* child)
override;
107 SGPropertyNode_ptr _prop;
#define QML_LIST_INDEX_TYPE
Q_INVOKABLE bool set(QVariant newValue)
FGQmlPropertyNode * childAt(int index) const
void valueChangedNotify(QVariant value)
void parentPropChanged(FGQmlPropertyNode *parentProp)
SGPropertyNode_ptr node() const
static QVariant propertyValueAsVariant(SGPropertyNode *p)
QQmlListProperty< FGQmlPropertyNode > childProps
void setNode(SGPropertyNode_ptr node)
void pathChanged(QString path)
FGQmlPropertyNode * parentProp
void setPath(QString path)
void childRemoved(SGPropertyNode *pr, SGPropertyNode *child) override
void childAdded(SGPropertyNode *pr, SGPropertyNode *child) override
FGQmlPropertyNode(QObject *parent=nullptr)
void valueChanged(SGPropertyNode *node) override