#ifndef DORICSUPERNODE_H #define DORICSUPERNODE_H #include #include "DoricViewNode.h" class DoricSuperNode : public DoricViewNode { private: QMap subNodes; protected: virtual void blend(QQuickItem *view, QString name, QJsonValue prop) override; virtual void blendSubNode(QJsonValue subProperties) = 0; public: using DoricViewNode::DoricViewNode; bool mReusable = false; QJsonValue getSubModel(QString id); void blendSubLayoutConfig(DoricViewNode *viewNode, QJsonValue jsValue); QJsonValue generateDefaultLayoutConfig(); private: void mixinSubNode(QJsonValue subNode); void mixin(QJsonValue src, QJsonValue target); }; #endif // DORICSUPERNODE_H