1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #include "CMind.h"
- bool CNodeData::isValid() const
- {
- return projectId >= 0 && evalType > 0 && number >= 0;
- }
- bool CNodeData::isCached() const
- {
- return id >= 0;
- }
- bool CNodeData::hasParent() const
- {
- return pNumber >= 0;
- }
- CMind::CMind(int projId, int evalType, QObject *parent) : QObject(parent), m_projectId(projId), m_evalType(evalType) { }
- QList<CNodeData> CMind::nodeList() const
- {
- return m_nodeList;
- }
- void CMind::setNodeList(QList<CNodeData> list)
- {
- m_nodeList.clear();
- m_numberList.clear();
- for (CNodeData n : list) {
- addNode(n);
- }
- }
- bool CMind::isNodeValid(CNodeData n) const
- {
- bool v = n.isValid() && n.projectId == m_projectId && n.evalType == m_evalType;
- return v;
- }
- CNodeData CMind::node(int number) const
- {
- int i = m_numberList.indexOf(number);
- return m_nodeList[i];
- }
- bool CMind::containsNode(CNodeData n) const
- {
- return isNodeValid(n) && node(n.number).isValid();
- }
- void CMind::addNode(CNodeData n)
- {
- if (isNodeValid(n) == false) {
- return;
- }
- if (m_numberList.contains(n.number)) {
- return;
- }
- m_nodeList.append(n);
- m_numberList.append(n.number);
- }
- void CMind::removeNode(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);
- m_numberList.removeAt(i);
- }
- }
- }
|