23class SCORE_PLUGIN_JS_EXPORT
ImportedUi :
public QQuickItem
26 Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
28 QStringList importPaths READ importPaths WRITE setImportPaths NOTIFY
30 Q_PROPERTY(QVariantList mapping READ mapping WRITE setMapping NOTIFY mappingChanged)
31 Q_PROPERTY(QVariantMap values READ values WRITE setValues NOTIFY valuesChanged)
32 Q_PROPERTY(QString status READ status NOTIFY statusChanged)
33 Q_PROPERTY(QString errorString READ errorString NOTIFY errorStringChanged)
34 Q_PROPERTY(QSizeF designSize READ designSize NOTIFY designSizeChanged)
35 Q_PROPERTY(QVariantList objects READ objects NOTIFY objectsChanged)
38 explicit ImportedUi(QQuickItem* parent =
nullptr);
41 const QUrl& source()
const noexcept {
return m_source; }
42 const QStringList& importPaths()
const noexcept {
return m_importPaths; }
43 const QVariantList& mapping()
const noexcept {
return m_mapping; }
44 const QVariantMap& values()
const noexcept {
return m_values; }
45 const QString& status()
const noexcept {
return m_status; }
46 const QString& errorString()
const noexcept {
return m_error; }
47 QSizeF designSize()
const noexcept {
return m_designSize; }
48 const QVariantList& objects()
const noexcept {
return m_objects; }
50 void setSource(
const QUrl& source);
51 void setImportPaths(
const QStringList& paths);
53 void setMapping(
const QVariantList& mapping);
54 Q_INVOKABLE
void reload();
55 void setValues(
const QVariantMap& values);
59 void importPathsChanged();
60 void mappingChanged();
63 void errorStringChanged();
64 void designSizeChanged();
65 void objectsChanged();
66 void event(
const QString& name,
const QVariant& value);
69 void componentComplete()
override;
70 void geometryChange(
const QRectF& newGeometry,
const QRectF& oldGeometry)
override;
79 QPointer<QObject> target;
80 QMetaProperty property;
86 void scheduleUpdate(
bool reload);
91 void configureMappings();
92 QString applyValues();
94 void setState(
const QString& status,
const QString& error = {});
97 QStringList m_importPaths;
98 QVariantList m_mapping;
100 QString m_status{QStringLiteral(
"empty")};
103 QVariantList m_objects;
104 std::unique_ptr<QQmlEngine> m_engine;
105 std::unique_ptr<QQmlComponent> m_component;
106 QQuickItem* m_viewport{};
107 QPointer<QQuickItem> m_root;
108 std::vector<Binding> m_bindings;
109 std::vector<QMetaObject::Connection> m_connections;
111 bool m_updatePending{};
112 bool m_reloadPending{};
113 bool m_mappingValid{};
114 bool m_applyingValues{};
115 bool m_dispatchingOutputs{};
116 bool m_valuesPending{};