Files
2026-04-17 14:55:32 -04:00

2.7 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.ViewerSettings/ViewModel/ViewerSettingsViewModel.cs
2026-04-17T16:30:27.297982+00:00 zai-org/GLM-5-FP8 1 5cfb0f37e98d2924

ViewModel

Purpose

This module provides the ViewModel for viewer settings, specifically managing calibration behavior configuration. It allows users to select from available calibration behaviors (LinearIfAvailable, NonLinearIfAvailable, UseBothIfAvailable) and handles visibility states for settings UI based on application events. It participates in the Prism MVVM architecture as a configurable settings component.

Public Interface

Class: ViewerSettingsViewModel (extends BaseViewModel<IViewerSettingsViewModel>, implements IViewerSettingsViewModel)

Constructor:

  • ViewerSettingsViewModel(IViewerSettingsView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer) - Initializes the view model, sets up interaction requests, and stores dependencies.

Properties:

  • View (IViewerSettingsView) - Gets or sets the associated view interface.
  • Parent (IBaseViewModel) - Gets or sets the parent view model.
  • NotificationRequest (InteractionRequest<Notification>) - Interaction request for notifications.
  • ConfirmationRequest (InteractionRequest<Confirmation>) - Interaction request for confirmations.
  • HeaderInfo (string) - Returns "SettingsRegion".
  • IsBusy (bool) - Busy state indicator.
  • IsDirty (bool) - Dirty state indicator.
  • IsNavigationIncluded (bool) - Navigation inclusion flag.
  • CalibrationBehaviorSettingVisibility (Visibility) - Controls visibility of calibration behavior setting UI; publishes ViewerSettingsVisibilityChangedEvent when changed.
  • OverallSettingsVisibility (Visibility) - Computed property; returns Visible if CalibrationBehaviorSettingVisibility is Visible, otherwise Collapsed.
  • AvailableCalibrationBehaviors (DisplayedCalibrationBehavior[]) - Thread-safe, lazily-initialized array of available calibration options.
  • CalibrationBehaviorSetting (DisplayedCalibrationBehavior) - Gets or sets the current calibration behavior; publishes CalibrationBehaviorSettingChangedEvent on change.

Methods:

  • void Initialize() - Empty override.
  • void Initialize(object parameter) - Sets Parent from parameter and subscribes to events.
  • void PublishChanges() - Empty method (implementation appears incomplete).

Events:

  • PropertyChanged (PropertyChangedEventHandler) - Property change notification event.

Invariants

  • OverallSettingsVisibility is Visible if and only if `CalibrationBehaviorSettingVisibility