Browse Source

设置节点无效状态的颜色

chengxr 1 year ago
parent
commit
7fb3d4e644
4 changed files with 13 additions and 3 deletions
  1. 1 1
      QFD/CCanvas/CMindView.cpp
  2. 8 0
      QFD/CCanvas/CNodeItem.cpp
  3. 2 0
      QFD/CCanvas/CNodeItem.h
  4. 2 2
      QFD/CCanvas/CPathItem.h

+ 1 - 1
QFD/CCanvas/CMindView.cpp

@@ -181,7 +181,7 @@ void CMindView::refreshNodeGeometry(CNodeItem *node, QPointF topLeft)
         subNode->lineItem()->setEndPos(subNode->rectItem()->centerLeft());
     }
 
-    node->rectItem()->setHighlighted(m_mind->isInvalidated(node->data().number));
+    node->setHighlighted(m_mind->isInvalidated(node->data().number));
 }
 
 void CMindView::mousePressEvent(QMouseEvent *event)

+ 8 - 0
QFD/CCanvas/CNodeItem.cpp

@@ -353,6 +353,14 @@ CNodeItem *CNodeItem::editingNode()
     return node;
 }
 
+void CNodeItem::setHighlighted(bool h)
+{
+    m_rectItem->setHighlighted(h);
+    m_lineItem->setHighlighted(h);
+    m_lineItem->setBrush(Qt::NoBrush);
+    m_textItem->setDefaultTextColor(h ? QColor("#cccccc") : Qt::black);
+}
+
 void CNodeItem::slotEditNode()
 {
     emit sigEditNode(data());

+ 2 - 0
QFD/CCanvas/CNodeItem.h

@@ -95,6 +95,8 @@ public:
 
     CNodeItem *editingNode();
 
+    void setHighlighted(bool h);
+
 signals:
     void sigEditNode(CNodeData n);
     void sigAddSubItem(int pNumber);

+ 2 - 2
QFD/CCanvas/CPathItem.h

@@ -35,10 +35,10 @@ protected:
     int m_lineWidth = 1;
 
     QColor m_normalLineColor    = Qt::gray;
-    QColor m_highlightLineColor = Qt::gray;
+    QColor m_highlightLineColor = QColor("#33cccccc");
 
     QColor m_normalFillColor    = Qt::white;
-    QColor m_highlightFillColor = Qt::lightGray;
+    QColor m_highlightFillColor = QColor("#33cccccc");
 
     bool m_highlighted = false;
 };