41 lines
1.3 KiB
C#
41 lines
1.3 KiB
C#
#nullable enable
|
|
using System;
|
|
|
|
namespace UVC.UIToolkit
|
|
{
|
|
/// <summary>
|
|
/// 열거형 속성 데이터 클래스입니다.
|
|
/// UI는 UTKEnumPropertyItemView에서 담당합니다.
|
|
/// </summary>
|
|
public class UTKEnumPropertyItem : UTKPropertyItemBase<Enum>
|
|
{
|
|
#region Fields
|
|
private Type _enumType;
|
|
#endregion
|
|
|
|
#region Properties
|
|
/// <summary>속성 타입</summary>
|
|
public override UTKPropertyType PropertyType => UTKPropertyType.Enum;
|
|
|
|
/// <summary>열거형 타입</summary>
|
|
public Type EnumType => _enumType;
|
|
#endregion
|
|
|
|
#region Constructor
|
|
/// <summary>
|
|
/// 열거형 속성을 생성합니다.
|
|
/// </summary>
|
|
/// <param name="id">고유 ID</param>
|
|
/// <param name="name">표시 이름</param>
|
|
/// <param name="initialValue">초기 값 (열거형 타입 추론에 사용)</param>
|
|
/// <param name="isReadOnly">읽기 전용 여부</param>
|
|
public UTKEnumPropertyItem(string id, string name, Enum initialValue, bool isReadOnly = false)
|
|
: base(id, name, initialValue ?? throw new ArgumentNullException(nameof(initialValue)))
|
|
{
|
|
_enumType = initialValue.GetType();
|
|
IsReadOnly = isReadOnly;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|