feat(kc): remaining viewers — Dependencies, Jobs, Macros, and Approvals #41
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 four remaining viewer widgets. These are lower complexity than the Metadata Editor and can be developed in parallel after the Manifest Viewer pipeline is proven. Each viewer is an independent
QWidgetregistered in thecreate_viewer_widget()factory.5a. Dependency Table (
silo/dependencies.json)QTableViewwithQStandardItemModel.kcfile exists locallySiloSync.download_file()for unresolved items (disabled offline)silo-dependencies.svg— git-branch, Teal#94e2d55b. Job Viewer (
silo/jobs/*.yaml)QPlainTextEditwith a YAMLQSyntaxHighlighter. Read-only by default; Edit button toggles writable.POST /api/jobs— disabled when offline.silo/jobs/{filename}on document save via the dirty tracking system.silo-job.svg— play-circle, Mauve#cba6f75c. Macro Editor (
silo/macros/*.py)PythonEditor(Scintilla-based) if available. Fall back toQPlainTextEditwith manualQSyntaxHighlighterif QScintilla is not importable.QComboBoxwith values:pre_save,post_save,manual,on_open(fromsilo/macros/manifest.json).exec()in FreeCAD's Python console context. Output goes to Report View.silo-macro.svg— file-code, Yellow#f9e2af5d. Approvals Viewer (
silo/approvals.json)QVBoxLayoutwith status cardsQDesktopServices.openUrl()silo-approvals.svg— shield-check, Peach#fab387Files to modify
src/Mod/Create/silo_viewers.pySiloDependencyTable,SiloJobViewer,SiloMacroEditor,SiloApprovalsViewerclasses. Register all increate_viewer_widget()factory.Acceptance criteria
Dependencies
References
docs/KC_SPECIFICATION.md§4.4–4.8 (approvals, dependencies, macros, jobs schemas)docs/SILO_VIEWPORT_PLAN.mdPhase 5