gui_client: add "Human Readable State" column populated from str_state

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-29 21:03:54 +02:00
co-authored by Claude Sonnet 4.6
parent 78b6108658
commit 74379e55d6
+9 -8
View File
@@ -293,11 +293,12 @@ class DashboardTab(QWidget):
layout.addWidget(self._ts)
self._tree = QTreeWidget()
self._tree.setColumnCount(3)
self._tree.setHeaderLabels(["Field", "Value", "Unit"])
self._tree.setColumnCount(4)
self._tree.setHeaderLabels(["Field", "Value", "Unit", "Human Readable State"])
self._tree.setColumnWidth(0, 320)
self._tree.setColumnWidth(1, 180)
self._tree.setColumnWidth(2, 80)
self._tree.setColumnWidth(1, 120)
self._tree.setColumnWidth(2, 60)
self._tree.setColumnWidth(3, 200)
self._tree.setAlternatingRowColors(True)
self._tree.setRootIsDecorated(True)
layout.addWidget(self._tree)
@@ -320,7 +321,7 @@ class DashboardTab(QWidget):
d_item.setForeground(0, domain_color)
for obj_name, fields in domain_data.items():
if _is_phys(fields):
item = QTreeWidgetItem([obj_name, str(fields["value"]), fields["unit"]])
item = QTreeWidgetItem([obj_name, str(fields["value"]), fields["unit"], fields.get("str_state", "")])
item.setTextAlignment(1, Qt.AlignRight | Qt.AlignVCenter)
d_item.addChild(item)
elif isinstance(fields, dict):
@@ -329,7 +330,7 @@ class DashboardTab(QWidget):
self._add_fields(obj_item, fields, f"{domain}/{obj_name}")
d_item.addChild(obj_item)
else:
item = QTreeWidgetItem([obj_name, str(fields), ""])
item = QTreeWidgetItem([obj_name, str(fields), "", ""])
item.setTextAlignment(1, Qt.AlignRight | Qt.AlignVCenter)
d_item.addChild(item)
self._tree.addTopLevelItem(d_item)
@@ -341,7 +342,7 @@ class DashboardTab(QWidget):
for k, v in data.items():
child_path = f"{path}/{k}"
if _is_phys(v):
item = QTreeWidgetItem([k, str(v["value"]), v["unit"]])
item = QTreeWidgetItem([k, str(v["value"]), v["unit"], v.get("str_state", "")])
item.setTextAlignment(1, Qt.AlignRight | Qt.AlignVCenter)
parent.addChild(item)
elif isinstance(v, dict):
@@ -349,7 +350,7 @@ class DashboardTab(QWidget):
self._add_fields(node, v, child_path)
parent.addChild(node)
else:
item = QTreeWidgetItem([k, str(v), ""])
item = QTreeWidgetItem([k, str(v), "", ""])
item.setTextAlignment(1, Qt.AlignRight | Qt.AlignVCenter)
parent.addChild(item)