From eb2a316100ed420e1520c65f190fd4e09ea1c03e Mon Sep 17 00:00:00 2001
From: remilia
Date: Mon, 20 Jan 2025 17:37:18 +0800
Subject: [PATCH] add ui update
---
src/nodes/MainUI.py | 36 ++++++++++++++++++++----------------
src/ui/Main.py | 17 +++++++++--------
src/ui/Main.ui | 7 +++++--
3 files changed, 34 insertions(+), 26 deletions(-)
diff --git a/src/nodes/MainUI.py b/src/nodes/MainUI.py
index a95e136..27fb5b1 100644
--- a/src/nodes/MainUI.py
+++ b/src/nodes/MainUI.py
@@ -8,6 +8,7 @@ from PyQt6.QtWidgets import QMainWindow, QApplication, QFrame
from Main import Ui_MainWindow
from ZMQReceiver import ZMQReceiver
+from config import DS
from nodes.Node import Node
from utils.Msg import KillMsg, Msg, ImageArgMsg, SelectSeqMsg, SeqIdMinMax, MoveAxisMsg, SeqListMsg, SetBaseMsg, \
SeqMetaMsg, SetPlayMode, DeviceConnectedMsg, DeviceEnabledMsg, DeviceOnlineMsg, SetDeviceEnabledMsg, \
@@ -31,7 +32,7 @@ class Adv(QMainWindow, Ui_MainWindow):
zmq_receiver.start()
self.s_t_start.valueChanged.connect(self.on_t_start)
self.s_t_end.valueChanged.connect(self.on_t_end)
- self.comboBox.currentIndexChanged.connect(self.cbc)
+ self.c_playback_seq_name.currentIndexChanged.connect(self.cbc)
self.s_sid.valueChanged.connect(self.c_sid)
self.arg = ImageArgMsg('ui', t_start=0, t_end=1499)
self.b_base.clicked.connect(lambda: self.p.send(SetBaseMsg(self.l_base.text())))
@@ -45,28 +46,35 @@ class Adv(QMainWindow, Ui_MainWindow):
# self.b_device_enabled.clicked.connect(lambda: self.p.send(SetDeviceEnabledMsg(not self.device_enabled)))
# self.b_device_connected.clicked.connect(lambda: self.p.send(SetDeviceConnectedMsg(not self.device_connected)))
self.c_seq_meta.currentIndexChanged.connect(self.on_m)
+ self.l_base.setText(DS.__str__())
def set_device_connection(self, status: LinkStatus):
match status:
case LinkStatus.RED:
+ self.device_connected = False
+ self.c_seq_meta.setEnabled(False)
self.lb_device_connection.setText('Disconnected')
self.lb_device_connection.setStyleSheet('background-color: pink;')
case LinkStatus.YELLOW:
self.lb_device_connection.setText('Waiting')
self.lb_device_connection.setStyleSheet('background-color: yellow;')
case LinkStatus.GREEN:
+ self.device_connected = True
+ self.c_seq_meta.setEnabled(True)
self.lb_device_connection.setText('Connected')
self.lb_device_connection.setStyleSheet('background-color: LightGreen;')
def set_device_enable(self, status: LinkStatus):
match status:
case LinkStatus.RED:
+ self.device_enabled = False
self.lb_device_enable.setText('Disabled')
self.lb_device_enable.setStyleSheet('background-color: pink;')
case LinkStatus.YELLOW:
self.lb_device_enable.setText('Waiting')
self.lb_device_enable.setStyleSheet('background-color: yellow;')
case LinkStatus.GREEN:
+ self.device_enabled = True
self.lb_device_enable.setText('Enabled')
self.lb_device_enable.setStyleSheet('background-color: LightGreen;')
@@ -77,16 +85,16 @@ class Adv(QMainWindow, Ui_MainWindow):
self.l_record_commit.setEnabled(True)
self.p.send(SeqMetaMsg(self.c_seq_meta.itemText(self.c_seq_meta.currentIndex())))
self.p.send(SetPlayMode('live'))
- self.comboBox.setEnabled(False)
+ self.c_playback_seq_name.setEnabled(False)
def on_play_playback(self):
self.b_play_live.setStyleSheet('')
self.b_play_playback.setStyleSheet('background-color: red;')
self.b_record.setEnabled(False)
self.l_record_commit.setEnabled(False)
- self.p.send(SeqMetaMsg(self.comboBox.itemText(self.comboBox.currentIndex())))
+ self.p.send(SeqMetaMsg(self.c_playback_seq_name.itemText(self.c_playback_seq_name.currentIndex())))
self.p.send(SetPlayMode('playback'))
- self.comboBox.setEnabled(True)
+ self.c_playback_seq_name.setEnabled(True)
def on_device_disable(self):
self.p.send(SetDeviceEnabledMsg(False))
@@ -184,31 +192,27 @@ class Adv(QMainWindow, Ui_MainWindow):
self.s_sid.setMaximum(msg.max)
self.s_sid.setValue(msg.min)
elif isinstance(msg, SeqListMsg):
- self.comboBox.setEnabled(True)
- self.comboBox.clear()
+ self.c_playback_seq_name.setEnabled(True)
+ self.c_playback_seq_name.clear()
for name in msg.value:
- self.comboBox.addItem(name)
- self.p.send(SelectSeqMsg(self.comboBox.itemText(self.comboBox.currentIndex())))
- self.b_play_playback.setEnabled(True)
+ self.c_playback_seq_name.addItem(name)
+ if msg.value.__len__() > 0:
+ self.p.send(SelectSeqMsg(self.c_playback_seq_name.itemText(self.c_playback_seq_name.currentIndex())))
+ self.b_play_playback.setEnabled(True)
elif isinstance(msg, SeqMetaMsg):
self.seq_meta = RfSequenceMeta.from_name(msg.s)
self.s_t_start.setMaximum(max(self.seq_meta.shape))
self.s_t_end.setMaximum(max(self.seq_meta.shape))
elif isinstance(msg, DeviceConnectedMsg):
if msg.value:
- self.device_connected = True
self.set_device_connection(LinkStatus.GREEN)
else:
- self.device_connected = False
self.set_device_connection(LinkStatus.RED)
-
self.update_device_buttons()
elif isinstance(msg, DeviceEnabledMsg):
if msg.value:
- self.device_enabled = True
self.set_device_enable(LinkStatus.GREEN)
else:
- self.device_enabled = False
self.set_device_enable(LinkStatus.RED)
self.update_device_buttons()
elif isinstance(msg, DeviceOnlineMsg):
@@ -244,8 +248,8 @@ class Adv(QMainWindow, Ui_MainWindow):
@QtCore.pyqtSlot(int)
def cbc(self, v):
- if self.comboBox.sender() is None or isinstance(self.comboBox.sender(), QFrame):
- self.p.send(SelectSeqMsg(self.comboBox.itemText(v)))
+ if self.c_playback_seq_name.sender() is None or isinstance(self.c_playback_seq_name.sender(), QFrame):
+ self.p.send(SelectSeqMsg(self.c_playback_seq_name.itemText(v)))
@QtCore.pyqtSlot(int)
def c_sid(self, v):
diff --git a/src/ui/Main.py b/src/ui/Main.py
index df2801d..63f8e5d 100644
--- a/src/ui/Main.py
+++ b/src/ui/Main.py
@@ -34,12 +34,12 @@ class Ui_MainWindow(object):
self.b_play_playback.setStyleSheet("background-color : red")
self.b_play_playback.setObjectName("b_play_playback")
self.gridLayout_7.addWidget(self.b_play_playback, 0, 0, 1, 3)
- self.comboBox = QtWidgets.QComboBox(parent=self.centralwidget)
- self.comboBox.setEnabled(False)
- self.comboBox.setEditable(False)
- self.comboBox.setObjectName("comboBox")
- self.comboBox.addItem("")
- self.gridLayout_7.addWidget(self.comboBox, 1, 1, 1, 2)
+ self.c_playback_seq_name = QtWidgets.QComboBox(parent=self.centralwidget)
+ self.c_playback_seq_name.setEnabled(False)
+ self.c_playback_seq_name.setEditable(False)
+ self.c_playback_seq_name.setObjectName("c_playback_seq_name")
+ self.c_playback_seq_name.addItem("")
+ self.gridLayout_7.addWidget(self.c_playback_seq_name, 1, 1, 1, 2)
self.label_16 = QtWidgets.QLabel(parent=self.centralwidget)
self.label_16.setObjectName("label_16")
self.gridLayout_7.addWidget(self.label_16, 1, 0, 1, 1)
@@ -212,6 +212,7 @@ class Ui_MainWindow(object):
self.label_20.setObjectName("label_20")
self.horizontalLayout.addWidget(self.label_20)
self.c_seq_meta = QtWidgets.QComboBox(parent=self.centralwidget)
+ self.c_seq_meta.setEnabled(False)
self.c_seq_meta.setObjectName("c_seq_meta")
self.c_seq_meta.addItem("")
self.horizontalLayout.addWidget(self.c_seq_meta)
@@ -257,6 +258,7 @@ class Ui_MainWindow(object):
self.label.setObjectName("label")
self.horizontalLayout_4.addWidget(self.label)
self.l_base = QtWidgets.QLineEdit(parent=self.centralwidget)
+ self.l_base.setText("")
self.l_base.setObjectName("l_base")
self.horizontalLayout_4.addWidget(self.l_base)
self.b_base = QtWidgets.QPushButton(parent=self.centralwidget)
@@ -312,7 +314,7 @@ class Ui_MainWindow(object):
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label_4.setText(_translate("MainWindow", "Frame ID"))
self.b_play_playback.setText(_translate("MainWindow", "Playback"))
- self.comboBox.setItemText(0, _translate("MainWindow", "Unset"))
+ self.c_playback_seq_name.setItemText(0, _translate("MainWindow", "Unset"))
self.label_16.setText(_translate("MainWindow", "SeqName"))
self.b_record.setText(_translate("MainWindow", "Record"))
self.label_17.setText(_translate("MainWindow", "RecordName"))
@@ -341,7 +343,6 @@ class Ui_MainWindow(object):
self.lb_device_enable.setText(_translate("MainWindow", "Disabled"))
self.label_21.setText(_translate("MainWindow", "
Connection
Status
"))
self.label.setText(_translate("MainWindow", "Base Path"))
- self.l_base.setText(_translate("MainWindow", "/mnt/16T/private_dataset/us/"))
self.b_base.setText(_translate("MainWindow", "Open"))
self.l_robot_pos.setText(_translate("MainWindow", "0,0,0,0,0,0"))
self.l_robot_force.setText(_translate("MainWindow", "0,0,0,0,0,0"))
diff --git a/src/ui/Main.ui b/src/ui/Main.ui
index f4f238f..d162ef4 100644
--- a/src/ui/Main.ui
+++ b/src/ui/Main.ui
@@ -48,7 +48,7 @@
-
-
+
false
@@ -387,6 +387,9 @@
-
+
+ false
+
-
Empty
@@ -485,7 +488,7 @@
-
- /mnt/16T/private_dataset/us/
+