Ver código fonte

同步代码

JonYang 1 semana atrás
pai
commit
7ab78631ad

+ 12 - 2
View/die-bonder-ui/OriginalWnd/MainAndSecondaryCamerasWnd.cpp

@@ -416,15 +416,25 @@ void MainAndSecondaryCamerasWnd::UpdataLightJoystickSwitchPage(int groupId, int
         {
             pContPage->UpDateCameraBind(m_pMainCameraBind);
         }
+        else
+        {
+            pContPage->setSwitchJoystickButEnable(bShow);
+        }
     };
     
-    if (index == 1) {
+    if (index == 1)
+    {
         Group* currGroup = m_allGroup.at(groupId -1);
         Fun(currGroup, ui->control_L, ui->viewwidgetgroup_L, isShow);
+        connect(ui->viewwidgetgroup_L, &ControlOperationPage::SendModuleTypeSignals, 
+            ui->control_L,&LightJoystickSwitchPage::GetModuleTypeSlots);
     }
-    else if(index == 2){
+    else if(index == 2)
+    {
         Group* currGroup = m_allGroup.at(groupId -1);
         Fun(currGroup, ui->control_r, ui->viewwidgetgroup_R, isShow);
+        connect(ui->viewwidgetgroup_R, &ControlOperationPage::SendModuleTypeSignals,
+            ui->control_r, &LightJoystickSwitchPage::GetModuleTypeSlots);
     }
 
  /*   for (int i = 0; i < m_veCurrentSelectGroup.size(); i++)

+ 3 - 0
View/die-bonder-ui/SBTdie-bonder-ui.pro

@@ -20,10 +20,13 @@ CONFIG += c++17
 
 SOURCES += $$files(*.cpp, $$PWD) \
     Src/RewriteControl/MsgDlg/CustomMessageDlg.cpp
+    Src/RewriteControl/ControlOperationPage.h.cpp
 HEADERS += $$files(*.h, $$PWD) \
     Src/RewriteControl/MsgDlg/CustomMessageDlg.h
+    Src/RewriteControl/ControlOperationPage.h
 FORMS   += $$files(*.ui, $$PWD) \
     Src/RewriteControl/MsgDlg/CustomMessageDlg.ui
+    Src/RewriteControl/ControlOperationPage.ui
 
 # Default rules for deployment.
 qnx: target.path = /tmp/$${TARGET}/bin

+ 10 - 0
View/die-bonder-ui/Src/CameraBind.h

@@ -33,6 +33,16 @@ struct ST_LIGHT_VAL
     int pointLightValue;
 };
 
+//ÒÆ¶¯Öá
+struct ST_MOVE_AXIS
+{
+    std::string ModuleType;
+    std::string AxisType;
+    double pos;
+};
+
+// Ðü¸¡µÈ´ýʱ¼ä
+const unsigned int g_unnSuspensionWaitingTime = 1000 * 60; //60Ãë
 
 class CameraBind: public QObject
 {

+ 42 - 1
View/die-bonder-ui/Src/RewriteControl/ControlOperationPage.cpp

@@ -264,18 +264,32 @@ void ControlOperationPage::UpDateCameraBind(CameraBind* pCameraBind)
 {
     m_pCameraBindCopy = pCameraBind;
 
+    m_isAdd = true;
     // 有指针了在去刷新
     if (m_pCameraBindCopy != nullptr)
     {
         DeduplicationBox(ui->moduleTypeComboBox, m_pCameraBindCopy->m_vecCAxis, 0);
         DeduplicationBox(ui->axisTypeComboBox, m_pCameraBindCopy->m_vecCAxis, 1);
     }
+    m_isAdd = false;
+    setSwitchJoystickButEnable(true);
+}
+
+void ControlOperationPage::setSwitchJoystickButEnable(bool isEnable)
+{
+    ui->switchJoystickBut->setEnabled(isEnable);
+    if (isEnable == false)
+    {
+        ResetIdleTimer(false);
+        m_isUserOnclick = false;
+    }
 }
 
 void ControlOperationPage::on_switchJoystickBut_clicked()
 {
     m_isUserOnclick = true;
     ResetIdleTimer(true);
+    UpdataModuleType("aaa", 3);
 }
 
 void ControlOperationPage::MouseMovedSlots(const QPoint& delta)
@@ -292,6 +306,16 @@ void ControlOperationPage::RequestCursorMoveSlots(const QPoint& pos)
     QCursor::setPos(pos);
 }
 
+void ControlOperationPage::on_moduleTypeComboBox_currentIndexChanged(int index)
+{
+    UpdataModuleType(ui->moduleTypeComboBox->itemText(index), 1);
+}
+
+void ControlOperationPage::on_axisTypeComboBox_currentIndexChanged(int index)
+{
+    UpdataModuleType(ui->axisTypeComboBox->itemText(index), 2);
+}
+
 void ControlOperationPage::timerEvent(QTimerEvent* event)
 {
     int nID = event->timerId();
@@ -380,7 +404,7 @@ void ControlOperationPage::ResetIdleTimer(bool bStart /*= false*/)
     {
         if (isActiveWindow())
         {
-            m_idleTimer = startTimer(3000);
+            m_idleTimer = startTimer(g_unnSuspensionWaitingTime);
         }
     }
     else
@@ -461,6 +485,23 @@ void ControlOperationPage::LockMouse(bool islockMouse)
     }
 }
 
+void ControlOperationPage::UpdataModuleType(const QString& strMode, int nIndex)
+{
+    if (nIndex == 1)
+    {
+        m_currentSelectRunAxis.ModuleType = strMode.toStdString();
+    }
+    else if (nIndex == 2)
+    {
+        m_currentSelectRunAxis.AxisType = strMode.toStdString();
+    }
+
+    if (m_isAdd == false)
+    {
+        emit SendModuleTypeSignals(m_currentSelectRunAxis);
+    }
+}
+
 template<class T>
 void ControlOperationPage::DeduplicationBox(QComboBox* pCom, const T& veTemp, int nIndex)
 {

+ 19 - 0
View/die-bonder-ui/Src/RewriteControl/ControlOperationPage.h

@@ -50,6 +50,8 @@ public:
     /**更新硬件指针
      */
     void UpDateCameraBind(CameraBind* pCameraBind);
+    void setSwitchJoystickButEnable(bool isEnable);
+
     void setEnableControls(bool enable);
     void setBlueBord();
 private slots:
@@ -61,12 +63,20 @@ private slots:
     void handleDoubleClick();
     void on_switchJoystickBut_clicked();
     
+    void on_moduleTypeComboBox_currentIndexChanged(int index);
+    void on_axisTypeComboBox_currentIndexChanged(int index);
+
+signals:
+    /**发送轴变化消息
+     */
+    void SendModuleTypeSignals(const ST_MOVE_AXIS& _module);
 
 private slots:
     /**位置更新
      */
     void MouseMovedSlots(const QPoint& delta);
     void RequestCursorMoveSlots(const QPoint& pos);
+    
 
 protected:
     void timerEvent(QTimerEvent* event) override;
@@ -92,6 +102,10 @@ private:
     /**鼠标操作
      */
     void LockMouse(bool islockMouse);
+
+    /**更新轴状态
+     */
+    void UpdataModuleType(const QString& strMode,int nIndex);
 private:
     template<class T>
     void DeduplicationBox(QComboBox* pCom, const T& veTemp, int nIndex);
@@ -123,6 +137,11 @@ private:
     /**硬件指针
      */
     QPointer<CameraBind>        m_pCameraBindCopy;
+
+    /**当前选中轴
+     */
+    ST_MOVE_AXIS                m_currentSelectRunAxis = {};
+    bool                        m_isAdd = false;
 };
 
 #endif // VIEWWIDGETGROUP_H

+ 6 - 1
View/die-bonder-ui/Src/RewriteControl/LightJoystickSwitchPage.cpp

@@ -168,6 +168,11 @@ void LightJoystickSwitchPage::on_down_Button_clicked()
     MoveJoystick();
 }
 
+void LightJoystickSwitchPage::GetModuleTypeSlots(const ST_MOVE_AXIS& _module)
+{
+    SetMoveJoystickInfo(_module);
+}
+
 void LightJoystickSwitchPage::InitMainCameraBind(CameraBind* pCameraBind, bool bUpdate /*= true*/)
 {
     m_pCameraBind = pCameraBind;
@@ -255,7 +260,7 @@ void LightJoystickSwitchPage::ResetIdleTimer(bool bStart /*= false*/)
     {
         if (isActiveWindow())
         {
-            m_idleTimer = startTimer(3000);
+            m_idleTimer = startTimer(g_unnSuspensionWaitingTime);
         }
     }
     else

+ 4 - 8
View/die-bonder-ui/Src/RewriteControl/LightJoystickSwitchPage.h

@@ -11,14 +11,6 @@
 #include "../CameraBind.h"
 #include "CameraMaterialGroupWnd/Group.h"
 
-//移动轴
-struct ST_MOVE_AXIS
-{
-    std::string ModuleType;
-    std::string AxisType;
-    double pos;
-};
-
 namespace Ui {
 class LightJoystickSwitchPage;
 }
@@ -42,6 +34,10 @@ public slots:
     void on_right_Button_clicked();
     void on_down_Button_clicked();
 
+public slots:
+    /**发送轴变化消息
+     */
+    void GetModuleTypeSlots(const ST_MOVE_AXIS& _module);
 
 public:
     /**拿到指针对界面操作

+ 1 - 1
View/die-bonder-ui/Src/RewriteControl/LightJoystickSwitchPage.ui

@@ -23,7 +23,7 @@
     </rect>
    </property>
    <property name="currentIndex">
-    <number>1</number>
+    <number>0</number>
    </property>
    <widget class="QWidget" name="GreenLightTab">
     <attribute name="title">

+ 10 - 0
View/die-bonder-ui/Src/Sql/SqlOperation.cpp

@@ -565,6 +565,11 @@ int SqlOperation::GetThirdDirControlData(QString multiTableName, const int& user
 
 int SqlOperation::updateControlData(QString tableName, QString name, const QString& currentValue)
 {
+    if (m_pCViewInterface == nullptr)
+    {
+        //ErrorInfo(QObject::tr("SqlOperation:Initialization failed, please check", "³õʼ»¯Ê§°Ü,Çë¼ì²é"));
+        return -1;
+    }
     vector<CONFIG_BASE_STRUCT> changeData;
     for (Table_Control_Data &tableData: m_allControlData)
     {
@@ -646,6 +651,11 @@ int SqlOperation::LoadControlDataFromModule(std::string tableName, Table_Control
     QTextCodec* codec = QTextCodec::codecForName("GBK");
     vector<int> vecCalibGroupId;
     vector<CONFIG_BASE_STRUCT> vecCalibConfig;
+    if (m_pCViewInterface == nullptr)
+    {
+        //ErrorInfo(QObject::tr("SqlOperation:Initialization failed, please check", "³õʼ»¯Ê§°Ü,Çë¼ì²é"));
+        return -1;
+    }
     int rtn = m_pCViewInterface->LoadConfigDB(tableName, vecCalibGroupId, vecCalibConfig);
     if (rtn != OK)
     {