Skip to content

Bound Subsystems

Self-contained UI subsystems that compose the library browser. Each subsystem owns its own MVC structure (controller, model, view) where applicable.

Subsystems

Directory Purpose
navigation/ Folder tree + quick access bar (left panel)
item_browser/ Item list with variant accordion (center panel)
detail_panel/ Item detail view/edit panel (right panel, stack page 0)
bound_element_config/ Bound element add/edit config panel (right panel, stack page 1)
footer_bar/ Edit/Save/Lock/Upload/Discard button bar (bottom)
shared/ Cross-cutting utilities used by multiple subsystems

Communication Pattern

Subsystems communicate through Qt signals routed via the parent LibraryBrowserController. Direct sibling imports are acceptable for simple, clear connections but the primary flow is:

SubWidget emits signal --> LibraryBrowserWidget wires to --> Controller handles
                                                              |
Controller calls --> SubWidget public API to update UI  <-----+

The controller accesses sub-widgets via the view's properties: view.folder_tree, view.item_tree, view.detail_panel, view.config_panel.