feat(kc): Manifest Viewer — read-only metadata display in MDI viewport #38
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implement the first viewer widget: a read-only Manifest viewer that opens in an MDI subwindow when the user double-clicks the "Manifest" node in the Silo tree. This proves the full
doubleClicked()→ MDI subwindow pipeline that all subsequent viewers will use.Background
Phase 1 (issue #37) creates the Silo tree nodes but
doubleClicked()is a no-op. This phase wires the viewer widget factory and delivers the simplest possible viewer — a read-only form displayingsilo/manifest.jsonfields.Scope
New files
src/Mod/Create/silo_viewers.pycreate_viewer_widget(obj)factory function that routesSiloPathto the appropriate viewer class. Initially contains onlySiloManifestViewer.Modified files
src/Mod/Create/silo_viewproviders.pydoubleClicked()to callcreate_viewer_widget(), open the result in an MDI subwindow viamw.findChild(QMdiArea).addSubWindow(widget). Implement subwindow deduplication using_silo_object_nameattribute.src/Mod/Create/CMakeLists.txtsilo_viewers.pyto install list.Widget specification
QWidgetwithQFormLayoutQLabelvaluesQToolButtonwith clipboard icon for Part UUID and Silo Instance fieldsKindredCreate.qss(Catppuccin Mocha), no custom QSS neededsilo-manifest.svg(Blue#89b4fa) — uses fallback empty string if SVG not yet createdMDI subwindow management
Acceptance criteria
manifest.jsonfields are displayed with correct labels and valuesDependencies
References
docs/KC_SPECIFICATION.md§4.1 (silo/manifest.jsonschema)docs/SILO_VIEWPORT_PLAN.mdPhase 2