QmlMaterial 0.1.0
Loading...
Searching...
No Matches
item_proxy.hpp
1#pragma once
2
3#include <QtCore/QPointer>
4#include <QtQml/QQmlEngine>
5#include <QtQuick/QQuickItem>
6
7namespace qml_material
8{
9class ItemProxy : public QQuickItem {
10 Q_OBJECT
11 QML_ELEMENT
12
13 Q_PROPERTY(QObject* item READ item WRITE setItem NOTIFY itemChanged FINAL)
14 Q_PROPERTY(bool visibleOnItem READ visibleOnItem WRITE setVisibleOnItem NOTIFY visibleOnItemChanged FINAL)
15public:
16 ItemProxy(QQuickItem* parent = nullptr);
17 ~ItemProxy();
18
19 auto item() const -> QObject*;
20 auto visibleOnItem() const -> bool;
21
22 Q_SLOT void setItem(QObject*);
23 Q_SLOT void setVisibleOnItem(bool);
24
25 Q_SIGNAL void itemChanged();
26 Q_SIGNAL void visibleOnItemChanged();
27
28private:
29 QPointer<QObject> m_item;
30 bool m_visible_on_item;
31};
32
33} // namespace qml_material