Files

135 lines
4.9 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
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