Files

78 lines
3.0 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.Common/Interface/Viewer/IMainView.cs
- Common/DTS.Common/Interface/Viewer/IMenuView.cs
- Common/DTS.Common/Interface/Viewer/IFilterView.cs
- Common/DTS.Common/Interface/Viewer/INavigationView.cs
- Common/DTS.Common/Interface/Viewer/ITestDefinitionListView.cs
- Common/DTS.Common/Interface/Viewer/IMenuViewModel.cs
- Common/DTS.Common/Interface/Viewer/INavigationViewModel.cs
- Common/DTS.Common/Interface/Viewer/IFilterViewModel.cs
- Common/DTS.Common/Interface/Viewer/ITestDefinitionListViewModel.cs
- Common/DTS.Common/Interface/Viewer/IMainViewModel.cs
generated_at: "2026-04-17T16:34:18.316431+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "620b4a2305ac725b"
---
# Documentation: DTS.Common.Interface Viewer Interfaces
## 1. Purpose
This module defines the view and view-model interfaces for the Viewer component of the DTS application. It establishes the contract layer for an MVVM (Model-View-ViewModel) architecture, providing typed interfaces for main shell views, navigation, menus, filtering, and test summary list displays. These interfaces enable decoupled communication between UI components and their backing view models, supporting a region-based UI composition pattern.
---
## 2. Public Interface
### View Interfaces
All view interfaces inherit from `IBaseView` (defined in `DTS.Common.Base`) and currently define no additional members—they serve as marker interfaces for type identification and dependency injection.
| Interface | File | Description |
|-----------|------|-------------|
| `IMainView` | `IMainView.cs` | Marker interface for the main application view. |
| `IMenuView` | `IMenuView.cs` | Marker interface for the menu view component. |
| `IFilterView` | `IFilterView.cs` | Marker interface for the filter/search view component. |
| `INavigationView` | `INavigationView.cs` | Marker interface for the navigation view component. |
| `ITestSummaryListView` | `ITestDefinitionListView.cs` | Marker interface for the test summary list view. |
### ViewModel Interfaces
All view-model interfaces inherit from `IBaseViewModel` (defined in `DTS.Common.Base`).
#### `IMenuViewModel`
```csharp
public interface IMenuViewModel : IBaseViewModel
{
IMenuView View { get; }
}
```
Provides access to the associated `IMenuView` instance.
#### `INavigationViewModel`
```csharp
public interface INavigationViewModel : IBaseViewModel
{
INavigationView NavigationView { get; }
}
```
Provides access to the associated `INavigationView` instance via the `NavigationView` property.
#### `IFilterViewModel`
```csharp
public interface IFilterViewModel : IBaseViewModel
{
IBaseView View { get; }
IBaseViewModel Parent { get; }
object ContextSearchRegion { get; set; }
}
```
- `View`: Returns the filter view as `IBaseView`.
- `Parent`: Provides access to the parent view model in the hierarchy.
- `ContextSearchRegion`: A mutable property for region-based UI composition, likely used for dynamic view injection.
#### `ITestSummaryListViewModel`
```csharp
public interface ITestSummaryListViewModel