78 lines
3.0 KiB
Markdown
78 lines
3.0 KiB
Markdown
|
|
---
|
||
|
|
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
|