Skip to content

library_orchestration

Manages the master and user library lifecycle: R2 download, single user library auto-creation, and launching the library browser in locked-edit editor mode.

Structure

library_orchestration/
    controller/
        library_orchestration_controller.py   LibraryOrchestrationController - top-level API
    view/
        library_editor_view.py                LibraryEditorView - wrapper around LibraryBrowserWidget

Key Classes

LibraryOrchestrationController

Top-level coordinator. Downloads the master library via R2MasterLibraryManager, auto-creates a single user library on first run, and launches the new LibraryBrowserWidget in three modes:

  • View master -- read-only single-library view
  • Edit master -- combined view with master edit locked (requires R2 write-access)
  • Edit user -- combined view with user edit locked

Uses enter_locked_edit_mode() on the browser controller to enforce that only the target library can be edited.

LibraryEditorView

Minimal wrapper that embeds a LibraryBrowserWidget with a footer bar containing a "Beenden" button for view-only mode.

Dependencies

  • src.modules.plant_design.zentral_systems.library_system - LibraryController, R2MasterLibraryManager, ContainerSerializer, UserSettingsPersistence
  • src.shared_services.path_management - PathDef-based path resolution
  • src.shared_services.state.app_state - AppState for active software / edit mode flags