--- source_files: - Common/DTS.Common/Interface/DTS.Viewer/ViewerSettings/IViewerSettingsView.cs - Common/DTS.Common/Interface/DTS.Viewer/ViewerSettings/IViewerSettingsViewModel.cs generated_at: "2026-04-17T16:25:11.108113+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "b76a7379ec13e4a2" --- # ViewerSettings ### Purpose This module defines the view and view model interfaces for viewer settings configuration within the DTS application. It follows an MVVM pattern, providing a contract for UI components that manage calibration behavior settings and overall viewer configuration. The module enables decoupling of the settings UI from its implementation, allowing different concrete views to be swapped while maintaining consistent behavior. ### Public Interface **IViewerSettingsView** - Signature: `public interface IViewerSettingsView : IBaseView` - An empty marker interface extending `IBaseView` that identifies a view component for viewer settings. **IViewerSettingsViewModel** - Signature: `public interface IViewerSettingsViewModel : IBaseViewModel` - Properties: - `IViewerSettingsView View { get; set; }` - Gets or sets the associated view instance. - `IBaseViewModel Parent { get; set; }` - Gets or sets the parent view model in the hierarchy. - `Visibility CalibrationBehaviorSettingVisibility { get; set; }` - Controls visibility of calibration behavior settings UI. - `Visibility OverallSettingsVisibility { get; }` - Read-only visibility state for overall settings section. - `DisplayedCalibrationBehavior[] AvailableCalibrationBehaviors { get; }` - Array of available calibration behavior options for selection. - `DisplayedCalibration