using System;
namespace UVC.UI.Window.PropertyWindow
{
///
/// 그룹 추가/제거 이벤트 인자
///
public class PropertyGroupEventArgs : EventArgs
{
///
/// 이벤트 대상 그룹
///
public IPropertyGroup Group { get; }
public PropertyGroupEventArgs(IPropertyGroup group)
{
Group = group;
}
}
///
/// 그룹 펼침/접힘 상태 변경 이벤트 인자
///
public class PropertyGroupExpandedEventArgs : EventArgs
{
///
/// 이벤트 대상 그룹
///
public IPropertyGroup Group { get; }
///
/// 변경 전 펼침 상태
///
public bool WasExpanded { get; }
///
/// 변경 후 펼침 상태
///
public bool IsExpanded { get; }
public PropertyGroupExpandedEventArgs(IPropertyGroup group, bool wasExpanded, bool isExpanded)
{
Group = group;
WasExpanded = wasExpanded;
IsExpanded = isExpanded;
}
}
///
/// 엔트리(그룹 또는 아이템) 추가/제거 이벤트 인자
///
public class PropertyEntryEventArgs : EventArgs
{
///
/// 이벤트 대상 엔트리
///
public IPropertyEntry Entry { get; }
///
/// 엔트리가 그룹인지 여부
///
public bool IsGroup => Entry is IPropertyGroup;
///
/// 엔트리가 아이템인지 여부
///
public bool IsItem => Entry is IPropertyItem;
public PropertyEntryEventArgs(IPropertyEntry entry)
{
Entry = entry;
}
}
}