CMind.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef CMIND_H
  2. #define CMIND_H
  3. #include <QObject>
  4. struct CNodeData
  5. {
  6. int id = -1; // 节点 id, 对应数据库节点表中的 id, 数据库自动生成
  7. int projectId = -1; // 项目 id, 对应数据库项目表中的 id, 为脑图所属项目, 数据库自动生成
  8. int evalType = 0; // 评估类型
  9. int number = -1; // 节点编号, 作用域为当前脑图, 0 为根节点
  10. int pNumber = -1; // 父节点编号
  11. QString name; // 名称
  12. QString remark; // 备注
  13. };
  14. class CMind : public QObject
  15. {
  16. Q_OBJECT
  17. public:
  18. explicit CMind(QObject *parent = nullptr);
  19. // 节点数据
  20. QList<CNodeData> nodeList() const;
  21. void setNodeList(QList<CNodeData> list);
  22. bool containsNode(CNodeData node) const;
  23. bool containsNodeWithId(int id) const;
  24. bool containsNodeWithNumber(int num) const;
  25. void addNode(CNodeData node);
  26. void removeNode(CNodeData node, bool removeChildren = true);
  27. void removeNodeById(int id, bool removeChildren = true);
  28. void removeNodeByNumber(int number, bool removeChildren = true);
  29. private:
  30. QList<CNodeData> m_nodeList;
  31. };
  32. #endif // CMIND_H