瀏覽代碼

修复了指标体系中清空节点再添加后节点序号混乱的问题(节点没有真正被清除)

chengxr 1 年之前
父節點
當前提交
f662ebf021
共有 4 個文件被更改,包括 12 次插入7 次删除
  1. 7 1
      QFD/CCanvas/CMind.cpp
  2. 2 0
      QFD/CCanvas/CMind.h
  3. 3 4
      QFD/CCanvas/CMindView.cpp
  4. 0 2
      QFD/CCanvas/CNodeItem.cpp

+ 7 - 1
QFD/CCanvas/CMind.cpp

@@ -1,5 +1,7 @@
 #include "CMind.h"
 
+#include <QDebug>
+
 CNodeData::CNodeData(int projId, int evalType, int number, int pNumber, int id)
     : id(id), projectId(projId), evalType(evalType), number(number), pNumber(pNumber)
 {
@@ -115,7 +117,6 @@ void CMind::removeNode(int number)
 CNodeData CMind::root() const
 {
     return node(minNumber());
-    ;
 }
 
 bool CMind::hasAncestor(int childNumber, int ancestorNumber) const
@@ -162,3 +163,8 @@ int CMind::minNumber() const
     }
     return n;
 }
+
+void CMind::clear()
+{
+    m_nodeList.clear();
+}

+ 2 - 0
QFD/CCanvas/CMind.h

@@ -34,6 +34,8 @@ public:
     // 最小的节点编号, 由于创建节点时编号递增, 所以此为根节点
     int minNumber() const;
 
+    void clear();
+
 private:
     QList<int> numberList() const;  // 节点编号列表
 

+ 3 - 4
QFD/CCanvas/CMindView.cpp

@@ -43,7 +43,6 @@ void CMindView::setNodeList(QList<CNodeData> list)
 
 void CMindView::addNode(CNodeData n)
 {
-    qDebug() << __FUNCTION__ << __LINE__ << n.name << n.number << n.pNumber << endl;
     m_mind->addNode(n);
     CNodeItem *item = new CNodeItem(n);
     connect(item, &CNodeItem::sigAddSubItem, this, &CMindView::slotAddSubNode);
@@ -63,7 +62,8 @@ void CMindView::addNode(CNodeData n)
 
 void CMindView::clear()
 {
-    m_mind->nodeList().clear();
+    m_mind->clear();
+
     delete m_root;
     m_root = nullptr;
 
@@ -199,7 +199,7 @@ void CMindView::testData()
 
 void CMindView::slotAddSubNode(int pNumber)
 {
-    qDebug() << __FUNCTION__ << __LINE__ << pNumber << endl;
+
     if (pNumber < 0) {
         return;
     }
@@ -211,7 +211,6 @@ void CMindView::slotAddSubNode(int pNumber)
 
 void CMindView::slotRemoveNode(int number)
 {
-    qDebug() << __FUNCTION__ << __LINE__ << number << endl;
     m_mind->removeNode(number);
     if (number == m_root->data().number) {
         clear();

+ 0 - 2
QFD/CCanvas/CNodeItem.cpp

@@ -301,13 +301,11 @@ void CNodeItem::slotSelect()
 
 void CNodeItem::slotSubNode()
 {
-    qDebug() << __FUNCTION__ << __LINE__ << data().number << endl;
     emit sigAddSubItem(data().number);
 }
 
 void CNodeItem::slotRemove()
 {
-    qDebug() << __FUNCTION__ << __LINE__ << data().number << endl;
     emit sigRemoveItem(data().number);
 }