24 Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
26 QStringList importPaths READ importPaths WRITE setImportPaths NOTIFY
28 Q_PROPERTY(QVariantList mapping READ mapping WRITE setMapping NOTIFY mappingChanged)
29 Q_PROPERTY(QVariantMap values READ values WRITE setValues NOTIFY valuesChanged)
30 Q_PROPERTY(QString status READ status NOTIFY statusChanged)
31 Q_PROPERTY(QString errorString READ errorString NOTIFY errorStringChanged)
32 Q_PROPERTY(QSizeF designSize READ designSize NOTIFY designSizeChanged)
33 Q_PROPERTY(QVariantList objects READ objects NOTIFY objectsChanged)
36 explicit ImportedUi(QQuickItem* parent =
nullptr);
39 const QUrl& source()
const noexcept {
return m_source; }
40 const QStringList& importPaths()
const noexcept {
return m_importPaths; }
41 const QVariantList& mapping()
const noexcept {
return m_mapping; }
42 const QVariantMap& values()
const noexcept {
return m_values; }
43 const QString& status()
const noexcept {
return m_status; }
44 const QString& errorString()
const noexcept {
return m_error; }
45 QSizeF designSize()
const noexcept {
return m_designSize; }
46 const QVariantList& objects()
const noexcept {
return m_objects; }
48 void setSource(
const QUrl& source);
49 void setImportPaths(
const QStringList& paths);
51 void setMapping(
const QVariantList& mapping);
52 Q_INVOKABLE
void reload();
53 void setValues(
const QVariantMap& values);
57 void importPathsChanged();
58 void mappingChanged();
61 void errorStringChanged();
62 void designSizeChanged();
63 void objectsChanged();
64 void event(
const QString& name,
const QVariant& value);
67 void componentComplete()
override;
68 void geometryChange(
const QRectF& newGeometry,
const QRectF& oldGeometry)
override;
77 QPointer<QObject> target;
78 QMetaProperty property;
84 void scheduleUpdate(
bool reload);
89 void configureMappings();
90 QString applyValues();
92 void setState(
const QString& status,
const QString& error = {});
95 QStringList m_importPaths;
96 QVariantList m_mapping;
98 QString m_status{QStringLiteral(
"empty")};
101 QVariantList m_objects;
102 std::unique_ptr<QQmlEngine> m_engine;
103 std::unique_ptr<QQmlComponent> m_component;
104 QQuickItem* m_viewport{};
105 QPointer<QQuickItem> m_root;
106 std::vector<Binding> m_bindings;
107 std::vector<QMetaObject::Connection> m_connections;
109 bool m_updatePending{};
110 bool m_reloadPending{};
111 bool m_mappingValid{};
112 bool m_applyingValues{};
113 bool m_dispatchingOutputs{};
114 bool m_valuesPending{};