Option Strict On
Option Explicit On

Imports System

Namespace Nexamas.UI.Components

    ''' <summary>
    ''' Reusable media button command description supplied by the owning media element.
    ''' It intentionally carries only an opaque action id, presentation text, grouping,
    ''' and a shared glyph kind. The owner keeps the real command enum and execution logic.
    ''' </summary>
    Friend Structure MASMediaButtonSpec
        Friend Sub New(actionId As Integer,
                       text As String,
                       groupIndex As Integer,
                       glyphKind As MASMediaButtonGlyphKind)
            Me.ActionId = actionId
            Me.Text = If(text, String.Empty)
            Me.GroupIndex = groupIndex
            Me.GlyphKind = glyphKind
        End Sub

        Friend ActionId As Integer
        Friend Text As String
        Friend GroupIndex As Integer
        Friend GlyphKind As MASMediaButtonGlyphKind
    End Structure

End Namespace
