HMI/PropertyEditor/source/include/PropertyHandleImpl/IPropertyHandleImpl.h

37 lines
712 B
C++

#ifndef IPropertyHandleImpl_h__
#define IPropertyHandleImpl_h__
#include <QQmlContext>
#include <QQuickItem>
#include <QVariant>
#include <QObject>
#include "QDetailsViewAPI.h"
class QPropertyHandle;
class IPropertyHandleImpl{
friend class QPropertyHandle;
public:
enum Type {
Null,
RawType,
Associative,
Sequential,
Enum,
Object,
};
public:
virtual ~IPropertyHandleImpl() = default;
protected:
IPropertyHandleImpl(QPropertyHandle* inHandle);
virtual QQuickItem* createNameEditor(QQuickItem* inParent);
virtual QQuickItem* createValueEditor(QQuickItem* inParent)= 0;
virtual Type type() { return Type::Null; };
protected:
QPropertyHandle* mHandle;
};
#endif // IPropertyHandleImpl_h__