3.8 KiB
3.8 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | ||
|---|---|---|---|---|---|---|
|
2026-04-16T12:23:49.838372+00:00 | zai-org/GLM-5-FP8 | 1 | 720d768a9bb759bc |
Documentation: IAddCalculatedChannelView & IAddCalculatedChannelViewModel
1. Purpose
This module defines the view and viewmodel interfaces for the "Add Calculated Channel" feature within a larger MVVM (Model-View-ViewModel) architecture. IAddCalculatedChannelView serves as a marker interface for the view component, while IAddCalculatedChannelViewModel defines the contract for the viewmodel, exposing commands and properties for managing calculated channel creation, ISO export settings, DTS encoding defaults, and search context regions.
2. Public Interface
IAddCalculatedChannelView
Declaration:
public interface IAddCalculatedChannelView : IBaseView { }
A marker interface extending IBaseView. Contains no members.
IAddCalculatedChannelViewModel
Declaration:
public interface IAddCalculatedChannelViewModel : IBaseViewModel
Properties:
| Name | Type | Access | Description |
|---|---|---|---|
View |
IBaseView |
get/set | The Search View associated with this viewmodel. |
Parent |
IBaseViewModel |
get/set | Reference to the parent viewmodel in the hierarchy. |
IncludeGroupNameInISOExport |
bool |
get/set | Controls whether group names are included in ISO export output. |
DefaultDTSEncoding |
int |
get/set | The default DTS encoding value for calculated channels. |
AddCalculatedChannelCommand |
ICommand |
get | Command to add a calculated channel. |
ContextSearchRegion |
object |
get/set | Context object for the search region. |
Methods:
| Name | Return Type | Description |
|---|---|---|
PublishChanges() |
void |
Publishes or commits pending changes. Behavior specifics not documented in source. |
3. Invariants
IAddCalculatedChannelViewmust always be assignable toIBaseView.IAddCalculatedChannelViewModelmust always be assignable toIBaseViewModel.AddCalculatedChannelCommandis read-only (getter only); it cannot be replaced after initialization, only executed.- The presence of
Parentproperty implies a hierarchical viewmodel structure that must be maintained.
4. Dependencies
This module depends on:
DTS.Common.Base— ProvidesIBaseViewandIBaseViewModelbase interfaces.System.Windows.Input— ProvidesICommandinterface for theAddCalculatedChannelCommandproperty.
Consumers:
- Unknown from source alone. These interfaces are intended to be implemented by concrete view and viewmodel classes elsewhere in the codebase.
5. Gotchas
- Namespace mismatch: Both files include
// ReSharper disable CheckNamespace, indicating the declared namespace (DTS.Common.Interface) may not match the folder structure (Common/DTS.CommonCore/Interface/DTS.Viewer/CalculatedChannel/). This could cause confusion when locating files or during refactoring. - Marker interface:
IAddCalculatedChannelViewhas no members and serves only as a type marker. Any view-specific behavior must come fromIBaseViewor be cast to a more specific type. ContextSearchRegiontype: The property is typed asobject, suggesting loose typing. The actual expected type and usage pattern is unclear from source alone.PublishChanges()semantics: The method name suggests an event-publishing or change-commit pattern, but the exact behavior (what changes are published, to whom, and when this should be called) is not documented in the source.