Browse Source

Merge branch 'master' of http://47.116.26.105:10880/JonYang/JSBTDieBondH

yun 1 week ago
parent
commit
eea48a6f81

+ 2 - 0
.gitignore

@@ -24,3 +24,5 @@
 /Output/bin/x64/SBTdie-bonder-ui.exe
 /Output/bin/x64/SBTdie-bonder-ui.exp
 /Output/bin/x64/SBTdie-bonder-ui.ilk
+/View/die-bonder-ui/ui_SpeedAdjWnd.h
+/View/die-bonder-ui/ui_SpeedAdjPage.h

BIN
Output/bin/x64/configurations.db


+ 59 - 23
View/die-bonder-ui/OriginalWnd/DbTreeViewManager.cpp

@@ -8,6 +8,7 @@
 #include "Src/common/JLogAllOutput.h"
 #include "CViewInterface.h"
 #include "Login.h"
+#include "TreeViewManager/JIoMapPage.h"
 
 // 构造函数
 DbTreeViewManager::DbTreeViewManager(QWidget* pOriginalWndMenuPage, QWidget* parent)
@@ -273,15 +274,20 @@ void DbTreeViewManager::initializeTree(QString name, const int &userPrivilege)
             buttonLeft->setIcon(QIcon(":/images/home_left.png"));
         }
 
-    } else {
+    } 
+    else 
+    {
         // **其他配置逻辑**
         // 设置 treeViewDown 的几何位置
         m_pTreeViewDown->setGeometry(16, 106, m_pOriginalWndMenuPage->width() - 16, m_pOriginalWndMenuPage->height() - 106);
         // 显示目录树和分隔线
         m_pTreeViewDown->show();
-        for (auto separator : m_mapFirstLevelSeparators) {
+        for (auto separator : m_mapFirstLevelSeparators) 
+        {
             if (separator)
+            {
                 separator->show();
+            }
         }
         // 应用自定义样式
         applyCustomStyles();
@@ -293,7 +299,8 @@ void DbTreeViewManager::initializeTree(QString name, const int &userPrivilege)
         updateButtonsVisibility();
 
         // 显示特定的分隔线 lineFrame1
-        if (m_pLineFrame1) {
+        if (m_pLineFrame1) 
+        {
             m_pLineFrame1->show();
         }
 
@@ -502,13 +509,18 @@ void DbTreeViewManager::buildTreeFromDirectories(const QList<QJsonObject> &direc
 {
     // 建立 Id->QStandardItem 的映射
     QMap<int, QStandardItem*> idItemMap;
-    for (const QJsonObject &dir : directories) {
+    for (const QJsonObject &dir : directories) 
+    {
+        qDebug() << "aaa: " << dir;
         QStandardItem *item = new QStandardItem(dir["Name"].toString());
         item->setData(dir["Id"].toInt(), Qt::UserRole + 1);  // 保存目录Id
         // 如果是三级目录,将整个 JSON 对象存到 UserRole+2
-        if (dir["IsThirdLevel"].toBool()) {
+        if (dir["IsThirdLevel"].toBool()) 
+        {
             item->setData(dir, Qt::UserRole + 2);
-        } else {
+        } 
+        else 
+        {
             item->setData(false, Qt::UserRole + 2); // 标记为非三级目录
         }
         item->setCheckable(true);
@@ -518,7 +530,9 @@ void DbTreeViewManager::buildTreeFromDirectories(const QList<QJsonObject> &direc
     }
 
     // 建立父子关系
-    for (const QJsonObject &dir : directories) {
+    for (const QJsonObject &dir : directories) 
+    {
+        qDebug() << "aaa: " << dir;
         int parentId = dir["ParentId"].toInt();
         int currentId = dir["Id"].toInt();
         QStandardItem *childItem = idItemMap.value(currentId);
@@ -1039,7 +1053,11 @@ void DbTreeViewManager::loadpage(const int &configId){
 void DbTreeViewManager::onTreeViewClicked(const QModelIndex &index)
 {
     QStandardItem *item = m_pCModel->itemFromIndex(index);
-    if (!item) return;
+    if (!item)
+    {
+        return;
+    }
+
     // 是否第三层,提取第三层的目录ID及目录表格名字
     bool isThird = false;
     int dirId = -1;
@@ -1076,7 +1094,8 @@ void DbTreeViewManager::onTreeViewClicked(const QModelIndex &index)
     if (isThird) {
         //!!!修改权限
         int userPrivilege = 0x1; // 示例
-        if (dirId < 0) {
+        if (dirId < 0) 
+        {
             qWarning() << "无效directoryId";
             return;
         }
@@ -1093,8 +1112,10 @@ void DbTreeViewManager::onTreeViewClicked(const QModelIndex &index)
         //QJsonObject data = m_sqlOper.fetchThirdLevelData(mutliTableName, dirId, userPrivilege);
         //QJsonObject data = fetchThirdLevelData(dirId, userPrivilege);
         //displayThirdLevelFields(data, false);
-        for(int i=0;i<5;i++){
-            if(currentMenuId == menuArray[i].menuId){
+        for (int i = 0; i < 5; i++)
+        {
+            if(currentMenuId == menuArray[i].menuId)
+            {
                 menuArray[i].isthird = true;
                 menuArray[i].index = dirId;
             }
@@ -1108,15 +1129,19 @@ void DbTreeViewManager::onTreeViewClicked(const QModelIndex &index)
         st.multiTableName = mutliTableName;
 
         m_backStack.append(st);
-        if(m_backStack.size() >= 2){
+        if(m_backStack.size() >= 2)
+        {
             buttonLeft->setIcon(QIcon(":/images/home_left.png"));
         }
         m_forwardStack.clear();
         buttonRight->setIcon(QIcon(":/images/home_right.png"));
-    } else {
+    }
+    else 
+    {
         // 不是第三层,只是选中目录
         // 清理第三层窗口
-        if (m_thirdLevelFieldWnd) {
+        if (m_thirdLevelFieldWnd) 
+        {
             m_thirdLevelFieldWnd->close();
             m_thirdLevelFieldWnd->deleteLater();
             m_thirdLevelFieldWnd = nullptr;
@@ -1130,7 +1155,8 @@ void DbTreeViewManager::onTreeViewClicked(const QModelIndex &index)
         st.multiTableName = mutliTableName;
 
         m_backStack.append(st);
-        if(m_backStack.size() >= 2){
+        if(m_backStack.size() >= 2)
+        {
             buttonLeft->setIcon(QIcon(":/images/home_left.png"));
         }
         m_forwardStack.clear();
@@ -2043,15 +2069,19 @@ void DbTreeViewManager::displayThirdLevelFields(const QList<ST_TABLE_CONTROL_DAT
                 fieldLayout->setSpacing(5);
 
                 QLabel* label = new QLabel();
-                if (languageValue == 0) {
+                if (languageValue == 0) 
+                {
                     label->setText(fieldDescribe_Eng);
-                    if (fieldDescribe_Eng.isEmpty()) {
+                    if (fieldDescribe_Eng.isEmpty()) 
+                    {
                         label->setText(fieldDescribe);
                     }
                 }
-                else {
+                else
+                {
                     label->setText(fieldDescribe);
-                    if (fieldDescribe.isEmpty()) {
+                    if (fieldDescribe.isEmpty()) 
+                    {
                         label->setText(fieldDescribe_Eng);
                     }
                 }
@@ -3170,7 +3200,8 @@ void DbTreeViewManager::displayThirdLevelFields(const QList<ST_TABLE_CONTROL_DAT
                         btnDefault->setEnabled(false);
                     }
 
-                } else if (fieldType == "Text")
+                } 
+                else if (fieldType == "Text")
                 {
                     QLabel* label = new QLabel();
                     label->setText(fieldValue);
@@ -3179,17 +3210,23 @@ void DbTreeViewManager::displayThirdLevelFields(const QList<ST_TABLE_CONTROL_DAT
                     label->setMinimumWidth(120);
                     rightLayout->addWidget(label);
 
-                } else
+                } 
+                else if (fieldType == "IoPage")
+                {
+                    rightLayout->addWidget(JIoMapPage::CreateIoPage());
+                }
+                else
                 {
                     qWarning() << "未知字段类型:" << fieldType;
                 }
 
                 if (createdWidget)
+                {
                     m_fieldWidgets.append(createdWidget);
+                }
 
                 fieldLayout->addWidget(rightWidget);
                 scrollLayout->addLayout(fieldLayout);
-
             }
         }
     }
@@ -3212,7 +3249,6 @@ void DbTreeViewManager::displayThirdLevelFields(const QList<ST_TABLE_CONTROL_DAT
 
 
 
-
 void DbTreeViewManager::updateParentCheckState(QStandardItem *item)
 {
     if (!item)

+ 1 - 109
View/die-bonder-ui/OriginalWnd/DbTreeViewManager.h

@@ -1,115 +1,7 @@
 #ifndef DBTREEVIEWMANAGER_H
 #define DBTREEVIEWMANAGER_H
 #define NOMINMAX
-
-#include <QWidget>
-#include <QTreeView>
-#include <QJsonObject>
-#include <QStandardItemModel>
-#include <QCheckBox>
-#include <QJsonArray>
-#include <QFile>
-#include <QLineEdit>
-#include <QComboBox>
-#include <QRadioButton>
-#include <QButtonGroup>
-#include <QStyleFactory>
-#include <QEvent>
-#include <QStringList>
-#include <QSettings>
-#include <QSet>
-#include <QVariant>
-#include <QMenu>
-#include <QAction>
-#include <QTimeEdit>
-#include <QCursor>
-#include <QScrollArea>
-#include <QToolButton>
-#include <QtSql>
-#include <QSqlDatabase>
-#include <QSqlQuery>
-#include <QSqlError>
-#include <QMessageBox>
-#include <QPainter>
-#include <QTimer>
-#include <QFileInfo>
-#include <QLabel>
-#include <QHBoxLayout>
-#include <QPushButton>
-#include <QVBoxLayout>
-#include <QStandardItem>
-#include <QMap>
-#include <QJsonDocument>
-#include <array>
-#include "CViewInterface.h"
-#include "Src/Sql/SqlOperation.h"
-#include "gen_interface.h"
-
-// 组合控件
-struct ST_COMBINED_CONT
-{
-    QString strConfigurationsName;//configurations.db 里面的名称
-    QString strfieldName;
-    QString strfieldDescribe;
-
-    QLineEdit* pLineC;
-    QPushButton* pGetBut;
-    QPushButton* pSetBut;
-};
-
-struct ST_INPUT_CONT
-{
-    QString strConfigurationsName;
-    QString strfieldName;
-    QString strfieldDescribe;
-
-    QLineEdit* plineEdit;
-};
-
-struct ST_RADIO_CONT
-{
-    QString strConfigurationsName;
-    QString strfieldName;
-    QString strfieldDescribe;
-
-    QButtonGroup* pradioGroup;
-};
-
-struct ST_CHECKBOX_CONT
-{
-    QString strConfigurationsName;
-    QString strfieldName;
-    QString strfieldDescribe;
-
-    QCheckBox* pcheckBox;
-};
-
-struct ST_COMBOBOX_CONT
-{
-    QString strConfigurationsName;
-    QString strfieldName;
-    QString strfieldDescribe;
-
-    QComboBox* pcomboBox;
-};
-
-struct ST_TIME_CONT
-{
-    QString strConfigurationsName;
-    QString strfieldName;
-    QString strfieldDescribe;
-
-    QTimeEdit* ptimeEdit;
-};
-
-struct ST_SWITCH_CONT
-{
-    QString strConfigurationsName;
-    QString strfieldName;
-    QString strfieldDescribe;
-
-    QCheckBox* pswitchBox;
-};
+#include "TreeViewManager/TreeViewManagerHead.h"
 
 class OriginalWnd;
 

+ 8 - 8
View/die-bonder-ui/OriginalWnd/OriginalWnd.ui

@@ -18,9 +18,9 @@
     <property name="geometry">
      <rect>
       <x>8</x>
-      <y>76</y>
+      <y>58</y>
       <width>1102</width>
-      <height>988</height>
+      <height>1011</height>
      </rect>
     </property>
     <property name="minimumSize">
@@ -34,9 +34,9 @@
     <property name="geometry">
      <rect>
       <x>1118</x>
-      <y>76</y>
+      <y>58</y>
       <width>484</width>
-      <height>988</height>
+      <height>1011</height>
      </rect>
     </property>
    </widget>
@@ -44,9 +44,9 @@
     <property name="geometry">
      <rect>
       <x>1610</x>
-      <y>76</y>
+      <y>58</y>
       <width>190</width>
-      <height>988</height>
+      <height>1011</height>
      </rect>
     </property>
     <widget class="QToolButton" name="stopButton">
@@ -231,8 +231,8 @@ production</string>
     <property name="geometry">
      <rect>
       <x>8</x>
-      <y>16</y>
-      <width>1779</width>
+      <y>2</y>
+      <width>1789</width>
       <height>44</height>
      </rect>
     </property>

+ 3 - 3
View/die-bonder-ui/OriginalWnd/SingleCameraOperationWnd.ui

@@ -65,16 +65,16 @@
       <x>0</x>
       <y>10</y>
       <width>810</width>
-      <height>920</height>
+      <height>961</height>
      </rect>
     </property>
    </widget>
    <widget class="LightJoystickSwitchPage" name="lightJoystickSwitchPage" native="true">
     <property name="geometry">
      <rect>
-      <x>830</x>
+      <x>844</x>
       <y>730</y>
-      <width>265</width>
+      <width>251</width>
       <height>240</height>
      </rect>
     </property>

+ 19 - 0
View/die-bonder-ui/OriginalWnd/TreeViewManager/JIoMapPage.cpp

@@ -0,0 +1,19 @@
+#include "JIoMapPage.h"
+
+JIoMapPage::JIoMapPage() {}
+
+QWidget* JIoMapPage::CreateIoPage()
+{
+    // 创建垂直布局
+    QHBoxLayout* pHLayout = new QHBoxLayout();
+
+    ClickCircleLabel* pIoState = new ClickCircleLabel();
+    QLabel* pAxisNmae = new QLabel(tr("AxisNmae","轴名称"));
+
+    pHLayout->addWidget(pAxisNmae);
+    pHLayout->addWidget(pIoState);
+
+    QWidget* pWidget = new QWidget;
+    pWidget->setLayout(pHLayout);
+    return pWidget;
+}

+ 157 - 0
View/die-bonder-ui/OriginalWnd/TreeViewManager/JIoMapPage.h

@@ -0,0 +1,157 @@
+#ifndef JIOMAPPAGE_H
+#define JIOMAPPAGE_H
+#include "TreeViewManagerHead.h"
+#include <QMouseEvent>
+
+class ClickCircleLabel : public QLabel {
+    Q_OBJECT
+
+public:
+    ClickCircleLabel(QWidget* parent = nullptr)
+        : QLabel(parent), m_bClicked(false) 
+    {
+        setFixedSize(30, 30);
+    }
+
+protected:
+    void paintEvent(QPaintEvent* event) override 
+    {
+        QLabel::paintEvent(event);
+
+        QPainter painter(this);
+        painter.setRenderHint(QPainter::Antialiasing);
+        int radius = qMin(width(), height()) / 2 - 5;
+        int x = (width() - 2 * radius) / 2;
+        int y = (height() - 2 * radius) / 2;
+
+        painter.setPen(Qt::NoPen);
+        painter.setBrush(m_bClicked ? Qt::red : Qt::gray);
+        painter.drawEllipse(x, y, 2 * radius, 2 * radius);
+    }
+
+    void mousePressEvent(QMouseEvent* event) override 
+    {
+        if (event->button() == Qt::LeftButton) 
+        {
+            m_bClicked = !m_bClicked; 
+            update(); 
+        }
+        QLabel::mousePressEvent(event);
+    }
+
+private:
+    bool m_bClicked; // 当前状态
+};
+
+class JIoMapPage :public QObject
+{
+    Q_OBJECT
+public:
+    JIoMapPage();
+
+    static QWidget* CreateIoPage();
+};
+
+#include <QApplication>
+#include <QTableWidget>
+#include <QHeaderView>
+#include <QVBoxLayout>
+#include <QPushButton>
+#include <QWidget>
+#include <QMessageBox>
+
+class GPITableWidget : public QWidget {
+    Q_OBJECT
+
+public:
+    GPITableWidget(QWidget* parent = nullptr) : QWidget(parent) {
+        // 创建主布局
+        QVBoxLayout* mainLayout = new QVBoxLayout(this);
+
+        // 创建表格控件
+        tableWidget = new QTableWidget(this);
+
+        // 设置表格属性
+        tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
+        tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
+        tableWidget->setEditTriggers(QAbstractItemView::DoubleClicked | QAbstractItemView::EditKeyPressed);
+
+        // 设置表头
+        QStringList headers;
+        headers << "GPI名称" << "卡号" << "卡类型" << "GPI号" << "有效电平" << "状态";
+        tableWidget->setColumnCount(headers.size());
+        tableWidget->setHorizontalHeaderLabels(headers);
+
+        // 设置表头自适应
+        tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
+
+        // 添加按钮
+        QPushButton* addButton = new QPushButton("添加行", this);
+        QPushButton* deleteButton = new QPushButton("删除行", this);
+        QPushButton* saveButton = new QPushButton("保存数据", this);
+
+        // 按钮布局
+        QHBoxLayout* buttonLayout = new QHBoxLayout();
+        buttonLayout->addWidget(addButton);
+        buttonLayout->addWidget(deleteButton);
+        buttonLayout->addWidget(saveButton);
+
+        // 添加到主布局
+        mainLayout->addWidget(tableWidget);
+        mainLayout->addLayout(buttonLayout);
+
+        // 连接信号槽
+        connect(addButton, &QPushButton::clicked, this, &GPITableWidget::addRow);
+        connect(deleteButton, &QPushButton::clicked, this, &GPITableWidget::deleteRow);
+        connect(saveButton, &QPushButton::clicked, this, &GPITableWidget::saveData);
+
+        // 添加初始行
+        addRow();
+    }
+
+private slots:
+    void addRow() {
+        int row = tableWidget->rowCount();
+        tableWidget->insertRow(row);
+
+        // 为每一列创建项目
+        tableWidget->setItem(row, 0, new QTableWidgetItem("GPI_" + QString::number(row + 1)));
+        tableWidget->setItem(row, 1, new QTableWidgetItem(QString::number(row + 1)));
+        tableWidget->setItem(row, 2, new QTableWidgetItem("类型" + QString::number((row % 3) + 1)));
+        tableWidget->setItem(row, 3, new QTableWidgetItem(QString::number(row + 101)));
+        tableWidget->setItem(row, 4, new QTableWidgetItem(row % 2 ? "高电平" : "低电平"));
+        tableWidget->setItem(row, 5, new QTableWidgetItem("未激活"));
+    }
+
+    void deleteRow() {
+        int currentRow = tableWidget->currentRow();
+        if (currentRow >= 0) {
+            tableWidget->removeRow(currentRow);
+        }
+        else {
+            QMessageBox::warning(this, "警告", "请先选择要删除的行");
+        }
+    }
+
+    void saveData() {
+        QString data;
+        for (int row = 0; row < tableWidget->rowCount(); ++row) {
+            for (int col = 0; col < tableWidget->columnCount(); ++col) {
+                QTableWidgetItem* item = tableWidget->item(row, col);
+                if (item) {
+                    data += item->text() + "\t";
+                }
+            }
+            data += "\n";
+        }
+
+        QMessageBox::information(this, "表格数据", "保存的数据:\n" + data);
+        // 实际应用中,这里可以将数据保存到文件或数据库
+    }
+
+private:
+    QTableWidget* tableWidget;
+};
+
+
+#endif // JIOMAPPAGE_H

+ 123 - 0
View/die-bonder-ui/OriginalWnd/TreeViewManager/TreeViewManagerHead.h

@@ -0,0 +1,123 @@
+// *****************************************************************************
+// 版权所有(C)2023~2099 上海骄成超声波技术有限公司
+// 保留所有权利
+// *****************************************************************************
+// 作者 : 杨坚
+// 版本 : 1.0
+// 功能说明:
+//          二三级菜单共用头
+// *****************************************************************************
+#ifndef TREEVIEWMANAGERHEAD_H
+#define TREEVIEWMANAGERHEAD_H
+
+
+#include <QWidget>
+#include <QTreeView>
+#include <QJsonObject>
+#include <QStandardItemModel>
+#include <QCheckBox>
+#include <QJsonArray>
+#include <QFile>
+#include <QLineEdit>
+#include <QComboBox>
+#include <QRadioButton>
+#include <QButtonGroup>
+#include <QStyleFactory>
+#include <QEvent>
+#include <QStringList>
+#include <QSettings>
+#include <QSet>
+#include <QVariant>
+#include <QMenu>
+#include <QAction>
+#include <QTimeEdit>
+#include <QCursor>
+#include <QScrollArea>
+#include <QToolButton>
+#include <QtSql>
+#include <QSqlDatabase>
+#include <QSqlQuery>
+#include <QSqlError>
+#include <QMessageBox>
+#include <QPainter>
+#include <QTimer>
+#include <QFileInfo>
+#include <QLabel>
+#include <QHBoxLayout>
+#include <QPushButton>
+#include <QVBoxLayout>
+#include <QStandardItem>
+#include <QMap>
+#include <QJsonDocument>
+#include <array>
+#include "CViewInterface.h"
+#include "Src/Sql/SqlOperation.h"
+#include "gen_interface.h"
+
+// 组合控件
+struct ST_COMBINED_CONT
+{
+    QString strConfigurationsName;//configurations.db 里面的名称
+    QString strfieldName;
+    QString strfieldDescribe;
+
+    QLineEdit* pLineC;
+    QPushButton* pGetBut;
+    QPushButton* pSetBut;
+};
+
+struct ST_INPUT_CONT
+{
+    QString strConfigurationsName;
+    QString strfieldName;
+    QString strfieldDescribe;
+
+    QLineEdit* plineEdit;
+};
+
+struct ST_RADIO_CONT
+{
+    QString strConfigurationsName;
+    QString strfieldName;
+    QString strfieldDescribe;
+
+    QButtonGroup* pradioGroup;
+};
+
+struct ST_CHECKBOX_CONT
+{
+    QString strConfigurationsName;
+    QString strfieldName;
+    QString strfieldDescribe;
+
+    QCheckBox* pcheckBox;
+};
+
+struct ST_COMBOBOX_CONT
+{
+    QString strConfigurationsName;
+    QString strfieldName;
+    QString strfieldDescribe;
+
+    QComboBox* pcomboBox;
+};
+
+struct ST_TIME_CONT
+{
+    QString strConfigurationsName;
+    QString strfieldName;
+    QString strfieldDescribe;
+
+    QTimeEdit* ptimeEdit;
+};
+
+struct ST_SWITCH_CONT
+{
+    QString strConfigurationsName;
+    QString strfieldName;
+    QString strfieldDescribe;
+
+    QCheckBox* pswitchBox;
+};
+
+#endif // TREEVIEWMANAGERHEAD_H

+ 5 - 2
View/die-bonder-ui/SBTdie-bonder-ui.pro

@@ -11,8 +11,11 @@ CONFIG += c++17
 #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
 
 
-SOURCES += $$files(*.cpp, $$PWD)
-HEADERS += $$files(*.h, $$PWD)
+SOURCES += $$files(*.cpp, $$PWD) \
+    OriginalWnd/TreeViewManager/JIoMapPage.cpp
+HEADERS += $$files(*.h, $$PWD) \
+    OriginalWnd/TreeViewManager/JIoMapPage.h \
+    OriginalWnd/TreeViewManager/TreeViewManagerHead.h
 FORMS   += $$files(*.ui, $$PWD)
 
 SOURCES += $$files(*.cpp, $$PWD) \

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

@@ -235,6 +235,7 @@
     <ClCompile Include="OriginalWnd\chartline.cpp" />
     <ClCompile Include="gen_interface.cpp" />
     <ClCompile Include="main.cpp" />
+    <ClCompile Include="OriginalWnd\TreeViewManager\JIoMapPage.cpp" />
     <ClCompile Include="Src\CameraBind.cpp" />
     <ClCompile Include="Src\common\GlobalUse\JMouseMonitorThread.cpp" />
     <ClCompile Include="Src\common\JLogAllOutput.cpp" />
@@ -274,6 +275,8 @@
     <QtMoc Include="ImageView.h" />
     <ClInclude Include="JUserAccountsData.h" />
     <QtMoc Include="Src\common\GlobalUse\JMouseMonitorThread.h" />
+    <QtMoc Include="OriginalWnd\TreeViewManager\JIoMapPage.h" />
+    <ClInclude Include="OriginalWnd\TreeViewManager\TreeViewManagerHead.h" />
     <ClInclude Include="Src\common\JLogAllOutput.h" />
     <QtMoc Include="Src\common\JMessageTip.h" />
     <QtMoc Include="Src\common\JQCommon.h" />

+ 12 - 0
View/die-bonder-ui/SBTdie-bonder-ui.vcxproj.filters

@@ -133,6 +133,9 @@
     <Filter Include="Source Files\Src\RewriteControl\Controls">
       <UniqueIdentifier>{25f9df18-b698-4249-a8da-714cf4262acb}</UniqueIdentifier>
     </Filter>
+    <Filter Include="Header Files\OriginalWnd\TreeViewManager">
+      <UniqueIdentifier>{93dd601e-4f39-44dd-903f-b23fb65e06ef}</UniqueIdentifier>
+    </Filter>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="ImageWidget.cpp">
@@ -276,6 +279,9 @@
     <ClCompile Include="Src\RewriteControl\Controls\JReLineEdit.cpp">
       <Filter>Source Files\Src\RewriteControl\Controls</Filter>
     </ClCompile>
+    <ClCompile Include="OriginalWnd\TreeViewManager\JIoMapPage.cpp">
+      <Filter>Header Files\OriginalWnd\TreeViewManager</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <QtMoc Include="ImageWidget.h">
@@ -386,6 +392,9 @@
     <QtMoc Include="Src\RewriteControl\Controls\JReLineEdit.h">
       <Filter>Source Files\Src\RewriteControl\Controls</Filter>
     </QtMoc>
+    <QtMoc Include="OriginalWnd\TreeViewManager\JIoMapPage.h">
+      <Filter>Header Files\OriginalWnd\TreeViewManager</Filter>
+    </QtMoc>
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="debug\moc_predefs.h.cbt">
@@ -809,6 +818,9 @@
     <ClInclude Include="CameraMaterialGroupWnd\MaterialWindow\MaterialBox.h">
       <Filter>Header Files\CameraMaterialGroupWnd\MaterialWindow</Filter>
     </ClInclude>
+    <ClInclude Include="OriginalWnd\TreeViewManager\TreeViewManagerHead.h">
+      <Filter>Header Files\OriginalWnd\TreeViewManager</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <QtMoc Include="CameraMaterialGroupWnd\CameraImage\CameraImageHandler.h">