Files
2026-04-17 14:55:32 -04:00

2.8 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-16T02:17:51.762048+00:00 Qwen/Qwen3-Coder-Next-FP8 1 9b7d291a6a236da0

TSRAIRGo

1. Purpose

This module defines the INavigationButtonInfo interface, which serves as a contract for navigation button metadata in the TSRAIRGo application. It standardizes how UI components expose and consume information about navigation buttons—such as their identity, display text, tooltip, enabled state, and visual border visibility—enabling decoupled UI rendering and button management logic.

2. Public Interface

  • INavigationButtonInfo interface
    • NavigationButtonId Id { get; }
      Returns the unique identifier for the button (defined in DTS.Common.Enums.TSRAIRGo.NavigationButtonId). This property is read-only and must be set at construction time.
    • string Text { get; set; }
      Gets or sets the primary label text displayed on the button.
    • string Tooltip { get; set; }
      Gets or sets the tooltip text shown on hover (or equivalent interaction).
    • bool Enabled { get; set; }
      Gets or sets whether the button is interactive (i.e., not disabled).
    • bool ShowBorder { get; set; }
      Gets or sets whether a visible border should be rendered around the button.

3. Invariants

  • Id must be non-default (i.e., not NavigationButtonId.Unknown or equivalent uninitialized value), though the source does not enforce this—implementers are expected to ensure validity.
  • Text and Tooltip may be null or empty strings unless constrained by UI consumers (not specified here).
  • Enabled and ShowBorder are boolean flags with no stated default values; their initial state depends on implementation.
  • No ordering or lifecycle guarantees are defined (e.g., Id must be set before Text).

4. Dependencies

  • Depends on:
    • DTS.Common.Enums.TSRAIRGo.NavigationButtonId (enum, referenced in Id property).
  • Depended on by:
    • UI components or services that consume navigation button metadata (not visible in this file; inferred from naming and namespace).
    • Likely used by a navigation bar or button manager in the TSRAIRGo UI layer.

5. Gotchas

  • The interface does not define how Id is initialized or validated—implementers must ensure Id is set and remains immutable after construction.
  • No explicit handling is defined for localization; Text and Tooltip are plain strings, suggesting either hardcoded values or external localization logic is applied elsewhere.
  • ShowBorder is a UI presentation flag; its semantics (e.g., when false, is the border hidden or rendered differently?) are implementation-specific and not standardized here.
  • None identified from source alone.