|
@@ -1,6 +1,67 @@
|
|
|
-#include "CMind.h"
|
|
|
+#include "CMind.h"
|
|
|
|
|
|
-CMind::CMind()
|
|
|
+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
|
|
|
+{
|
|
|
+ return containsNodeWithId(node.id);
|
|
|
+}
|
|
|
+
|
|
|
+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)
|
|
|
+{
|
|
|
+ removeNodeById(node.id, 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|