Files

71 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.CommonCore/Interface/Components/IAssemblyView.cs
- Common/DTS.CommonCore/Interface/Components/IAssemblyListView.cs
- Common/DTS.CommonCore/Interface/Components/ITileView.cs
- Common/DTS.CommonCore/Interface/Components/IGroupView.cs
- Common/DTS.CommonCore/Interface/Components/ITileListView.cs
- Common/DTS.CommonCore/Interface/Components/IGroupListView.cs
- Common/DTS.CommonCore/Interface/Components/IAssemblyViewModel.cs
- Common/DTS.CommonCore/Interface/Components/IAssemblyListViewModel.cs
- Common/DTS.CommonCore/Interface/Components/ITileViewModel.cs
- Common/DTS.CommonCore/Interface/Components/IGroupViewModel.cs
- Common/DTS.CommonCore/Interface/Components/ITileListViewModel.cs
- Common/DTS.CommonCore/Interface/Components/IGroupListViewModel.cs
generated_at: "2026-04-17T16:34:19.310098+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "e1c9470d04b176fb"
---
# Documentation: View/ViewModel Component Interfaces
## 1. Purpose
This module defines a set of interfaces for a Model-View-ViewModel (MVVM) architecture used to display and manage grouped assembly information in a UI. It provides interfaces for both individual item views (`IAssemblyView`, `ITileView`, `IGroupView`) and collection views (`IAssemblyListView`, `ITileListView`, `IGroupListView`), along with their corresponding ViewModel contracts. The module appears to support multiple presentation modes (Assembly, Tile, Group) for displaying assembly data with associated images.
---
## 2. Public Interface
### View Interfaces
| Interface | Namespace | Base | Description |
|-----------|-----------|------|-------------|
| `IAssemblyView` | `DTS.Common.Interface` | `IBaseView` | Marker interface for an assembly item view. No members defined. |
| `IAssemblyListView` | `DTS.Common.Interface` | `IBaseView` | Marker interface for a collection view of assemblies. No members defined. |
| `ITileView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a tile item view. No members defined. |
| `IGroupView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a group item view. No members defined. |
| `ITileListView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a collection view of tiles. No members defined. |
| `IGroupListView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a collection view of groups. No members defined. |
### ViewModel Interfaces
#### `IAssemblyViewModel` (`DTS.Common.Interface`)
```csharp
public interface IAssemblyViewModel : IBaseViewModel
{
IAssemblyView View { get; set; }
string GroupName { get; set; }
List<AssemblyNameImage> AssemblyList { get; set; }
}
```
Defines the contract for a ViewModel that manages a single assembly group display, including the associated view reference, group name, and list of assembly name/image pairs.
#### `IAssemblyListViewModel` (`DTS.Common.Interface`)
```csharp
public interface IAssemblyListViewModel : IBaseViewModel
{
IMainViewModel Parent { get; set; }
IAssemblyListView View { get; set; }
List<IAssemblyView> GroupList { get; set; }
}
```
Defines the contract for a ViewModel that manages a collection of assembly views, with a reference to a parent `IMainViewModel`.
#### `ITileViewModel` (`DataPro.Common.Interface`)
```csharp
public interface ITileViewModel : IBaseViewModel
{
ITileView View { get; set; }
string Group