1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #ifndef CMIND_H
- #define CMIND_H
- #include "CNode.h"
- #include <QObject>
- struct SeqNode
- {
- QString name;
- QStringList childs;
- };
- class CMind : public QObject
- {
- Q_OBJECT
- public:
- explicit CMind(QObject *parent = nullptr);
-
- QList<CNodeData> nodeList() const;
- void setNodeList(QList<CNodeData> list);
- bool isNodeValid(CNodeData n) const;
- CNodeData node(int number) const;
- bool containsNode(int number) const;
- bool canAddNode(CNodeData n);
- void addNode(CNodeData n);
- void removeNode(int number);
- void updateNode(CNodeData n);
- CNodeData root() const;
- bool hasAncestor(int childNumber, int ancestorNumber) const;
-
- int maxNumber() const;
-
- int minNumber() const;
- void clear();
-
- int levelOfNode(CNodeData n) const;
-
- int levels() const;
-
- QList<CNodeData> nodesInLevel(int i) const;
-
- QList<CNodeData> subNodes(CNodeData n) const;
-
- int leavesCountOfNode(CNodeData n) const;
-
- int leavesCount() const;
-
- QList<CNodeData> leavesOfNode(CNodeData n) const;
-
- QList<CNodeData> leaves() const;
- void getSeqNodes(QList<QList<SeqNode>> &seqNodes) const;
- signals:
- void sigRemoveNode(int id);
- private:
- QList<int> numberList() const;
- private:
- QList<CNodeData> m_nodeList;
- };
- #endif
|