--- source_files: - Common/DTS.Common/Interface/DTS.Viewer/ITabView.cs - Common/DTS.Common/Interface/DTS.Viewer/IDiagView.cs - Common/DTS.Common/Interface/DTS.Viewer/ITestsView.cs - Common/DTS.Common/Interface/DTS.Viewer/IStatsView.cs - Common/DTS.Common/Interface/DTS.Viewer/ICursorView.cs - Common/DTS.Common/Interface/DTS.Viewer/IViewerView.cs - Common/DTS.Common/Interface/DTS.Viewer/ITabItemView.cs - Common/DTS.Common/Interface/DTS.Viewer/IPropertyView.cs - Common/DTS.Common/Interface/DTS.Viewer/IViewerShellView.cs - Common/DTS.Common/Interface/DTS.Viewer/IGraphPropertyView.cs - Common/DTS.Common/Interface/DTS.Viewer/IDockPanelVerticalView.cs - Common/DTS.Common/Interface/DTS.Viewer/IDockPanelHorizontalView.cs - Common/DTS.Common/Interface/DTS.Viewer/GroupChannelReadCalcDelegate.cs - Common/DTS.Common/Interface/DTS.Viewer/IExportModule.cs - Common/DTS.Common/Interface/DTS.Viewer/IViewerModule.cs - Common/DTS.Common/Interface/DTS.Viewer/IPSDReportModule .cs - Common/DTS.Common/Interface/DTS.Viewer/ITabViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IDiagViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IStatsViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/ICursorViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/ITestsViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IViewerViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IPropertyViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IGraphPropertyViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IDockPanelVerticalViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IDockPanelHorizontalViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/ITabItemViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IViewerShellViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IMainLiteView.cs - Common/DTS.Common/Interface/DTS.Viewer/IMainViewerView.cs - Common/DTS.Common/Interface/DTS.Viewer/ISelectedDataViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IMainViewModel.cs - Common/DTS.Common/Interface/DTS.Viewer/IMainLiteViewModel.cs generated_at: "2026-04-17T15:25:23.094552+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "31a916a49292e99a" --- # DTS.Common.Interface Documentation ## 1. Purpose This module defines the abstraction layer for the DTS Viewer application's presentation components. It establishes the contract interfaces for Views, ViewModels, and Modules following the Model-View-ViewModel (MVVM) pattern with Prism framework integration. The interfaces enable loose coupling between UI components, support dependency injection, and define the structure for modular plug-in architecture including export, viewer, and PSD report modules. --- ## 2. Public Interface ### View Interfaces All view interfaces inherit from `IBaseView` (defined in `DTS.Common.Base`) and serve as markers for view resolution: | Interface | Description | |-----------|-------------| | `ITabView` | Marker interface for tab views | | `IDiagView` | Marker interface for diagnostic views | | `ITestsView` | Marker interface for test views | | `IStatsView` | Marker interface for statistics views | | `ICursorView` | Marker interface for cursor views | | `IViewerView` | Marker interface for viewer views | | `ITabItemView` | Marker interface for individual tab item views | | `IPropertyView` | Marker interface for property views | | `IViewerShellView` | Marker interface for the main shell view | | `IGraphPropertyView` | Marker interface for graph property views | | `IDockPanelVerticalView` | Marker interface for vertical dock panel views | | `IDockPanelHorizontalView` | Marker interface for horizontal dock panel views | | `IMainViewerView` | Marker interface for main viewer views (members commented out) | #### `IMainLiteView` ```csharp public interface IMainLiteView : IBaseView { StackPanel MainShell { get; set; } ContentControl MainRegion { get; set; } ContentControl NavigationRegion { get; set; } ContentControl HorizontalTabRegion { get; set; } ContentControl VerticalTabRegion { get; set; } } ``` Exposes named region controls for view composition in a "lite" version of the main view. --- ### ViewModel Interfaces All ViewModel interfaces inherit from `IBaseViewModel` (defined in `DTS.Common.Base`): #### `ITabViewModel` ```csharp public interface ITabViewModel : IBaseViewModel { ITabView View { get; } } ``` #### `IDiagViewModel` ```csharp public interface IDiagViewModel : IBaseViewModel { IDiagView View { get; } } ``` #### `IStatsViewModel` ```csharp public interface IStatsViewModel : IBaseViewModel { IStatsView View { get; } } ``` #### `ICursorViewModel` ```csharp public interface ICursorViewModel : IBaseViewModel { ICursorView View { get; } } ``` #### `ITestsViewModel` ```csharp public interface ITestsViewModel : IBaseViewModel { ITestsView View { get; } } ``` #### `IViewerViewModel` ```csharp public interface