#ifndef QQuickDetailsViewLayoutBuilder_h__ #define QQuickDetailsViewLayoutBuilder_h__ #include "QQuickDetailsViewRow.h" class DIAGRAM_DESIGNER_PUBLIC QQuickDetailsViewRowBuilder { public: QQuickDetailsViewRowBuilder(IDetailsViewRow* inRow, QQuickItem* inRootItem); QPair makeNameValueSlot(); IDetailsViewRow* row() const; QQuickItem* rootItem() const; void makePropertyRow(QPropertyHandle* inHandle); QQuickItem* setupItem(QQuickItem* inParent, QString inQmlCode); void setupLabel(QQuickItem* inParent, QString inText); void setHeightProxy(QQuickItem* inProxyItem); private: IDetailsViewRow* mRow = nullptr; QQuickItem* mRootItem = nullptr; }; class DIAGRAM_DESIGNER_PUBLIC QQuickDetailsViewLayoutBuilder { public: QQuickDetailsViewLayoutBuilder(IDetailsViewRow* inRootRow); IDetailsViewRow* row() const; void addCustomRow(std::function inCustomRowCreator, QString inOverrideName = ""); void addProperty(QPropertyHandle* inPropertyHandle, QString inOverrideName = ""); void addObject(QObject* inObject); private: IDetailsViewRow* mRootRow = nullptr; }; #endif // QQuickDetailsViewLayoutBuilder_h__