Use manifest defaults when adding components and refresh properties from device

- Populate prop elements with manifest default values when adding
  components in both offline and live mode
- Send config values from manifest in SOX add command for live devices
- Refresh button in properties panel now fetches fresh values from
  the connected device before re-reading the DOM
- Properties panel fetches device values on open in live mode

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-09-20 00:14:52 +03:00
co-authored by Claude Opus 4.6
parent 2530bbd92c
commit abdafef7cb
6 changed files with 122 additions and 17 deletions
+4 -4
View File
@@ -53,9 +53,10 @@ class DeviceSession:
self._load_slot_registry(parts)
root_comp = self.sox_client.load(0)
# Pre-load immediate children so the tree shows the first level
if root_comp and root_comp.children:
self.load_children(root_comp.id)
children = self.load_children(root_comp.id)
if children:
self.sox_client.update(children, CONFIG | RUNTIME)
return root_comp
def disconnect(self):
@@ -283,8 +284,7 @@ class DeviceSession:
app_elem = ET.SubElement(sax_root, "app")
if root_comp is not None:
# Build children of root directly under <app>, matching .sax format
# where <app> IS the root container (not a <comp>)
app_elem.set("id", str(root_comp.id))
for child_id in root_comp.children:
child_comp = self.sox_client.cache_get(child_id)
if child_comp is not None: