71 lines
3.4 KiB
Markdown
71 lines
3.4 KiB
Markdown
|
|
---
|
||
|
|
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
|