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) layout.addWidget(self._ts)
self._tree = QTreeWidget() self._tree = QTreeWidget()
self._tree.setColumnCount(3) self._tree.setColumnCount(4)
self._tree.setHeaderLabels(["Field", "Value", "Unit"]) self._tree.setHeaderLabels(["Field", "Value", "Unit", "Human Readable State"])
self._tree.setColumnWidth(0, 320) self._tree.setColumnWidth(0, 320)
self._tree.setColumnWidth(1, 180) self._tree.setColumnWidth(1, 120)
self._tree.setColumnWidth(2, 80) self._tree.setColumnWidth(2, 60)
self._tree.setColumnWidth(3, 200)
self._tree.setAlternatingRowColors(True) self._tree.setAlternatingRowColors(True)
self._tree.setRootIsDecorated(True) self._tree.setRootIsDecorated(True)
layout.addWidget(self._tree) layout.addWidget(self._tree)
@@ -320,7 +321,7 @@ class DashboardTab(QWidget):
d_item.setForeground(0, domain_color) d_item.setForeground(0, domain_color)
for obj_name, fields in domain_data.items(): for obj_name, fields in domain_data.items():
if _is_phys(fields): 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) item.setTextAlignment(1, Qt.AlignRight | Qt.AlignVCenter)
d_item.addChild(item) d_item.addChild(item)
elif isinstance(fields, dict): elif isinstance(fields, dict):
@@ -329,7 +330,7 @@ class DashboardTab(QWidget):
self._add_fields(obj_item, fields, f"{domain}/{obj_name}") self._add_fields(obj_item, fields, f"{domain}/{obj_name}")
d_item.addChild(obj_item) d_item.addChild(obj_item)
else: else:
item = QTreeWidgetItem([obj_name, str(fields), ""]) item = QTreeWidgetItem([obj_name, str(fields), "", ""])
item.setTextAlignment(1, Qt.AlignRight | Qt.AlignVCenter) item.setTextAlignment(1, Qt.AlignRight | Qt.AlignVCenter)
d_item.addChild(item) d_item.addChild(item)
self._tree.addTopLevelItem(d_item) self._tree.addTopLevelItem(d_item)
@@ -341,7 +342,7 @@ class DashboardTab(QWidget):
for k, v in data.items(): for k, v in data.items():
child_path = f"{path}/{k}" child_path = f"{path}/{k}"
if _is_phys(v): 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) item.setTextAlignment(1, Qt.AlignRight | Qt.AlignVCenter)
parent.addChild(item) parent.addChild(item)
elif isinstance(v, dict): elif isinstance(v, dict):
@@ -349,7 +350,7 @@ class DashboardTab(QWidget):
self._add_fields(node, v, child_path) self._add_fields(node, v, child_path)
parent.addChild(node) parent.addChild(node)
else: else:
item = QTreeWidgetItem([k, str(v), ""]) item = QTreeWidgetItem([k, str(v), "", ""])
item.setTextAlignment(1, Qt.AlignRight | Qt.AlignVCenter) item.setTextAlignment(1, Qt.AlignRight | Qt.AlignVCenter)
parent.addChild(item) parent.addChild(item)