JonYang преди 3 седмици
родител
ревизия
71e88e9e3f

BIN
Output/bin/x64/configurations.db


+ 3 - 4
View/die-bonder-ui/OriginalWnd/DbTreeViewManager.cpp

@@ -3213,8 +3213,7 @@ void DbTreeViewManager::displayThirdLevelFields(const QList<ST_TABLE_CONTROL_DAT
                 } 
                 else if (fieldType == "IoPage")
                 {
-                    GPITableWidget* p = new GPITableWidget;
-                    rightLayout->addWidget(p);
+                    rightLayout->addWidget(JIoMapPage::CreateIoPage());
                 }
                 else
                 {
@@ -3222,11 +3221,12 @@ void DbTreeViewManager::displayThirdLevelFields(const QList<ST_TABLE_CONTROL_DAT
                 }
 
                 if (createdWidget)
+                {
                     m_fieldWidgets.append(createdWidget);
+                }
 
                 fieldLayout->addWidget(rightWidget);
                 scrollLayout->addLayout(fieldLayout);
-
             }
         }
     }
@@ -3249,7 +3249,6 @@ void DbTreeViewManager::displayThirdLevelFields(const QList<ST_TABLE_CONTROL_DAT
 
 
 
-
 void DbTreeViewManager::updateParentCheckState(QStandardItem *item)
 {
     if (!item)

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

@@ -1,3 +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;
+}

+ 46 - 1
View/die-bonder-ui/OriginalWnd/TreeViewManager/JIoMapPage.h

@@ -1,10 +1,55 @@
 #ifndef JIOMAPPAGE_H
 #define JIOMAPPAGE_H
+#include "TreeViewManagerHead.h"
+#include <QMouseEvent>
 
-class JIoMapPage
+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>