Files
DP44/enriched-partialglm/Common/DTS.CommonCore/Interface/TSRAIRGo.md
2026-04-17 14:55:32 -04:00

2.5 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Interface/TSRAIRGo/INavigationButtonInfo.cs
2026-04-16T12:08:44.958885+00:00 zai-org/GLM-5-FP8 1 9b7d291a6a236da0

Documentation: INavigationButtonInfo

1. Purpose

This module defines the INavigationButtonInfo interface, which specifies a contract for navigation button configuration objects within the TSRAIRGo subsystem. It provides a standardized abstraction for button metadata—including identity, display text, tooltip, enabled state, and border visibility—allowing consumers to interact with navigation buttons polymorphically without depending on concrete implementations.

2. Public Interface

Interface: INavigationButtonInfo

Namespace: DTS.Common.Interface.TSRAIRGo

Property Type Access Description
Id NavigationButtonId Read-only Returns the unique identifier for the navigation button.
Text string Read/Write Gets or sets the display text for the button.
Tooltip string Read/Write Gets or sets the tooltip text shown on hover.
Enabled bool Read/Write Gets or sets whether the button is interactive.
ShowBorder bool Read/Write Gets or sets whether the button border is visible.

3. Invariants

  • Id is immutable after construction (read-only accessor only).
  • No null validation or constraint enforcement is visible in the interface definition; implementations may impose additional constraints.
  • The relationship between Id and other properties (e.g., whether Id determines default Text) is not specified in this interface.

4. Dependencies

This module depends on:

  • DTS.Common.Enums.TSRAIRGo.NavigationButtonId — An enumeration type used to identify navigation buttons. The actual enum values are defined externally.

What depends on this module:

  • Unknown from source alone. No consumers or implementations are visible in this file.

5. Gotchas

  • No null constraints visible: The interface does not indicate whether Text or Tooltip may be null or empty. Implementations may handle these cases differently.
  • Mutable state: All properties except Id are read/write, implying implementations are expected to support runtime modification of button state.
  • Enum dependency: The NavigationButtonId enum is imported but not defined here; its values and structure must be located in DTS.Common.Enums.TSRAIRGo.