Files
DP44/docs/ai/Common/DTS.Common/RibbonControl/Interface.md
2026-04-17 14:55:32 -04:00

2.6 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common/RibbonControl/Interface/IRibbonView.cs
Common/DTS.Common/RibbonControl/Interface/IRibbonTabInfoProvider.cs
Common/DTS.Common/RibbonControl/Interface/IRibbonViewModel.cs
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

  • IRibbonView must always be assignable to IBaseView (inheritance constraint).
  • IRibbonViewModel must always be assignable to IBaseViewModel (inheritance constraint).
  • IRibbonTabInfoProvider.RibbonTabUid is 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.View is expected to return a valid IRibbonView instance (nullability is not specified in the interface).

4. Dependencies

This module depends on:

  • DTS.Common.Base — Provides IBaseView (used by `IRibbonView