46 lines
3.0 KiB
Markdown
46 lines
3.0 KiB
Markdown
---
|
|
source_files:
|
|
- DataPRO/Modules/ISO/ExtraProperties/ExtraPropertiesModule.cs
|
|
generated_at: "2026-04-17T16:30:25.825122+00:00"
|
|
model: "zai-org/GLM-5-FP8"
|
|
schema_version: 1
|
|
sha256: "2be65806338da7b0"
|
|
---
|
|
|
|
# ExtraProperties
|
|
|
|
### Purpose
|
|
This module provides a user interface for managing ISO extra properties, which appear to be key-value pairs associated with ISO channel configurations. It is a Prism module that registers a list view and view model for displaying and editing extra properties. The module belongs to the "Prepare" assembly group and targets the "ExtraPropertiesRegion" for UI composition.
|
|
|
|
### Public Interface
|
|
|
|
**`ExtraPropertiesModule`** (class)
|
|
- `ExtraPropertiesModule(IUnityContainer unityContainer)` - Constructor accepting a Unity container via dependency injection.
|
|
- `void Initialize()` - Registers `IExtraPropertiesListViewModel` to `ExtraPropertiesListViewModel` and `IExtraPropertiesListView` to `ExtraPropertiesListView` with the Unity container.
|
|
- `void OnInitialized(IContainerProvider containerProvider)` - Empty implementation; no initialization logic executed.
|
|
- `void RegisterTypes(IContainerRegistry containerRegistry)` - Calls `Initialize()` to perform type registration.
|
|
|
|
**`ExtraPropertiesModuleNameAttribute`** (class, inherits `TextAttribute`)
|
|
- `ExtraPropertiesModuleNameAttribute()` / `ExtraPropertiesModuleNameAttribute(string s)` - Constructors that set `AssemblyName` to `AssemblyNames.ExtraProperties.ToString()`.
|
|
- `string AssemblyName` (property, override) - Returns the assembly name.
|
|
- `Type GetAttributeType()` - Returns `typeof(TextAttribute)`.
|
|
- `string GetAssemblyName()` - Returns the `AssemblyName` property value.
|
|
|
|
**`ExtraPropertiesModuleImageAttribute`** (class, inherits `ImageAttribute`)
|
|
- `ExtraPropertiesModuleImageAttribute()` / `ExtraPropertiesModuleImageAttribute(string s)` - Constructors that load the assembly image via `AssemblyInfo.GetImage()`.
|
|
- `BitmapImage AssemblyImage` (property, override) - Lazy-loads and returns the module's image.
|
|
- `string AssemblyName` (property, override) - Returns `AssemblyNames.ExtraProperties.ToString()`.
|
|
- `string AssemblyGroup` (property, override) - Returns `eAssemblyGroups.Prepare.ToString()`.
|
|
- `eAssemblyRegion AssemblyRegion` (property, override) - Returns `eAssemblyRegion.ExtraPropertiesRegion`.
|
|
- `BitmapImage GetAssemblyImage()`, `string GetAssemblyName()`, `string GetAssemblyGroup()`, `eAssemblyRegion GetAssemblyRegion()` - Accessor methods for respective properties.
|
|
- `Type GetAttributeType()` - Returns `typeof(ImageAttribute)`.
|
|
|
|
### Invariants
|
|
- The module must be instantiated with a non-null `IUnityContainer` reference.
|
|
- `Initialize()` must be called (via `RegisterTypes`) before views/view models can be resolved.
|
|
- View and ViewModel registrations are transient (not singleton), despite the comment claiming singleton registration.
|
|
|
|
### Dependencies
|
|
**Imports:**
|
|
- `DTS.Common` - Provides `TextAttribute`, `ImageAttribute`, `AssemblyNames`, `AssemblyInfo`, `eAssemblyGroups`, `eAssemblyRegion`.
|
|
- `DTS.Common |