#ifndef CMIND_H #define CMIND_H #include struct CNodeData { int id = -1; // 节点 id, 对应数据库节点表中的 id, 数据库自动生成 int projectId = -1; // 项目 id, 对应数据库项目表中的 id, 为脑图所属项目, 数据库自动生成 int evalType = 0; // 评估类型 int number = -1; // 节点编号, 作用域为当前脑图, 0 为根节点 int pNumber = -1; // 父节点编号 QString name; // 名称 QString remark; // 备注 }; class CMind : public QObject { Q_OBJECT public: explicit CMind(QObject *parent = nullptr); // 节点数据 QList nodeList() const; void setNodeList(QList list); bool containsNode(CNodeData node) const; bool containsNodeWithId(int id) const; bool containsNodeWithNumber(int num) const; void addNode(CNodeData node); void removeNode(CNodeData node, bool removeChildren = true); void removeNodeById(int id, bool removeChildren = true); void removeNodeByNumber(int number, bool removeChildren = true); private: QList m_nodeList; }; #endif // CMIND_H