struct LauncherShellContext { window: gtk::ApplicationWindow, root: gtk::Box, staging_row: gtk::Box, operations: gtk::Box, left_pane: DisplayPaneWidgets, right_pane: DisplayPaneWidgets, relay_light: gtk::Box, relay_value: gtk::Label, routing_light: gtk::Box, routing_value: gtk::Label, gpio_light: gtk::Box, gpio_value: gtk::Label, usb_light: gtk::Box, usb_value: gtk::Label, uac_light: gtk::Box, uac_value: gtk::Label, uvc_light: gtk::Box, uvc_value: gtk::Label, shortcut_value: gtk::Label, } struct DeviceControlsContext { device_refresh_button: gtk::Button, camera_combo: gtk::ComboBoxText, camera_quality_combo: gtk::ComboBoxText, microphone_combo: gtk::ComboBoxText, speaker_combo: gtk::ComboBoxText, keyboard_combo: gtk::ComboBoxText, mouse_combo: gtk::ComboBoxText, camera_channel_toggle: gtk::ToggleButton, microphone_channel_toggle: gtk::ToggleButton, noise_suppression_toggle: gtk::ToggleButton, audio_channel_toggle: gtk::ToggleButton, audio_gain_scale: gtk::Scale, audio_gain_value: gtk::Label, mic_gain_scale: gtk::Scale, mic_gain_value: gtk::Label, audio_check_detail: gtk::Label, audio_check_meter: gtk::ProgressBar, devices_panel: gtk::Box, preview_panel: gtk::Box, camera_preview_stack: gtk::Stack, camera_preview_frame: gtk::AspectFrame, camera_preview: gtk::Picture, webcam_transport_combo: gtk::ComboBoxText, upstream_audio_transport_combo: gtk::ComboBoxText, camera_mirror_button: gtk::ToggleButton, camera_mirror_revealer: gtk::Revealer, camera_status: gtk::Label, camera_test_button: gtk::Button, microphone_test_button: gtk::Button, microphone_replay_button: gtk::Button, speaker_test_button: gtk::Button, } struct OperationsRailContext { server_entry: gtk::Entry, start_button: gtk::Button, certs_button: gtk::Button, clipboard_button: gtk::Button, usb_recover_button: gtk::Button, uac_recover_button: gtk::Button, uvc_recover_button: gtk::Button, calibration_default_button: gtk::Button, calibration_factory_button: gtk::Button, calibration_blind_button: gtk::Button, calibration_minus_button: gtk::Button, calibration_plus_button: gtk::Button, calibration_rig_button: gtk::Button, power_auto_button: gtk::Button, power_on_button: gtk::Button, power_off_button: gtk::Button, power_detail: gtk::Label, input_toggle_button: gtk::Button, swap_key_button: gtk::Button, diagnostics_copy_button: gtk::Button, diagnostics_popout_button: gtk::Button, diagnostics_log: Rc>, diagnostics_label: gtk::Label, diagnostics_scroll: gtk::ScrolledWindow, console_copy_button: gtk::Button, console_popout_button: gtk::Button, console_level_combo: gtk::ComboBoxText, session_log_level: Rc>, status_label: gtk::Label, session_log_buffer: gtk::TextBuffer, session_log_view: gtk::TextView, preview: Option>, }