12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #include "CMind.h"
- CMind::CMind(QObject *parent) : QObject(parent) { }
- QList<CNodeData> CMind::nodeList() const
- {
- return m_nodeList;
- }
- void CMind::setNodeList(QList<CNodeData> list)
- {
- m_nodeList = list;
- }
- bool CMind::containsNode(CNodeData node) const
- {
- if (node.id >= 0) {
- return containsNodeWithId(node.id);
- }
- return containsNodeWithNumber(node.number);
- }
- bool CMind::containsNodeWithId(int id) const
- {
- for (auto n : m_nodeList) {
- if (n.id == id) {
- return true;
- }
- }
- return false;
- }
- bool CMind::containsNodeWithNumber(int num) const
- {
- for (auto n : m_nodeList) {
- if (n.number == num) {
- return true;
- }
- }
- return false;
- }
- void CMind::addNode(CNodeData node)
- {
- m_nodeList.append(node);
- }
- void CMind::removeNode(CNodeData node, bool removeChildren)
- {
- removeNodeByNumber(node.number, removeChildren);
- }
- void CMind::removeNodeById(int id, bool removeChildren)
- {
- for (auto n : m_nodeList) {
- if (n.id == id) {
- removeNodeByNumber(n.number, removeChildren);
- }
- }
- }
- void CMind::removeNodeByNumber(int number, bool removeChildren)
- {
- for (int i = 0; i < m_nodeList.count(); i++) {
- CNodeData n = m_nodeList[i];
- if (n.number == number || (removeChildren && n.pNumber == number)) {
- m_nodeList.removeAt(i);
- }
- }
- }
|