Bläddra i källkod

添加了标尺和画笔互斥功能修复了右键冲突

yun 1 dag sedan
förälder
incheckning
e30f65396a

+ 2 - 2
View/die-bonder-ui/CameraMaterialGroupWnd/Group.cpp

@@ -145,12 +145,12 @@ bool Group::eventFilter(QObject *obj, QEvent *event)
             if (obj == this->ui->Imagewidget_left) 
             {
                 index = 1;
-                setEnableControls(true);
+                //setEnableControls(true);
             } 
             else if (obj == this->ui->Imagewidget_right)
             {
                 index = 2;
-                setEnableControls(false);
+                //setEnableControls(false);
             }
             if (index == 0) {
                 return QWidget::eventFilter(obj, event);

+ 14 - 2
View/die-bonder-ui/ImageView.cpp

@@ -188,7 +188,8 @@ void ImageView::mouseReleaseEvent(QMouseEvent* event) {
             if (!m_bRulerState) {
                 QMenu menu(this);
                 QAction* act1 = menu.addAction(tr("save picture"));
-                QAction* act2 = menu.addAction(tr("clear"));
+                QAction* act2 = menu.addAction(tr("clear drawing"));
+                QAction* act3 = menu.addAction(tr("clear selected rulers"));
 
                 connect(act1, &QAction::triggered, this, [this]() {
                     saveImage();
@@ -196,6 +197,9 @@ void ImageView::mouseReleaseEvent(QMouseEvent* event) {
                 connect(act2, &QAction::triggered, this, [this]() {
                     clearDrawnLines();
                     });
+                connect(act3, &QAction::triggered, this, [this]() {
+                    clearRulerLines();
+                    });
                 menu.exec(event->globalPos());
             }
         }
@@ -320,9 +324,17 @@ void ImageView::clearDrawnLines()
 {
     qDeleteAll(m_drawnPaths);
     m_drawnPaths.clear();
+
+}
+
+void ImageView::clearRulerLines()
+{
     foreach(QGraphicsItem * item, scene()->selectedItems()) {
         if (nullptr == item)
             continue;
-        scene()->removeItem(item);
+        if (dynamic_cast<RulerLineItem*>(item) != nullptr) {
+            scene()->removeItem(item);
+        }
+
     }
 }

+ 1 - 0
View/die-bonder-ui/ImageView.h

@@ -61,6 +61,7 @@ private:
 
     void saveImage();
     void clearDrawnLines();
+    void clearRulerLines();
 
 };
 

+ 19 - 4
View/die-bonder-ui/Src/RewriteControl/ControlOperationPage.cpp

@@ -621,6 +621,8 @@ void ControlOperationPage::DeduplicationBox(QComboBox* pCom, const T& veTemp, in
 void ControlOperationPage::setEnableControls(bool enable) {
     ui->LiveButton->setEnabled(enable);
     ui->DataSources->setEnabled(enable);
+    ui->RulerButton->setEnabled(enable);
+    ui->PenButton->setEnabled(enable);
     if (enable == true) {
         ui->LiveButton->setStyleSheet(
             "QPushButton:hover {"
@@ -630,9 +632,16 @@ void ControlOperationPage::setEnableControls(bool enable) {
             "   background-color: #3e8e41;"
             "}"
         );
+        ui->RulerButton->setStyleSheet("background-color: #CBD0FF;");
+        ui->PenButton->setStyleSheet("background-color: #CBD0FF;");
+
+        
+    
     }
     else {
         ui->LiveButton->setStyleSheet("background-color: lightgray;");
+        ui->RulerButton->setStyleSheet("background-color: lightgray;");
+        ui->PenButton->setStyleSheet("background-color: lightgray;");
     }
 
 }
@@ -648,10 +657,10 @@ void ControlOperationPage::on_RulerButton_clicked()
 
     m_bRuler = !m_bRuler;
     if (m_bRuler == true) {
-        ui->RulerButton->setStyleSheet("QPushButton { background-color: #808FFF; }");
+       
     }
     else {
-        ui->RulerButton->setStyleSheet("QPushButton { background-color: #CBD0FF; }");
+        
     }
     if (ui->RulerButton->isChecked()) {
         m_currentImageView->addRuler();
@@ -659,10 +668,13 @@ void ControlOperationPage::on_RulerButton_clicked()
             ui->PenButton->setChecked(false);
             m_currentImageView->setIsDrawing(false);
             //ui->PenButton->setStyleSheet("QPushButton { background-color: none; }");
+            ui->PenButton->setStyleSheet("QPushButton { background-color: #CBD0FF; }");
         }
+        ui->RulerButton->setStyleSheet("QPushButton { background-color: #808FFF; }");
     }
     else {
         m_currentImageView->cancelRuler();
+        ui->RulerButton->setStyleSheet("QPushButton { background-color: #CBD0FF; }");
     }
 }
 
@@ -672,23 +684,26 @@ void ControlOperationPage::on_PenButton_clicked() {
     m_isEnable = !m_isEnable;
 
     if (m_isEnable == true) {
-        ui->PenButton->setStyleSheet("QPushButton { background-color: #808FFF; }");
+        
     }
     else {
-        ui->PenButton->setStyleSheet("QPushButton { background-color: #CBD0FF; }");
+        
     }
     if (ui->PenButton->isChecked()) {
+        ui->PenButton->setStyleSheet("QPushButton { background-color: #808FFF; }");
         //ui->Operatewidget->setIsDrawing(true);
         m_currentImageView->setIsDrawing(true);
         
         if (ui->RulerButton->isChecked()) {
             ui->RulerButton->setChecked(false);
             m_currentImageView->cancelRuler();
+            ui->RulerButton->setStyleSheet("QPushButton { background-color: #CBD0FF; }");
         }
     }
     else {
         //ui->Operatewidget->setIsDrawing(false);
         m_currentImageView->setIsDrawing(false);
+        ui->PenButton->setStyleSheet("QPushButton { background-color: #CBD0FF; }");
         
     }
 }

BIN
新功能需求完成情况4.16.xls