2.6 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |||
|---|---|---|---|---|---|---|---|
|
2026-04-17T16:35:56.547091+00:00 | zai-org/GLM-5-FP8 | 1 | 1f9b8fbe5cb13bc2 |
Ribbon Control Interface Documentation
1. Purpose
This module defines the core interfaces for the ribbon control system within the DTS application framework. It establishes the contract for ribbon views, view models, and tab identification mechanisms. These interfaces serve as an abstraction layer that decouples the ribbon UI components from their concrete implementations, enabling consistent interaction patterns across the system's ribbon-based navigation and command surfaces.
2. Public Interface
IRibbonView
Location: DTS.Common.RibbonControl namespace
Signature:
public interface IRibbonView : IBaseView { }
Behavior: A marker interface that extends IBaseView. It defines no additional members beyond its base interface, serving as a type identifier for ribbon-specific view implementations.
IRibbonTabInfoProvider
Location: DTS.Common.RibbonControl namespace
Signature:
public interface IRibbonTabInfoProvider
{
string RibbonTabUid { get; }
}
Behavior: Provides a mechanism for retrieving ribbon tab identification information. The RibbonTabUid property returns a unique string identifier used to locate specific ribbon tabs within the system.
IRibbonViewModel
Location: DTS.Common.RibbonControl namespace
Signature:
public interface IRibbonViewModel : IBaseViewModel
{
IRibbonView View { get; }
}
Behavior: Defines the contract for ribbon view models, exposing a read-only View property that returns the associated IRibbonView instance. Inherits from IBaseViewModel.
3. Invariants
IRibbonViewmust always be assignable toIBaseView(inheritance constraint).IRibbonViewModelmust always be assignable toIBaseViewModel(inheritance constraint).IRibbonTabInfoProvider.RibbonTabUidis expected to return a non-null string that uniquely identifies a ribbon tab (implied by the "unique identifier" documentation, though null validation is not enforced at the interface level).IRibbonViewModel.Viewis expected to return a validIRibbonViewinstance (nullability is not specified in the interface).
4. Dependencies
This module depends on:
DTS.Common.Base— ProvidesIBaseView(used by `IRibbonView